Files
labelmain/components/label/api/user/typing.ts
2026-04-11 17:37:09 +08:00

77 lines
1.5 KiB
TypeScript

export namespace User {
export interface UserInfo {
uid: number
name: string
all_projects: { [x: number]: number[] }
collect_projects: number[]
group_name: string
group_uuid: string
work_status: number
base_city: string
}
export interface LoginInfo extends UserInfo {
token: string
refresh_token: string
}
export interface ListRequest {
name?: string
page_number?: number
page_size?: number
}
export interface ListResponse {
user_list: UserInfo[]
total_pages: number
total_items: number
}
export interface CreateProps {
user_name: string
group_uuid: string
base_city: string
}
export interface EditProps {
user_name?: string
password?: string
group_uuid?: string
base_city?: string
work_status?: number
}
export interface UpdateGroupProps {
user_id: number
group_uuid: string
}
}
export namespace Organization {
export interface CreateProps {
group_name: string
leader_uid: number
parent_group_uuid: string
}
interface Member {
base_city: string
id: number
name: string
work_status: number
}
export interface Response {
children?: Response[]
create_at?: string
create_user?: string
group_uuid: string
leader_uid?: number
leader_name?: string
members?: Member[]
name: string
parent_group_uuid: string
[key: string]: boolean | string | number | Response[] | Member[] | undefined
}
}