fix: update service
This commit is contained in:
parent
dc21fc434d
commit
3b045ecf50
1 changed files with 30 additions and 16 deletions
|
|
@ -247,26 +247,40 @@ export class ServiceController extends Controller {
|
||||||
if (!(await prisma.service.findUnique({ where: { id: serviceId } }))) {
|
if (!(await prisma.service.findUnique({ where: { id: serviceId } }))) {
|
||||||
throw new HttpError(HttpStatus.NOT_FOUND, "Service cannot be found.", "serviceNotFound");
|
throw new HttpError(HttpStatus.NOT_FOUND, "Service cannot be found.", "serviceNotFound");
|
||||||
}
|
}
|
||||||
|
|
||||||
const { work, ...payload } = body;
|
const { work, ...payload } = body;
|
||||||
|
const record = await prisma.$transaction(async (tx) => {
|
||||||
const record = await prisma.service.update({
|
const workList = await Promise.all(
|
||||||
data: {
|
(work || []).map(async (w, wIdx) =>
|
||||||
...payload,
|
tx.work.create({
|
||||||
work: {
|
data: {
|
||||||
deleteMany: {},
|
name: w.name,
|
||||||
createMany: {
|
order: wIdx + 1,
|
||||||
data:
|
attributes: w.attributes,
|
||||||
work?.map((v, i) => ({
|
productOnWork: {
|
||||||
order: i + 1,
|
createMany: {
|
||||||
...v,
|
data: w.productId.map((p, pIdx) => ({
|
||||||
})) || [],
|
productId: p,
|
||||||
|
order: pIdx + 1,
|
||||||
|
})),
|
||||||
|
},
|
||||||
|
},
|
||||||
|
},
|
||||||
|
}),
|
||||||
|
),
|
||||||
|
);
|
||||||
|
return await prisma.service.update({
|
||||||
|
data: {
|
||||||
|
...payload,
|
||||||
|
work: {
|
||||||
|
deleteMany: {},
|
||||||
|
connect: workList.map((v) => ({ id: v.id })),
|
||||||
},
|
},
|
||||||
|
updateBy: req.user.name,
|
||||||
},
|
},
|
||||||
updateBy: req.user.name,
|
where: { id: serviceId },
|
||||||
},
|
});
|
||||||
where: { id: serviceId },
|
|
||||||
});
|
});
|
||||||
|
|
||||||
return Object.assign(record, {
|
return Object.assign(record, {
|
||||||
imageUrl: await presignedGetObjectIfExist(
|
imageUrl: await presignedGetObjectIfExist(
|
||||||
MINIO_BUCKET,
|
MINIO_BUCKET,
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue