@smartsides/oracle-ebs-sdk 1.0.2 → 1.0.3
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/{OracleEBSClient-BitfsSVk.d.mts → OracleEBSClient-C378mm5O.d.mts} +5 -4
- package/dist/{OracleEBSClient-BitfsSVk.d.ts → OracleEBSClient-C378mm5O.d.ts} +5 -4
- package/dist/hooks/index.d.mts +1 -1
- package/dist/hooks/index.d.ts +1 -1
- package/dist/index.d.mts +1 -1
- package/dist/index.d.ts +1 -1
- package/dist/index.js +22 -4
- package/dist/index.js.map +1 -1
- package/dist/index.mjs +22 -4
- package/dist/index.mjs.map +1 -1
- package/dist/server/index.d.mts +1 -1
- package/dist/server/index.d.ts +1 -1
- package/dist/server/index.js +22 -4
- package/dist/server/index.js.map +1 -1
- package/dist/server/index.mjs +22 -4
- package/dist/server/index.mjs.map +1 -1
- package/package.json +1 -1
|
@@ -260,7 +260,7 @@ declare class NotificationsModule extends BaseClient {
|
|
|
260
260
|
}
|
|
261
261
|
|
|
262
262
|
interface GetPayslipHeaderParams {
|
|
263
|
-
employeeNumber
|
|
263
|
+
employeeNumber?: string;
|
|
264
264
|
periodName: string;
|
|
265
265
|
}
|
|
266
266
|
interface PayslipHeader {
|
|
@@ -280,7 +280,7 @@ interface PayslipHeader {
|
|
|
280
280
|
currencyCode: string;
|
|
281
281
|
}
|
|
282
282
|
interface GetPayslipDetailsParams {
|
|
283
|
-
employeeNumber
|
|
283
|
+
employeeNumber?: string;
|
|
284
284
|
periodName: string;
|
|
285
285
|
}
|
|
286
286
|
interface PayslipDetail {
|
|
@@ -295,7 +295,7 @@ interface GetPayslipDetailsResponse {
|
|
|
295
295
|
details: PayslipDetail[];
|
|
296
296
|
}
|
|
297
297
|
interface GetPayslipLeaveDetailsParams {
|
|
298
|
-
employeeNumber
|
|
298
|
+
employeeNumber?: string;
|
|
299
299
|
periodName: string;
|
|
300
300
|
}
|
|
301
301
|
interface PayslipLeaveDetail {
|
|
@@ -308,7 +308,7 @@ interface GetPayslipLeaveDetailsResponse {
|
|
|
308
308
|
leaveDetails: PayslipLeaveDetail[];
|
|
309
309
|
}
|
|
310
310
|
interface GetPayslipRunBalancesParams {
|
|
311
|
-
employeeNumber
|
|
311
|
+
employeeNumber?: string;
|
|
312
312
|
periodName: string;
|
|
313
313
|
}
|
|
314
314
|
interface PayslipRunBalance {
|
|
@@ -320,6 +320,7 @@ interface GetPayslipRunBalancesResponse {
|
|
|
320
320
|
}
|
|
321
321
|
|
|
322
322
|
declare class PayslipModule extends BaseClient {
|
|
323
|
+
private getEmployeeNumber;
|
|
323
324
|
getHeader(params: GetPayslipHeaderParams): Promise<PayslipHeader>;
|
|
324
325
|
getDetails(params: GetPayslipDetailsParams): Promise<GetPayslipDetailsResponse>;
|
|
325
326
|
getLeaveDetails(params: GetPayslipLeaveDetailsParams): Promise<GetPayslipLeaveDetailsResponse>;
|
|
@@ -260,7 +260,7 @@ declare class NotificationsModule extends BaseClient {
|
|
|
260
260
|
}
|
|
261
261
|
|
|
262
262
|
interface GetPayslipHeaderParams {
|
|
263
|
-
employeeNumber
|
|
263
|
+
employeeNumber?: string;
|
|
264
264
|
periodName: string;
|
|
265
265
|
}
|
|
266
266
|
interface PayslipHeader {
|
|
@@ -280,7 +280,7 @@ interface PayslipHeader {
|
|
|
280
280
|
currencyCode: string;
|
|
281
281
|
}
|
|
282
282
|
interface GetPayslipDetailsParams {
|
|
283
|
-
employeeNumber
|
|
283
|
+
employeeNumber?: string;
|
|
284
284
|
periodName: string;
|
|
285
285
|
}
|
|
286
286
|
interface PayslipDetail {
|
|
@@ -295,7 +295,7 @@ interface GetPayslipDetailsResponse {
|
|
|
295
295
|
details: PayslipDetail[];
|
|
296
296
|
}
|
|
297
297
|
interface GetPayslipLeaveDetailsParams {
|
|
298
|
-
employeeNumber
|
|
298
|
+
employeeNumber?: string;
|
|
299
299
|
periodName: string;
|
|
300
300
|
}
|
|
301
301
|
interface PayslipLeaveDetail {
|
|
@@ -308,7 +308,7 @@ interface GetPayslipLeaveDetailsResponse {
|
|
|
308
308
|
leaveDetails: PayslipLeaveDetail[];
|
|
309
309
|
}
|
|
310
310
|
interface GetPayslipRunBalancesParams {
|
|
311
|
-
employeeNumber
|
|
311
|
+
employeeNumber?: string;
|
|
312
312
|
periodName: string;
|
|
313
313
|
}
|
|
314
314
|
interface PayslipRunBalance {
|
|
@@ -320,6 +320,7 @@ interface GetPayslipRunBalancesResponse {
|
|
|
320
320
|
}
|
|
321
321
|
|
|
322
322
|
declare class PayslipModule extends BaseClient {
|
|
323
|
+
private getEmployeeNumber;
|
|
323
324
|
getHeader(params: GetPayslipHeaderParams): Promise<PayslipHeader>;
|
|
324
325
|
getDetails(params: GetPayslipDetailsParams): Promise<GetPayslipDetailsResponse>;
|
|
325
326
|
getLeaveDetails(params: GetPayslipLeaveDetailsParams): Promise<GetPayslipLeaveDetailsResponse>;
|
package/dist/hooks/index.d.mts
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import * as _tanstack_react_query from '@tanstack/react-query';
|
|
2
2
|
import { UseMutationOptions, UseQueryOptions } from '@tanstack/react-query';
|
|
3
|
-
import { G as GetAbsenceTypesParams, j as GetSitSegmentsParams, Q as GetDffSegmentsParams, O as OracleEBSClient, b as LoginResponse, L as LoginCredentials, U as UserContext, e as GetAbsenceTypesResponse, g as GetLeaveHistoryResponse, i as CreateLeaveRequestResponse, h as CreateLeaveRequestInput, k as GetSitSegmentsResponse, m as SaveAndPreviewSitRequestResponse, l as SaveAndPreviewSitRequestInput, o as SubmitSitRequestResponse, n as SubmitSitRequestInput, s as GetNotificationsResponse, u as GetNotificationDetailsParams, t as NotificationDetails, v as ProcessApprovalResponse, P as ProcessApprovalInput, y as GetPayslipHeaderParams, z as PayslipHeader, B as GetPayslipDetailsParams, E as GetPayslipDetailsResponse, F as PersonalInformation, I as GetEmployeeHierarchyResponse, Y as GetAccrualBalancesParams, Z as GetAccrualBalancesResponse, J as GetTableColumnsParams, K as GetTableColumnsResponse, V as GetDffSegmentsResponse, W as HealthCheckResponse } from '../OracleEBSClient-
|
|
3
|
+
import { G as GetAbsenceTypesParams, j as GetSitSegmentsParams, Q as GetDffSegmentsParams, O as OracleEBSClient, b as LoginResponse, L as LoginCredentials, U as UserContext, e as GetAbsenceTypesResponse, g as GetLeaveHistoryResponse, i as CreateLeaveRequestResponse, h as CreateLeaveRequestInput, k as GetSitSegmentsResponse, m as SaveAndPreviewSitRequestResponse, l as SaveAndPreviewSitRequestInput, o as SubmitSitRequestResponse, n as SubmitSitRequestInput, s as GetNotificationsResponse, u as GetNotificationDetailsParams, t as NotificationDetails, v as ProcessApprovalResponse, P as ProcessApprovalInput, y as GetPayslipHeaderParams, z as PayslipHeader, B as GetPayslipDetailsParams, E as GetPayslipDetailsResponse, F as PersonalInformation, I as GetEmployeeHierarchyResponse, Y as GetAccrualBalancesParams, Z as GetAccrualBalancesResponse, J as GetTableColumnsParams, K as GetTableColumnsResponse, V as GetDffSegmentsResponse, W as HealthCheckResponse } from '../OracleEBSClient-C378mm5O.mjs';
|
|
4
4
|
import 'ky';
|
|
5
5
|
|
|
6
6
|
declare const queryKeys: {
|
package/dist/hooks/index.d.ts
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import * as _tanstack_react_query from '@tanstack/react-query';
|
|
2
2
|
import { UseMutationOptions, UseQueryOptions } from '@tanstack/react-query';
|
|
3
|
-
import { G as GetAbsenceTypesParams, j as GetSitSegmentsParams, Q as GetDffSegmentsParams, O as OracleEBSClient, b as LoginResponse, L as LoginCredentials, U as UserContext, e as GetAbsenceTypesResponse, g as GetLeaveHistoryResponse, i as CreateLeaveRequestResponse, h as CreateLeaveRequestInput, k as GetSitSegmentsResponse, m as SaveAndPreviewSitRequestResponse, l as SaveAndPreviewSitRequestInput, o as SubmitSitRequestResponse, n as SubmitSitRequestInput, s as GetNotificationsResponse, u as GetNotificationDetailsParams, t as NotificationDetails, v as ProcessApprovalResponse, P as ProcessApprovalInput, y as GetPayslipHeaderParams, z as PayslipHeader, B as GetPayslipDetailsParams, E as GetPayslipDetailsResponse, F as PersonalInformation, I as GetEmployeeHierarchyResponse, Y as GetAccrualBalancesParams, Z as GetAccrualBalancesResponse, J as GetTableColumnsParams, K as GetTableColumnsResponse, V as GetDffSegmentsResponse, W as HealthCheckResponse } from '../OracleEBSClient-
|
|
3
|
+
import { G as GetAbsenceTypesParams, j as GetSitSegmentsParams, Q as GetDffSegmentsParams, O as OracleEBSClient, b as LoginResponse, L as LoginCredentials, U as UserContext, e as GetAbsenceTypesResponse, g as GetLeaveHistoryResponse, i as CreateLeaveRequestResponse, h as CreateLeaveRequestInput, k as GetSitSegmentsResponse, m as SaveAndPreviewSitRequestResponse, l as SaveAndPreviewSitRequestInput, o as SubmitSitRequestResponse, n as SubmitSitRequestInput, s as GetNotificationsResponse, u as GetNotificationDetailsParams, t as NotificationDetails, v as ProcessApprovalResponse, P as ProcessApprovalInput, y as GetPayslipHeaderParams, z as PayslipHeader, B as GetPayslipDetailsParams, E as GetPayslipDetailsResponse, F as PersonalInformation, I as GetEmployeeHierarchyResponse, Y as GetAccrualBalancesParams, Z as GetAccrualBalancesResponse, J as GetTableColumnsParams, K as GetTableColumnsResponse, V as GetDffSegmentsResponse, W as HealthCheckResponse } from '../OracleEBSClient-C378mm5O.js';
|
|
4
4
|
import 'ky';
|
|
5
5
|
|
|
6
6
|
declare const queryKeys: {
|
package/dist/index.d.mts
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
export { A as APIResponse, d as AbsenceType, X as AccrualBalance, C as CacheOptions, w as CloseFyiParams, x as CloseFyiResponse, h as CreateLeaveRequestInput, i as CreateLeaveRequestResponse, M as DffSegment, H as EmployeeHierarchyNode, G as GetAbsenceTypesParams, e as GetAbsenceTypesResponse, Y as GetAccrualBalancesParams, Z as GetAccrualBalancesResponse, Q as GetDffSegmentsParams, V as GetDffSegmentsResponse, I as GetEmployeeHierarchyResponse, g as GetLeaveHistoryResponse, u as GetNotificationDetailsParams, s as GetNotificationsResponse, B as GetPayslipDetailsParams, E as GetPayslipDetailsResponse, y as GetPayslipHeaderParams, p as GetSitHistoryParams, r as GetSitHistoryResponse, j as GetSitSegmentsParams, k as GetSitSegmentsResponse, J as GetTableColumnsParams, K as GetTableColumnsResponse, W as HealthCheckResponse, f as LeaveHistoryRecord, L as LoginCredentials, b as LoginResponse, N as Notification, t as NotificationDetails, O as OracleEBSClient, a as OracleEBSConfig, D as PayslipDetail, z as PayslipHeader, F as PersonalInformation, P as ProcessApprovalInput, v as ProcessApprovalResponse, c as Responsibility, R as RetryOptions, l as SaveAndPreviewSitRequestInput, m as SaveAndPreviewSitRequestResponse, q as SitHistoryRecord, S as SitSegment, n as SubmitSitRequestInput, o as SubmitSitRequestResponse, T as TableColumn, U as UserContext } from './OracleEBSClient-
|
|
1
|
+
export { A as APIResponse, d as AbsenceType, X as AccrualBalance, C as CacheOptions, w as CloseFyiParams, x as CloseFyiResponse, h as CreateLeaveRequestInput, i as CreateLeaveRequestResponse, M as DffSegment, H as EmployeeHierarchyNode, G as GetAbsenceTypesParams, e as GetAbsenceTypesResponse, Y as GetAccrualBalancesParams, Z as GetAccrualBalancesResponse, Q as GetDffSegmentsParams, V as GetDffSegmentsResponse, I as GetEmployeeHierarchyResponse, g as GetLeaveHistoryResponse, u as GetNotificationDetailsParams, s as GetNotificationsResponse, B as GetPayslipDetailsParams, E as GetPayslipDetailsResponse, y as GetPayslipHeaderParams, p as GetSitHistoryParams, r as GetSitHistoryResponse, j as GetSitSegmentsParams, k as GetSitSegmentsResponse, J as GetTableColumnsParams, K as GetTableColumnsResponse, W as HealthCheckResponse, f as LeaveHistoryRecord, L as LoginCredentials, b as LoginResponse, N as Notification, t as NotificationDetails, O as OracleEBSClient, a as OracleEBSConfig, D as PayslipDetail, z as PayslipHeader, F as PersonalInformation, P as ProcessApprovalInput, v as ProcessApprovalResponse, c as Responsibility, R as RetryOptions, l as SaveAndPreviewSitRequestInput, m as SaveAndPreviewSitRequestResponse, q as SitHistoryRecord, S as SitSegment, n as SubmitSitRequestInput, o as SubmitSitRequestResponse, T as TableColumn, U as UserContext } from './OracleEBSClient-C378mm5O.mjs';
|
|
2
2
|
import 'ky';
|
|
3
3
|
|
|
4
4
|
declare class APIError extends Error {
|
package/dist/index.d.ts
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
export { A as APIResponse, d as AbsenceType, X as AccrualBalance, C as CacheOptions, w as CloseFyiParams, x as CloseFyiResponse, h as CreateLeaveRequestInput, i as CreateLeaveRequestResponse, M as DffSegment, H as EmployeeHierarchyNode, G as GetAbsenceTypesParams, e as GetAbsenceTypesResponse, Y as GetAccrualBalancesParams, Z as GetAccrualBalancesResponse, Q as GetDffSegmentsParams, V as GetDffSegmentsResponse, I as GetEmployeeHierarchyResponse, g as GetLeaveHistoryResponse, u as GetNotificationDetailsParams, s as GetNotificationsResponse, B as GetPayslipDetailsParams, E as GetPayslipDetailsResponse, y as GetPayslipHeaderParams, p as GetSitHistoryParams, r as GetSitHistoryResponse, j as GetSitSegmentsParams, k as GetSitSegmentsResponse, J as GetTableColumnsParams, K as GetTableColumnsResponse, W as HealthCheckResponse, f as LeaveHistoryRecord, L as LoginCredentials, b as LoginResponse, N as Notification, t as NotificationDetails, O as OracleEBSClient, a as OracleEBSConfig, D as PayslipDetail, z as PayslipHeader, F as PersonalInformation, P as ProcessApprovalInput, v as ProcessApprovalResponse, c as Responsibility, R as RetryOptions, l as SaveAndPreviewSitRequestInput, m as SaveAndPreviewSitRequestResponse, q as SitHistoryRecord, S as SitSegment, n as SubmitSitRequestInput, o as SubmitSitRequestResponse, T as TableColumn, U as UserContext } from './OracleEBSClient-
|
|
1
|
+
export { A as APIResponse, d as AbsenceType, X as AccrualBalance, C as CacheOptions, w as CloseFyiParams, x as CloseFyiResponse, h as CreateLeaveRequestInput, i as CreateLeaveRequestResponse, M as DffSegment, H as EmployeeHierarchyNode, G as GetAbsenceTypesParams, e as GetAbsenceTypesResponse, Y as GetAccrualBalancesParams, Z as GetAccrualBalancesResponse, Q as GetDffSegmentsParams, V as GetDffSegmentsResponse, I as GetEmployeeHierarchyResponse, g as GetLeaveHistoryResponse, u as GetNotificationDetailsParams, s as GetNotificationsResponse, B as GetPayslipDetailsParams, E as GetPayslipDetailsResponse, y as GetPayslipHeaderParams, p as GetSitHistoryParams, r as GetSitHistoryResponse, j as GetSitSegmentsParams, k as GetSitSegmentsResponse, J as GetTableColumnsParams, K as GetTableColumnsResponse, W as HealthCheckResponse, f as LeaveHistoryRecord, L as LoginCredentials, b as LoginResponse, N as Notification, t as NotificationDetails, O as OracleEBSClient, a as OracleEBSConfig, D as PayslipDetail, z as PayslipHeader, F as PersonalInformation, P as ProcessApprovalInput, v as ProcessApprovalResponse, c as Responsibility, R as RetryOptions, l as SaveAndPreviewSitRequestInput, m as SaveAndPreviewSitRequestResponse, q as SitHistoryRecord, S as SitSegment, n as SubmitSitRequestInput, o as SubmitSitRequestResponse, T as TableColumn, U as UserContext } from './OracleEBSClient-C378mm5O.js';
|
|
2
2
|
import 'ky';
|
|
3
3
|
|
|
4
4
|
declare class APIError extends Error {
|
package/dist/index.js
CHANGED
|
@@ -394,12 +394,27 @@ var NotificationsModule = class extends BaseClient {
|
|
|
394
394
|
|
|
395
395
|
// src/modules/PayslipModule.ts
|
|
396
396
|
var PayslipModule = class extends BaseClient {
|
|
397
|
+
/**
|
|
398
|
+
* Get employee number from authenticated user
|
|
399
|
+
*/
|
|
400
|
+
async getEmployeeNumber(providedEmployeeNumber) {
|
|
401
|
+
if (providedEmployeeNumber) {
|
|
402
|
+
return providedEmployeeNumber;
|
|
403
|
+
}
|
|
404
|
+
const response = await this.get("employee/personal-info");
|
|
405
|
+
const employeeNumber = response.data?.EMPLOYEE_NUMBER || response.data?.employeeNumber;
|
|
406
|
+
if (!employeeNumber) {
|
|
407
|
+
throw new Error("Employee number not found in user profile");
|
|
408
|
+
}
|
|
409
|
+
return employeeNumber;
|
|
410
|
+
}
|
|
397
411
|
/**
|
|
398
412
|
* Get payslip header
|
|
399
413
|
*/
|
|
400
414
|
async getHeader(params) {
|
|
415
|
+
const employeeNumber = await this.getEmployeeNumber(params.employeeNumber);
|
|
401
416
|
const searchParams = new URLSearchParams();
|
|
402
|
-
searchParams.set("employeeNumber",
|
|
417
|
+
searchParams.set("employeeNumber", employeeNumber);
|
|
403
418
|
searchParams.set("periodName", params.periodName);
|
|
404
419
|
const response = await this.get(`payslip/header?${searchParams}`);
|
|
405
420
|
return response.data;
|
|
@@ -408,8 +423,9 @@ var PayslipModule = class extends BaseClient {
|
|
|
408
423
|
* Get payslip details
|
|
409
424
|
*/
|
|
410
425
|
async getDetails(params) {
|
|
426
|
+
const employeeNumber = await this.getEmployeeNumber(params.employeeNumber);
|
|
411
427
|
const searchParams = new URLSearchParams();
|
|
412
|
-
searchParams.set("employeeNumber",
|
|
428
|
+
searchParams.set("employeeNumber", employeeNumber);
|
|
413
429
|
searchParams.set("periodName", params.periodName);
|
|
414
430
|
const response = await this.get(`payslip/details?${searchParams}`);
|
|
415
431
|
return response.data;
|
|
@@ -418,8 +434,9 @@ var PayslipModule = class extends BaseClient {
|
|
|
418
434
|
* Get payslip leave details
|
|
419
435
|
*/
|
|
420
436
|
async getLeaveDetails(params) {
|
|
437
|
+
const employeeNumber = await this.getEmployeeNumber(params.employeeNumber);
|
|
421
438
|
const searchParams = new URLSearchParams();
|
|
422
|
-
searchParams.set("employeeNumber",
|
|
439
|
+
searchParams.set("employeeNumber", employeeNumber);
|
|
423
440
|
searchParams.set("periodName", params.periodName);
|
|
424
441
|
const response = await this.get(`payslip/leave-details?${searchParams}`);
|
|
425
442
|
return response.data;
|
|
@@ -428,8 +445,9 @@ var PayslipModule = class extends BaseClient {
|
|
|
428
445
|
* Get payslip run balances
|
|
429
446
|
*/
|
|
430
447
|
async getRunBalances(params) {
|
|
448
|
+
const employeeNumber = await this.getEmployeeNumber(params.employeeNumber);
|
|
431
449
|
const searchParams = new URLSearchParams();
|
|
432
|
-
searchParams.set("employeeNumber",
|
|
450
|
+
searchParams.set("employeeNumber", employeeNumber);
|
|
433
451
|
searchParams.set("periodName", params.periodName);
|
|
434
452
|
const response = await this.get(`payslip/run-balances?${searchParams}`);
|
|
435
453
|
return response.data;
|
package/dist/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../src/client/config.ts","../src/errors/index.ts","../src/client/BaseClient.ts","../src/modules/AuthModule.ts","../src/modules/LeavesModule.ts","../src/modules/SitRequestsModule.ts","../src/modules/NotificationsModule.ts","../src/modules/PayslipModule.ts","../src/modules/EmployeeModule.ts","../src/modules/AccrualBalancesModule.ts","../src/modules/FormsModule.ts","../src/modules/HealthModule.ts","../src/client/OracleEBSClient.ts"],"names":["ky"],"mappings":"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","file":"index.js","sourcesContent":["/**\n * SDK Configuration\n */\nexport interface OracleEBSConfig {\n /** Base URL of the API */\n baseUrl: string;\n\n /** JWT token for authentication */\n token?: string;\n\n /** Request timeout in milliseconds */\n timeout?: number;\n\n /** Number of retries for failed requests */\n retries?: number;\n\n /** Retry delay in milliseconds */\n retryDelay?: number;\n\n /** Cache configuration */\n cache?: {\n enabled?: boolean;\n ttl?: number; // seconds\n };\n\n /** Logging configuration */\n logging?: {\n enabled?: boolean;\n level?: 'debug' | 'info' | 'warn' | 'error';\n };\n\n /** Custom error handler */\n onError?: (error: Error) => void;\n\n /** Custom request interceptor */\n onRequest?: (request: Request) => Request | Promise<Request>;\n\n /** Custom response interceptor */\n onResponse?: (response: Response) => Response | Promise<Response>;\n}\n\nexport const defaultConfig: Partial<OracleEBSConfig> = {\n timeout: 30000,\n retries: 3,\n retryDelay: 1000,\n cache: {\n enabled: true,\n ttl: 300,\n },\n logging: {\n enabled: false,\n level: 'info',\n },\n};\n","/**\n * Base API Error class\n */\nexport class APIError extends Error {\n public readonly statusCode: number;\n public readonly code: string;\n public readonly details?: any;\n\n constructor(message: string, statusCode: number, code: string, details?: any) {\n super(message);\n this.name = 'APIError';\n this.statusCode = statusCode;\n this.code = code;\n this.details = details;\n Object.setPrototypeOf(this, APIError.prototype);\n }\n}\n\n/**\n * Validation Error (400)\n */\nexport class ValidationError extends APIError {\n public readonly fields?: Record<string, string[]>;\n\n constructor(message: string, fields?: Record<string, string[]>, details?: any) {\n super(message, 400, 'VALIDATION_ERROR', details);\n this.name = 'ValidationError';\n this.fields = fields;\n Object.setPrototypeOf(this, ValidationError.prototype);\n }\n}\n\n/**\n * Unauthorized Error (401)\n */\nexport class UnauthorizedError extends APIError {\n constructor(message: string = 'Unauthorized', details?: any) {\n super(message, 401, 'UNAUTHORIZED', details);\n this.name = 'UnauthorizedError';\n Object.setPrototypeOf(this, UnauthorizedError.prototype);\n }\n}\n\n/**\n * Forbidden Error (403)\n */\nexport class ForbiddenError extends APIError {\n constructor(message: string = 'Forbidden', details?: any) {\n super(message, 403, 'FORBIDDEN', details);\n this.name = 'ForbiddenError';\n Object.setPrototypeOf(this, ForbiddenError.prototype);\n }\n}\n\n/**\n * Not Found Error (404)\n */\nexport class NotFoundError extends APIError {\n constructor(message: string = 'Resource not found', details?: any) {\n super(message, 404, 'NOT_FOUND', details);\n this.name = 'NotFoundError';\n Object.setPrototypeOf(this, NotFoundError.prototype);\n }\n}\n\n/**\n * Network Error\n */\nexport class NetworkError extends APIError {\n constructor(message: string = 'Network error occurred', details?: any) {\n super(message, 0, 'NETWORK_ERROR', details);\n this.name = 'NetworkError';\n Object.setPrototypeOf(this, NetworkError.prototype);\n }\n}\n\n/**\n * Timeout Error (408)\n */\nexport class TimeoutError extends APIError {\n constructor(message: string = 'Request timeout', details?: any) {\n super(message, 408, 'TIMEOUT', details);\n this.name = 'TimeoutError';\n Object.setPrototypeOf(this, TimeoutError.prototype);\n }\n}\n\n/**\n * Server Error (500+)\n */\nexport class ServerError extends APIError {\n constructor(message: string = 'Internal server error', statusCode: number = 500, details?: any) {\n super(message, statusCode, 'SERVER_ERROR', details);\n this.name = 'ServerError';\n Object.setPrototypeOf(this, ServerError.prototype);\n }\n}\n","import ky, { type KyInstance, type Options } from 'ky';\nimport type { OracleEBSConfig } from './config';\nimport { defaultConfig } from './config';\nimport {\n APIError,\n ValidationError,\n UnauthorizedError,\n ForbiddenError,\n NotFoundError,\n NetworkError,\n TimeoutError,\n ServerError,\n} from '../errors';\nimport type { APIResponse } from '../types/common';\n\nexport class BaseClient {\n protected client: KyInstance;\n protected config: OracleEBSConfig;\n protected token?: string;\n\n constructor(config: OracleEBSConfig) {\n this.config = { ...defaultConfig, ...config };\n this.token = config.token;\n\n this.client = ky.create({\n prefixUrl: this.config.baseUrl,\n timeout: this.config.timeout,\n retry: {\n limit: this.config.retries || 0,\n methods: ['get', 'post', 'put', 'delete'],\n statusCodes: [408, 413, 429, 500, 502, 503, 504],\n },\n hooks: {\n beforeRequest: [\n (request) => {\n // Add authorization header\n if (this.token) {\n request.headers.set('Authorization', `Bearer ${this.token}`);\n }\n\n // Add content type\n if (!request.headers.has('Content-Type')) {\n request.headers.set('Content-Type', 'application/json');\n }\n\n // Custom request interceptor\n if (this.config.onRequest) {\n return this.config.onRequest(request);\n }\n\n return request;\n },\n ],\n beforeRetry: [\n ({ request, retryCount }) => {\n this.log('warn', `Retrying request (${retryCount}):`, request.url);\n },\n ],\n afterResponse: [\n async (_request, _options, response) => {\n // Custom response interceptor\n if (this.config.onResponse) {\n return this.config.onResponse(response);\n }\n return response;\n },\n ],\n },\n });\n }\n\n /**\n * Set authentication token\n */\n setToken(token: string): void {\n this.token = token;\n }\n\n /**\n * Clear authentication token\n */\n clearToken(): void {\n this.token = undefined;\n }\n\n /**\n * Make a GET request\n */\n protected async get<T>(url: string, options?: Options): Promise<APIResponse<T>> {\n try {\n this.log('info', `GET ${url}`);\n const response = await this.client.get(url, options).json<APIResponse<T>>();\n return response;\n } catch (error) {\n throw this.handleError(error);\n }\n }\n\n /**\n * Make a POST request\n */\n protected async post<T>(url: string, data?: any, options?: Options): Promise<APIResponse<T>> {\n try {\n this.log('info', `POST ${url}`);\n const response = await this.client.post(url, { json: data, ...options }).json<APIResponse<T>>();\n return response;\n } catch (error) {\n throw this.handleError(error);\n }\n }\n\n /**\n * Make a PUT request\n */\n protected async put<T>(url: string, data?: any, options?: Options): Promise<APIResponse<T>> {\n try {\n this.log('info', `PUT ${url}`);\n const response = await this.client.put(url, { json: data, ...options }).json<APIResponse<T>>();\n return response;\n } catch (error) {\n throw this.handleError(error);\n }\n }\n\n /**\n * Make a DELETE request\n */\n protected async delete<T>(url: string, options?: Options): Promise<APIResponse<T>> {\n try {\n this.log('info', `DELETE ${url}`);\n const response = await this.client.delete(url, options).json<APIResponse<T>>();\n return response;\n } catch (error) {\n throw this.handleError(error);\n }\n }\n\n /**\n * Handle API errors\n */\n protected handleError(error: any): Error {\n // Only log if logging is enabled\n if (this.config.logging?.enabled) {\n this.log('error', 'API Error:', error);\n }\n\n // Network errors\n if (error.name === 'TypeError' || error.message?.includes('fetch')) {\n const networkError = new NetworkError('Network error occurred', error);\n this.config.onError?.(networkError);\n return networkError;\n }\n\n // Timeout errors\n if (error.name === 'TimeoutError') {\n const timeoutError = new TimeoutError('Request timeout', error);\n this.config.onError?.(timeoutError);\n return timeoutError;\n }\n\n // HTTP errors\n if (error.response) {\n const status = error.response.status;\n const message = error.response.statusText || 'An error occurred';\n\n let apiError: APIError;\n\n switch (status) {\n case 400:\n apiError = new ValidationError(message);\n break;\n case 401:\n apiError = new UnauthorizedError(message);\n break;\n case 403:\n apiError = new ForbiddenError(message);\n break;\n case 404:\n apiError = new NotFoundError(message);\n break;\n case 408:\n apiError = new TimeoutError(message);\n break;\n case 500:\n case 502:\n case 503:\n case 504:\n apiError = new ServerError(message, status);\n break;\n default:\n apiError = new APIError(message, status, 'API_ERROR');\n }\n\n this.config.onError?.(apiError);\n return apiError;\n }\n\n // Unknown error\n const unknownError = new APIError(\n error.message || 'An unknown error occurred',\n 0,\n 'UNKNOWN_ERROR'\n );\n this.config.onError?.(unknownError);\n return unknownError;\n }\n\n /**\n * Log messages\n */\n protected log(level: 'debug' | 'info' | 'warn' | 'error', ...args: any[]): void {\n if (!this.config.logging?.enabled) return;\n\n const configLevel = this.config.logging.level || 'info';\n const levels = ['debug', 'info', 'warn', 'error'];\n const currentLevelIndex = levels.indexOf(level);\n const configLevelIndex = levels.indexOf(configLevel);\n\n if (currentLevelIndex >= configLevelIndex) {\n console[level]('[OracleEBS SDK]', ...args);\n }\n }\n}\n","import { BaseClient } from '../client/BaseClient';\nimport type {\n LoginCredentials,\n LoginResponse,\n UserContext,\n} from '../types/auth';\n\nexport class AuthModule extends BaseClient {\n /**\n * Login with username and password\n */\n async login(credentials: LoginCredentials): Promise<LoginResponse> {\n const response = await this.post<LoginResponse>('auth/login', credentials);\n\n // Automatically set token after successful login\n if (response.data?.access_token) {\n this.setToken(response.data.access_token);\n }\n\n return response.data!;\n }\n\n /**\n * Logout (clear token)\n */\n async logout(): Promise<void> {\n this.clearToken();\n }\n\n /**\n * Get user context\n */\n async getUserContext(): Promise<UserContext> {\n const response = await this.get<UserContext>('user-context');\n return response.data!;\n }\n}\n","import { BaseClient } from '../client/BaseClient';\nimport type {\n GetAbsenceTypesParams,\n GetAbsenceTypesResponse,\n GetLeaveHistoryResponse,\n CreateLeaveRequestInput,\n CreateLeaveRequestResponse,\n} from '../types/leaves';\n\nexport class LeavesModule extends BaseClient {\n /**\n * Get restricted absence types for the authenticated user\n */\n async getRestrictedTypes(params?: GetAbsenceTypesParams): Promise<GetAbsenceTypesResponse> {\n const searchParams = new URLSearchParams();\n if (params?.effectiveDate) {\n searchParams.set('effectiveDate', params.effectiveDate);\n }\n\n const url = `leaves/restricted-absence-types${searchParams.toString() ? `?${searchParams}` : ''}`;\n const response = await this.get<GetAbsenceTypesResponse>(url);\n return response.data!;\n }\n\n /**\n * Get combined leave history for the authenticated user\n */\n async getHistory(): Promise<GetLeaveHistoryResponse> {\n const response = await this.get<GetLeaveHistoryResponse>('leaves/combined-leave-history');\n return response.data!;\n }\n\n /**\n * Create a new leave request\n */\n async createRequest(input: CreateLeaveRequestInput): Promise<CreateLeaveRequestResponse> {\n const response = await this.post<CreateLeaveRequestResponse>('leaves/requests', input);\n return response.data!;\n }\n}\n","import { BaseClient } from '../client/BaseClient';\nimport type {\n GetSitSegmentsParams,\n GetSitSegmentsResponse,\n SaveAndPreviewSitRequestInput,\n SaveAndPreviewSitRequestResponse,\n SubmitSitRequestInput,\n SubmitSitRequestResponse,\n GetSitHistoryParams,\n GetSitHistoryResponse,\n} from '../types/sit-requests';\n\nexport class SitRequestsModule extends BaseClient {\n /**\n * Get SIT segments for form configuration\n */\n async getSegments(params: GetSitSegmentsParams): Promise<GetSitSegmentsResponse> {\n const searchParams = new URLSearchParams();\n searchParams.set('idFlexNum', params.idFlexNum);\n\n const response = await this.get<GetSitSegmentsResponse>(`sit-requests/segments?${searchParams}`);\n return response.data!;\n }\n\n /**\n * Save and preview SIT request\n */\n async saveAndPreview(input: SaveAndPreviewSitRequestInput): Promise<SaveAndPreviewSitRequestResponse> {\n const response = await this.post<SaveAndPreviewSitRequestResponse>('sit-requests/save-and-preview', input);\n return response.data!;\n }\n\n /**\n * Submit SIT request\n */\n async submit(input: SubmitSitRequestInput): Promise<SubmitSitRequestResponse> {\n const response = await this.post<SubmitSitRequestResponse>('sit-requests/submit', input);\n return response.data!;\n }\n\n /**\n * Get SIT request history\n */\n async getHistory(params?: GetSitHistoryParams): Promise<GetSitHistoryResponse> {\n const searchParams = new URLSearchParams();\n if (params?.startDate) searchParams.set('startDate', params.startDate);\n if (params?.endDate) searchParams.set('endDate', params.endDate);\n\n const url = `sit-requests/history${searchParams.toString() ? `?${searchParams}` : ''}`;\n const response = await this.get<GetSitHistoryResponse>(url);\n return response.data!;\n }\n}\n","import { BaseClient } from '../client/BaseClient';\nimport type {\n GetNotificationsResponse,\n GetNotificationDetailsParams,\n NotificationDetails,\n ProcessApprovalInput,\n ProcessApprovalResponse,\n CloseFyiParams,\n CloseFyiResponse,\n} from '../types/notifications';\n\nexport class NotificationsModule extends BaseClient {\n /**\n * Get notification list for the authenticated user\n */\n async getList(): Promise<GetNotificationsResponse> {\n const response = await this.get<GetNotificationsResponse>('notifications/list');\n return response.data!;\n }\n\n /**\n * Get notification details\n */\n async getDetails(params: GetNotificationDetailsParams): Promise<NotificationDetails> {\n const searchParams = new URLSearchParams();\n searchParams.set('notificationId', params.notificationId);\n\n const response = await this.get<NotificationDetails>(`notifications/details?${searchParams}`);\n return response.data!;\n }\n\n /**\n * Process approval action (approve/reject)\n */\n async processApproval(input: ProcessApprovalInput): Promise<ProcessApprovalResponse> {\n const response = await this.post<ProcessApprovalResponse>('notifications/process-approval', input);\n return response.data!;\n }\n\n /**\n * Close FYI notification\n */\n async closeFyi(params: CloseFyiParams): Promise<CloseFyiResponse> {\n const searchParams = new URLSearchParams();\n searchParams.set('notificationId', params.notificationId);\n\n const response = await this.get<CloseFyiResponse>(`notifications/close-fyi?${searchParams}`);\n return response.data!;\n }\n}\n","import { BaseClient } from '../client/BaseClient';\nimport type {\n GetPayslipHeaderParams,\n PayslipHeader,\n GetPayslipDetailsParams,\n GetPayslipDetailsResponse,\n GetPayslipLeaveDetailsParams,\n GetPayslipLeaveDetailsResponse,\n GetPayslipRunBalancesParams,\n GetPayslipRunBalancesResponse,\n} from '../types/payslip';\n\nexport class PayslipModule extends BaseClient {\n /**\n * Get payslip header\n */\n async getHeader(params: GetPayslipHeaderParams): Promise<PayslipHeader> {\n const searchParams = new URLSearchParams();\n searchParams.set('employeeNumber', params.employeeNumber);\n searchParams.set('periodName', params.periodName);\n\n const response = await this.get<PayslipHeader>(`payslip/header?${searchParams}`);\n return response.data!;\n }\n\n /**\n * Get payslip details\n */\n async getDetails(params: GetPayslipDetailsParams): Promise<GetPayslipDetailsResponse> {\n const searchParams = new URLSearchParams();\n searchParams.set('employeeNumber', params.employeeNumber);\n searchParams.set('periodName', params.periodName);\n\n const response = await this.get<GetPayslipDetailsResponse>(`payslip/details?${searchParams}`);\n return response.data!;\n }\n\n /**\n * Get payslip leave details\n */\n async getLeaveDetails(params: GetPayslipLeaveDetailsParams): Promise<GetPayslipLeaveDetailsResponse> {\n const searchParams = new URLSearchParams();\n searchParams.set('employeeNumber', params.employeeNumber);\n searchParams.set('periodName', params.periodName);\n\n const response = await this.get<GetPayslipLeaveDetailsResponse>(`payslip/leave-details?${searchParams}`);\n return response.data!;\n }\n\n /**\n * Get payslip run balances\n */\n async getRunBalances(params: GetPayslipRunBalancesParams): Promise<GetPayslipRunBalancesResponse> {\n const searchParams = new URLSearchParams();\n searchParams.set('employeeNumber', params.employeeNumber);\n searchParams.set('periodName', params.periodName);\n\n const response = await this.get<GetPayslipRunBalancesResponse>(`payslip/run-balances?${searchParams}`);\n return response.data!;\n }\n}\n","import { BaseClient } from '../client/BaseClient';\nimport type {\n PersonalInformation,\n GetEmployeeHierarchyResponse,\n} from '../types/employee';\n\nexport class EmployeeModule extends BaseClient {\n /**\n * Get personal information for the authenticated user\n */\n async getPersonalInfo(): Promise<PersonalInformation> {\n const response = await this.get<PersonalInformation>('personal-information/details');\n return response.data!;\n }\n\n /**\n * Get employee hierarchy\n */\n async getHierarchy(): Promise<GetEmployeeHierarchyResponse> {\n const response = await this.get<GetEmployeeHierarchyResponse>('employee-hierarchy');\n return response.data!;\n }\n}\n","import { BaseClient } from '../client/BaseClient';\nimport type {\n GetAccrualBalancesParams,\n GetAccrualBalancesResponse,\n} from '../types/accrual-balances';\n\nexport class AccrualBalancesModule extends BaseClient {\n /**\n * Get accrual balances for the authenticated user\n */\n async getBalances(params: GetAccrualBalancesParams): Promise<GetAccrualBalancesResponse> {\n const searchParams = new URLSearchParams();\n searchParams.set('calculationDate', params.calculationDate);\n\n const response = await this.get<GetAccrualBalancesResponse>(`accrual-balances?${searchParams}`);\n return response.data!;\n }\n}\n","import { BaseClient } from '../client/BaseClient';\nimport type {\n GetTableColumnsParams,\n GetTableColumnsResponse,\n GetDffSegmentsParams,\n GetDffSegmentsResponse,\n} from '../types/forms';\n\nexport class FormsModule extends BaseClient {\n /**\n * Get table columns for form generation\n */\n async getTableColumns(params: GetTableColumnsParams): Promise<GetTableColumnsResponse> {\n const searchParams = new URLSearchParams();\n searchParams.set('tableName', params.tableName);\n\n const response = await this.get<GetTableColumnsResponse>(`forms/table-columns?${searchParams}`);\n return response.data!;\n }\n\n /**\n * Get DFF segments for additional fields\n */\n async getDffSegments(params: GetDffSegmentsParams): Promise<GetDffSegmentsResponse> {\n const searchParams = new URLSearchParams();\n searchParams.set('applicationId', params.applicationId);\n searchParams.set('flexfieldName', params.flexfieldName);\n\n const response = await this.get<GetDffSegmentsResponse>(`forms/dff-segments?${searchParams}`);\n return response.data!;\n }\n}\n","import { BaseClient } from '../client/BaseClient';\nimport type { HealthCheckResponse } from '../types/health';\n\nexport class HealthModule extends BaseClient {\n /**\n * Check system health\n */\n async check(): Promise<HealthCheckResponse> {\n // Health endpoint doesn't use /api/v1 prefix\n const response = await this.client.get('../health').json<HealthCheckResponse>();\n return response;\n }\n\n /**\n * Simple ping to check if server is running\n */\n async ping(): Promise<string> {\n const response = await this.client.get('../').text();\n return response;\n }\n}\n","import type { OracleEBSConfig } from './config';\nimport { AuthModule } from '../modules/AuthModule';\nimport { LeavesModule } from '../modules/LeavesModule';\nimport { SitRequestsModule } from '../modules/SitRequestsModule';\nimport { NotificationsModule } from '../modules/NotificationsModule';\nimport { PayslipModule } from '../modules/PayslipModule';\nimport { EmployeeModule } from '../modules/EmployeeModule';\nimport { AccrualBalancesModule } from '../modules/AccrualBalancesModule';\nimport { FormsModule } from '../modules/FormsModule';\nimport { HealthModule } from '../modules/HealthModule';\n\n/**\n * Main Oracle EBS SDK Client\n * \n * @example\n * ```typescript\n * const client = new OracleEBSClient({\n * baseUrl: 'http://localhost:3000/api/v1',\n * logging: { enabled: true },\n * });\n * \n * // Login\n * await client.auth.login({ username, password });\n * \n * // Get leave types\n * const types = await client.leaves.getRestrictedTypes();\n * \n * // Create leave request\n * const request = await client.leaves.createRequest({\n * absenceTypeId: '71',\n * startDate: '2026-01-20',\n * endDate: '2026-01-22',\n * days: 3,\n * });\n * ```\n */\nexport class OracleEBSClient {\n public readonly auth: AuthModule;\n public readonly leaves: LeavesModule;\n public readonly sitRequests: SitRequestsModule;\n public readonly notifications: NotificationsModule;\n public readonly payslip: PayslipModule;\n public readonly employee: EmployeeModule;\n public readonly accrualBalances: AccrualBalancesModule;\n public readonly forms: FormsModule;\n public readonly health: HealthModule;\n\n constructor(config: OracleEBSConfig) {\n this.auth = new AuthModule(config);\n this.leaves = new LeavesModule(config);\n this.sitRequests = new SitRequestsModule(config);\n this.notifications = new NotificationsModule(config);\n this.payslip = new PayslipModule(config);\n this.employee = new EmployeeModule(config);\n this.accrualBalances = new AccrualBalancesModule(config);\n this.forms = new FormsModule(config);\n this.health = new HealthModule(config);\n }\n\n /**\n * Set authentication token for all modules\n */\n setToken(token: string): void {\n this.auth.setToken(token);\n this.leaves.setToken(token);\n this.sitRequests.setToken(token);\n this.notifications.setToken(token);\n this.payslip.setToken(token);\n this.employee.setToken(token);\n this.accrualBalances.setToken(token);\n this.forms.setToken(token);\n this.health.setToken(token);\n }\n\n /**\n * Clear authentication token from all modules\n */\n clearToken(): void {\n this.auth.clearToken();\n this.leaves.clearToken();\n this.sitRequests.clearToken();\n this.notifications.clearToken();\n this.payslip.clearToken();\n this.employee.clearToken();\n this.accrualBalances.clearToken();\n this.forms.clearToken();\n this.health.clearToken();\n }\n}\n"]}
|
|
1
|
+
{"version":3,"sources":["../src/client/config.ts","../src/errors/index.ts","../src/client/BaseClient.ts","../src/modules/AuthModule.ts","../src/modules/LeavesModule.ts","../src/modules/SitRequestsModule.ts","../src/modules/NotificationsModule.ts","../src/modules/PayslipModule.ts","../src/modules/EmployeeModule.ts","../src/modules/AccrualBalancesModule.ts","../src/modules/FormsModule.ts","../src/modules/HealthModule.ts","../src/client/OracleEBSClient.ts"],"names":["ky"],"mappings":"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","file":"index.js","sourcesContent":["/**\n * SDK Configuration\n */\nexport interface OracleEBSConfig {\n /** Base URL of the API */\n baseUrl: string;\n\n /** JWT token for authentication */\n token?: string;\n\n /** Request timeout in milliseconds */\n timeout?: number;\n\n /** Number of retries for failed requests */\n retries?: number;\n\n /** Retry delay in milliseconds */\n retryDelay?: number;\n\n /** Cache configuration */\n cache?: {\n enabled?: boolean;\n ttl?: number; // seconds\n };\n\n /** Logging configuration */\n logging?: {\n enabled?: boolean;\n level?: 'debug' | 'info' | 'warn' | 'error';\n };\n\n /** Custom error handler */\n onError?: (error: Error) => void;\n\n /** Custom request interceptor */\n onRequest?: (request: Request) => Request | Promise<Request>;\n\n /** Custom response interceptor */\n onResponse?: (response: Response) => Response | Promise<Response>;\n}\n\nexport const defaultConfig: Partial<OracleEBSConfig> = {\n timeout: 30000,\n retries: 3,\n retryDelay: 1000,\n cache: {\n enabled: true,\n ttl: 300,\n },\n logging: {\n enabled: false,\n level: 'info',\n },\n};\n","/**\n * Base API Error class\n */\nexport class APIError extends Error {\n public readonly statusCode: number;\n public readonly code: string;\n public readonly details?: any;\n\n constructor(message: string, statusCode: number, code: string, details?: any) {\n super(message);\n this.name = 'APIError';\n this.statusCode = statusCode;\n this.code = code;\n this.details = details;\n Object.setPrototypeOf(this, APIError.prototype);\n }\n}\n\n/**\n * Validation Error (400)\n */\nexport class ValidationError extends APIError {\n public readonly fields?: Record<string, string[]>;\n\n constructor(message: string, fields?: Record<string, string[]>, details?: any) {\n super(message, 400, 'VALIDATION_ERROR', details);\n this.name = 'ValidationError';\n this.fields = fields;\n Object.setPrototypeOf(this, ValidationError.prototype);\n }\n}\n\n/**\n * Unauthorized Error (401)\n */\nexport class UnauthorizedError extends APIError {\n constructor(message: string = 'Unauthorized', details?: any) {\n super(message, 401, 'UNAUTHORIZED', details);\n this.name = 'UnauthorizedError';\n Object.setPrototypeOf(this, UnauthorizedError.prototype);\n }\n}\n\n/**\n * Forbidden Error (403)\n */\nexport class ForbiddenError extends APIError {\n constructor(message: string = 'Forbidden', details?: any) {\n super(message, 403, 'FORBIDDEN', details);\n this.name = 'ForbiddenError';\n Object.setPrototypeOf(this, ForbiddenError.prototype);\n }\n}\n\n/**\n * Not Found Error (404)\n */\nexport class NotFoundError extends APIError {\n constructor(message: string = 'Resource not found', details?: any) {\n super(message, 404, 'NOT_FOUND', details);\n this.name = 'NotFoundError';\n Object.setPrototypeOf(this, NotFoundError.prototype);\n }\n}\n\n/**\n * Network Error\n */\nexport class NetworkError extends APIError {\n constructor(message: string = 'Network error occurred', details?: any) {\n super(message, 0, 'NETWORK_ERROR', details);\n this.name = 'NetworkError';\n Object.setPrototypeOf(this, NetworkError.prototype);\n }\n}\n\n/**\n * Timeout Error (408)\n */\nexport class TimeoutError extends APIError {\n constructor(message: string = 'Request timeout', details?: any) {\n super(message, 408, 'TIMEOUT', details);\n this.name = 'TimeoutError';\n Object.setPrototypeOf(this, TimeoutError.prototype);\n }\n}\n\n/**\n * Server Error (500+)\n */\nexport class ServerError extends APIError {\n constructor(message: string = 'Internal server error', statusCode: number = 500, details?: any) {\n super(message, statusCode, 'SERVER_ERROR', details);\n this.name = 'ServerError';\n Object.setPrototypeOf(this, ServerError.prototype);\n }\n}\n","import ky, { type KyInstance, type Options } from 'ky';\nimport type { OracleEBSConfig } from './config';\nimport { defaultConfig } from './config';\nimport {\n APIError,\n ValidationError,\n UnauthorizedError,\n ForbiddenError,\n NotFoundError,\n NetworkError,\n TimeoutError,\n ServerError,\n} from '../errors';\nimport type { APIResponse } from '../types/common';\n\nexport class BaseClient {\n protected client: KyInstance;\n protected config: OracleEBSConfig;\n protected token?: string;\n\n constructor(config: OracleEBSConfig) {\n this.config = { ...defaultConfig, ...config };\n this.token = config.token;\n\n this.client = ky.create({\n prefixUrl: this.config.baseUrl,\n timeout: this.config.timeout,\n retry: {\n limit: this.config.retries || 0,\n methods: ['get', 'post', 'put', 'delete'],\n statusCodes: [408, 413, 429, 500, 502, 503, 504],\n },\n hooks: {\n beforeRequest: [\n (request) => {\n // Add authorization header\n if (this.token) {\n request.headers.set('Authorization', `Bearer ${this.token}`);\n }\n\n // Add content type\n if (!request.headers.has('Content-Type')) {\n request.headers.set('Content-Type', 'application/json');\n }\n\n // Custom request interceptor\n if (this.config.onRequest) {\n return this.config.onRequest(request);\n }\n\n return request;\n },\n ],\n beforeRetry: [\n ({ request, retryCount }) => {\n this.log('warn', `Retrying request (${retryCount}):`, request.url);\n },\n ],\n afterResponse: [\n async (_request, _options, response) => {\n // Custom response interceptor\n if (this.config.onResponse) {\n return this.config.onResponse(response);\n }\n return response;\n },\n ],\n },\n });\n }\n\n /**\n * Set authentication token\n */\n setToken(token: string): void {\n this.token = token;\n }\n\n /**\n * Clear authentication token\n */\n clearToken(): void {\n this.token = undefined;\n }\n\n /**\n * Make a GET request\n */\n protected async get<T>(url: string, options?: Options): Promise<APIResponse<T>> {\n try {\n this.log('info', `GET ${url}`);\n const response = await this.client.get(url, options).json<APIResponse<T>>();\n return response;\n } catch (error) {\n throw this.handleError(error);\n }\n }\n\n /**\n * Make a POST request\n */\n protected async post<T>(url: string, data?: any, options?: Options): Promise<APIResponse<T>> {\n try {\n this.log('info', `POST ${url}`);\n const response = await this.client.post(url, { json: data, ...options }).json<APIResponse<T>>();\n return response;\n } catch (error) {\n throw this.handleError(error);\n }\n }\n\n /**\n * Make a PUT request\n */\n protected async put<T>(url: string, data?: any, options?: Options): Promise<APIResponse<T>> {\n try {\n this.log('info', `PUT ${url}`);\n const response = await this.client.put(url, { json: data, ...options }).json<APIResponse<T>>();\n return response;\n } catch (error) {\n throw this.handleError(error);\n }\n }\n\n /**\n * Make a DELETE request\n */\n protected async delete<T>(url: string, options?: Options): Promise<APIResponse<T>> {\n try {\n this.log('info', `DELETE ${url}`);\n const response = await this.client.delete(url, options).json<APIResponse<T>>();\n return response;\n } catch (error) {\n throw this.handleError(error);\n }\n }\n\n /**\n * Handle API errors\n */\n protected handleError(error: any): Error {\n // Only log if logging is enabled\n if (this.config.logging?.enabled) {\n this.log('error', 'API Error:', error);\n }\n\n // Network errors\n if (error.name === 'TypeError' || error.message?.includes('fetch')) {\n const networkError = new NetworkError('Network error occurred', error);\n this.config.onError?.(networkError);\n return networkError;\n }\n\n // Timeout errors\n if (error.name === 'TimeoutError') {\n const timeoutError = new TimeoutError('Request timeout', error);\n this.config.onError?.(timeoutError);\n return timeoutError;\n }\n\n // HTTP errors\n if (error.response) {\n const status = error.response.status;\n const message = error.response.statusText || 'An error occurred';\n\n let apiError: APIError;\n\n switch (status) {\n case 400:\n apiError = new ValidationError(message);\n break;\n case 401:\n apiError = new UnauthorizedError(message);\n break;\n case 403:\n apiError = new ForbiddenError(message);\n break;\n case 404:\n apiError = new NotFoundError(message);\n break;\n case 408:\n apiError = new TimeoutError(message);\n break;\n case 500:\n case 502:\n case 503:\n case 504:\n apiError = new ServerError(message, status);\n break;\n default:\n apiError = new APIError(message, status, 'API_ERROR');\n }\n\n this.config.onError?.(apiError);\n return apiError;\n }\n\n // Unknown error\n const unknownError = new APIError(\n error.message || 'An unknown error occurred',\n 0,\n 'UNKNOWN_ERROR'\n );\n this.config.onError?.(unknownError);\n return unknownError;\n }\n\n /**\n * Log messages\n */\n protected log(level: 'debug' | 'info' | 'warn' | 'error', ...args: any[]): void {\n if (!this.config.logging?.enabled) return;\n\n const configLevel = this.config.logging.level || 'info';\n const levels = ['debug', 'info', 'warn', 'error'];\n const currentLevelIndex = levels.indexOf(level);\n const configLevelIndex = levels.indexOf(configLevel);\n\n if (currentLevelIndex >= configLevelIndex) {\n console[level]('[OracleEBS SDK]', ...args);\n }\n }\n}\n","import { BaseClient } from '../client/BaseClient';\nimport type {\n LoginCredentials,\n LoginResponse,\n UserContext,\n} from '../types/auth';\n\nexport class AuthModule extends BaseClient {\n /**\n * Login with username and password\n */\n async login(credentials: LoginCredentials): Promise<LoginResponse> {\n const response = await this.post<LoginResponse>('auth/login', credentials);\n\n // Automatically set token after successful login\n if (response.data?.access_token) {\n this.setToken(response.data.access_token);\n }\n\n return response.data!;\n }\n\n /**\n * Logout (clear token)\n */\n async logout(): Promise<void> {\n this.clearToken();\n }\n\n /**\n * Get user context\n */\n async getUserContext(): Promise<UserContext> {\n const response = await this.get<UserContext>('user-context');\n return response.data!;\n }\n}\n","import { BaseClient } from '../client/BaseClient';\nimport type {\n GetAbsenceTypesParams,\n GetAbsenceTypesResponse,\n GetLeaveHistoryResponse,\n CreateLeaveRequestInput,\n CreateLeaveRequestResponse,\n} from '../types/leaves';\n\nexport class LeavesModule extends BaseClient {\n /**\n * Get restricted absence types for the authenticated user\n */\n async getRestrictedTypes(params?: GetAbsenceTypesParams): Promise<GetAbsenceTypesResponse> {\n const searchParams = new URLSearchParams();\n if (params?.effectiveDate) {\n searchParams.set('effectiveDate', params.effectiveDate);\n }\n\n const url = `leaves/restricted-absence-types${searchParams.toString() ? `?${searchParams}` : ''}`;\n const response = await this.get<GetAbsenceTypesResponse>(url);\n return response.data!;\n }\n\n /**\n * Get combined leave history for the authenticated user\n */\n async getHistory(): Promise<GetLeaveHistoryResponse> {\n const response = await this.get<GetLeaveHistoryResponse>('leaves/combined-leave-history');\n return response.data!;\n }\n\n /**\n * Create a new leave request\n */\n async createRequest(input: CreateLeaveRequestInput): Promise<CreateLeaveRequestResponse> {\n const response = await this.post<CreateLeaveRequestResponse>('leaves/requests', input);\n return response.data!;\n }\n}\n","import { BaseClient } from '../client/BaseClient';\nimport type {\n GetSitSegmentsParams,\n GetSitSegmentsResponse,\n SaveAndPreviewSitRequestInput,\n SaveAndPreviewSitRequestResponse,\n SubmitSitRequestInput,\n SubmitSitRequestResponse,\n GetSitHistoryParams,\n GetSitHistoryResponse,\n} from '../types/sit-requests';\n\nexport class SitRequestsModule extends BaseClient {\n /**\n * Get SIT segments for form configuration\n */\n async getSegments(params: GetSitSegmentsParams): Promise<GetSitSegmentsResponse> {\n const searchParams = new URLSearchParams();\n searchParams.set('idFlexNum', params.idFlexNum);\n\n const response = await this.get<GetSitSegmentsResponse>(`sit-requests/segments?${searchParams}`);\n return response.data!;\n }\n\n /**\n * Save and preview SIT request\n */\n async saveAndPreview(input: SaveAndPreviewSitRequestInput): Promise<SaveAndPreviewSitRequestResponse> {\n const response = await this.post<SaveAndPreviewSitRequestResponse>('sit-requests/save-and-preview', input);\n return response.data!;\n }\n\n /**\n * Submit SIT request\n */\n async submit(input: SubmitSitRequestInput): Promise<SubmitSitRequestResponse> {\n const response = await this.post<SubmitSitRequestResponse>('sit-requests/submit', input);\n return response.data!;\n }\n\n /**\n * Get SIT request history\n */\n async getHistory(params?: GetSitHistoryParams): Promise<GetSitHistoryResponse> {\n const searchParams = new URLSearchParams();\n if (params?.startDate) searchParams.set('startDate', params.startDate);\n if (params?.endDate) searchParams.set('endDate', params.endDate);\n\n const url = `sit-requests/history${searchParams.toString() ? `?${searchParams}` : ''}`;\n const response = await this.get<GetSitHistoryResponse>(url);\n return response.data!;\n }\n}\n","import { BaseClient } from '../client/BaseClient';\nimport type {\n GetNotificationsResponse,\n GetNotificationDetailsParams,\n NotificationDetails,\n ProcessApprovalInput,\n ProcessApprovalResponse,\n CloseFyiParams,\n CloseFyiResponse,\n} from '../types/notifications';\n\nexport class NotificationsModule extends BaseClient {\n /**\n * Get notification list for the authenticated user\n */\n async getList(): Promise<GetNotificationsResponse> {\n const response = await this.get<GetNotificationsResponse>('notifications/list');\n return response.data!;\n }\n\n /**\n * Get notification details\n */\n async getDetails(params: GetNotificationDetailsParams): Promise<NotificationDetails> {\n const searchParams = new URLSearchParams();\n searchParams.set('notificationId', params.notificationId);\n\n const response = await this.get<NotificationDetails>(`notifications/details?${searchParams}`);\n return response.data!;\n }\n\n /**\n * Process approval action (approve/reject)\n */\n async processApproval(input: ProcessApprovalInput): Promise<ProcessApprovalResponse> {\n const response = await this.post<ProcessApprovalResponse>('notifications/process-approval', input);\n return response.data!;\n }\n\n /**\n * Close FYI notification\n */\n async closeFyi(params: CloseFyiParams): Promise<CloseFyiResponse> {\n const searchParams = new URLSearchParams();\n searchParams.set('notificationId', params.notificationId);\n\n const response = await this.get<CloseFyiResponse>(`notifications/close-fyi?${searchParams}`);\n return response.data!;\n }\n}\n","import { BaseClient } from '../client/BaseClient';\nimport type {\n GetPayslipHeaderParams,\n PayslipHeader,\n GetPayslipDetailsParams,\n GetPayslipDetailsResponse,\n GetPayslipLeaveDetailsParams,\n GetPayslipLeaveDetailsResponse,\n GetPayslipRunBalancesParams,\n GetPayslipRunBalancesResponse,\n} from '../types/payslip';\n\nexport class PayslipModule extends BaseClient {\n /**\n * Get employee number from authenticated user\n */\n private async getEmployeeNumber(providedEmployeeNumber?: string): Promise<string> {\n if (providedEmployeeNumber) {\n return providedEmployeeNumber;\n }\n\n // Fetch from employee personal info\n const response = await this.get<any>('employee/personal-info');\n const employeeNumber = response.data?.EMPLOYEE_NUMBER || response.data?.employeeNumber;\n\n if (!employeeNumber) {\n throw new Error('Employee number not found in user profile');\n }\n\n return employeeNumber;\n }\n\n /**\n * Get payslip header\n */\n async getHeader(params: GetPayslipHeaderParams): Promise<PayslipHeader> {\n const employeeNumber = await this.getEmployeeNumber(params.employeeNumber);\n\n const searchParams = new URLSearchParams();\n searchParams.set('employeeNumber', employeeNumber);\n searchParams.set('periodName', params.periodName);\n\n const response = await this.get<PayslipHeader>(`payslip/header?${searchParams}`);\n return response.data!;\n }\n\n /**\n * Get payslip details\n */\n async getDetails(params: GetPayslipDetailsParams): Promise<GetPayslipDetailsResponse> {\n const employeeNumber = await this.getEmployeeNumber(params.employeeNumber);\n\n const searchParams = new URLSearchParams();\n searchParams.set('employeeNumber', employeeNumber);\n searchParams.set('periodName', params.periodName);\n\n const response = await this.get<GetPayslipDetailsResponse>(`payslip/details?${searchParams}`);\n return response.data!;\n }\n\n /**\n * Get payslip leave details\n */\n async getLeaveDetails(params: GetPayslipLeaveDetailsParams): Promise<GetPayslipLeaveDetailsResponse> {\n const employeeNumber = await this.getEmployeeNumber(params.employeeNumber);\n\n const searchParams = new URLSearchParams();\n searchParams.set('employeeNumber', employeeNumber);\n searchParams.set('periodName', params.periodName);\n\n const response = await this.get<GetPayslipLeaveDetailsResponse>(`payslip/leave-details?${searchParams}`);\n return response.data!;\n }\n\n /**\n * Get payslip run balances\n */\n async getRunBalances(params: GetPayslipRunBalancesParams): Promise<GetPayslipRunBalancesResponse> {\n const employeeNumber = await this.getEmployeeNumber(params.employeeNumber);\n\n const searchParams = new URLSearchParams();\n searchParams.set('employeeNumber', employeeNumber);\n searchParams.set('periodName', params.periodName);\n\n const response = await this.get<GetPayslipRunBalancesResponse>(`payslip/run-balances?${searchParams}`);\n return response.data!;\n }\n}\n","import { BaseClient } from '../client/BaseClient';\nimport type {\n PersonalInformation,\n GetEmployeeHierarchyResponse,\n} from '../types/employee';\n\nexport class EmployeeModule extends BaseClient {\n /**\n * Get personal information for the authenticated user\n */\n async getPersonalInfo(): Promise<PersonalInformation> {\n const response = await this.get<PersonalInformation>('personal-information/details');\n return response.data!;\n }\n\n /**\n * Get employee hierarchy\n */\n async getHierarchy(): Promise<GetEmployeeHierarchyResponse> {\n const response = await this.get<GetEmployeeHierarchyResponse>('employee-hierarchy');\n return response.data!;\n }\n}\n","import { BaseClient } from '../client/BaseClient';\nimport type {\n GetAccrualBalancesParams,\n GetAccrualBalancesResponse,\n} from '../types/accrual-balances';\n\nexport class AccrualBalancesModule extends BaseClient {\n /**\n * Get accrual balances for the authenticated user\n */\n async getBalances(params: GetAccrualBalancesParams): Promise<GetAccrualBalancesResponse> {\n const searchParams = new URLSearchParams();\n searchParams.set('calculationDate', params.calculationDate);\n\n const response = await this.get<GetAccrualBalancesResponse>(`accrual-balances?${searchParams}`);\n return response.data!;\n }\n}\n","import { BaseClient } from '../client/BaseClient';\nimport type {\n GetTableColumnsParams,\n GetTableColumnsResponse,\n GetDffSegmentsParams,\n GetDffSegmentsResponse,\n} from '../types/forms';\n\nexport class FormsModule extends BaseClient {\n /**\n * Get table columns for form generation\n */\n async getTableColumns(params: GetTableColumnsParams): Promise<GetTableColumnsResponse> {\n const searchParams = new URLSearchParams();\n searchParams.set('tableName', params.tableName);\n\n const response = await this.get<GetTableColumnsResponse>(`forms/table-columns?${searchParams}`);\n return response.data!;\n }\n\n /**\n * Get DFF segments for additional fields\n */\n async getDffSegments(params: GetDffSegmentsParams): Promise<GetDffSegmentsResponse> {\n const searchParams = new URLSearchParams();\n searchParams.set('applicationId', params.applicationId);\n searchParams.set('flexfieldName', params.flexfieldName);\n\n const response = await this.get<GetDffSegmentsResponse>(`forms/dff-segments?${searchParams}`);\n return response.data!;\n }\n}\n","import { BaseClient } from '../client/BaseClient';\nimport type { HealthCheckResponse } from '../types/health';\n\nexport class HealthModule extends BaseClient {\n /**\n * Check system health\n */\n async check(): Promise<HealthCheckResponse> {\n // Health endpoint doesn't use /api/v1 prefix\n const response = await this.client.get('../health').json<HealthCheckResponse>();\n return response;\n }\n\n /**\n * Simple ping to check if server is running\n */\n async ping(): Promise<string> {\n const response = await this.client.get('../').text();\n return response;\n }\n}\n","import type { OracleEBSConfig } from './config';\nimport { AuthModule } from '../modules/AuthModule';\nimport { LeavesModule } from '../modules/LeavesModule';\nimport { SitRequestsModule } from '../modules/SitRequestsModule';\nimport { NotificationsModule } from '../modules/NotificationsModule';\nimport { PayslipModule } from '../modules/PayslipModule';\nimport { EmployeeModule } from '../modules/EmployeeModule';\nimport { AccrualBalancesModule } from '../modules/AccrualBalancesModule';\nimport { FormsModule } from '../modules/FormsModule';\nimport { HealthModule } from '../modules/HealthModule';\n\n/**\n * Main Oracle EBS SDK Client\n * \n * @example\n * ```typescript\n * const client = new OracleEBSClient({\n * baseUrl: 'http://localhost:3000/api/v1',\n * logging: { enabled: true },\n * });\n * \n * // Login\n * await client.auth.login({ username, password });\n * \n * // Get leave types\n * const types = await client.leaves.getRestrictedTypes();\n * \n * // Create leave request\n * const request = await client.leaves.createRequest({\n * absenceTypeId: '71',\n * startDate: '2026-01-20',\n * endDate: '2026-01-22',\n * days: 3,\n * });\n * ```\n */\nexport class OracleEBSClient {\n public readonly auth: AuthModule;\n public readonly leaves: LeavesModule;\n public readonly sitRequests: SitRequestsModule;\n public readonly notifications: NotificationsModule;\n public readonly payslip: PayslipModule;\n public readonly employee: EmployeeModule;\n public readonly accrualBalances: AccrualBalancesModule;\n public readonly forms: FormsModule;\n public readonly health: HealthModule;\n\n constructor(config: OracleEBSConfig) {\n this.auth = new AuthModule(config);\n this.leaves = new LeavesModule(config);\n this.sitRequests = new SitRequestsModule(config);\n this.notifications = new NotificationsModule(config);\n this.payslip = new PayslipModule(config);\n this.employee = new EmployeeModule(config);\n this.accrualBalances = new AccrualBalancesModule(config);\n this.forms = new FormsModule(config);\n this.health = new HealthModule(config);\n }\n\n /**\n * Set authentication token for all modules\n */\n setToken(token: string): void {\n this.auth.setToken(token);\n this.leaves.setToken(token);\n this.sitRequests.setToken(token);\n this.notifications.setToken(token);\n this.payslip.setToken(token);\n this.employee.setToken(token);\n this.accrualBalances.setToken(token);\n this.forms.setToken(token);\n this.health.setToken(token);\n }\n\n /**\n * Clear authentication token from all modules\n */\n clearToken(): void {\n this.auth.clearToken();\n this.leaves.clearToken();\n this.sitRequests.clearToken();\n this.notifications.clearToken();\n this.payslip.clearToken();\n this.employee.clearToken();\n this.accrualBalances.clearToken();\n this.forms.clearToken();\n this.health.clearToken();\n }\n}\n"]}
|
package/dist/index.mjs
CHANGED
|
@@ -388,12 +388,27 @@ var NotificationsModule = class extends BaseClient {
|
|
|
388
388
|
|
|
389
389
|
// src/modules/PayslipModule.ts
|
|
390
390
|
var PayslipModule = class extends BaseClient {
|
|
391
|
+
/**
|
|
392
|
+
* Get employee number from authenticated user
|
|
393
|
+
*/
|
|
394
|
+
async getEmployeeNumber(providedEmployeeNumber) {
|
|
395
|
+
if (providedEmployeeNumber) {
|
|
396
|
+
return providedEmployeeNumber;
|
|
397
|
+
}
|
|
398
|
+
const response = await this.get("employee/personal-info");
|
|
399
|
+
const employeeNumber = response.data?.EMPLOYEE_NUMBER || response.data?.employeeNumber;
|
|
400
|
+
if (!employeeNumber) {
|
|
401
|
+
throw new Error("Employee number not found in user profile");
|
|
402
|
+
}
|
|
403
|
+
return employeeNumber;
|
|
404
|
+
}
|
|
391
405
|
/**
|
|
392
406
|
* Get payslip header
|
|
393
407
|
*/
|
|
394
408
|
async getHeader(params) {
|
|
409
|
+
const employeeNumber = await this.getEmployeeNumber(params.employeeNumber);
|
|
395
410
|
const searchParams = new URLSearchParams();
|
|
396
|
-
searchParams.set("employeeNumber",
|
|
411
|
+
searchParams.set("employeeNumber", employeeNumber);
|
|
397
412
|
searchParams.set("periodName", params.periodName);
|
|
398
413
|
const response = await this.get(`payslip/header?${searchParams}`);
|
|
399
414
|
return response.data;
|
|
@@ -402,8 +417,9 @@ var PayslipModule = class extends BaseClient {
|
|
|
402
417
|
* Get payslip details
|
|
403
418
|
*/
|
|
404
419
|
async getDetails(params) {
|
|
420
|
+
const employeeNumber = await this.getEmployeeNumber(params.employeeNumber);
|
|
405
421
|
const searchParams = new URLSearchParams();
|
|
406
|
-
searchParams.set("employeeNumber",
|
|
422
|
+
searchParams.set("employeeNumber", employeeNumber);
|
|
407
423
|
searchParams.set("periodName", params.periodName);
|
|
408
424
|
const response = await this.get(`payslip/details?${searchParams}`);
|
|
409
425
|
return response.data;
|
|
@@ -412,8 +428,9 @@ var PayslipModule = class extends BaseClient {
|
|
|
412
428
|
* Get payslip leave details
|
|
413
429
|
*/
|
|
414
430
|
async getLeaveDetails(params) {
|
|
431
|
+
const employeeNumber = await this.getEmployeeNumber(params.employeeNumber);
|
|
415
432
|
const searchParams = new URLSearchParams();
|
|
416
|
-
searchParams.set("employeeNumber",
|
|
433
|
+
searchParams.set("employeeNumber", employeeNumber);
|
|
417
434
|
searchParams.set("periodName", params.periodName);
|
|
418
435
|
const response = await this.get(`payslip/leave-details?${searchParams}`);
|
|
419
436
|
return response.data;
|
|
@@ -422,8 +439,9 @@ var PayslipModule = class extends BaseClient {
|
|
|
422
439
|
* Get payslip run balances
|
|
423
440
|
*/
|
|
424
441
|
async getRunBalances(params) {
|
|
442
|
+
const employeeNumber = await this.getEmployeeNumber(params.employeeNumber);
|
|
425
443
|
const searchParams = new URLSearchParams();
|
|
426
|
-
searchParams.set("employeeNumber",
|
|
444
|
+
searchParams.set("employeeNumber", employeeNumber);
|
|
427
445
|
searchParams.set("periodName", params.periodName);
|
|
428
446
|
const response = await this.get(`payslip/run-balances?${searchParams}`);
|
|
429
447
|
return response.data;
|