Skip to content

Implement Company Members CRUD (DB-only) for the “chef” UI** #17

@JulienLouisSchneider

Description

@JulienLouisSchneider

Issue 7 — Implement Company Members CRUD (DB-only) for the “chef” UI

Description

Implement member management endpoints that operate on company_members only (no Keycloak Admin API yet). This supports your “chef” CRUD UI while user accounts are still created manually in Keycloak.

Checklist

  • Add routes under auth middleware:

    • GET /companies/:id/members → list { keycloak_user_id, role }

    • PATCH /companies/:id/members/:keycloakUserId → update role

    • DELETE /companies/:id/members/:keycloakUserId → remove membership

  • Add authorization checks via Issue 6 helper.

  • Add validation:

    • role value valid on PATCH

    • can’t delete yourself if you are the last owner (recommended)

    • can’t remove the last company_owner of a company (recommended)

  • Update README endpoint table (mark old /companies/:id/users as deprecated if needed).

Acceptance Criteria

  • Owner/admin can list/update/delete members for their company.

  • Non-owner cannot manage members (403).

  • System prevents deleting the last owner of a company.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type
    No fields configured for issues without a type.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions