feat: user now responsible for multiple area

This commit is contained in:
Methapon Metanipat 2024-11-05 09:33:45 +07:00
parent 1a255b6046
commit cd58a4bc36
2 changed files with 21 additions and 3 deletions

View file

@ -392,7 +392,7 @@ model User {
importNationality String? importNationality String?
trainingPlace String? trainingPlace String?
responsibleArea String? responsibleArea UserResponsibleArea[]
birthDate DateTime? @db.Date birthDate DateTime? @db.Date
@ -454,6 +454,13 @@ model User {
notificationRead Notification[] notificationRead Notification[]
} }
model UserResponsibleArea {
id String @id @default(cuid())
area String
user User[]
}
enum CustomerType { enum CustomerType {
CORP CORP
PERS PERS

View file

@ -97,7 +97,7 @@ type UserCreate = {
sourceNationality?: string | null; sourceNationality?: string | null;
importNationality?: string | null; importNationality?: string | null;
trainingPlace?: string | null; trainingPlace?: string | null;
responsibleArea?: string | null; responsibleArea?: string[] | null;
birthDate?: Date | null; birthDate?: Date | null;
address: string; address: string;
@ -153,7 +153,7 @@ type UserUpdate = {
sourceNationality?: string | null; sourceNationality?: string | null;
importNationality?: string | null; importNationality?: string | null;
trainingPlace?: string | null; trainingPlace?: string | null;
responsibleArea?: string | null; responsibleArea?: string[];
birthDate?: Date | null; birthDate?: Date | null;
address?: string; address?: string;
@ -432,6 +432,11 @@ export class UserController extends Controller {
data: { data: {
id: userId, id: userId,
...rest, ...rest,
responsibleArea: rest.responsibleArea
? {
create: rest.responsibleArea.map((v) => ({ area: v })),
}
: undefined,
statusOrder: +(rest.status === "INACTIVE"), statusOrder: +(rest.status === "INACTIVE"),
username, username,
userRole: role.name, userRole: role.name,
@ -591,6 +596,12 @@ export class UserController extends Controller {
}, },
data: { data: {
...rest, ...rest,
responsibleArea: rest.responsibleArea
? {
deleteMany: {},
create: rest.responsibleArea.map((v) => ({ area: v })),
}
: undefined,
statusOrder: +(rest.status === "INACTIVE"), statusOrder: +(rest.status === "INACTIVE"),
userRole, userRole,
province: connectOrDisconnect(provinceId), province: connectOrDisconnect(provinceId),