Phase 2: Administration - User & Role Management - Frontend Implementation #99
Labels
No labels
Epic 5
MCP
P1
PR-0
PR-1
api
api-layer
architecture
area:backend
area:frontend
arrow
authentication
backend
bug
chat
client
clipboard
common-module
compose
cross-cutting
cross-cutting-requirement
data-layer
data-models
database
desktop-client
documentation
duplicate
enhancement
epic
epic-1
epic-2
epic-3
epic-4
epic-5
epic-6
epic-7
epic-llm-config
error-handling
feature
frontend
good first issue
help wanted
implementation
infrastructure
installer
invalid
kotlin
ktor
llm
medium-priority
message
multiplatform
needs-review
needs-triage
packaging
performance
phase-1
phase-2
phase-3
phase-4
phase-5
phase3
phase:3
priority: high
question
refactor
refactoring
resource-sharing
security
server
server-module
services
session
session-management
settings
setup
shutdown
state
storage
streaming
sub-issue
tests
tooling
type:task
ui
ui/ux
user-accounts
user-management
ux
viewmodel
websocket
windows
windows-integration
wontfix
No milestone
No project
No assignees
1 participant
Notifications
Due date
No due date set.
Dependencies
No dependencies set
Reference
Torvian.eu/chatbot#99
Loading…
Reference in a new issue
No description provided.
Delete branch "%!s()"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
Phase 2: Administration - User & Role Management - Frontend Implementation
Overview
This issue covers the frontend implementation for Phase 2, Task 3 of the User Accounts feature. The backend authentication infrastructure (Phase 1) and backend administration APIs (Phase 2 Tasks 1-2) are complete and ready for frontend integration.
Status
Objectives
Implement frontend components for admin user management functionality, following existing architectural patterns in the codebase.
Implementation Steps
Step 1: API Client Layer (1-2 days)
Create the frontend API client interface and implementation for user management operations:
UserApi Interface (
app/src/commonMain/kotlin/eu/torvian/chatbot/app/service/api/UserApi.kt)getAllUsers(),getUserById(),updateUser(),deleteUser(),getUserRoles(),assignRole(),revokeRole(),changeUserPassword()ModelApi,ProviderApiEither<ApiResourceError, T>return typesDefaultUserApi Implementation (
app/src/commonMain/kotlin/eu/torvian/chatbot/app/service/api/DefaultUserApi.kt)AuthenticatedHttpClientDefaultModelApi,DefaultProviderApiStep 2: Repository Layer (1-2 days)
Create repository layer for user management state and caching:
UserRepository Interface (
app/src/commonMain/kotlin/eu/torvian/chatbot/app/service/repository/UserRepository.kt)DefaultUserRepository Implementation
UserApiStep 3: ViewModel Layer (1-2 days)
Create ViewModels for user management screens:
UserManagementViewModel
UserDetailsViewModel (if needed)
Step 4: UI Components (2-3 days)
Create Compose UI components for user management:
UserManagementScreen
User Management Dialogs
Navigation Integration
Technical Requirements
API Integration
/api/v1/users/*routesEither<ApiResourceError, T>AuthenticatedHttpClientData Models
Required models should already exist in
common/module:User(id, username, email, createdAt, lastLogin)Role(id, name, description)AssignRoleRequest,UpdateUserRequest,ChangePasswordRequestUI/UX Guidelines
Security Considerations
Definition of Done
Dependencies
/api/v1/users/*(✅ Complete)Estimated Timeline
Total: 5-7 days
Notes
ModelApi/ProviderApiimplementations