Skip to content

Commit bd7ae4e

Browse files
committed
adding getEmployees()
1 parent d781517 commit bd7ae4e

18 files changed

Lines changed: 836 additions & 299 deletions

eslint.config.js

Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -17,9 +17,18 @@ export const config = defineConfig(configCityssm, {
1717
// Column name abbreviations
1818
'accomp',
1919
'actv',
20+
'bankot',
21+
'birthd',
22+
'datein',
2023
'defaul',
24+
'defveh',
2125
'enddatetime',
2226
'extcode',
27+
'hrsperpp',
28+
'itemclass',
29+
'itmsysid',
30+
'payot',
31+
'phonedesc',
2332
'sched',
2433
'scheddatetime',
2534
'srisysid',

eslint.config.ts

Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -22,9 +22,18 @@ export const config = defineConfig(configCityssm, {
2222
// Column name abbreviations
2323
'accomp',
2424
'actv',
25+
'bankot',
26+
'birthd',
27+
'datein',
2528
'defaul',
29+
'defveh',
2630
'enddatetime',
2731
'extcode',
32+
'hrsperpp',
33+
'itemclass',
34+
'itmsysid',
35+
'payot',
36+
'phonedesc',
2837
'sched',
2938
'scheddatetime',
3039
'srisysid',

index.d.ts

Lines changed: 16 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,9 @@
11
import type { mssql } from '@cityssm/mssql-multi-pool';
22
import type { DateString } from '@cityssm/utils-datetime';
33
import { type AccountNumberSource } from './helpers/getAccountNumber.js';
4+
import { type GetEmployeesFilters } from './queries/employees/getEmployees.js';
45
import { type GetTimesheetBatchEntriesFilters } from './queries/employees/getTimesheetBatchEntries.js';
5-
import type { EmployeePayCode, TimeCode, TimesheetBatchEntry } from './queries/employees/types.js';
6+
import type { Employee, EmployeePayCode, TimeCode, TimesheetBatchEntry } from './queries/employees/types.js';
67
import { type AddEquipment } from './queries/equipment/addEquipment.js';
78
import type { EquipmentItem } from './queries/equipment/types.js';
89
import { type AddResourceItem } from './queries/items/addResourceItem.js';
@@ -159,6 +160,18 @@ export declare class WorkTechAPI {
159160
* @returns - The account number and its source, if available.
160161
*/
161162
getAccountNumberByWorkOrderNumberAndObjectCode(workOrderNumber: string, optionalObjectCode?: string): Promise<AccountNumberSource | undefined>;
163+
/**
164+
* Retrieves employees.
165+
* @param employeeFilters - The employee filters.
166+
* @returns The employees.
167+
*/
168+
getEmployees(employeeFilters: GetEmployeesFilters): Promise<Employee[]>;
169+
/**
170+
* Retrieves an employee.
171+
* @param employeeNumber - The employee number
172+
* @returns The employee, if available.
173+
*/
174+
getEmployeeByEmployeeNumber(employeeNumber: string): Promise<Employee | undefined>;
162175
/**
163176
* Retrieves employee pay codes.
164177
* @param employeeNumber - The employee number.
@@ -182,6 +195,7 @@ export declare class WorkTechAPI {
182195
}
183196
export { getAccountNumberByWorkOrderNumberAndObjectCode } from './helpers/getAccountNumber.js';
184197
export { getEmployeePayCodes } from './queries/employees/getEmployeePayCodes.js';
198+
export { type GetEmployeesFilters, getEmployees } from './queries/employees/getEmployees.js';
185199
export { getEmployeeTimeCodes } from './queries/employees/getEmployeeTimeCodes.js';
186200
export { getTimeCodes } from './queries/employees/getTimeCodes.js';
187201
export { type GetTimesheetBatchEntriesFilters, getTimesheetBatchEntries } from './queries/employees/getTimesheetBatchEntries.js';
@@ -200,7 +214,7 @@ export { addWorkOrderResource } from './queries/workOrders/addWorkOrderResource.
200214
export { deleteWorkOrderResource } from './queries/workOrders/deleteWorkOrderResource.js';
201215
export { getWorkOrderResourcesByStartDate, getWorkOrderResourcesByStartDateTimeRange, getWorkOrderResourcesByWorkOrderNumber } from './queries/workOrders/getWorkOrderResources.js';
202216
export { updateWorkOrderResource } from './queries/workOrders/updateWorkOrderResource.js';
203-
export type { EmployeePayCode, TimeCode, TimesheetBatchEntry } from './queries/employees/types.js';
217+
export type { Employee, EmployeePayCode, TimeCode, TimesheetBatchEntry } from './queries/employees/types.js';
204218
export type { EquipmentItem } from './queries/equipment/types.js';
205219
export type { ResourceItem } from './queries/items/types.js';
206220
export type { Activity, Job, JobActivityObjectCode, ObjectCode } from './queries/jobs/types.js';

index.js

Lines changed: 24 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,7 @@
11
import { minutesToMillis } from '@cityssm/to-millis';
22
import { getAccountNumberByWorkOrderNumberAndObjectCode } from './helpers/getAccountNumber.js';
33
import { getEmployeePayCodes } from './queries/employees/getEmployeePayCodes.js';
4+
import { getEmployees } from './queries/employees/getEmployees.js';
45
import { getEmployeeTimeCodes } from './queries/employees/getEmployeeTimeCodes.js';
56
import { getTimeCodes } from './queries/employees/getTimeCodes.js';
67
import { getTimesheetBatchEntries } from './queries/employees/getTimesheetBatchEntries.js';
@@ -208,6 +209,28 @@ export class WorkTechAPI {
208209
async getAccountNumberByWorkOrderNumberAndObjectCode(workOrderNumber, optionalObjectCode) {
209210
return await getAccountNumberByWorkOrderNumberAndObjectCode(this.#mssqlConfig, workOrderNumber, optionalObjectCode);
210211
}
212+
/**
213+
* Retrieves employees.
214+
* @param employeeFilters - The employee filters.
215+
* @returns The employees.
216+
*/
217+
async getEmployees(employeeFilters) {
218+
return await getEmployees(this.#mssqlConfig, employeeFilters);
219+
}
220+
/**
221+
* Retrieves an employee.
222+
* @param employeeNumber - The employee number
223+
* @returns The employee, if available.
224+
*/
225+
async getEmployeeByEmployeeNumber(employeeNumber) {
226+
const employees = await getEmployees(this.#mssqlConfig, {
227+
employeeNumbers: [employeeNumber]
228+
});
229+
if (employees.length === 0) {
230+
return undefined;
231+
}
232+
return employees[0];
233+
}
211234
/**
212235
* Retrieves employee pay codes.
213236
* @param employeeNumber - The employee number.
@@ -241,6 +264,7 @@ export class WorkTechAPI {
241264
}
242265
export { getAccountNumberByWorkOrderNumberAndObjectCode } from './helpers/getAccountNumber.js';
243266
export { getEmployeePayCodes } from './queries/employees/getEmployeePayCodes.js';
267+
export { getEmployees } from './queries/employees/getEmployees.js';
244268
export { getEmployeeTimeCodes } from './queries/employees/getEmployeeTimeCodes.js';
245269
export { getTimeCodes } from './queries/employees/getTimeCodes.js';
246270
export { getTimesheetBatchEntries } from './queries/employees/getTimesheetBatchEntries.js';

index.ts

Lines changed: 40 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -7,13 +7,18 @@ import {
77
getAccountNumberByWorkOrderNumberAndObjectCode
88
} from './helpers/getAccountNumber.js'
99
import { getEmployeePayCodes } from './queries/employees/getEmployeePayCodes.js'
10+
import {
11+
type GetEmployeesFilters,
12+
getEmployees
13+
} from './queries/employees/getEmployees.js'
1014
import { getEmployeeTimeCodes } from './queries/employees/getEmployeeTimeCodes.js'
1115
import { getTimeCodes } from './queries/employees/getTimeCodes.js'
1216
import {
1317
type GetTimesheetBatchEntriesFilters,
1418
getTimesheetBatchEntries
1519
} from './queries/employees/getTimesheetBatchEntries.js'
1620
import type {
21+
Employee,
1722
EmployeePayCode,
1823
TimeCode,
1924
TimesheetBatchEntry
@@ -377,6 +382,36 @@ export class WorkTechAPI {
377382
)
378383
}
379384

385+
/**
386+
* Retrieves employees.
387+
* @param employeeFilters - The employee filters.
388+
* @returns The employees.
389+
*/
390+
async getEmployees(
391+
employeeFilters: GetEmployeesFilters
392+
): Promise<Employee[]> {
393+
return await getEmployees(this.#mssqlConfig, employeeFilters)
394+
}
395+
396+
/**
397+
* Retrieves an employee.
398+
* @param employeeNumber - The employee number
399+
* @returns The employee, if available.
400+
*/
401+
async getEmployeeByEmployeeNumber(
402+
employeeNumber: string
403+
): Promise<Employee | undefined> {
404+
const employees = await getEmployees(this.#mssqlConfig, {
405+
employeeNumbers: [employeeNumber]
406+
})
407+
408+
if (employees.length === 0) {
409+
return undefined
410+
}
411+
412+
return employees[0]
413+
}
414+
380415
/**
381416
* Retrieves employee pay codes.
382417
* @param employeeNumber - The employee number.
@@ -433,6 +468,10 @@ export class WorkTechAPI {
433468
export { getAccountNumberByWorkOrderNumberAndObjectCode } from './helpers/getAccountNumber.js'
434469

435470
export { getEmployeePayCodes } from './queries/employees/getEmployeePayCodes.js'
471+
export {
472+
type GetEmployeesFilters,
473+
getEmployees
474+
} from './queries/employees/getEmployees.js'
436475
export { getEmployeeTimeCodes } from './queries/employees/getEmployeeTimeCodes.js'
437476
export { getTimeCodes } from './queries/employees/getTimeCodes.js'
438477
export {
@@ -487,6 +526,7 @@ export { updateWorkOrderResource } from './queries/workOrders/updateWorkOrderRes
487526
*/
488527

489528
export type {
529+
Employee,
490530
EmployeePayCode,
491531
TimeCode,
492532
TimesheetBatchEntry

0 commit comments

Comments
 (0)