feat: add taggedOrgs feature

This commit is contained in:
2026-01-26 11:16:30 +05:30
parent 9e3f0f8b07
commit ccde4f8356
15 changed files with 237 additions and 112 deletions

View File

@@ -103,6 +103,7 @@ const processedSchema = new mongoose.Schema({
startDate: Date,
history: Array,
taggedUsers: Array,
taggedOrgs: Array,
noc: String,
deed: String,
requests: [String],

View File

@@ -3,6 +3,7 @@ import { AuthenticatedUser } from "../auth";
import {
getFilterObject,
getSortObject,
getTaggedOrgsFilter,
getTaggedUsersFilter,
PageQueryParams,
} from "../pagination";
@@ -44,11 +45,7 @@ export async function updateProcessed(
user: AuthenticatedUser,
) {
if (input.assignedToOrg && input.assignedTo) {
input.assignedTo = [];
} else if (input.assignedToOrg) {
input.assignedTo = [];
} else if (input.assignedTo) {
input.assignedToOrg = null;
delete input.assignedTo;
}
const oldPermitResult = await processedModel.findOne(
@@ -205,12 +202,18 @@ export async function listProcessedPermits(
});
}
let { taggedFilter, taggedUserFilterIndex } = getTaggedUsersFilter(
let { taggedUsersFilter, taggedUserFilterIndex } = getTaggedUsersFilter(
filterObj,
sortObj,
);
let { taggedOrgsFilter, taggedOrgsFilterIndex } = getTaggedOrgsFilter(
filterObj,
sortObj,
);
if (taggedUserFilterIndex != -1) filterObj.splice(taggedUserFilterIndex, 1);
if (taggedOrgsFilterIndex != -1) filterObj.splice(taggedOrgsFilterIndex, 1);
const pipeline: any = [
{
@@ -233,7 +236,8 @@ export async function listProcessedPermits(
pipeline.push(
...[
...taggedFilter,
...taggedUsersFilter,
...taggedOrgsFilter,
{
$lookup: {
from: "users",
@@ -288,6 +292,7 @@ export async function listProcessedPermits(
block: 1,
jobNumber: 1,
taggedUsers: 1,
taggedOrgs: 1,
noc: 1,
deed: 1,
requests: 1,