Merge remote-tracking branch 'origin/develop' into develop
This commit is contained in:
commit
5c75c27470
3 changed files with 47 additions and 4 deletions
|
|
@ -0,0 +1,20 @@
|
||||||
|
/*
|
||||||
|
Warnings:
|
||||||
|
|
||||||
|
- You are about to drop the column `importNationality` on the `User` table. All the data in the column will be lost.
|
||||||
|
|
||||||
|
*/
|
||||||
|
-- AlterTable
|
||||||
|
ALTER TABLE "User" DROP COLUMN "importNationality";
|
||||||
|
|
||||||
|
-- CreateTable
|
||||||
|
CREATE TABLE "UserImportNationality" (
|
||||||
|
"id" TEXT NOT NULL,
|
||||||
|
"name" TEXT NOT NULL,
|
||||||
|
"userId" TEXT NOT NULL,
|
||||||
|
|
||||||
|
CONSTRAINT "UserImportNationality_pkey" PRIMARY KEY ("id")
|
||||||
|
);
|
||||||
|
|
||||||
|
-- AddForeignKey
|
||||||
|
ALTER TABLE "UserImportNationality" ADD CONSTRAINT "UserImportNationality_userId_fkey" FOREIGN KEY ("userId") REFERENCES "User"("id") ON DELETE RESTRICT ON UPDATE CASCADE;
|
||||||
|
|
@ -366,6 +366,14 @@ enum UserType {
|
||||||
AGENCY
|
AGENCY
|
||||||
}
|
}
|
||||||
|
|
||||||
|
model UserImportNationality {
|
||||||
|
id String @id @default(cuid())
|
||||||
|
name String
|
||||||
|
|
||||||
|
user User @relation(fields: [userId], references: [id])
|
||||||
|
userId String
|
||||||
|
}
|
||||||
|
|
||||||
model User {
|
model User {
|
||||||
id String @id @default(cuid())
|
id String @id @default(cuid())
|
||||||
|
|
||||||
|
|
@ -424,7 +432,7 @@ model User {
|
||||||
licenseExpireDate DateTime? @db.Date
|
licenseExpireDate DateTime? @db.Date
|
||||||
|
|
||||||
sourceNationality String?
|
sourceNationality String?
|
||||||
importNationality String?
|
importNationality UserImportNationality[]
|
||||||
|
|
||||||
trainingPlace String?
|
trainingPlace String?
|
||||||
responsibleArea UserResponsibleArea[]
|
responsibleArea UserResponsibleArea[]
|
||||||
|
|
|
||||||
|
|
@ -99,7 +99,7 @@ type UserCreate = {
|
||||||
licenseIssueDate?: Date | null;
|
licenseIssueDate?: Date | null;
|
||||||
licenseExpireDate?: Date | null;
|
licenseExpireDate?: Date | null;
|
||||||
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;
|
||||||
|
|
@ -161,7 +161,7 @@ type UserUpdate = {
|
||||||
licenseIssueDate?: Date | null;
|
licenseIssueDate?: Date | null;
|
||||||
licenseExpireDate?: Date | null;
|
licenseExpireDate?: Date | null;
|
||||||
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;
|
||||||
|
|
@ -383,6 +383,7 @@ export class UserController extends Controller {
|
||||||
prisma.user.findMany({
|
prisma.user.findMany({
|
||||||
orderBy: [{ statusOrder: "asc" }, { createdAt: "asc" }],
|
orderBy: [{ statusOrder: "asc" }, { createdAt: "asc" }],
|
||||||
include: {
|
include: {
|
||||||
|
importNationality: true,
|
||||||
responsibleArea: true,
|
responsibleArea: true,
|
||||||
province: true,
|
province: true,
|
||||||
district: true,
|
district: true,
|
||||||
|
|
@ -401,6 +402,7 @@ export class UserController extends Controller {
|
||||||
return {
|
return {
|
||||||
result: result.map((v) => ({
|
result: result.map((v) => ({
|
||||||
...v,
|
...v,
|
||||||
|
importNationality: v.importNationality.map((v) => v.name),
|
||||||
responsibleArea: v.responsibleArea.map((v) => v.area),
|
responsibleArea: v.responsibleArea.map((v) => v.area),
|
||||||
branch: includeBranch ? v.branch.map((a) => a.branch) : undefined,
|
branch: includeBranch ? v.branch.map((a) => a.branch) : undefined,
|
||||||
})),
|
})),
|
||||||
|
|
@ -415,6 +417,7 @@ export class UserController extends Controller {
|
||||||
async getUserById(@Path() userId: string) {
|
async getUserById(@Path() userId: string) {
|
||||||
const record = await prisma.user.findFirst({
|
const record = await prisma.user.findFirst({
|
||||||
include: {
|
include: {
|
||||||
|
importNationality: true,
|
||||||
province: true,
|
province: true,
|
||||||
district: true,
|
district: true,
|
||||||
subDistrict: true,
|
subDistrict: true,
|
||||||
|
|
@ -426,7 +429,11 @@ export class UserController extends Controller {
|
||||||
|
|
||||||
if (!record) throw notFoundError("User");
|
if (!record) throw notFoundError("User");
|
||||||
|
|
||||||
return record;
|
const { importNationality, ...rest } = record;
|
||||||
|
|
||||||
|
return Object.assign(rest, {
|
||||||
|
importNationality: importNationality.map((v) => v.name),
|
||||||
|
});
|
||||||
}
|
}
|
||||||
|
|
||||||
@Post()
|
@Post()
|
||||||
|
|
@ -528,6 +535,9 @@ export class UserController extends Controller {
|
||||||
create: rest.responsibleArea.map((v) => ({ area: v })),
|
create: rest.responsibleArea.map((v) => ({ area: v })),
|
||||||
}
|
}
|
||||||
: undefined,
|
: undefined,
|
||||||
|
importNationality: {
|
||||||
|
createMany: { data: rest.importNationality?.map((v) => ({ name: v })) || [] },
|
||||||
|
},
|
||||||
statusOrder: +(rest.status === "INACTIVE"),
|
statusOrder: +(rest.status === "INACTIVE"),
|
||||||
username,
|
username,
|
||||||
userRole: role.name,
|
userRole: role.name,
|
||||||
|
|
@ -683,6 +693,7 @@ export class UserController extends Controller {
|
||||||
|
|
||||||
const record = await prisma.user.update({
|
const record = await prisma.user.update({
|
||||||
include: {
|
include: {
|
||||||
|
importNationality: true,
|
||||||
province: true,
|
province: true,
|
||||||
district: true,
|
district: true,
|
||||||
subDistrict: true,
|
subDistrict: true,
|
||||||
|
|
@ -697,6 +708,10 @@ export class UserController extends Controller {
|
||||||
create: rest.responsibleArea.map((v) => ({ area: v })),
|
create: rest.responsibleArea.map((v) => ({ area: v })),
|
||||||
}
|
}
|
||||||
: undefined,
|
: undefined,
|
||||||
|
importNationality: {
|
||||||
|
deleteMany: {},
|
||||||
|
createMany: { data: rest.importNationality?.map((v) => ({ name: v })) || [] },
|
||||||
|
},
|
||||||
statusOrder: +(rest.status === "INACTIVE"),
|
statusOrder: +(rest.status === "INACTIVE"),
|
||||||
userRole,
|
userRole,
|
||||||
province: connectOrDisconnect(provinceId),
|
province: connectOrDisconnect(provinceId),
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue