35 lines
1002 B
TypeScript
35 lines
1002 B
TypeScript
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" };
|
|
}
|