feat: add relation document to request work

This commit is contained in:
Methapon Metanipat 2024-11-18 10:44:13 +07:00
parent 20361c597d
commit 026bf44bc7

View file

@ -4,6 +4,7 @@ import prisma from "../db";
import { Prisma, RequestDataStatus, RequestWorkStatus } from "@prisma/client";
import { createPermCondition } from "../services/permission";
import { queryOrNot } from "../utils/relation";
import { notFoundError } from "../utils/error";
// User in company can see.
const permissionCond = createPermCondition((_) => true);
@ -153,7 +154,9 @@ export class RequestListController extends Controller {
include: {
service: true,
work: true,
product: true,
product: {
include: { document: true },
},
},
},
},
@ -163,12 +166,25 @@ export class RequestListController extends Controller {
prisma.requestWork.count({ where }),
]);
return { result, page, pageSize, total };
return {
result: result.map((v) => {
return Object.assign(v, {
productService: Object.assign(v.productService, {
product: Object.assign(v.productService.product, {
document: v.productService.product.document.map((doc) => doc.name),
}),
}),
});
}),
page,
pageSize,
total,
};
}
@Get("{requestWorkId}")
async getRequestWorkById(@Path() requestWorkId: string) {
return await prisma.requestWork.findFirst({
const record = await prisma.requestWork.findFirst({
include: {
request: {
include: {
@ -180,12 +196,26 @@ export class RequestListController extends Controller {
include: {
service: true,
work: true,
product: true,
product: {
include: {
document: true,
},
},
},
},
},
where: { id: requestWorkId },
});
if (!record) throw notFoundError("Request Work");
return Object.assign(record, {
productService: Object.assign(record.productService, {
product: Object.assign(record.productService.product, {
document: record.productService.product.document.map((doc) => doc.name),
}),
}),
});
}
@Put("{requestWorkId}")