Press n or j to go to the next uncovered block, b, p or k for the previous block.
| 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 | import { Injectable } from '@nestjs/common'; import { InjectModel } from '@nestjs/mongoose'; import { Model } from 'mongoose'; import { LeaveRequest } from '../schemas'; @Injectable() export class CalendarService { constructor( @InjectModel(LeaveRequest.name) private requestModel: Model<LeaveRequest>, ) {} async getCalendarData( tenantId: string, employeeId: string | undefined | null, startDate: string, endDate: string, ) { const query: any = { tenantId, status: { $in: ['approved', 'pending_approval'] }, startDate: { $lte: endDate }, endDate: { $gte: startDate }, }; if (employeeId) { query.employeeId = employeeId; } return this.requestModel .find(query) .select( 'employeeId startDate endDate startSession endSession status leaveTypeId calculatedQuantity', ) .exec(); } } |