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 🤖