refactor: relation
This commit is contained in:
parent
977cb5c6a4
commit
273026d735
1 changed files with 17 additions and 30 deletions
|
|
@ -36,6 +36,7 @@ import {
|
|||
createPermCheck,
|
||||
createPermCondition,
|
||||
} from "../services/permission";
|
||||
import { connectOrDisconnect, connectOrNot } from "../utils/relation";
|
||||
|
||||
if (!process.env.MINIO_BUCKET) {
|
||||
throw Error("Require MinIO bucket.");
|
||||
|
|
@ -231,15 +232,18 @@ export class UserController extends Controller {
|
|||
) {
|
||||
const where = {
|
||||
OR: [
|
||||
{ firstName: { contains: query }, zipCode, userType, ...filterStatus(status) },
|
||||
{ firstNameEN: { contains: query }, zipCode, userType, ...filterStatus(status) },
|
||||
{ lastName: { contains: query }, zipCode, userType, ...filterStatus(status) },
|
||||
{ lastNameEN: { contains: query }, zipCode, userType, ...filterStatus(status) },
|
||||
{ email: { contains: query }, zipCode, userType, ...filterStatus(status) },
|
||||
{ telephoneNo: { contains: query }, zipCode, userType, ...filterStatus(status) },
|
||||
{ firstName: { contains: query } },
|
||||
{ firstNameEN: { contains: query } },
|
||||
{ lastName: { contains: query } },
|
||||
{ lastNameEN: { contains: query } },
|
||||
{ email: { contains: query } },
|
||||
{ telephoneNo: { contains: query } },
|
||||
],
|
||||
AND: {
|
||||
userRole: { not: "system" },
|
||||
zipCode,
|
||||
userType,
|
||||
...filterStatus(status),
|
||||
branch: isSystem(req.user)
|
||||
? undefined
|
||||
: {
|
||||
|
|
@ -414,9 +418,9 @@ export class UserController extends Controller {
|
|||
statusOrder: +(rest.status === "INACTIVE"),
|
||||
username,
|
||||
userRole: role.name,
|
||||
province: { connect: provinceId ? { id: provinceId } : undefined },
|
||||
district: { connect: districtId ? { id: districtId } : undefined },
|
||||
subDistrict: { connect: subDistrictId ? { id: subDistrictId } : undefined },
|
||||
province: connectOrNot(provinceId),
|
||||
district: connectOrNot(districtId),
|
||||
subDistrict: connectOrNot(subDistrictId),
|
||||
branch: {
|
||||
create: Array.isArray(branchId)
|
||||
? branchId.map((v) => ({
|
||||
|
|
@ -585,18 +589,9 @@ export class UserController extends Controller {
|
|||
...rest,
|
||||
statusOrder: +(rest.status === "INACTIVE"),
|
||||
userRole,
|
||||
province: {
|
||||
connect: provinceId ? { id: provinceId } : undefined,
|
||||
disconnect: provinceId === null || undefined,
|
||||
},
|
||||
district: {
|
||||
connect: districtId ? { id: districtId } : undefined,
|
||||
disconnect: districtId === null || undefined,
|
||||
},
|
||||
subDistrict: {
|
||||
connect: subDistrictId ? { id: subDistrictId } : undefined,
|
||||
disconnect: subDistrictId === null || undefined,
|
||||
},
|
||||
province: connectOrDisconnect(provinceId),
|
||||
district: connectOrDisconnect(districtId),
|
||||
subDistrict: connectOrDisconnect(subDistrictId),
|
||||
updatedBy: { connect: { id: req.user.sub } },
|
||||
},
|
||||
where: { id: userId },
|
||||
|
|
@ -697,15 +692,7 @@ async function getUserCheckPerm(user: RequestWithUser["user"], userId: string) {
|
|||
branch: {
|
||||
include: {
|
||||
branch: {
|
||||
include: {
|
||||
headOffice: {
|
||||
include: {
|
||||
branch: { where: { user: { some: { userId: user.sub } } } },
|
||||
user: { where: { userId: user.sub } },
|
||||
},
|
||||
},
|
||||
user: { where: { userId: user.sub } },
|
||||
},
|
||||
include: branchRelationPermInclude(user),
|
||||
},
|
||||
},
|
||||
},
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue