add assignedTo field to rts

This commit is contained in:
2025-05-06 10:14:40 +05:30
parent f224d05a36
commit c7e6b209e9
2 changed files with 27 additions and 1 deletions

View File

@@ -45,6 +45,10 @@ const rtsSchema = new mongoose.Schema({
type: mongoose.Types.ObjectId,
ref: "user",
},
assignedTo: {
type: mongoose.Types.ObjectId,
ref: "user",
},
});
export const rtsFields = Object.keys(rtsSchema.paths).filter(
@@ -70,6 +74,7 @@ const rtsCreateInput = z.object({
currentStage: z.number(),
})
.optional(),
assignedTo: z.string().optional(),
});
const rtsUpdateInput = z.object({
@@ -88,6 +93,7 @@ const rtsUpdateInput = z.object({
currentStage: z.number(),
})
.optional(),
assignedTo: z.string().optional(),
});
const rtsNewUpload = z.object({

View File

@@ -55,7 +55,8 @@ export async function getRts(id: string, tenantId: string) {
.findOne({ pid: id, tenantId: tenantId })
.populate({ path: "county", select: "pid name avatar" })
.populate({ path: "client", select: "pid name avatar" })
.populate({ path: "createdBy", select: "pid name avatar" });
.populate({ path: "createdBy", select: "pid name avatar" })
.populate({ path: "assignedTo", select: "pid name avatar" });
}
export async function listRts(params: PageQueryParams, tenantId: string) {
@@ -92,6 +93,14 @@ export async function listRts(params: PageQueryParams, tenantId: string) {
as: "createdRec",
},
},
{
$lookup: {
from: "users",
localField: "assignedTo",
foreignField: "_id",
as: "assignedTo",
},
},
{
$project: {
_id: 1,
@@ -134,6 +143,17 @@ export async function listRts(params: PageQueryParams, tenantId: string) {
},
},
},
assignedTo: {
$let: {
vars: { created: { $arrayElemAt: ["$assignedTo", 0] } },
in: {
_id: "$$assignedTo._id",
pid: "$$assignedTo.pid",
name: "$$assignedTo.name",
avatar: "$$assignedTo.avatar",
},
},
},
},
},
{