Add user management page and technician picker for reassign
- New /admin/users page (admin only) for creating technicians, editing role/email, resetting passwords, deleting users - AftersalesDetail reassign modal now uses a searchable Select populated from /api/users/assignable instead of raw user ID input - Menu entry only shown to admins Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
This commit is contained in:
+29
-1
@@ -1,12 +1,40 @@
|
||||
export type UserRole = 'admin' | 'technician' | 'user';
|
||||
|
||||
export interface User {
|
||||
id: number;
|
||||
username: string;
|
||||
name: string;
|
||||
email?: string;
|
||||
role: string;
|
||||
role: UserRole;
|
||||
createdAt: string;
|
||||
}
|
||||
|
||||
export interface CreateUserRequest {
|
||||
username: string;
|
||||
password: string;
|
||||
name: string;
|
||||
email?: string;
|
||||
role: UserRole;
|
||||
}
|
||||
|
||||
export interface UpdateUserRequest {
|
||||
name?: string;
|
||||
email?: string;
|
||||
role?: UserRole;
|
||||
}
|
||||
|
||||
export interface UserListFilter {
|
||||
page?: number;
|
||||
limit?: number;
|
||||
role?: UserRole;
|
||||
search?: string;
|
||||
}
|
||||
|
||||
export interface UserListResponse {
|
||||
data: User[];
|
||||
pagination: EmployeeSerialPagination;
|
||||
}
|
||||
|
||||
export interface Company {
|
||||
id: number;
|
||||
name: string;
|
||||
|
||||
Reference in New Issue
Block a user