import type { UserCreateRequest, UserUpdateRequest } from "../api/types"; import type { UserEditFormState } from "../contracts/users"; export function userCreateRequestFromDraft(draft: UserCreateRequest): UserCreateRequest { return { ...draft, displayName: draft.displayName.trim(), email: draft.email?.trim(), roles: draft.roles.length ? draft.roles : ["server-admin"], profile: { phone: draft.profile?.phone?.trim(), qq: draft.profile?.qq?.trim(), contactNote: draft.profile?.contactNote?.trim() } }; } export function userUpdateRequestFromEditForm(form: UserEditFormState): UserUpdateRequest { return { displayName: form.displayName.trim(), email: form.email.trim(), roles: form.roles, status: form.status, profile: { phone: form.phone.trim(), qq: form.qq.trim(), contactNote: form.contactNote.trim() } }; } export function userDeactivateRequest(): UserUpdateRequest { return { status: "disabled" }; }