fix: transaction close before action

This commit is contained in:
Methapon Metanipat 2024-11-25 14:32:49 +07:00
parent aa622afc9f
commit 2caf197542

View file

@ -178,37 +178,39 @@ export async function initEmploymentOffice() {
await tx.employmentOffice.deleteMany({ await tx.employmentOffice.deleteMany({
where: { provinceId: province.id, district: { none: {} } }, where: { provinceId: province.id, district: { none: {} } },
}); });
return Object.entries(special[province.id]).map(([key, val]) => { return await Promise.all(
const id = province.id + "-" + key.padStart(2, "0"); Object.entries(special[province.id]).map(async ([key, val]) => {
return tx.employmentOffice.upsert({ const id = province.id + "-" + key.padStart(2, "0");
where: { id }, return tx.employmentOffice.upsert({
create: { where: { id },
id, create: {
name: nameSpecial(province.name, +key), id,
nameEN: nameSpecialEN(province.nameEN, +key), name: nameSpecial(province.name, +key),
provinceId: province.id, nameEN: nameSpecialEN(province.nameEN, +key),
district: { provinceId: province.id,
createMany: { district: {
data: val.map((districtId) => ({ districtId })), createMany: {
skipDuplicates: true, data: val.map((districtId) => ({ districtId })),
skipDuplicates: true,
},
}, },
}, },
}, update: {
update: { id,
id, name: nameSpecial(province.name, +key),
name: nameSpecial(province.name, +key), nameEN: nameSpecialEN(province.nameEN, +key),
nameEN: nameSpecialEN(province.nameEN, +key), provinceId: province.id,
provinceId: province.id, district: {
district: { deleteMany: { districtId: { notIn: val } },
deleteMany: { districtId: { notIn: val } }, createMany: {
createMany: { data: val.map((districtId) => ({ districtId })),
data: val.map((districtId) => ({ districtId })), skipDuplicates: true,
skipDuplicates: true, },
}, },
}, },
}, });
}); }),
}); );
} }
return tx.employmentOffice.upsert({ return tx.employmentOffice.upsert({