created changes endpoint

This commit is contained in:
2025-05-23 10:06:37 +05:30
parent 5ff67b751c
commit 564bfc061e
4 changed files with 76 additions and 0 deletions

View File

@@ -3,6 +3,7 @@ import { getFilterObject, getSortObject, PageQueryParams } from "../pagination";
import { userModel } from "../user/user.schema";
import { generateId } from "../utils/id";
import {
changesModel,
CreatePermitInput,
permitFields,
permitModel,
@@ -177,6 +178,19 @@ export async function updatePermit(
.populate({ path: "createdBy", select: "pid name avatar" });
if (updatePermitResult) {
for (const key in input) {
if (["manualStatus", "utility"].includes(key)) {
await changesModel.create({
tenantId: user.tenantId,
permitId: permitId,
field: key,
value: input[key],
updatedBy: user.userId,
updatedAt: new Date(),
});
}
}
dbEvents.emit(
"change",
{
@@ -326,3 +340,19 @@ export async function searchPermit(
},
};
}
export async function getchanges(permitId: string, user: AuthenticatedUser) {
if (user.role == "client") {
const permit = await permitModel.findOne({
pid: permitId,
tenantId: user.tenantId,
});
if (!permit || permit.client.toString() !== user.orgId) return [];
}
return await changesModel
.find({
$and: [{ tenantId: user.tenantId }, { permitId: permitId }],
})
.populate({ path: "updatedBy", select: "_id pid name avatar" });
}