92 lines
1.6 KiB
TypeScript
92 lines
1.6 KiB
TypeScript
export interface User {
|
|
id: string;
|
|
email: string;
|
|
first_name: string;
|
|
last_name: string;
|
|
status: 'active' | 'suspended' | 'deleted';
|
|
auth_provider: string;
|
|
tenant_id?: string;
|
|
role_id?: string;
|
|
tenant?: {
|
|
id: string;
|
|
name: string;
|
|
};
|
|
role?: {
|
|
id: string;
|
|
name: string;
|
|
};
|
|
department_id?: string;
|
|
designation_id?: string;
|
|
department?: {
|
|
id: string;
|
|
name: string;
|
|
};
|
|
designation?: {
|
|
id: string;
|
|
name: string;
|
|
};
|
|
created_at: string;
|
|
updated_at: string;
|
|
}
|
|
|
|
export interface Pagination {
|
|
page: number;
|
|
limit: number;
|
|
total: number;
|
|
totalPages: number;
|
|
hasMore: boolean;
|
|
}
|
|
|
|
export interface UsersResponse {
|
|
success: boolean;
|
|
data: User[];
|
|
pagination: Pagination;
|
|
}
|
|
|
|
export interface CreateUserRequest {
|
|
email: string;
|
|
password: string;
|
|
first_name: string;
|
|
last_name: string;
|
|
status: 'active' | 'suspended' | 'deleted';
|
|
auth_provider: 'local';
|
|
tenant_id?: string;
|
|
role_id: string;
|
|
department_id?: string;
|
|
designation_id?: string;
|
|
}
|
|
|
|
export interface CreateUserResponse {
|
|
success: boolean;
|
|
data: User;
|
|
message?: string;
|
|
}
|
|
|
|
export interface GetUserResponse {
|
|
success: boolean;
|
|
data: User;
|
|
}
|
|
|
|
export interface UpdateUserRequest {
|
|
email: string;
|
|
first_name: string;
|
|
last_name: string;
|
|
status: 'active' | 'suspended' | 'deleted';
|
|
auth_provider?: string;
|
|
tenant_id: string;
|
|
role_id: string;
|
|
department_id?: string;
|
|
designation_id?: string;
|
|
}
|
|
|
|
export interface UpdateUserResponse {
|
|
success: boolean;
|
|
data: User;
|
|
message?: string;
|
|
}
|
|
|
|
export interface DeleteUserResponse {
|
|
success: boolean;
|
|
message?: string;
|
|
}
|