@xbg.solutions/utils-erp-connector 1.0.0

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.
@@ -0,0 +1,84 @@
1
+ /**
2
+ * ERP Connector
3
+ * Enterprise Resource Planning - HR and Finance operations
4
+ */
5
+ import { Employee, TimeOffRequest, TimeOffBalance, PayStub, ExpenseReport, Department, JobRequisition, ERPQueryOptions, ERPResponse } from './types';
6
+ /**
7
+ * ERP Provider Interface
8
+ */
9
+ export interface ERPProvider {
10
+ getEmployee(employeeId: string): Promise<Employee>;
11
+ getEmployees(options?: ERPQueryOptions): Promise<ERPResponse<Employee>>;
12
+ createEmployee(employee: Omit<Employee, 'id'>): Promise<Employee>;
13
+ updateEmployee(employeeId: string, updates: Partial<Employee>): Promise<Employee>;
14
+ requestTimeOff(request: TimeOffRequest): Promise<ERPResponse<TimeOffRequest>>;
15
+ getTimeOffBalance(employeeId: string): Promise<TimeOffBalance[]>;
16
+ getTimeOffRequests(employeeId: string, options?: ERPQueryOptions): Promise<ERPResponse<TimeOffRequest>>;
17
+ getPayStubs(employeeId: string, options?: ERPQueryOptions): Promise<ERPResponse<PayStub>>;
18
+ createExpenseReport(expense: ExpenseReport): Promise<ExpenseReport>;
19
+ getExpenseReports(employeeId: string, options?: ERPQueryOptions): Promise<ERPResponse<ExpenseReport>>;
20
+ getDepartment(departmentId: string): Promise<Department>;
21
+ getDepartments(options?: ERPQueryOptions): Promise<ERPResponse<Department>>;
22
+ getJobRequisitions(options?: ERPQueryOptions): Promise<ERPResponse<JobRequisition>>;
23
+ }
24
+ /**
25
+ * ERP Connector
26
+ * Unified interface for ERP systems
27
+ */
28
+ export declare class ERPConnector {
29
+ private provider;
30
+ constructor(provider: ERPProvider);
31
+ /**
32
+ * Get employee by ID
33
+ */
34
+ getEmployee(employeeId: string): Promise<Employee>;
35
+ /**
36
+ * Get multiple employees with filtering
37
+ */
38
+ getEmployees(options?: ERPQueryOptions): Promise<ERPResponse<Employee>>;
39
+ /**
40
+ * Create new employee
41
+ */
42
+ createEmployee(employee: Omit<Employee, 'id'>): Promise<Employee>;
43
+ /**
44
+ * Update employee data
45
+ */
46
+ updateEmployee(employeeId: string, updates: Partial<Employee>): Promise<Employee>;
47
+ /**
48
+ * Request time off
49
+ */
50
+ requestTimeOff(request: TimeOffRequest): Promise<ERPResponse<TimeOffRequest>>;
51
+ /**
52
+ * Get time off balance
53
+ */
54
+ getTimeOffBalance(employeeId: string): Promise<TimeOffBalance[]>;
55
+ /**
56
+ * Get time off requests
57
+ */
58
+ getTimeOffRequests(employeeId: string, options?: ERPQueryOptions): Promise<ERPResponse<TimeOffRequest>>;
59
+ /**
60
+ * Get pay stubs
61
+ */
62
+ getPayStubs(employeeId: string, options?: ERPQueryOptions): Promise<ERPResponse<PayStub>>;
63
+ /**
64
+ * Create expense report
65
+ */
66
+ createExpenseReport(expense: ExpenseReport): Promise<ExpenseReport>;
67
+ /**
68
+ * Get expense reports
69
+ */
70
+ getExpenseReports(employeeId: string, options?: ERPQueryOptions): Promise<ERPResponse<ExpenseReport>>;
71
+ /**
72
+ * Get department by ID
73
+ */
74
+ getDepartment(departmentId: string): Promise<Department>;
75
+ /**
76
+ * Get departments
77
+ */
78
+ getDepartments(options?: ERPQueryOptions): Promise<ERPResponse<Department>>;
79
+ /**
80
+ * Get job requisitions
81
+ */
82
+ getJobRequisitions(options?: ERPQueryOptions): Promise<ERPResponse<JobRequisition>>;
83
+ }
84
+ //# sourceMappingURL=erp-connector.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"erp-connector.d.ts","sourceRoot":"","sources":["../src/erp-connector.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,214 @@
1
+ "use strict";
2
+ /**
3
+ * ERP Connector
4
+ * Enterprise Resource Planning - HR and Finance operations
5
+ */
6
+ Object.defineProperty(exports, "__esModule", { value: true });
7
+ exports.ERPConnector = void 0;
8
+ const utils_logger_1 = require("@xbg/utils-logger");
9
+ /**
10
+ * ERP Connector
11
+ * Unified interface for ERP systems
12
+ */
13
+ class ERPConnector {
14
+ constructor(provider) {
15
+ this.provider = provider;
16
+ }
17
+ /**
18
+ * Get employee by ID
19
+ */
20
+ async getEmployee(employeeId) {
21
+ utils_logger_1.logger.info('Fetching employee', { employeeId });
22
+ try {
23
+ return await this.provider.getEmployee(employeeId);
24
+ }
25
+ catch (error) {
26
+ utils_logger_1.logger.error('Error fetching employee', error instanceof Error ? error : new Error('Unknown error'), {
27
+ employeeId,
28
+ });
29
+ throw error;
30
+ }
31
+ }
32
+ /**
33
+ * Get multiple employees with filtering
34
+ */
35
+ async getEmployees(options) {
36
+ utils_logger_1.logger.info('Fetching employees', { options });
37
+ try {
38
+ return await this.provider.getEmployees(options);
39
+ }
40
+ catch (error) {
41
+ utils_logger_1.logger.error('Error fetching employees', error instanceof Error ? error : new Error('Unknown error'));
42
+ throw error;
43
+ }
44
+ }
45
+ /**
46
+ * Create new employee
47
+ */
48
+ async createEmployee(employee) {
49
+ utils_logger_1.logger.info('Creating employee', {
50
+ email: employee.email,
51
+ name: `${employee.firstName} ${employee.lastName}`,
52
+ });
53
+ try {
54
+ return await this.provider.createEmployee(employee);
55
+ }
56
+ catch (error) {
57
+ utils_logger_1.logger.error('Error creating employee', error instanceof Error ? error : new Error('Unknown error'));
58
+ throw error;
59
+ }
60
+ }
61
+ /**
62
+ * Update employee data
63
+ */
64
+ async updateEmployee(employeeId, updates) {
65
+ utils_logger_1.logger.info('Updating employee', { employeeId, updates });
66
+ try {
67
+ return await this.provider.updateEmployee(employeeId, updates);
68
+ }
69
+ catch (error) {
70
+ utils_logger_1.logger.error('Error updating employee', error instanceof Error ? error : new Error('Unknown error'), {
71
+ employeeId,
72
+ });
73
+ throw error;
74
+ }
75
+ }
76
+ /**
77
+ * Request time off
78
+ */
79
+ async requestTimeOff(request) {
80
+ utils_logger_1.logger.info('Requesting time off', {
81
+ employeeId: request.employeeId,
82
+ type: request.type,
83
+ startDate: request.startDate,
84
+ endDate: request.endDate,
85
+ });
86
+ try {
87
+ return await this.provider.requestTimeOff(request);
88
+ }
89
+ catch (error) {
90
+ utils_logger_1.logger.error('Error requesting time off', error instanceof Error ? error : new Error('Unknown error'));
91
+ throw error;
92
+ }
93
+ }
94
+ /**
95
+ * Get time off balance
96
+ */
97
+ async getTimeOffBalance(employeeId) {
98
+ utils_logger_1.logger.info('Fetching time off balance', { employeeId });
99
+ try {
100
+ return await this.provider.getTimeOffBalance(employeeId);
101
+ }
102
+ catch (error) {
103
+ utils_logger_1.logger.error('Error fetching time off balance', error instanceof Error ? error : new Error('Unknown error'), {
104
+ employeeId,
105
+ });
106
+ throw error;
107
+ }
108
+ }
109
+ /**
110
+ * Get time off requests
111
+ */
112
+ async getTimeOffRequests(employeeId, options) {
113
+ utils_logger_1.logger.info('Fetching time off requests', { employeeId, options });
114
+ try {
115
+ return await this.provider.getTimeOffRequests(employeeId, options);
116
+ }
117
+ catch (error) {
118
+ utils_logger_1.logger.error('Error fetching time off requests', error instanceof Error ? error : new Error('Unknown error'), {
119
+ employeeId,
120
+ });
121
+ throw error;
122
+ }
123
+ }
124
+ /**
125
+ * Get pay stubs
126
+ */
127
+ async getPayStubs(employeeId, options) {
128
+ utils_logger_1.logger.info('Fetching pay stubs', { employeeId, options });
129
+ try {
130
+ return await this.provider.getPayStubs(employeeId, options);
131
+ }
132
+ catch (error) {
133
+ utils_logger_1.logger.error('Error fetching pay stubs', error instanceof Error ? error : new Error('Unknown error'), {
134
+ employeeId,
135
+ });
136
+ throw error;
137
+ }
138
+ }
139
+ /**
140
+ * Create expense report
141
+ */
142
+ async createExpenseReport(expense) {
143
+ utils_logger_1.logger.info('Creating expense report', {
144
+ employeeId: expense.employeeId,
145
+ amount: expense.amount,
146
+ category: expense.category,
147
+ });
148
+ try {
149
+ return await this.provider.createExpenseReport(expense);
150
+ }
151
+ catch (error) {
152
+ utils_logger_1.logger.error('Error creating expense report', error instanceof Error ? error : new Error('Unknown error'));
153
+ throw error;
154
+ }
155
+ }
156
+ /**
157
+ * Get expense reports
158
+ */
159
+ async getExpenseReports(employeeId, options) {
160
+ utils_logger_1.logger.info('Fetching expense reports', { employeeId, options });
161
+ try {
162
+ return await this.provider.getExpenseReports(employeeId, options);
163
+ }
164
+ catch (error) {
165
+ utils_logger_1.logger.error('Error fetching expense reports', error instanceof Error ? error : new Error('Unknown error'), {
166
+ employeeId,
167
+ });
168
+ throw error;
169
+ }
170
+ }
171
+ /**
172
+ * Get department by ID
173
+ */
174
+ async getDepartment(departmentId) {
175
+ utils_logger_1.logger.info('Fetching department', { departmentId });
176
+ try {
177
+ return await this.provider.getDepartment(departmentId);
178
+ }
179
+ catch (error) {
180
+ utils_logger_1.logger.error('Error fetching department', error instanceof Error ? error : new Error('Unknown error'), {
181
+ departmentId,
182
+ });
183
+ throw error;
184
+ }
185
+ }
186
+ /**
187
+ * Get departments
188
+ */
189
+ async getDepartments(options) {
190
+ utils_logger_1.logger.info('Fetching departments', { options });
191
+ try {
192
+ return await this.provider.getDepartments(options);
193
+ }
194
+ catch (error) {
195
+ utils_logger_1.logger.error('Error fetching departments', error instanceof Error ? error : new Error('Unknown error'));
196
+ throw error;
197
+ }
198
+ }
199
+ /**
200
+ * Get job requisitions
201
+ */
202
+ async getJobRequisitions(options) {
203
+ utils_logger_1.logger.info('Fetching job requisitions', { options });
204
+ try {
205
+ return await this.provider.getJobRequisitions(options);
206
+ }
207
+ catch (error) {
208
+ utils_logger_1.logger.error('Error fetching job requisitions', error instanceof Error ? error : new Error('Unknown error'));
209
+ throw error;
210
+ }
211
+ }
212
+ }
213
+ exports.ERPConnector = ERPConnector;
214
+ //# sourceMappingURL=erp-connector.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"erp-connector.js","sourceRoot":"","sources":["../src/erp-connector.ts"],"names":[],"mappings":"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"}
package/lib/index.d.ts ADDED
@@ -0,0 +1,11 @@
1
+ /**
2
+ * ERP Connector Barrel Export
3
+ */
4
+ export * from './types';
5
+ export * from './erp-connector';
6
+ export * from './providers/workday-provider';
7
+ import { ERPConnector } from './erp-connector';
8
+ export declare function initializeERPConnector(config: any): void;
9
+ export declare function createERPConnector(): ERPConnector | null;
10
+ export declare function getERPConnector(): ERPConnector | null;
11
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,cAAc,SAAS,CAAC;AACxB,cAAc,iBAAiB,CAAC;AAChC,cAAc,8BAA8B,CAAC;AAE7C,OAAO,EAAE,YAAY,EAAE,MAAM,iBAAiB,CAAC;AAM/C,wBAAgB,sBAAsB,CAAC,MAAM,EAAE,GAAG,GAAG,IAAI,CAIxD;AAED,wBAAgB,kBAAkB,IAAI,YAAY,GAAG,IAAI,CAwBxD;AAID,wBAAgB,eAAe,IAAI,YAAY,GAAG,IAAI,CAKrD"}
package/lib/index.js ADDED
@@ -0,0 +1,63 @@
1
+ "use strict";
2
+ /**
3
+ * ERP Connector Barrel Export
4
+ */
5
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
6
+ if (k2 === undefined) k2 = k;
7
+ var desc = Object.getOwnPropertyDescriptor(m, k);
8
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
9
+ desc = { enumerable: true, get: function() { return m[k]; } };
10
+ }
11
+ Object.defineProperty(o, k2, desc);
12
+ }) : (function(o, m, k, k2) {
13
+ if (k2 === undefined) k2 = k;
14
+ o[k2] = m[k];
15
+ }));
16
+ var __exportStar = (this && this.__exportStar) || function(m, exports) {
17
+ for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
18
+ };
19
+ Object.defineProperty(exports, "__esModule", { value: true });
20
+ exports.initializeERPConnector = initializeERPConnector;
21
+ exports.createERPConnector = createERPConnector;
22
+ exports.getERPConnector = getERPConnector;
23
+ __exportStar(require("./types"), exports);
24
+ __exportStar(require("./erp-connector"), exports);
25
+ __exportStar(require("./providers/workday-provider"), exports);
26
+ const erp_connector_1 = require("./erp-connector");
27
+ const workday_provider_1 = require("./providers/workday-provider");
28
+ // Config is provided via initializeERPConnector() at app startup
29
+ let connectorConfig = null;
30
+ function initializeERPConnector(config) {
31
+ connectorConfig = config;
32
+ // Reset singleton so it gets re-created with new config
33
+ erpConnectorInstance = undefined;
34
+ }
35
+ function createERPConnector() {
36
+ if (!connectorConfig) {
37
+ throw new Error('ERP connector not initialized. Call initializeERPConnector() first.');
38
+ }
39
+ if (!connectorConfig.erp.enabled) {
40
+ return null;
41
+ }
42
+ const provider = connectorConfig.erp.provider;
43
+ if (provider === 'workday') {
44
+ const config = connectorConfig.erp.providers.workday;
45
+ if (!(config === null || config === void 0 ? void 0 : config.tenant) || !(config === null || config === void 0 ? void 0 : config.clientId) || !(config === null || config === void 0 ? void 0 : config.clientSecret)) {
46
+ throw new Error('Workday configuration incomplete');
47
+ }
48
+ return new erp_connector_1.ERPConnector(new workday_provider_1.WorkdayProvider({
49
+ tenantName: config.tenant,
50
+ username: config.clientId,
51
+ password: config.clientSecret,
52
+ }));
53
+ }
54
+ throw new Error(`Unsupported ERP provider: ${provider}`);
55
+ }
56
+ let erpConnectorInstance;
57
+ function getERPConnector() {
58
+ if (erpConnectorInstance === undefined) {
59
+ erpConnectorInstance = createERPConnector();
60
+ }
61
+ return erpConnectorInstance;
62
+ }
63
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";AAAA;;GAEG;;;;;;;;;;;;;;;;AAYH,wDAIC;AAED,gDAwBC;AAID,0CAKC;AAjDD,0CAAwB;AACxB,kDAAgC;AAChC,+DAA6C;AAE7C,mDAA+C;AAC/C,mEAA+D;AAE/D,iEAAiE;AACjE,IAAI,eAAe,GAAQ,IAAI,CAAC;AAEhC,SAAgB,sBAAsB,CAAC,MAAW;IAChD,eAAe,GAAG,MAAM,CAAC;IACzB,wDAAwD;IACxD,oBAAoB,GAAG,SAAS,CAAC;AACnC,CAAC;AAED,SAAgB,kBAAkB;IAChC,IAAI,CAAC,eAAe,EAAE,CAAC;QACrB,MAAM,IAAI,KAAK,CAAC,qEAAqE,CAAC,CAAC;IACzF,CAAC;IAED,IAAI,CAAC,eAAe,CAAC,GAAG,CAAC,OAAO,EAAE,CAAC;QACjC,OAAO,IAAI,CAAC;IACd,CAAC;IAED,MAAM,QAAQ,GAAG,eAAe,CAAC,GAAG,CAAC,QAAQ,CAAC;IAE9C,IAAI,QAAQ,KAAK,SAAS,EAAE,CAAC;QAC3B,MAAM,MAAM,GAAG,eAAe,CAAC,GAAG,CAAC,SAAS,CAAC,OAAO,CAAC;QACrD,IAAI,CAAC,CAAA,MAAM,aAAN,MAAM,uBAAN,MAAM,CAAE,MAAM,CAAA,IAAI,CAAC,CAAA,MAAM,aAAN,MAAM,uBAAN,MAAM,CAAE,QAAQ,CAAA,IAAI,CAAC,CAAA,MAAM,aAAN,MAAM,uBAAN,MAAM,CAAE,YAAY,CAAA,EAAE,CAAC;YAClE,MAAM,IAAI,KAAK,CAAC,kCAAkC,CAAC,CAAC;QACtD,CAAC;QACD,OAAO,IAAI,4BAAY,CAAC,IAAI,kCAAe,CAAC;YAC1C,UAAU,EAAE,MAAM,CAAC,MAAM;YACzB,QAAQ,EAAE,MAAM,CAAC,QAAQ;YACzB,QAAQ,EAAE,MAAM,CAAC,YAAY;SAC9B,CAAC,CAAC,CAAC;IACN,CAAC;IAED,MAAM,IAAI,KAAK,CAAC,6BAA6B,QAAQ,EAAE,CAAC,CAAC;AAC3D,CAAC;AAED,IAAI,oBAAqD,CAAC;AAE1D,SAAgB,eAAe;IAC7B,IAAI,oBAAoB,KAAK,SAAS,EAAE,CAAC;QACvC,oBAAoB,GAAG,kBAAkB,EAAE,CAAC;IAC9C,CAAC;IACD,OAAO,oBAAoB,CAAC;AAC9B,CAAC"}
@@ -0,0 +1,85 @@
1
+ /**
2
+ * Workday Provider for ERP Connector
3
+ * https://community.workday.com/sites/default/files/file-hosting/restapi/index.html
4
+ */
5
+ import { ERPProvider } from '../erp-connector';
6
+ import { Employee, TimeOffRequest, TimeOffBalance, PayStub, ExpenseReport, Department, JobRequisition, ERPQueryOptions, ERPResponse } from '../types';
7
+ export interface WorkdayProviderConfig {
8
+ tenantName: string;
9
+ username: string;
10
+ password: string;
11
+ baseUrl?: string;
12
+ }
13
+ export declare class WorkdayProvider implements ERPProvider {
14
+ private client;
15
+ constructor(config: WorkdayProviderConfig);
16
+ /**
17
+ * Get employee by ID
18
+ */
19
+ getEmployee(employeeId: string): Promise<Employee>;
20
+ /**
21
+ * Get employees with filtering
22
+ */
23
+ getEmployees(options?: ERPQueryOptions): Promise<ERPResponse<Employee>>;
24
+ /**
25
+ * Create employee
26
+ */
27
+ createEmployee(employee: Omit<Employee, 'id'>): Promise<Employee>;
28
+ /**
29
+ * Update employee
30
+ */
31
+ updateEmployee(employeeId: string, updates: Partial<Employee>): Promise<Employee>;
32
+ /**
33
+ * Request time off
34
+ */
35
+ requestTimeOff(request: TimeOffRequest): Promise<ERPResponse<TimeOffRequest>>;
36
+ /**
37
+ * Get time off balance
38
+ */
39
+ getTimeOffBalance(employeeId: string): Promise<TimeOffBalance[]>;
40
+ /**
41
+ * Get time off requests
42
+ */
43
+ getTimeOffRequests(employeeId: string, options?: ERPQueryOptions): Promise<ERPResponse<TimeOffRequest>>;
44
+ /**
45
+ * Get pay stubs
46
+ */
47
+ getPayStubs(employeeId: string, options?: ERPQueryOptions): Promise<ERPResponse<PayStub>>;
48
+ /**
49
+ * Create expense report
50
+ */
51
+ createExpenseReport(expense: ExpenseReport): Promise<ExpenseReport>;
52
+ /**
53
+ * Get expense reports
54
+ */
55
+ getExpenseReports(employeeId: string, options?: ERPQueryOptions): Promise<ERPResponse<ExpenseReport>>;
56
+ /**
57
+ * Get department
58
+ */
59
+ getDepartment(departmentId: string): Promise<Department>;
60
+ /**
61
+ * Get departments
62
+ */
63
+ getDepartments(options?: ERPQueryOptions): Promise<ERPResponse<Department>>;
64
+ /**
65
+ * Get job requisitions
66
+ */
67
+ getJobRequisitions(options?: ERPQueryOptions): Promise<ERPResponse<JobRequisition>>;
68
+ /**
69
+ * Map Workday worker to Employee
70
+ */
71
+ private mapWorkdayWorkerToEmployee;
72
+ /**
73
+ * Map Workday status to standard status
74
+ */
75
+ private mapWorkdayStatus;
76
+ /**
77
+ * Map Workday expense status
78
+ */
79
+ private mapWorkdayExpenseStatus;
80
+ /**
81
+ * Map Workday requisition status
82
+ */
83
+ private mapWorkdayRequisitionStatus;
84
+ }
85
+ //# sourceMappingURL=workday-provider.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"workday-provider.d.ts","sourceRoot":"","sources":["../../src/providers/workday-provider.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAGH,OAAO,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAC;AAC/C,OAAO,EACL,QAAQ,EACR,cAAc,EACd,cAAc,EACd,OAAO,EACP,aAAa,EACb,UAAU,EACV,cAAc,EACd,eAAe,EACf,WAAW,EACZ,MAAM,UAAU,CAAC;AAElB,MAAM,WAAW,qBAAqB;IACpC,UAAU,EAAE,MAAM,CAAC;IACnB,QAAQ,EAAE,MAAM,CAAC;IACjB,QAAQ,EAAE,MAAM,CAAC;IACjB,OAAO,CAAC,EAAE,MAAM,CAAC;CAClB;AAED,qBAAa,eAAgB,YAAW,WAAW;IACjD,OAAO,CAAC,MAAM,CAAgB;gBAElB,MAAM,EAAE,qBAAqB;IAezC;;OAEG;IACG,WAAW,CAAC,UAAU,EAAE,MAAM,GAAG,OAAO,CAAC,QAAQ,CAAC;IASxD;;OAEG;IACG,YAAY,CAAC,OAAO,CAAC,EAAE,eAAe,GAAG,OAAO,CAAC,WAAW,CAAC,QAAQ,CAAC,CAAC;IAgC7E;;OAEG;IACG,cAAc,CAAC,QAAQ,EAAE,IAAI,CAAC,QAAQ,EAAE,IAAI,CAAC,GAAG,OAAO,CAAC,QAAQ,CAAC;IAkBvE;;OAEG;IACG,cAAc,CAAC,UAAU,EAAE,MAAM,EAAE,OAAO,EAAE,OAAO,CAAC,QAAQ,CAAC,GAAG,OAAO,CAAC,QAAQ,CAAC;IAgBvF;;OAEG;IACG,cAAc,CAAC,OAAO,EAAE,cAAc,GAAG,OAAO,CAAC,WAAW,CAAC,cAAc,CAAC,CAAC;IA4BnF;;OAEG;IACG,iBAAiB,CAAC,UAAU,EAAE,MAAM,GAAG,OAAO,CAAC,cAAc,EAAE,CAAC;IAgBtE;;OAEG;IACG,kBAAkB,CAAC,UAAU,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,eAAe,GAAG,OAAO,CAAC,WAAW,CAAC,cAAc,CAAC,CAAC;IA8B7G;;OAEG;IACG,WAAW,CAAC,UAAU,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,eAAe,GAAG,OAAO,CAAC,WAAW,CAAC,OAAO,CAAC,CAAC;IAoC/F;;OAEG;IACG,mBAAmB,CAAC,OAAO,EAAE,aAAa,GAAG,OAAO,CAAC,aAAa,CAAC;IAuBzE;;OAEG;IACG,iBAAiB,CAAC,UAAU,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,eAAe,GAAG,OAAO,CAAC,WAAW,CAAC,aAAa,CAAC,CAAC;IA+B3G;;OAEG;IACG,aAAa,CAAC,YAAY,EAAE,MAAM,GAAG,OAAO,CAAC,UAAU,CAAC;IAoB9D;;OAEG;IACG,cAAc,CAAC,OAAO,CAAC,EAAE,eAAe,GAAG,OAAO,CAAC,WAAW,CAAC,UAAU,CAAC,CAAC;IA+BjF;;OAEG;IACG,kBAAkB,CAAC,OAAO,CAAC,EAAE,eAAe,GAAG,OAAO,CAAC,WAAW,CAAC,cAAc,CAAC,CAAC;IAkCzF;;OAEG;IACH,OAAO,CAAC,0BAA0B;IAqBlC;;OAEG;IACH,OAAO,CAAC,gBAAgB;IAUxB;;OAEG;IACH,OAAO,CAAC,uBAAuB;IAW/B;;OAEG;IACH,OAAO,CAAC,2BAA2B;CASpC"}
@@ -0,0 +1,448 @@
1
+ "use strict";
2
+ /**
3
+ * Workday Provider for ERP Connector
4
+ * https://community.workday.com/sites/default/files/file-hosting/restapi/index.html
5
+ */
6
+ var __importDefault = (this && this.__importDefault) || function (mod) {
7
+ return (mod && mod.__esModule) ? mod : { "default": mod };
8
+ };
9
+ Object.defineProperty(exports, "__esModule", { value: true });
10
+ exports.WorkdayProvider = void 0;
11
+ const axios_1 = __importDefault(require("axios"));
12
+ class WorkdayProvider {
13
+ constructor(config) {
14
+ const baseURL = config.baseUrl || `https://wd2-impl-services1.workday.com/ccx/service/${config.tenantName}`;
15
+ this.client = axios_1.default.create({
16
+ baseURL,
17
+ auth: {
18
+ username: config.username,
19
+ password: config.password,
20
+ },
21
+ headers: {
22
+ 'Content-Type': 'application/json',
23
+ },
24
+ });
25
+ }
26
+ /**
27
+ * Get employee by ID
28
+ */
29
+ async getEmployee(employeeId) {
30
+ try {
31
+ const response = await this.client.get(`/Human_Resources/v1/workers/${employeeId}`);
32
+ return this.mapWorkdayWorkerToEmployee(response.data);
33
+ }
34
+ catch (error) {
35
+ throw new Error(`Failed to get employee: ${error.message}`);
36
+ }
37
+ }
38
+ /**
39
+ * Get employees with filtering
40
+ */
41
+ async getEmployees(options) {
42
+ var _a, _b, _c, _d;
43
+ try {
44
+ const params = {
45
+ limit: (options === null || options === void 0 ? void 0 : options.limit) || 50,
46
+ offset: (options === null || options === void 0 ? void 0 : options.page) ? (options.page - 1) * (options.limit || 50) : 0,
47
+ };
48
+ const response = await this.client.get('/Human_Resources/v1/workers', { params });
49
+ const employees = ((_b = (_a = response.data) === null || _a === void 0 ? void 0 : _a.data) === null || _b === void 0 ? void 0 : _b.map((worker) => this.mapWorkdayWorkerToEmployee(worker))) || [];
50
+ return {
51
+ success: true,
52
+ data: employees,
53
+ total: (_c = response.data) === null || _c === void 0 ? void 0 : _c.total,
54
+ page: options === null || options === void 0 ? void 0 : options.page,
55
+ limit: options === null || options === void 0 ? void 0 : options.limit,
56
+ };
57
+ }
58
+ catch (error) {
59
+ return {
60
+ success: false,
61
+ error: {
62
+ code: 'WORKDAY_ERROR',
63
+ message: error.message,
64
+ details: (_d = error.response) === null || _d === void 0 ? void 0 : _d.data,
65
+ },
66
+ };
67
+ }
68
+ }
69
+ /**
70
+ * Create employee
71
+ */
72
+ async createEmployee(employee) {
73
+ try {
74
+ const payload = {
75
+ firstName: employee.firstName,
76
+ lastName: employee.lastName,
77
+ email: employee.email,
78
+ jobProfile: employee.jobTitle,
79
+ location: employee.workLocation,
80
+ hireDate: employee.hireDate,
81
+ };
82
+ const response = await this.client.post('/Human_Resources/v1/workers', payload);
83
+ return this.mapWorkdayWorkerToEmployee(response.data);
84
+ }
85
+ catch (error) {
86
+ throw new Error(`Failed to create employee: ${error.message}`);
87
+ }
88
+ }
89
+ /**
90
+ * Update employee
91
+ */
92
+ async updateEmployee(employeeId, updates) {
93
+ try {
94
+ const payload = {};
95
+ if (updates.email)
96
+ payload.email = updates.email;
97
+ if (updates.jobTitle)
98
+ payload.jobProfile = updates.jobTitle;
99
+ if (updates.department)
100
+ payload.organization = updates.department;
101
+ if (updates.workLocation)
102
+ payload.location = updates.workLocation;
103
+ const response = await this.client.patch(`/Human_Resources/v1/workers/${employeeId}`, payload);
104
+ return this.mapWorkdayWorkerToEmployee(response.data);
105
+ }
106
+ catch (error) {
107
+ throw new Error(`Failed to update employee: ${error.message}`);
108
+ }
109
+ }
110
+ /**
111
+ * Request time off
112
+ */
113
+ async requestTimeOff(request) {
114
+ var _a;
115
+ try {
116
+ const payload = {
117
+ worker: { id: request.employeeId },
118
+ timeOffType: request.type,
119
+ from: request.startDate,
120
+ to: request.endDate,
121
+ comment: request.reason,
122
+ };
123
+ await this.client.post('/Absence_Management/v1/timeOffEntries', payload);
124
+ return {
125
+ success: true,
126
+ data: [Object.assign(Object.assign({}, request), { status: 'pending' })],
127
+ };
128
+ }
129
+ catch (error) {
130
+ return {
131
+ success: false,
132
+ error: {
133
+ code: 'WORKDAY_ERROR',
134
+ message: error.message,
135
+ details: (_a = error.response) === null || _a === void 0 ? void 0 : _a.data,
136
+ },
137
+ };
138
+ }
139
+ }
140
+ /**
141
+ * Get time off balance
142
+ */
143
+ async getTimeOffBalance(employeeId) {
144
+ var _a, _b;
145
+ try {
146
+ const response = await this.client.get(`/Absence_Management/v1/workers/${employeeId}/timeOffBalances`);
147
+ return ((_b = (_a = response.data) === null || _a === void 0 ? void 0 : _a.data) === null || _b === void 0 ? void 0 : _b.map((balance) => {
148
+ var _a;
149
+ return ({
150
+ employeeId,
151
+ type: ((_a = balance.timeOffType) === null || _a === void 0 ? void 0 : _a.descriptor) || 'unknown',
152
+ balance: balance.balance || 0,
153
+ unit: balance.unit === 'Days' ? 'days' : 'hours',
154
+ accrualRate: balance.accrualRate,
155
+ });
156
+ })) || [];
157
+ }
158
+ catch (error) {
159
+ throw new Error(`Failed to get time off balance: ${error.message}`);
160
+ }
161
+ }
162
+ /**
163
+ * Get time off requests
164
+ */
165
+ async getTimeOffRequests(employeeId, options) {
166
+ var _a, _b;
167
+ try {
168
+ const response = await this.client.get(`/Absence_Management/v1/workers/${employeeId}/timeOffEntries`);
169
+ const requests = ((_b = (_a = response.data) === null || _a === void 0 ? void 0 : _a.data) === null || _b === void 0 ? void 0 : _b.map((entry) => {
170
+ var _a, _b;
171
+ return ({
172
+ employeeId,
173
+ type: ((_b = (_a = entry.timeOffType) === null || _a === void 0 ? void 0 : _a.descriptor) === null || _b === void 0 ? void 0 : _b.toLowerCase()) || 'other',
174
+ startDate: new Date(entry.from),
175
+ endDate: new Date(entry.to),
176
+ hours: entry.hours,
177
+ reason: entry.comment,
178
+ status: this.mapWorkdayStatus(entry.status),
179
+ });
180
+ })) || [];
181
+ return {
182
+ success: true,
183
+ data: requests,
184
+ total: requests.length,
185
+ };
186
+ }
187
+ catch (error) {
188
+ return {
189
+ success: false,
190
+ error: {
191
+ code: 'WORKDAY_ERROR',
192
+ message: error.message,
193
+ },
194
+ };
195
+ }
196
+ }
197
+ /**
198
+ * Get pay stubs
199
+ */
200
+ async getPayStubs(employeeId, options) {
201
+ var _a, _b;
202
+ try {
203
+ const response = await this.client.get(`/Payroll/v1/workers/${employeeId}/payStatements`);
204
+ const payStubs = ((_b = (_a = response.data) === null || _a === void 0 ? void 0 : _a.data) === null || _b === void 0 ? void 0 : _b.map((statement) => {
205
+ var _a;
206
+ return ({
207
+ id: statement.id,
208
+ employeeId,
209
+ payPeriodStart: new Date(statement.periodStart),
210
+ payPeriodEnd: new Date(statement.periodEnd),
211
+ payDate: new Date(statement.payDate),
212
+ grossPay: statement.grossPay,
213
+ netPay: statement.netPay,
214
+ deductions: ((_a = statement.deductions) === null || _a === void 0 ? void 0 : _a.map((d) => ({
215
+ type: d.type,
216
+ amount: d.amount,
217
+ description: d.description,
218
+ }))) || [],
219
+ currency: statement.currency || 'USD',
220
+ });
221
+ })) || [];
222
+ return {
223
+ success: true,
224
+ data: payStubs,
225
+ total: payStubs.length,
226
+ };
227
+ }
228
+ catch (error) {
229
+ return {
230
+ success: false,
231
+ error: {
232
+ code: 'WORKDAY_ERROR',
233
+ message: error.message,
234
+ },
235
+ };
236
+ }
237
+ }
238
+ /**
239
+ * Create expense report
240
+ */
241
+ async createExpenseReport(expense) {
242
+ try {
243
+ const payload = {
244
+ worker: { id: expense.employeeId },
245
+ date: expense.date,
246
+ description: expense.description,
247
+ amount: expense.amount,
248
+ currency: expense.currency,
249
+ category: expense.category,
250
+ };
251
+ const response = await this.client.post('/Expense/v1/expenseReports', payload);
252
+ return Object.assign(Object.assign({ id: response.data.id }, expense), { status: 'submitted' });
253
+ }
254
+ catch (error) {
255
+ throw new Error(`Failed to create expense report: ${error.message}`);
256
+ }
257
+ }
258
+ /**
259
+ * Get expense reports
260
+ */
261
+ async getExpenseReports(employeeId, options) {
262
+ var _a, _b;
263
+ try {
264
+ const response = await this.client.get(`/Expense/v1/workers/${employeeId}/expenseReports`);
265
+ const reports = ((_b = (_a = response.data) === null || _a === void 0 ? void 0 : _a.data) === null || _b === void 0 ? void 0 : _b.map((report) => ({
266
+ id: report.id,
267
+ employeeId,
268
+ date: new Date(report.date),
269
+ description: report.description,
270
+ amount: report.amount,
271
+ currency: report.currency || 'USD',
272
+ category: report.category,
273
+ status: this.mapWorkdayExpenseStatus(report.status),
274
+ }))) || [];
275
+ return {
276
+ success: true,
277
+ data: reports,
278
+ total: reports.length,
279
+ };
280
+ }
281
+ catch (error) {
282
+ return {
283
+ success: false,
284
+ error: {
285
+ code: 'WORKDAY_ERROR',
286
+ message: error.message,
287
+ },
288
+ };
289
+ }
290
+ }
291
+ /**
292
+ * Get department
293
+ */
294
+ async getDepartment(departmentId) {
295
+ try {
296
+ const response = await this.client.get(`/Human_Resources/v1/organizations/${departmentId}`);
297
+ const org = response.data;
298
+ return {
299
+ id: org.id,
300
+ name: org.name,
301
+ code: org.code,
302
+ manager: org.manager ? {
303
+ id: org.manager.id,
304
+ name: org.manager.descriptor,
305
+ } : undefined,
306
+ employeeCount: org.headcount,
307
+ };
308
+ }
309
+ catch (error) {
310
+ throw new Error(`Failed to get department: ${error.message}`);
311
+ }
312
+ }
313
+ /**
314
+ * Get departments
315
+ */
316
+ async getDepartments(options) {
317
+ var _a, _b;
318
+ try {
319
+ const response = await this.client.get('/Human_Resources/v1/organizations');
320
+ const departments = ((_b = (_a = response.data) === null || _a === void 0 ? void 0 : _a.data) === null || _b === void 0 ? void 0 : _b.map((org) => ({
321
+ id: org.id,
322
+ name: org.name,
323
+ code: org.code,
324
+ manager: org.manager ? {
325
+ id: org.manager.id,
326
+ name: org.manager.descriptor,
327
+ } : undefined,
328
+ employeeCount: org.headcount,
329
+ }))) || [];
330
+ return {
331
+ success: true,
332
+ data: departments,
333
+ total: departments.length,
334
+ };
335
+ }
336
+ catch (error) {
337
+ return {
338
+ success: false,
339
+ error: {
340
+ code: 'WORKDAY_ERROR',
341
+ message: error.message,
342
+ },
343
+ };
344
+ }
345
+ }
346
+ /**
347
+ * Get job requisitions
348
+ */
349
+ async getJobRequisitions(options) {
350
+ var _a, _b;
351
+ try {
352
+ const response = await this.client.get('/Recruiting/v1/jobRequisitions');
353
+ const requisitions = ((_b = (_a = response.data) === null || _a === void 0 ? void 0 : _a.data) === null || _b === void 0 ? void 0 : _b.map((req) => {
354
+ var _a;
355
+ return ({
356
+ id: req.id,
357
+ title: req.title,
358
+ department: ((_a = req.organization) === null || _a === void 0 ? void 0 : _a.descriptor) || '',
359
+ status: this.mapWorkdayRequisitionStatus(req.status),
360
+ openDate: req.openDate ? new Date(req.openDate) : undefined,
361
+ closeDate: req.closeDate ? new Date(req.closeDate) : undefined,
362
+ hiringManager: req.hiringManager ? {
363
+ id: req.hiringManager.id,
364
+ name: req.hiringManager.descriptor,
365
+ } : undefined,
366
+ description: req.description,
367
+ });
368
+ })) || [];
369
+ return {
370
+ success: true,
371
+ data: requisitions,
372
+ total: requisitions.length,
373
+ };
374
+ }
375
+ catch (error) {
376
+ return {
377
+ success: false,
378
+ error: {
379
+ code: 'WORKDAY_ERROR',
380
+ message: error.message,
381
+ },
382
+ };
383
+ }
384
+ }
385
+ /**
386
+ * Map Workday worker to Employee
387
+ */
388
+ mapWorkdayWorkerToEmployee(worker) {
389
+ var _a, _b;
390
+ return {
391
+ id: worker.id,
392
+ employeeId: worker.employeeID,
393
+ email: worker.primaryWorkEmail,
394
+ firstName: worker.legalFirstName || worker.preferredFirstName,
395
+ lastName: worker.legalLastName || worker.preferredLastName,
396
+ displayName: worker.preferredName,
397
+ jobTitle: worker.businessTitle,
398
+ department: (_a = worker.primarySupervisoryOrganization) === null || _a === void 0 ? void 0 : _a.descriptor,
399
+ manager: worker.manager ? {
400
+ id: worker.manager.id,
401
+ name: worker.manager.descriptor,
402
+ } : undefined,
403
+ hireDate: worker.hireDate ? new Date(worker.hireDate) : undefined,
404
+ status: worker.activeStatusCode === 'Active' ? 'active' : 'inactive',
405
+ workLocation: (_b = worker.primaryWorkLocation) === null || _b === void 0 ? void 0 : _b.descriptor,
406
+ workPhone: worker.primaryWorkPhone,
407
+ };
408
+ }
409
+ /**
410
+ * Map Workday status to standard status
411
+ */
412
+ mapWorkdayStatus(status) {
413
+ const statusMap = {
414
+ 'In Progress': 'pending',
415
+ 'Approved': 'approved',
416
+ 'Denied': 'denied',
417
+ 'Rejected': 'denied',
418
+ };
419
+ return statusMap[status] || 'pending';
420
+ }
421
+ /**
422
+ * Map Workday expense status
423
+ */
424
+ mapWorkdayExpenseStatus(status) {
425
+ const statusMap = {
426
+ 'Draft': 'draft',
427
+ 'In Progress': 'submitted',
428
+ 'Approved': 'approved',
429
+ 'Rejected': 'rejected',
430
+ 'Paid': 'paid',
431
+ };
432
+ return statusMap[status] || 'draft';
433
+ }
434
+ /**
435
+ * Map Workday requisition status
436
+ */
437
+ mapWorkdayRequisitionStatus(status) {
438
+ const statusMap = {
439
+ 'Draft': 'draft',
440
+ 'Open': 'open',
441
+ 'Closed': 'closed',
442
+ 'Filled': 'filled',
443
+ };
444
+ return statusMap[status] || 'draft';
445
+ }
446
+ }
447
+ exports.WorkdayProvider = WorkdayProvider;
448
+ //# sourceMappingURL=workday-provider.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"workday-provider.js","sourceRoot":"","sources":["../../src/providers/workday-provider.ts"],"names":[],"mappings":";AAAA;;;GAGG;;;;;;AAEH,kDAA6C;AAqB7C,MAAa,eAAe;IAG1B,YAAY,MAA6B;QACvC,MAAM,OAAO,GAAG,MAAM,CAAC,OAAO,IAAI,sDAAsD,MAAM,CAAC,UAAU,EAAE,CAAC;QAE5G,IAAI,CAAC,MAAM,GAAG,eAAK,CAAC,MAAM,CAAC;YACzB,OAAO;YACP,IAAI,EAAE;gBACJ,QAAQ,EAAE,MAAM,CAAC,QAAQ;gBACzB,QAAQ,EAAE,MAAM,CAAC,QAAQ;aAC1B;YACD,OAAO,EAAE;gBACP,cAAc,EAAE,kBAAkB;aACnC;SACF,CAAC,CAAC;IACL,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,WAAW,CAAC,UAAkB;QAClC,IAAI,CAAC;YACH,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,+BAA+B,UAAU,EAAE,CAAC,CAAC;YACpF,OAAO,IAAI,CAAC,0BAA0B,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC;QACxD,CAAC;QAAC,OAAO,KAAU,EAAE,CAAC;YACpB,MAAM,IAAI,KAAK,CAAC,2BAA2B,KAAK,CAAC,OAAO,EAAE,CAAC,CAAC;QAC9D,CAAC;IACH,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,YAAY,CAAC,OAAyB;;QAC1C,IAAI,CAAC;YACH,MAAM,MAAM,GAAQ;gBAClB,KAAK,EAAE,CAAA,OAAO,aAAP,OAAO,uBAAP,OAAO,CAAE,KAAK,KAAI,EAAE;gBAC3B,MAAM,EAAE,CAAA,OAAO,aAAP,OAAO,uBAAP,OAAO,CAAE,IAAI,EAAC,CAAC,CAAC,CAAC,OAAO,CAAC,IAAI,GAAG,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,KAAK,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC;aACvE,CAAC;YAEF,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,6BAA6B,EAAE,EAAE,MAAM,EAAE,CAAC,CAAC;YAElF,MAAM,SAAS,GAAG,CAAA,MAAA,MAAA,QAAQ,CAAC,IAAI,0CAAE,IAAI,0CAAE,GAAG,CAAC,CAAC,MAAW,EAAE,EAAE,CACzD,IAAI,CAAC,0BAA0B,CAAC,MAAM,CAAC,CACxC,KAAI,EAAE,CAAC;YAER,OAAO;gBACL,OAAO,EAAE,IAAI;gBACb,IAAI,EAAE,SAAS;gBACf,KAAK,EAAE,MAAA,QAAQ,CAAC,IAAI,0CAAE,KAAK;gBAC3B,IAAI,EAAE,OAAO,aAAP,OAAO,uBAAP,OAAO,CAAE,IAAI;gBACnB,KAAK,EAAE,OAAO,aAAP,OAAO,uBAAP,OAAO,CAAE,KAAK;aACtB,CAAC;QACJ,CAAC;QAAC,OAAO,KAAU,EAAE,CAAC;YACpB,OAAO;gBACL,OAAO,EAAE,KAAK;gBACd,KAAK,EAAE;oBACL,IAAI,EAAE,eAAe;oBACrB,OAAO,EAAE,KAAK,CAAC,OAAO;oBACtB,OAAO,EAAE,MAAA,KAAK,CAAC,QAAQ,0CAAE,IAAI;iBAC9B;aACF,CAAC;QACJ,CAAC;IACH,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,cAAc,CAAC,QAA8B;QACjD,IAAI,CAAC;YACH,MAAM,OAAO,GAAG;gBACd,SAAS,EAAE,QAAQ,CAAC,SAAS;gBAC7B,QAAQ,EAAE,QAAQ,CAAC,QAAQ;gBAC3B,KAAK,EAAE,QAAQ,CAAC,KAAK;gBACrB,UAAU,EAAE,QAAQ,CAAC,QAAQ;gBAC7B,QAAQ,EAAE,QAAQ,CAAC,YAAY;gBAC/B,QAAQ,EAAE,QAAQ,CAAC,QAAQ;aAC5B,CAAC;YAEF,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,6BAA6B,EAAE,OAAO,CAAC,CAAC;YAChF,OAAO,IAAI,CAAC,0BAA0B,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC;QACxD,CAAC;QAAC,OAAO,KAAU,EAAE,CAAC;YACpB,MAAM,IAAI,KAAK,CAAC,8BAA8B,KAAK,CAAC,OAAO,EAAE,CAAC,CAAC;QACjE,CAAC;IACH,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,cAAc,CAAC,UAAkB,EAAE,OAA0B;QACjE,IAAI,CAAC;YACH,MAAM,OAAO,GAAQ,EAAE,CAAC;YAExB,IAAI,OAAO,CAAC,KAAK;gBAAE,OAAO,CAAC,KAAK,GAAG,OAAO,CAAC,KAAK,CAAC;YACjD,IAAI,OAAO,CAAC,QAAQ;gBAAE,OAAO,CAAC,UAAU,GAAG,OAAO,CAAC,QAAQ,CAAC;YAC5D,IAAI,OAAO,CAAC,UAAU;gBAAE,OAAO,CAAC,YAAY,GAAG,OAAO,CAAC,UAAU,CAAC;YAClE,IAAI,OAAO,CAAC,YAAY;gBAAE,OAAO,CAAC,QAAQ,GAAG,OAAO,CAAC,YAAY,CAAC;YAElE,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,+BAA+B,UAAU,EAAE,EAAE,OAAO,CAAC,CAAC;YAC/F,OAAO,IAAI,CAAC,0BAA0B,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC;QACxD,CAAC;QAAC,OAAO,KAAU,EAAE,CAAC;YACpB,MAAM,IAAI,KAAK,CAAC,8BAA8B,KAAK,CAAC,OAAO,EAAE,CAAC,CAAC;QACjE,CAAC;IACH,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,cAAc,CAAC,OAAuB;;QAC1C,IAAI,CAAC;YACH,MAAM,OAAO,GAAG;gBACd,MAAM,EAAE,EAAE,EAAE,EAAE,OAAO,CAAC,UAAU,EAAE;gBAClC,WAAW,EAAE,OAAO,CAAC,IAAI;gBACzB,IAAI,EAAE,OAAO,CAAC,SAAS;gBACvB,EAAE,EAAE,OAAO,CAAC,OAAO;gBACnB,OAAO,EAAE,OAAO,CAAC,MAAM;aACxB,CAAC;YAEF,MAAM,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,uCAAuC,EAAE,OAAO,CAAC,CAAC;YAEzE,OAAO;gBACL,OAAO,EAAE,IAAI;gBACb,IAAI,EAAE,iCAAM,OAAO,KAAE,MAAM,EAAE,SAAS,IAAG;aAC1C,CAAC;QACJ,CAAC;QAAC,OAAO,KAAU,EAAE,CAAC;YACpB,OAAO;gBACL,OAAO,EAAE,KAAK;gBACd,KAAK,EAAE;oBACL,IAAI,EAAE,eAAe;oBACrB,OAAO,EAAE,KAAK,CAAC,OAAO;oBACtB,OAAO,EAAE,MAAA,KAAK,CAAC,QAAQ,0CAAE,IAAI;iBAC9B;aACF,CAAC;QACJ,CAAC;IACH,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,iBAAiB,CAAC,UAAkB;;QACxC,IAAI,CAAC;YACH,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,kCAAkC,UAAU,kBAAkB,CAAC,CAAC;YAEvG,OAAO,CAAA,MAAA,MAAA,QAAQ,CAAC,IAAI,0CAAE,IAAI,0CAAE,GAAG,CAAC,CAAC,OAAY,EAAE,EAAE;;gBAAC,OAAA,CAAC;oBACjD,UAAU;oBACV,IAAI,EAAE,CAAA,MAAA,OAAO,CAAC,WAAW,0CAAE,UAAU,KAAI,SAAS;oBAClD,OAAO,EAAE,OAAO,CAAC,OAAO,IAAI,CAAC;oBAC7B,IAAI,EAAE,OAAO,CAAC,IAAI,KAAK,MAAM,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,OAAO;oBAChD,WAAW,EAAE,OAAO,CAAC,WAAW;iBACjC,CAAC,CAAA;aAAA,CAAC,KAAI,EAAE,CAAC;QACZ,CAAC;QAAC,OAAO,KAAU,EAAE,CAAC;YACpB,MAAM,IAAI,KAAK,CAAC,mCAAmC,KAAK,CAAC,OAAO,EAAE,CAAC,CAAC;QACtE,CAAC;IACH,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,kBAAkB,CAAC,UAAkB,EAAE,OAAyB;;QACpE,IAAI,CAAC;YACH,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,kCAAkC,UAAU,iBAAiB,CAAC,CAAC;YAEtG,MAAM,QAAQ,GAAG,CAAA,MAAA,MAAA,QAAQ,CAAC,IAAI,0CAAE,IAAI,0CAAE,GAAG,CAAC,CAAC,KAAU,EAAE,EAAE;;gBAAC,OAAA,CAAC;oBACzD,UAAU;oBACV,IAAI,EAAE,CAAA,MAAA,MAAA,KAAK,CAAC,WAAW,0CAAE,UAAU,0CAAE,WAAW,EAAE,KAAI,OAAO;oBAC7D,SAAS,EAAE,IAAI,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC;oBAC/B,OAAO,EAAE,IAAI,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC;oBAC3B,KAAK,EAAE,KAAK,CAAC,KAAK;oBAClB,MAAM,EAAE,KAAK,CAAC,OAAO;oBACrB,MAAM,EAAE,IAAI,CAAC,gBAAgB,CAAC,KAAK,CAAC,MAAM,CAAC;iBAC5C,CAAC,CAAA;aAAA,CAAC,KAAI,EAAE,CAAC;YAEV,OAAO;gBACL,OAAO,EAAE,IAAI;gBACb,IAAI,EAAE,QAAQ;gBACd,KAAK,EAAE,QAAQ,CAAC,MAAM;aACvB,CAAC;QACJ,CAAC;QAAC,OAAO,KAAU,EAAE,CAAC;YACpB,OAAO;gBACL,OAAO,EAAE,KAAK;gBACd,KAAK,EAAE;oBACL,IAAI,EAAE,eAAe;oBACrB,OAAO,EAAE,KAAK,CAAC,OAAO;iBACvB;aACF,CAAC;QACJ,CAAC;IACH,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,WAAW,CAAC,UAAkB,EAAE,OAAyB;;QAC7D,IAAI,CAAC;YACH,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,uBAAuB,UAAU,gBAAgB,CAAC,CAAC;YAE1F,MAAM,QAAQ,GAAG,CAAA,MAAA,MAAA,QAAQ,CAAC,IAAI,0CAAE,IAAI,0CAAE,GAAG,CAAC,CAAC,SAAc,EAAE,EAAE;;gBAAC,OAAA,CAAC;oBAC7D,EAAE,EAAE,SAAS,CAAC,EAAE;oBAChB,UAAU;oBACV,cAAc,EAAE,IAAI,IAAI,CAAC,SAAS,CAAC,WAAW,CAAC;oBAC/C,YAAY,EAAE,IAAI,IAAI,CAAC,SAAS,CAAC,SAAS,CAAC;oBAC3C,OAAO,EAAE,IAAI,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC;oBACpC,QAAQ,EAAE,SAAS,CAAC,QAAQ;oBAC5B,MAAM,EAAE,SAAS,CAAC,MAAM;oBACxB,UAAU,EAAE,CAAA,MAAA,SAAS,CAAC,UAAU,0CAAE,GAAG,CAAC,CAAC,CAAM,EAAE,EAAE,CAAC,CAAC;wBACjD,IAAI,EAAE,CAAC,CAAC,IAAI;wBACZ,MAAM,EAAE,CAAC,CAAC,MAAM;wBAChB,WAAW,EAAE,CAAC,CAAC,WAAW;qBAC3B,CAAC,CAAC,KAAI,EAAE;oBACT,QAAQ,EAAE,SAAS,CAAC,QAAQ,IAAI,KAAK;iBACtC,CAAC,CAAA;aAAA,CAAC,KAAI,EAAE,CAAC;YAEV,OAAO;gBACL,OAAO,EAAE,IAAI;gBACb,IAAI,EAAE,QAAQ;gBACd,KAAK,EAAE,QAAQ,CAAC,MAAM;aACvB,CAAC;QACJ,CAAC;QAAC,OAAO,KAAU,EAAE,CAAC;YACpB,OAAO;gBACL,OAAO,EAAE,KAAK;gBACd,KAAK,EAAE;oBACL,IAAI,EAAE,eAAe;oBACrB,OAAO,EAAE,KAAK,CAAC,OAAO;iBACvB;aACF,CAAC;QACJ,CAAC;IACH,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,mBAAmB,CAAC,OAAsB;QAC9C,IAAI,CAAC;YACH,MAAM,OAAO,GAAG;gBACd,MAAM,EAAE,EAAE,EAAE,EAAE,OAAO,CAAC,UAAU,EAAE;gBAClC,IAAI,EAAE,OAAO,CAAC,IAAI;gBAClB,WAAW,EAAE,OAAO,CAAC,WAAW;gBAChC,MAAM,EAAE,OAAO,CAAC,MAAM;gBACtB,QAAQ,EAAE,OAAO,CAAC,QAAQ;gBAC1B,QAAQ,EAAE,OAAO,CAAC,QAAQ;aAC3B,CAAC;YAEF,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,4BAA4B,EAAE,OAAO,CAAC,CAAC;YAE/E,qCACE,EAAE,EAAE,QAAQ,CAAC,IAAI,CAAC,EAAE,IACjB,OAAO,KACV,MAAM,EAAE,WAAW,IACnB;QACJ,CAAC;QAAC,OAAO,KAAU,EAAE,CAAC;YACpB,MAAM,IAAI,KAAK,CAAC,oCAAoC,KAAK,CAAC,OAAO,EAAE,CAAC,CAAC;QACvE,CAAC;IACH,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,iBAAiB,CAAC,UAAkB,EAAE,OAAyB;;QACnE,IAAI,CAAC;YACH,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,uBAAuB,UAAU,iBAAiB,CAAC,CAAC;YAE3F,MAAM,OAAO,GAAG,CAAA,MAAA,MAAA,QAAQ,CAAC,IAAI,0CAAE,IAAI,0CAAE,GAAG,CAAC,CAAC,MAAW,EAAE,EAAE,CAAC,CAAC;gBACzD,EAAE,EAAE,MAAM,CAAC,EAAE;gBACb,UAAU;gBACV,IAAI,EAAE,IAAI,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC;gBAC3B,WAAW,EAAE,MAAM,CAAC,WAAW;gBAC/B,MAAM,EAAE,MAAM,CAAC,MAAM;gBACrB,QAAQ,EAAE,MAAM,CAAC,QAAQ,IAAI,KAAK;gBAClC,QAAQ,EAAE,MAAM,CAAC,QAAQ;gBACzB,MAAM,EAAE,IAAI,CAAC,uBAAuB,CAAC,MAAM,CAAC,MAAM,CAAC;aACpD,CAAC,CAAC,KAAI,EAAE,CAAC;YAEV,OAAO;gBACL,OAAO,EAAE,IAAI;gBACb,IAAI,EAAE,OAAO;gBACb,KAAK,EAAE,OAAO,CAAC,MAAM;aACtB,CAAC;QACJ,CAAC;QAAC,OAAO,KAAU,EAAE,CAAC;YACpB,OAAO;gBACL,OAAO,EAAE,KAAK;gBACd,KAAK,EAAE;oBACL,IAAI,EAAE,eAAe;oBACrB,OAAO,EAAE,KAAK,CAAC,OAAO;iBACvB;aACF,CAAC;QACJ,CAAC;IACH,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,aAAa,CAAC,YAAoB;QACtC,IAAI,CAAC;YACH,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,qCAAqC,YAAY,EAAE,CAAC,CAAC;YAC5F,MAAM,GAAG,GAAG,QAAQ,CAAC,IAAI,CAAC;YAE1B,OAAO;gBACL,EAAE,EAAE,GAAG,CAAC,EAAE;gBACV,IAAI,EAAE,GAAG,CAAC,IAAI;gBACd,IAAI,EAAE,GAAG,CAAC,IAAI;gBACd,OAAO,EAAE,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC;oBACrB,EAAE,EAAE,GAAG,CAAC,OAAO,CAAC,EAAE;oBAClB,IAAI,EAAE,GAAG,CAAC,OAAO,CAAC,UAAU;iBAC7B,CAAC,CAAC,CAAC,SAAS;gBACb,aAAa,EAAE,GAAG,CAAC,SAAS;aAC7B,CAAC;QACJ,CAAC;QAAC,OAAO,KAAU,EAAE,CAAC;YACpB,MAAM,IAAI,KAAK,CAAC,6BAA6B,KAAK,CAAC,OAAO,EAAE,CAAC,CAAC;QAChE,CAAC;IACH,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,cAAc,CAAC,OAAyB;;QAC5C,IAAI,CAAC;YACH,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,mCAAmC,CAAC,CAAC;YAE5E,MAAM,WAAW,GAAG,CAAA,MAAA,MAAA,QAAQ,CAAC,IAAI,0CAAE,IAAI,0CAAE,GAAG,CAAC,CAAC,GAAQ,EAAE,EAAE,CAAC,CAAC;gBAC1D,EAAE,EAAE,GAAG,CAAC,EAAE;gBACV,IAAI,EAAE,GAAG,CAAC,IAAI;gBACd,IAAI,EAAE,GAAG,CAAC,IAAI;gBACd,OAAO,EAAE,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC;oBACrB,EAAE,EAAE,GAAG,CAAC,OAAO,CAAC,EAAE;oBAClB,IAAI,EAAE,GAAG,CAAC,OAAO,CAAC,UAAU;iBAC7B,CAAC,CAAC,CAAC,SAAS;gBACb,aAAa,EAAE,GAAG,CAAC,SAAS;aAC7B,CAAC,CAAC,KAAI,EAAE,CAAC;YAEV,OAAO;gBACL,OAAO,EAAE,IAAI;gBACb,IAAI,EAAE,WAAW;gBACjB,KAAK,EAAE,WAAW,CAAC,MAAM;aAC1B,CAAC;QACJ,CAAC;QAAC,OAAO,KAAU,EAAE,CAAC;YACpB,OAAO;gBACL,OAAO,EAAE,KAAK;gBACd,KAAK,EAAE;oBACL,IAAI,EAAE,eAAe;oBACrB,OAAO,EAAE,KAAK,CAAC,OAAO;iBACvB;aACF,CAAC;QACJ,CAAC;IACH,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,kBAAkB,CAAC,OAAyB;;QAChD,IAAI,CAAC;YACH,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,gCAAgC,CAAC,CAAC;YAEzE,MAAM,YAAY,GAAG,CAAA,MAAA,MAAA,QAAQ,CAAC,IAAI,0CAAE,IAAI,0CAAE,GAAG,CAAC,CAAC,GAAQ,EAAE,EAAE;;gBAAC,OAAA,CAAC;oBAC3D,EAAE,EAAE,GAAG,CAAC,EAAE;oBACV,KAAK,EAAE,GAAG,CAAC,KAAK;oBAChB,UAAU,EAAE,CAAA,MAAA,GAAG,CAAC,YAAY,0CAAE,UAAU,KAAI,EAAE;oBAC9C,MAAM,EAAE,IAAI,CAAC,2BAA2B,CAAC,GAAG,CAAC,MAAM,CAAC;oBACpD,QAAQ,EAAE,GAAG,CAAC,QAAQ,CAAC,CAAC,CAAC,IAAI,IAAI,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,SAAS;oBAC3D,SAAS,EAAE,GAAG,CAAC,SAAS,CAAC,CAAC,CAAC,IAAI,IAAI,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,SAAS;oBAC9D,aAAa,EAAE,GAAG,CAAC,aAAa,CAAC,CAAC,CAAC;wBACjC,EAAE,EAAE,GAAG,CAAC,aAAa,CAAC,EAAE;wBACxB,IAAI,EAAE,GAAG,CAAC,aAAa,CAAC,UAAU;qBACnC,CAAC,CAAC,CAAC,SAAS;oBACb,WAAW,EAAE,GAAG,CAAC,WAAW;iBAC7B,CAAC,CAAA;aAAA,CAAC,KAAI,EAAE,CAAC;YAEV,OAAO;gBACL,OAAO,EAAE,IAAI;gBACb,IAAI,EAAE,YAAY;gBAClB,KAAK,EAAE,YAAY,CAAC,MAAM;aAC3B,CAAC;QACJ,CAAC;QAAC,OAAO,KAAU,EAAE,CAAC;YACpB,OAAO;gBACL,OAAO,EAAE,KAAK;gBACd,KAAK,EAAE;oBACL,IAAI,EAAE,eAAe;oBACrB,OAAO,EAAE,KAAK,CAAC,OAAO;iBACvB;aACF,CAAC;QACJ,CAAC;IACH,CAAC;IAED;;OAEG;IACK,0BAA0B,CAAC,MAAW;;QAC5C,OAAO;YACL,EAAE,EAAE,MAAM,CAAC,EAAE;YACb,UAAU,EAAE,MAAM,CAAC,UAAU;YAC7B,KAAK,EAAE,MAAM,CAAC,gBAAgB;YAC9B,SAAS,EAAE,MAAM,CAAC,cAAc,IAAI,MAAM,CAAC,kBAAkB;YAC7D,QAAQ,EAAE,MAAM,CAAC,aAAa,IAAI,MAAM,CAAC,iBAAiB;YAC1D,WAAW,EAAE,MAAM,CAAC,aAAa;YACjC,QAAQ,EAAE,MAAM,CAAC,aAAa;YAC9B,UAAU,EAAE,MAAA,MAAM,CAAC,8BAA8B,0CAAE,UAAU;YAC7D,OAAO,EAAE,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC;gBACxB,EAAE,EAAE,MAAM,CAAC,OAAO,CAAC,EAAE;gBACrB,IAAI,EAAE,MAAM,CAAC,OAAO,CAAC,UAAU;aAChC,CAAC,CAAC,CAAC,SAAS;YACb,QAAQ,EAAE,MAAM,CAAC,QAAQ,CAAC,CAAC,CAAC,IAAI,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,SAAS;YACjE,MAAM,EAAE,MAAM,CAAC,gBAAgB,KAAK,QAAQ,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,UAAU;YACpE,YAAY,EAAE,MAAA,MAAM,CAAC,mBAAmB,0CAAE,UAAU;YACpD,SAAS,EAAE,MAAM,CAAC,gBAAgB;SACnC,CAAC;IACJ,CAAC;IAED;;OAEG;IACK,gBAAgB,CAAC,MAAc;QACrC,MAAM,SAAS,GAAwB;YACrC,aAAa,EAAE,SAAS;YACxB,UAAU,EAAE,UAAU;YACtB,QAAQ,EAAE,QAAQ;YAClB,UAAU,EAAE,QAAQ;SACrB,CAAC;QACF,OAAO,SAAS,CAAC,MAAM,CAAC,IAAI,SAAS,CAAC;IACxC,CAAC;IAED;;OAEG;IACK,uBAAuB,CAAC,MAAc;QAC5C,MAAM,SAAS,GAAwB;YACrC,OAAO,EAAE,OAAO;YAChB,aAAa,EAAE,WAAW;YAC1B,UAAU,EAAE,UAAU;YACtB,UAAU,EAAE,UAAU;YACtB,MAAM,EAAE,MAAM;SACf,CAAC;QACF,OAAO,SAAS,CAAC,MAAM,CAAC,IAAI,OAAO,CAAC;IACtC,CAAC;IAED;;OAEG;IACK,2BAA2B,CAAC,MAAc;QAChD,MAAM,SAAS,GAAwB;YACrC,OAAO,EAAE,OAAO;YAChB,MAAM,EAAE,MAAM;YACd,QAAQ,EAAE,QAAQ;YAClB,QAAQ,EAAE,QAAQ;SACnB,CAAC;QACF,OAAO,SAAS,CAAC,MAAM,CAAC,IAAI,OAAO,CAAC;IACtC,CAAC;CACF;AA5bD,0CA4bC"}
package/lib/types.d.ts ADDED
@@ -0,0 +1,146 @@
1
+ /**
2
+ * ERP Connector Types
3
+ * Enterprise Resource Planning - HR and Finance operations
4
+ */
5
+ /**
6
+ * Employee data
7
+ */
8
+ export interface Employee {
9
+ id: string;
10
+ employeeId?: string;
11
+ email: string;
12
+ firstName: string;
13
+ lastName: string;
14
+ displayName?: string;
15
+ jobTitle?: string;
16
+ department?: string;
17
+ manager?: {
18
+ id: string;
19
+ name: string;
20
+ };
21
+ hireDate?: Date;
22
+ terminationDate?: Date;
23
+ status: 'active' | 'inactive' | 'terminated';
24
+ workLocation?: string;
25
+ workPhone?: string;
26
+ customFields?: Record<string, any>;
27
+ }
28
+ /**
29
+ * Time off request
30
+ */
31
+ export interface TimeOffRequest {
32
+ employeeId: string;
33
+ type: 'vacation' | 'sick' | 'personal' | 'other';
34
+ startDate: Date;
35
+ endDate: Date;
36
+ hours?: number;
37
+ reason?: string;
38
+ status?: 'pending' | 'approved' | 'denied';
39
+ }
40
+ /**
41
+ * Time off balance
42
+ */
43
+ export interface TimeOffBalance {
44
+ employeeId: string;
45
+ type: string;
46
+ balance: number;
47
+ unit: 'hours' | 'days';
48
+ accrualRate?: number;
49
+ }
50
+ /**
51
+ * Pay stub information
52
+ */
53
+ export interface PayStub {
54
+ id: string;
55
+ employeeId: string;
56
+ payPeriodStart: Date;
57
+ payPeriodEnd: Date;
58
+ payDate: Date;
59
+ grossPay: number;
60
+ netPay: number;
61
+ deductions: Array<{
62
+ type: string;
63
+ amount: number;
64
+ description?: string;
65
+ }>;
66
+ currency: string;
67
+ }
68
+ /**
69
+ * Expense report
70
+ */
71
+ export interface ExpenseReport {
72
+ id?: string;
73
+ employeeId: string;
74
+ date: Date;
75
+ description: string;
76
+ amount: number;
77
+ currency: string;
78
+ category: string;
79
+ status?: 'draft' | 'submitted' | 'approved' | 'rejected' | 'paid';
80
+ receipts?: Array<{
81
+ url: string;
82
+ filename: string;
83
+ }>;
84
+ }
85
+ /**
86
+ * Department/Cost center
87
+ */
88
+ export interface Department {
89
+ id: string;
90
+ name: string;
91
+ code?: string;
92
+ manager?: {
93
+ id: string;
94
+ name: string;
95
+ };
96
+ parentDepartment?: {
97
+ id: string;
98
+ name: string;
99
+ };
100
+ employeeCount?: number;
101
+ }
102
+ /**
103
+ * Job requisition/posting
104
+ */
105
+ export interface JobRequisition {
106
+ id: string;
107
+ title: string;
108
+ department: string;
109
+ status: 'draft' | 'open' | 'closed' | 'filled';
110
+ openDate?: Date;
111
+ closeDate?: Date;
112
+ hiringManager?: {
113
+ id: string;
114
+ name: string;
115
+ };
116
+ description?: string;
117
+ requirements?: string[];
118
+ }
119
+ /**
120
+ * ERP query options
121
+ */
122
+ export interface ERPQueryOptions {
123
+ page?: number;
124
+ limit?: number;
125
+ filters?: Record<string, any>;
126
+ sort?: {
127
+ field: string;
128
+ order: 'asc' | 'desc';
129
+ };
130
+ }
131
+ /**
132
+ * ERP response with pagination
133
+ */
134
+ export interface ERPResponse<T> {
135
+ success: boolean;
136
+ data?: T[];
137
+ total?: number;
138
+ page?: number;
139
+ limit?: number;
140
+ error?: {
141
+ code: string;
142
+ message: string;
143
+ details?: any;
144
+ };
145
+ }
146
+ //# sourceMappingURL=types.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"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"}
package/lib/types.js ADDED
@@ -0,0 +1,7 @@
1
+ "use strict";
2
+ /**
3
+ * ERP Connector Types
4
+ * Enterprise Resource Planning - HR and Finance operations
5
+ */
6
+ Object.defineProperty(exports, "__esModule", { value: true });
7
+ //# sourceMappingURL=types.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.js","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":";AAAA;;;GAGG"}
package/package.json ADDED
@@ -0,0 +1,30 @@
1
+ {
2
+ "name": "@xbg.solutions/utils-erp-connector",
3
+ "version": "1.0.0",
4
+ "description": "ERP integration with Workday",
5
+ "main": "lib/index.js",
6
+ "types": "lib/index.d.ts",
7
+ "files": [
8
+ "lib"
9
+ ],
10
+ "scripts": {
11
+ "build": "tsc",
12
+ "build:watch": "tsc --watch",
13
+ "clean": "rm -rf lib",
14
+ "prepublishOnly": "npm run build"
15
+ },
16
+ "dependencies": {
17
+ "@xbg/utils-logger": "^1.0.0",
18
+ "axios": "^1.6.2"
19
+ },
20
+ "devDependencies": {
21
+ "@types/node": "^20.11.0",
22
+ "typescript": "^5.3.3"
23
+ },
24
+ "engines": {
25
+ "node": "22"
26
+ },
27
+ "publishConfig": {
28
+ "access": "public"
29
+ }
30
+ }