diff --git a/packages/core/src/shared/dto/selectors-query.dto.ts b/packages/core/src/shared/dto/selectors-query.dto.ts index 823d921c620..7819b35772f 100644 --- a/packages/core/src/shared/dto/selectors-query.dto.ts +++ b/packages/core/src/shared/dto/selectors-query.dto.ts @@ -1,5 +1,5 @@ import { ApiPropertyOptional } from '@nestjs/swagger'; -import { IsOptional, IsArray, IsString } from 'class-validator'; +import { IsOptional, IsArray } from 'class-validator'; import { ID, ITimeLogFilters, TimesheetStatus } from '@gauzy/contracts'; import { DateRangeQueryDTO } from './date-range-query.dto'; diff --git a/packages/core/src/time-tracking/timesheet/timesheet.service.ts b/packages/core/src/time-tracking/timesheet/timesheet.service.ts index 4ef15e5231a..2e72c06dab2 100644 --- a/packages/core/src/time-tracking/timesheet/timesheet.service.ts +++ b/packages/core/src/time-tracking/timesheet/timesheet.service.ts @@ -1,7 +1,7 @@ import { Injectable } from '@nestjs/common'; import { Between, In, SelectQueryBuilder, Brackets, WhereExpressionBuilder } from 'typeorm'; import * as moment from 'moment'; -import { IGetTimesheetInput, PermissionsEnum, ITimesheet } from '@gauzy/contracts'; +import { IGetTimesheetInput, PermissionsEnum, ITimesheet, TimesheetStatus } from '@gauzy/contracts'; import { RequestContext } from './../../core/context'; import { TenantAwareCrudService } from './../../core/crud'; import { getDateRangeFormat } from './../../core/utils'; @@ -116,8 +116,12 @@ export class TimeSheetService extends TenantAwareCrudService { new Brackets((qb: WhereExpressionBuilder) => { qb.where({ startedAt: Between(start, end), - ...(status.length > 0 ? { status: In(status) } : {}), - ...(taskIds.length > 0 ? { taskIds: In(taskIds) } : {}), + ...(status.length > 0 + ? { + status: In(status.filter((s) => Object.values(TimesheetStatus).includes(s))) + } + : {}), + ...(taskIds.length > 0 ? { taskId: In(taskIds) } : {}), ...(employeeIds.length > 0 ? { employeeId: In(employeeIds) } : {}) }); })