Files
huihuiSquare/digital-avatar-app/src/utils/avatar-page-data.d.ts
T

46 lines
1.2 KiB
TypeScript

export interface AvatarPageRecord {
id?: string | null
name?: string
displayName?: string
description?: string
status?: 'active' | 'inactive' | 'training'
photoUrl?: string
config?: Partial<AvatarEditForm>
}
export interface AvatarEditForm {
name: string
displayName: string
description: string
status: 'active' | 'inactive' | 'training'
photoUrl: string
replyStyle: string
creativity: number
rigor: number
humor: number
responseLength: string
systemPrompt: string
profession: string
position: string
organization: string
organizationAddress: string
autoReply: boolean
}
export interface AvatarUpdatePayload {
name: string
displayName: string
description: string
status: AvatarEditForm['status']
photoUrl: string
config: Omit<AvatarEditForm, 'name' | 'displayName' | 'description' | 'status' | 'photoUrl'>
}
export function unwrapListData<T>(value: T[] | { data?: T[] } | null | undefined): T[]
export function pickAvatarId(
currentAvatarId: string | null | undefined,
avatars?: AvatarPageRecord[]
): string | null
export function normalizeAvatarEditForm(avatar?: AvatarPageRecord): AvatarEditForm
export function buildAvatarUpdatePayload(form: AvatarEditForm): AvatarUpdatePayload