Implement Dashboard CRUD API (GraphQL)
Description:
Implement GraphQL mutations and queries to allow users to create, read, update, and delete dashboards. Ensure the API supports:
- Optimistic locking to prevent overwrites (
lock_version). - Conflict resolution errors when another user has updated the dashboard.
- Proper RBAC enforcement according to dashboard permissions.
Acceptance Criteria:
-
GraphQL queries: dashboard(id),dashboards(...)with pagination and optional search by name. -
GraphQL mutations: createDashboard,updateDashboard,deleteDashboard. -
Lock version conflict returns structured error with current server state. -
Permissions checks implemented for each CRUD operation. -
Unit and integration tests for all operations.
Edited by 🤖 GitLab Bot 🤖