feat: auto update clientData field when client field is updated for permits and processed permits

This commit is contained in:
2025-10-14 12:23:18 +05:30
parent 074972b2b6
commit 43ab7ade39
3 changed files with 28 additions and 2 deletions

View File

@@ -235,7 +235,6 @@ export async function updatePermit(
{ new: true } { new: true }
) )
.populate({ path: "county", select: "pid name avatar" }) .populate({ path: "county", select: "pid name avatar" })
.populate({ path: "client", select: "pid name avatar" })
.populate({ path: "assignedTo", select: "pid name avatar" }) .populate({ path: "assignedTo", select: "pid name avatar" })
.populate({ path: "createdBy", select: "pid name avatar" }); .populate({ path: "createdBy", select: "pid name avatar" });
@@ -274,6 +273,19 @@ export async function updatePermit(
"permits" "permits"
); );
} }
} else if (key == "client") {
const orgInDb = await orgModel.findById(input.client);
if (orgInDb) {
updatePermitResult.clientData = {
pid: orgInDb.pid,
licenseNumber: orgInDb.licenseNumber,
name: orgInDb.name,
avatar: orgInDb.avatar,
};
updatePermitResult.markModified("clientData");
await updatePermitResult.save();
}
} }
} }

View File

@@ -118,6 +118,7 @@ export const processedModel = mongoose.model(
); );
const updateProcessedInput = z.object({ const updateProcessedInput = z.object({
client: z.string().optional(),
manualStatus: z.string().nullable().optional(), manualStatus: z.string().nullable().optional(),
utility: z.string().nullable().optional(), utility: z.string().nullable().optional(),
communityName: z.string().nullable().optional(), communityName: z.string().nullable().optional(),

View File

@@ -14,6 +14,7 @@ import {
import { createNote } from "../note/note.service"; import { createNote } from "../note/note.service";
import { createAlert } from "../alert/alert.service"; import { createAlert } from "../alert/alert.service";
import { getUser } from "../user/user.service"; import { getUser } from "../user/user.service";
import { orgModel } from "../organization/organization.schema";
export async function getProcessedPermit(permitId: String, tenantId: String) { export async function getProcessedPermit(permitId: String, tenantId: String) {
return await processedModel return await processedModel
@@ -38,7 +39,6 @@ export async function updateProcessed(
{ new: true } { new: true }
) )
.populate({ path: "county", select: "pid name avatar" }) .populate({ path: "county", select: "pid name avatar" })
.populate({ path: "client", select: "pid name avatar" })
.populate({ path: "assignedTo", select: "pid name avatar" }) .populate({ path: "assignedTo", select: "pid name avatar" })
.populate({ path: "createdBy", select: "pid name avatar" }); .populate({ path: "createdBy", select: "pid name avatar" });
@@ -77,6 +77,19 @@ export async function updateProcessed(
"processed" "processed"
); );
} }
} else if (key == "client") {
const orgInDb = await orgModel.findById(input.client);
if (orgInDb) {
updateProcessedResult.clientData = {
pid: orgInDb.pid,
licenseNumber: orgInDb.licenseNumber,
name: orgInDb.name,
avatar: orgInDb.avatar,
};
updateProcessedResult.markModified("clientData");
await updateProcessedResult.save();
}
} }
} }