Skip to content

Implement modern user management page #678

@NotSleeply

Description

@NotSleeply

Goal

Build the Vue 3 modern user management page on top of the existing modern backend user APIs and admin layout.

Scope

Included:

  • Add a routed user management page in the modern Vue app.
  • List users with loading, empty, and error states.
  • Support basic user search/filtering if already exposed by the backend contract.
  • Add create/update/status management UI only where supported by the existing API contract.
  • Keep API access through the shared frontend API client.
  • Add automated frontend tests for the page and related user API helpers.

Excluded:

  • Role and permission management pages.
  • Legacy GoAdmin UI/template compatibility.
  • Backend schema redesign or production data migration.
  • Direct GORM access from handlers or service dependency on gin.Context.

Implementation Approach

  1. Inspect the current OpenAPI user contract, shared API client, Vue router, layout, and menu structure.
  2. Add typed user API helpers if missing.
  3. Add the user management route/page under the modern frontend structure.
  4. Wire navigation/menu entry to the existing admin layout.
  5. Cover user page behavior and API helpers with Vitest tests.
  6. Run relevant frontend checks and backend/OpenAPI checks if contracts are touched.

Definition of Done

  • User management page is reachable from the modern admin layout.
  • Page renders real API-backed user data with clear loading, empty, and error states.
  • Supported create/update/status actions are implemented only within existing API contract scope.
  • Tests cover successful and failing user list flows, plus any added API helpers.
  • No hardcoded secrets or environment-specific config.
  • No unrelated legacy compatibility work.

Test Plan

  • Run web unit tests with Vitest.
  • Run web typecheck/build if available.
  • Run OpenAPI lint if the API contract changes.
  • Run backend tests if backend code changes.

Risks and Rollback

  • Risk: frontend assumptions may drift from the OpenAPI contract; mitigate by using shared typed API helpers and tests.
  • Risk: action scope may exceed backend support; keep unsupported actions out of this issue.
  • Rollback: revert the page route/menu/API helper changes and tests for this issue.

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