Add API documentation for TrackGo HTTP API and enhance employee management features
- Created a new `api.md` file detailing the TrackGo HTTP API, including authentication, user management, and employee operations. - Updated `Employee` type to simplify user relation handling by replacing `UserRelation` with a more concise structure. - Enhanced filtering capabilities in employee queries to support an array of positions. - Refactored employee-related services and repositories to accommodate the new position filtering logic. - Added unit and e2e tests to validate the new API documentation and employee management functionalities.
This commit is contained in:
@@ -5,7 +5,7 @@ import {
|
||||
NotFoundException,
|
||||
} from '@nestjs/common';
|
||||
import { and, count, eq, ilike, inArray, or, SQL } from 'drizzle-orm';
|
||||
import { toOrderClauses } from '../../../common/http/response';
|
||||
import { toOrderClauses } from '../../../common/http/response/order-clause';
|
||||
import { attachAuditUsers } from '../../../database/load-user-refs';
|
||||
import { DateTime } from '../../../common/value-objects/date-time/date-time';
|
||||
import { PhoneNumber } from '../../../common/value-objects/phone-number/phone-number';
|
||||
@@ -252,8 +252,8 @@ export class EmployeesRepository {
|
||||
if (filters.phone) {
|
||||
parts.push(ilike(employees.phone, `%${filters.phone}%`));
|
||||
}
|
||||
if (filters.position) {
|
||||
parts.push(eq(employees.position, filters.position));
|
||||
if (filters.position && filters.position.length > 0) {
|
||||
parts.push(inArray(employees.position, [...filters.position]));
|
||||
}
|
||||
if (filters.status) {
|
||||
parts.push(eq(employees.status, filters.status));
|
||||
|
||||
Reference in New Issue
Block a user