n8n-nodes-oracle-fusion-hcm 0.1.1

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.
Files changed (68) hide show
  1. package/LICENSE.md +19 -0
  2. package/README.md +265 -0
  3. package/dist/credentials/OracleFusionHcmApi.credentials.d.ts +13 -0
  4. package/dist/credentials/OracleFusionHcmApi.credentials.js +63 -0
  5. package/dist/credentials/OracleFusionHcmApi.credentials.js.map +1 -0
  6. package/dist/credentials/OracleFusionHcmOAuth2Api.credentials.d.ts +12 -0
  7. package/dist/credentials/OracleFusionHcmOAuth2Api.credentials.js +63 -0
  8. package/dist/credentials/OracleFusionHcmOAuth2Api.credentials.js.map +1 -0
  9. package/dist/credentials/OracleJwtApi.credentials.d.ts +14 -0
  10. package/dist/credentials/OracleJwtApi.credentials.js +84 -0
  11. package/dist/credentials/OracleJwtApi.credentials.js.map +1 -0
  12. package/dist/credentials/oracleFusionHcm.svg +4 -0
  13. package/dist/icons/oracleFusionHcm.svg +4 -0
  14. package/dist/icons/oracleJwt.dark.svg +13 -0
  15. package/dist/icons/oracleJwt.svg +13 -0
  16. package/dist/nodes/OracleFusionHCM/OracleFusionHcm.node.d.ts +14 -0
  17. package/dist/nodes/OracleFusionHCM/OracleFusionHcm.node.js +156 -0
  18. package/dist/nodes/OracleFusionHCM/OracleFusionHcm.node.js.map +1 -0
  19. package/dist/nodes/OracleFusionHCM/OracleFusionHcm.node.json +18 -0
  20. package/dist/nodes/OracleFusionHCM/listSearch/getDepartments.d.ts +2 -0
  21. package/dist/nodes/OracleFusionHCM/listSearch/getDepartments.js +36 -0
  22. package/dist/nodes/OracleFusionHCM/listSearch/getDepartments.js.map +1 -0
  23. package/dist/nodes/OracleFusionHCM/listSearch/getEmployees.d.ts +2 -0
  24. package/dist/nodes/OracleFusionHCM/listSearch/getEmployees.js +36 -0
  25. package/dist/nodes/OracleFusionHCM/listSearch/getEmployees.js.map +1 -0
  26. package/dist/nodes/OracleFusionHCM/listSearch/getJobs.d.ts +2 -0
  27. package/dist/nodes/OracleFusionHCM/listSearch/getJobs.js +36 -0
  28. package/dist/nodes/OracleFusionHCM/listSearch/getJobs.js.map +1 -0
  29. package/dist/nodes/OracleFusionHCM/oracleFusionHcm.svg +4 -0
  30. package/dist/nodes/OracleFusionHCM/resources/absence/index.d.ts +2 -0
  31. package/dist/nodes/OracleFusionHCM/resources/absence/index.js +219 -0
  32. package/dist/nodes/OracleFusionHCM/resources/absence/index.js.map +1 -0
  33. package/dist/nodes/OracleFusionHCM/resources/assignment/index.d.ts +2 -0
  34. package/dist/nodes/OracleFusionHCM/resources/assignment/index.js +110 -0
  35. package/dist/nodes/OracleFusionHCM/resources/assignment/index.js.map +1 -0
  36. package/dist/nodes/OracleFusionHCM/resources/department/index.d.ts +2 -0
  37. package/dist/nodes/OracleFusionHCM/resources/department/index.js +122 -0
  38. package/dist/nodes/OracleFusionHCM/resources/department/index.js.map +1 -0
  39. package/dist/nodes/OracleFusionHCM/resources/employee/index.d.ts +2 -0
  40. package/dist/nodes/OracleFusionHCM/resources/employee/index.js +350 -0
  41. package/dist/nodes/OracleFusionHCM/resources/employee/index.js.map +1 -0
  42. package/dist/nodes/OracleFusionHCM/resources/job/index.d.ts +2 -0
  43. package/dist/nodes/OracleFusionHCM/resources/job/index.js +122 -0
  44. package/dist/nodes/OracleFusionHCM/resources/job/index.js.map +1 -0
  45. package/dist/nodes/OracleFusionHCM/resources/phone/index.d.ts +2 -0
  46. package/dist/nodes/OracleFusionHCM/resources/phone/index.js +152 -0
  47. package/dist/nodes/OracleFusionHCM/resources/phone/index.js.map +1 -0
  48. package/dist/nodes/OracleFusionHCM/resources/photo/index.d.ts +2 -0
  49. package/dist/nodes/OracleFusionHCM/resources/photo/index.js +79 -0
  50. package/dist/nodes/OracleFusionHCM/resources/photo/index.js.map +1 -0
  51. package/dist/nodes/OracleFusionHCM/resources/report/index.d.ts +2 -0
  52. package/dist/nodes/OracleFusionHCM/resources/report/index.js +131 -0
  53. package/dist/nodes/OracleFusionHCM/resources/report/index.js.map +1 -0
  54. package/dist/nodes/OracleFusionHCM/resources/worker/index.d.ts +2 -0
  55. package/dist/nodes/OracleFusionHCM/resources/worker/index.js +438 -0
  56. package/dist/nodes/OracleFusionHCM/resources/worker/index.js.map +1 -0
  57. package/dist/nodes/OracleFusionHCM/shared/descriptions.d.ts +4 -0
  58. package/dist/nodes/OracleFusionHCM/shared/descriptions.js +106 -0
  59. package/dist/nodes/OracleFusionHCM/shared/descriptions.js.map +1 -0
  60. package/dist/nodes/OracleFusionHCM/shared/transport.d.ts +3 -0
  61. package/dist/nodes/OracleFusionHCM/shared/transport.js +26 -0
  62. package/dist/nodes/OracleFusionHCM/shared/transport.js.map +1 -0
  63. package/dist/nodes/OracleFusionHCM/shared/utils.d.ts +6 -0
  64. package/dist/nodes/OracleFusionHCM/shared/utils.js +28 -0
  65. package/dist/nodes/OracleFusionHCM/shared/utils.js.map +1 -0
  66. package/dist/package.json +62 -0
  67. package/dist/tsconfig.tsbuildinfo +1 -0
  68. package/package.json +62 -0
@@ -0,0 +1,156 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.OracleFusionHcm = void 0;
4
+ const n8n_workflow_1 = require("n8n-workflow");
5
+ const employee_1 = require("./resources/employee");
6
+ const department_1 = require("./resources/department");
7
+ const job_1 = require("./resources/job");
8
+ const absence_1 = require("./resources/absence");
9
+ const worker_1 = require("./resources/worker");
10
+ const assignment_1 = require("./resources/assignment");
11
+ const phone_1 = require("./resources/phone");
12
+ const photo_1 = require("./resources/photo");
13
+ const report_1 = require("./resources/report");
14
+ const getEmployees_1 = require("./listSearch/getEmployees");
15
+ const getDepartments_1 = require("./listSearch/getDepartments");
16
+ const getJobs_1 = require("./listSearch/getJobs");
17
+ class OracleFusionHcm {
18
+ constructor() {
19
+ this.description = {
20
+ displayName: 'Oracle Fusion HCM',
21
+ name: 'oracleFusionHcm',
22
+ icon: 'file:oracleFusionHcm.svg',
23
+ group: ['input'],
24
+ version: 1,
25
+ subtitle: '={{$parameter["operation"] + ": " + $parameter["resource"]}}',
26
+ description: 'Consume Oracle Fusion HCM REST API',
27
+ defaults: {
28
+ name: 'Oracle Fusion HCM',
29
+ },
30
+ usableAsTool: true,
31
+ inputs: [n8n_workflow_1.NodeConnectionTypes.Main],
32
+ outputs: [n8n_workflow_1.NodeConnectionTypes.Main],
33
+ credentials: [
34
+ {
35
+ name: 'oracleFusionHcmApi',
36
+ required: true,
37
+ displayOptions: {
38
+ show: {
39
+ authentication: ['basicAuth'],
40
+ },
41
+ },
42
+ },
43
+ {
44
+ name: 'oracleFusionHcmOAuth2Api',
45
+ required: true,
46
+ displayOptions: {
47
+ show: {
48
+ authentication: ['oAuth2'],
49
+ },
50
+ },
51
+ },
52
+ {
53
+ name: 'oracleJwtApi',
54
+ required: true,
55
+ displayOptions: {
56
+ show: {
57
+ authentication: ['jwt'],
58
+ },
59
+ },
60
+ },
61
+ ],
62
+ requestDefaults: {
63
+ baseURL: '={{$credentials.instanceUrl}}/hcmRestApi/resources/11.13.18.05',
64
+ headers: {
65
+ Accept: 'application/json',
66
+ 'Content-Type': 'application/json',
67
+ },
68
+ },
69
+ properties: [
70
+ {
71
+ displayName: 'Authentication',
72
+ name: 'authentication',
73
+ type: 'options',
74
+ options: [
75
+ {
76
+ name: 'Basic Auth',
77
+ value: 'basicAuth',
78
+ },
79
+ {
80
+ name: 'JWT (Recommended)',
81
+ value: 'jwt',
82
+ },
83
+ {
84
+ name: 'OAuth2',
85
+ value: 'oAuth2',
86
+ },
87
+ ],
88
+ default: 'jwt',
89
+ },
90
+ {
91
+ displayName: 'Resource',
92
+ name: 'resource',
93
+ type: 'options',
94
+ noDataExpression: true,
95
+ options: [
96
+ {
97
+ name: 'Absence',
98
+ value: 'absence',
99
+ },
100
+ {
101
+ name: 'Department',
102
+ value: 'department',
103
+ },
104
+ {
105
+ name: 'Employee',
106
+ value: 'employee',
107
+ },
108
+ {
109
+ name: 'Job',
110
+ value: 'job',
111
+ },
112
+ {
113
+ name: 'Worker',
114
+ value: 'worker',
115
+ },
116
+ {
117
+ name: 'Worker Assignment',
118
+ value: 'assignment',
119
+ },
120
+ {
121
+ name: 'Worker Phone',
122
+ value: 'phone',
123
+ },
124
+ {
125
+ name: 'Worker Photo',
126
+ value: 'photo',
127
+ },
128
+ {
129
+ name: 'Worker Report',
130
+ value: 'report',
131
+ },
132
+ ],
133
+ default: 'worker',
134
+ },
135
+ ...worker_1.workerDescription,
136
+ ...assignment_1.assignmentDescription,
137
+ ...phone_1.phoneDescription,
138
+ ...photo_1.photoDescription,
139
+ ...report_1.reportDescription,
140
+ ...employee_1.employeeDescription,
141
+ ...department_1.departmentDescription,
142
+ ...job_1.jobDescription,
143
+ ...absence_1.absenceDescription,
144
+ ],
145
+ };
146
+ this.methods = {
147
+ listSearch: {
148
+ getEmployees: getEmployees_1.getEmployees,
149
+ getDepartments: getDepartments_1.getDepartments,
150
+ getJobs: getJobs_1.getJobs,
151
+ },
152
+ };
153
+ }
154
+ }
155
+ exports.OracleFusionHcm = OracleFusionHcm;
156
+ //# sourceMappingURL=OracleFusionHcm.node.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"OracleFusionHcm.node.js","sourceRoot":"","sources":["../../../nodes/OracleFusionHCM/OracleFusionHcm.node.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,18 @@
1
+ {
2
+ "node": "n8n-nodes-base.oracleFusionHcm",
3
+ "nodeVersion": "1.0",
4
+ "codexVersion": "1.0",
5
+ "categories": ["Data & Storage"],
6
+ "resources": {
7
+ "credentialDocumentation": [
8
+ {
9
+ "url": "https://docs.oracle.com/en/cloud/saas/human-resources/"
10
+ }
11
+ ],
12
+ "primaryDocumentation": [
13
+ {
14
+ "url": "https://docs.oracle.com/en/cloud/saas/human-resources/24a/farws/index.html"
15
+ }
16
+ ]
17
+ }
18
+ }
@@ -0,0 +1,2 @@
1
+ import type { ILoadOptionsFunctions, INodeListSearchResult } from 'n8n-workflow';
2
+ export declare function getDepartments(this: ILoadOptionsFunctions, filter?: string): Promise<INodeListSearchResult>;
@@ -0,0 +1,36 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.getDepartments = getDepartments;
4
+ async function getDepartments(filter) {
5
+ const qs = {
6
+ limit: 100,
7
+ fields: 'OrganizationId,Name',
8
+ };
9
+ if (filter) {
10
+ qs.q = `Name LIKE "${filter}"`;
11
+ }
12
+ const credentials = await this.getCredentials('oracleFusionHcmApi');
13
+ const baseUrl = credentials.instanceUrl;
14
+ const response = await this.helpers.httpRequest({
15
+ method: 'GET',
16
+ url: `${baseUrl}/hcmRestApi/resources/11.13.18.05/departments`,
17
+ qs,
18
+ json: true,
19
+ auth: {
20
+ username: credentials.username,
21
+ password: credentials.password,
22
+ },
23
+ });
24
+ const results = [];
25
+ const items = (response === null || response === void 0 ? void 0 : response.items) || [];
26
+ for (const item of items) {
27
+ results.push({
28
+ name: item.Name,
29
+ value: item.OrganizationId,
30
+ });
31
+ }
32
+ return {
33
+ results,
34
+ };
35
+ }
36
+ //# sourceMappingURL=getDepartments.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"getDepartments.js","sourceRoot":"","sources":["../../../../nodes/OracleFusionHCM/listSearch/getDepartments.ts"],"names":[],"mappings":";;AAOA,wCAwCC;AAxCM,KAAK,UAAU,cAAc,CAEnC,MAAe;IAEf,MAAM,EAAE,GAAgB;QACvB,KAAK,EAAE,GAAG;QACV,MAAM,EAAE,qBAAqB;KAC7B,CAAC;IAEF,IAAI,MAAM,EAAE,CAAC;QACZ,EAAE,CAAC,CAAC,GAAG,cAAc,MAAM,GAAG,CAAC;IAChC,CAAC;IAED,MAAM,WAAW,GAAG,MAAM,IAAI,CAAC,cAAc,CAAC,oBAAoB,CAAC,CAAC;IACpE,MAAM,OAAO,GAAG,WAAW,CAAC,WAAqB,CAAC;IAElD,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,OAAO,CAAC,WAAW,CAAC;QAC/C,MAAM,EAAE,KAAK;QACb,GAAG,EAAE,GAAG,OAAO,+CAA+C;QAC9D,EAAE;QACF,IAAI,EAAE,IAAI;QACV,IAAI,EAAE;YACL,QAAQ,EAAE,WAAW,CAAC,QAAkB;YACxC,QAAQ,EAAE,WAAW,CAAC,QAAkB;SACxC;KACD,CAAC,CAAC;IAEH,MAAM,OAAO,GAA2B,EAAE,CAAC;IAE3C,MAAM,KAAK,GAAG,CAAA,QAAQ,aAAR,QAAQ,uBAAR,QAAQ,CAAE,KAAK,KAAI,EAAE,CAAC;IACpC,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE,CAAC;QAC1B,OAAO,CAAC,IAAI,CAAC;YACZ,IAAI,EAAE,IAAI,CAAC,IAAI;YACf,KAAK,EAAE,IAAI,CAAC,cAAc;SAC1B,CAAC,CAAC;IACJ,CAAC;IAED,OAAO;QACN,OAAO;KACP,CAAC;AACH,CAAC"}
@@ -0,0 +1,2 @@
1
+ import type { ILoadOptionsFunctions, INodeListSearchResult } from 'n8n-workflow';
2
+ export declare function getEmployees(this: ILoadOptionsFunctions, filter?: string): Promise<INodeListSearchResult>;
@@ -0,0 +1,36 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.getEmployees = getEmployees;
4
+ async function getEmployees(filter) {
5
+ const qs = {
6
+ limit: 100,
7
+ fields: 'PersonId,FirstName,LastName,EmailAddress,DisplayName',
8
+ };
9
+ if (filter) {
10
+ qs.q = `FirstName LIKE "${filter}" OR LastName LIKE "${filter}" OR EmailAddress LIKE "${filter}"`;
11
+ }
12
+ const credentials = await this.getCredentials('oracleFusionHcmApi');
13
+ const baseUrl = credentials.instanceUrl;
14
+ const response = await this.helpers.httpRequest({
15
+ method: 'GET',
16
+ url: `${baseUrl}/hcmRestApi/resources/11.13.18.05/emps`,
17
+ qs,
18
+ json: true,
19
+ auth: {
20
+ username: credentials.username,
21
+ password: credentials.password,
22
+ },
23
+ });
24
+ const results = [];
25
+ const items = (response === null || response === void 0 ? void 0 : response.items) || [];
26
+ for (const item of items) {
27
+ results.push({
28
+ name: `${item.FirstName} ${item.LastName} (${item.EmailAddress})`,
29
+ value: item.PersonId,
30
+ });
31
+ }
32
+ return {
33
+ results,
34
+ };
35
+ }
36
+ //# sourceMappingURL=getEmployees.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"getEmployees.js","sourceRoot":"","sources":["../../../../nodes/OracleFusionHCM/listSearch/getEmployees.ts"],"names":[],"mappings":";;AAOA,oCAwCC;AAxCM,KAAK,UAAU,YAAY,CAEjC,MAAe;IAEf,MAAM,EAAE,GAAgB;QACvB,KAAK,EAAE,GAAG;QACV,MAAM,EAAE,sDAAsD;KAC9D,CAAC;IAEF,IAAI,MAAM,EAAE,CAAC;QACZ,EAAE,CAAC,CAAC,GAAG,mBAAmB,MAAM,uBAAuB,MAAM,2BAA2B,MAAM,GAAG,CAAC;IACnG,CAAC;IAED,MAAM,WAAW,GAAG,MAAM,IAAI,CAAC,cAAc,CAAC,oBAAoB,CAAC,CAAC;IACpE,MAAM,OAAO,GAAG,WAAW,CAAC,WAAqB,CAAC;IAElD,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,OAAO,CAAC,WAAW,CAAC;QAC/C,MAAM,EAAE,KAAK;QACb,GAAG,EAAE,GAAG,OAAO,wCAAwC;QACvD,EAAE;QACF,IAAI,EAAE,IAAI;QACV,IAAI,EAAE;YACL,QAAQ,EAAE,WAAW,CAAC,QAAkB;YACxC,QAAQ,EAAE,WAAW,CAAC,QAAkB;SACxC;KACD,CAAC,CAAC;IAEH,MAAM,OAAO,GAA2B,EAAE,CAAC;IAE3C,MAAM,KAAK,GAAG,CAAA,QAAQ,aAAR,QAAQ,uBAAR,QAAQ,CAAE,KAAK,KAAI,EAAE,CAAC;IACpC,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE,CAAC;QAC1B,OAAO,CAAC,IAAI,CAAC;YACZ,IAAI,EAAE,GAAG,IAAI,CAAC,SAAS,IAAI,IAAI,CAAC,QAAQ,KAAK,IAAI,CAAC,YAAY,GAAG;YACjE,KAAK,EAAE,IAAI,CAAC,QAAQ;SACpB,CAAC,CAAC;IACJ,CAAC;IAED,OAAO;QACN,OAAO;KACP,CAAC;AACH,CAAC"}
@@ -0,0 +1,2 @@
1
+ import type { ILoadOptionsFunctions, INodeListSearchResult } from 'n8n-workflow';
2
+ export declare function getJobs(this: ILoadOptionsFunctions, filter?: string): Promise<INodeListSearchResult>;
@@ -0,0 +1,36 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.getJobs = getJobs;
4
+ async function getJobs(filter) {
5
+ const qs = {
6
+ limit: 100,
7
+ fields: 'JobId,Name,JobCode',
8
+ };
9
+ if (filter) {
10
+ qs.q = `Name LIKE "${filter}" OR JobCode LIKE "${filter}"`;
11
+ }
12
+ const credentials = await this.getCredentials('oracleFusionHcmApi');
13
+ const baseUrl = credentials.instanceUrl;
14
+ const response = await this.helpers.httpRequest({
15
+ method: 'GET',
16
+ url: `${baseUrl}/hcmRestApi/resources/11.13.18.05/jobs`,
17
+ qs,
18
+ json: true,
19
+ auth: {
20
+ username: credentials.username,
21
+ password: credentials.password,
22
+ },
23
+ });
24
+ const results = [];
25
+ const items = (response === null || response === void 0 ? void 0 : response.items) || [];
26
+ for (const item of items) {
27
+ results.push({
28
+ name: `${item.Name} (${item.JobCode})`,
29
+ value: item.JobId,
30
+ });
31
+ }
32
+ return {
33
+ results,
34
+ };
35
+ }
36
+ //# sourceMappingURL=getJobs.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"getJobs.js","sourceRoot":"","sources":["../../../../nodes/OracleFusionHCM/listSearch/getJobs.ts"],"names":[],"mappings":";;AAOA,0BAwCC;AAxCM,KAAK,UAAU,OAAO,CAE5B,MAAe;IAEf,MAAM,EAAE,GAAgB;QACvB,KAAK,EAAE,GAAG;QACV,MAAM,EAAE,oBAAoB;KAC5B,CAAC;IAEF,IAAI,MAAM,EAAE,CAAC;QACZ,EAAE,CAAC,CAAC,GAAG,cAAc,MAAM,sBAAsB,MAAM,GAAG,CAAC;IAC5D,CAAC;IAED,MAAM,WAAW,GAAG,MAAM,IAAI,CAAC,cAAc,CAAC,oBAAoB,CAAC,CAAC;IACpE,MAAM,OAAO,GAAG,WAAW,CAAC,WAAqB,CAAC;IAElD,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,OAAO,CAAC,WAAW,CAAC;QAC/C,MAAM,EAAE,KAAK;QACb,GAAG,EAAE,GAAG,OAAO,wCAAwC;QACvD,EAAE;QACF,IAAI,EAAE,IAAI;QACV,IAAI,EAAE;YACL,QAAQ,EAAE,WAAW,CAAC,QAAkB;YACxC,QAAQ,EAAE,WAAW,CAAC,QAAkB;SACxC;KACD,CAAC,CAAC;IAEH,MAAM,OAAO,GAA2B,EAAE,CAAC;IAE3C,MAAM,KAAK,GAAG,CAAA,QAAQ,aAAR,QAAQ,uBAAR,QAAQ,CAAE,KAAK,KAAI,EAAE,CAAC;IACpC,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE,CAAC;QAC1B,OAAO,CAAC,IAAI,CAAC;YACZ,IAAI,EAAE,GAAG,IAAI,CAAC,IAAI,KAAK,IAAI,CAAC,OAAO,GAAG;YACtC,KAAK,EAAE,IAAI,CAAC,KAAK;SACjB,CAAC,CAAC;IACJ,CAAC;IAED,OAAO;QACN,OAAO;KACP,CAAC;AACH,CAAC"}
@@ -0,0 +1,4 @@
1
+ <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="#FF0000">
2
+ <path d="M12 2C6.48 2 2 6.48 2 12s4.48 10 10 10 10-4.48 10-10S17.52 2 12 2zm0 18c-4.41 0-8-3.59-8-8s3.59-8 8-8 8 3.59 8 8-3.59 8-8 8z"/>
3
+ <path d="M12 6c-3.31 0-6 2.69-6 6s2.69 6 6 6 6-2.69 6-6-2.69-6-6-6zm0 10c-2.21 0-4-1.79-4-4s1.79-4 4-4 4 1.79 4 4-1.79 4-4 4z"/>
4
+ </svg>
@@ -0,0 +1,2 @@
1
+ import type { INodeProperties } from 'n8n-workflow';
2
+ export declare const absenceDescription: INodeProperties[];
@@ -0,0 +1,219 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.absenceDescription = void 0;
4
+ const descriptions_1 = require("../../shared/descriptions");
5
+ const absenceOperations = [
6
+ {
7
+ name: 'Get Many',
8
+ value: 'getAll',
9
+ description: 'Get many absences',
10
+ action: 'Get many absences',
11
+ routing: {
12
+ request: {
13
+ method: 'GET',
14
+ url: '/absences',
15
+ },
16
+ },
17
+ },
18
+ {
19
+ name: 'Create',
20
+ value: 'create',
21
+ description: 'Create an absence',
22
+ action: 'Create an absence',
23
+ routing: {
24
+ request: {
25
+ method: 'POST',
26
+ url: '/absences',
27
+ },
28
+ },
29
+ },
30
+ ];
31
+ exports.absenceDescription = [
32
+ {
33
+ displayName: 'Operation',
34
+ name: 'operation',
35
+ type: 'options',
36
+ noDataExpression: true,
37
+ displayOptions: {
38
+ show: {
39
+ resource: ['absence'],
40
+ },
41
+ },
42
+ options: absenceOperations,
43
+ default: 'getAll',
44
+ },
45
+ {
46
+ displayName: 'Return All',
47
+ name: 'returnAll',
48
+ type: 'boolean',
49
+ displayOptions: {
50
+ show: {
51
+ resource: ['absence'],
52
+ operation: ['getAll'],
53
+ },
54
+ },
55
+ default: false,
56
+ description: 'Whether to return all results or only up to a given limit',
57
+ },
58
+ {
59
+ displayName: 'Limit',
60
+ name: 'limit',
61
+ type: 'number',
62
+ displayOptions: {
63
+ show: {
64
+ resource: ['absence'],
65
+ operation: ['getAll'],
66
+ returnAll: [false],
67
+ },
68
+ },
69
+ typeOptions: {
70
+ minValue: 1,
71
+ maxValue: 500,
72
+ },
73
+ default: 50,
74
+ description: 'Max number of results to return',
75
+ routing: {
76
+ request: {
77
+ qs: {
78
+ limit: '={{$value}}',
79
+ },
80
+ },
81
+ },
82
+ },
83
+ {
84
+ displayName: 'Filters',
85
+ name: 'filters',
86
+ type: 'collection',
87
+ placeholder: 'Add Filter',
88
+ default: {},
89
+ displayOptions: {
90
+ show: {
91
+ resource: ['absence'],
92
+ operation: ['getAll'],
93
+ },
94
+ },
95
+ options: [
96
+ {
97
+ ...descriptions_1.employeeSelect,
98
+ displayName: 'Employee',
99
+ description: 'Filter by employee',
100
+ routing: {
101
+ request: {
102
+ qs: {
103
+ q: '=PersonId={{$value}}',
104
+ },
105
+ },
106
+ },
107
+ },
108
+ {
109
+ displayName: 'Start Date',
110
+ name: 'startDate',
111
+ type: 'dateTime',
112
+ default: '',
113
+ description: 'Filter by absence start date',
114
+ routing: {
115
+ request: {
116
+ qs: {
117
+ q: '=StartDate>="{{$value}}"',
118
+ },
119
+ },
120
+ },
121
+ },
122
+ {
123
+ displayName: 'End Date',
124
+ name: 'endDate',
125
+ type: 'dateTime',
126
+ default: '',
127
+ description: 'Filter by absence end date',
128
+ routing: {
129
+ request: {
130
+ qs: {
131
+ q: '=EndDate<="{{$value}}"',
132
+ },
133
+ },
134
+ },
135
+ },
136
+ ],
137
+ },
138
+ {
139
+ ...descriptions_1.employeeSelect,
140
+ displayOptions: {
141
+ show: {
142
+ resource: ['absence'],
143
+ operation: ['create'],
144
+ },
145
+ },
146
+ required: true,
147
+ routing: {
148
+ request: {
149
+ body: {
150
+ PersonId: '={{$value}}',
151
+ },
152
+ },
153
+ },
154
+ },
155
+ {
156
+ displayName: 'Absence Type',
157
+ name: 'absenceType',
158
+ type: 'string',
159
+ displayOptions: {
160
+ show: {
161
+ resource: ['absence'],
162
+ operation: ['create'],
163
+ },
164
+ },
165
+ default: '',
166
+ required: true,
167
+ description: 'Type of absence (e.g., Vacation, Sick Leave)',
168
+ routing: {
169
+ request: {
170
+ body: {
171
+ AbsenceType: '={{$value}}',
172
+ },
173
+ },
174
+ },
175
+ },
176
+ {
177
+ displayName: 'Start Date',
178
+ name: 'startDate',
179
+ type: 'dateTime',
180
+ displayOptions: {
181
+ show: {
182
+ resource: ['absence'],
183
+ operation: ['create'],
184
+ },
185
+ },
186
+ default: '',
187
+ required: true,
188
+ description: 'Absence start date',
189
+ routing: {
190
+ request: {
191
+ body: {
192
+ StartDate: '={{$value}}',
193
+ },
194
+ },
195
+ },
196
+ },
197
+ {
198
+ displayName: 'End Date',
199
+ name: 'endDate',
200
+ type: 'dateTime',
201
+ displayOptions: {
202
+ show: {
203
+ resource: ['absence'],
204
+ operation: ['create'],
205
+ },
206
+ },
207
+ default: '',
208
+ required: true,
209
+ description: 'Absence end date',
210
+ routing: {
211
+ request: {
212
+ body: {
213
+ EndDate: '={{$value}}',
214
+ },
215
+ },
216
+ },
217
+ },
218
+ ];
219
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../nodes/OracleFusionHCM/resources/absence/index.ts"],"names":[],"mappings":";;;AACA,4DAA2D;AAE3D,MAAM,iBAAiB,GAA2B;IACjD;QACC,IAAI,EAAE,UAAU;QAChB,KAAK,EAAE,QAAQ;QACf,WAAW,EAAE,mBAAmB;QAChC,MAAM,EAAE,mBAAmB;QAC3B,OAAO,EAAE;YACR,OAAO,EAAE;gBACR,MAAM,EAAE,KAAK;gBACb,GAAG,EAAE,WAAW;aAChB;SACD;KACD;IACD;QACC,IAAI,EAAE,QAAQ;QACd,KAAK,EAAE,QAAQ;QACf,WAAW,EAAE,mBAAmB;QAChC,MAAM,EAAE,mBAAmB;QAC3B,OAAO,EAAE;YACR,OAAO,EAAE;gBACR,MAAM,EAAE,MAAM;gBACd,GAAG,EAAE,WAAW;aAChB;SACD;KACD;CACD,CAAC;AAEW,QAAA,kBAAkB,GAAsB;IACpD;QACC,WAAW,EAAE,WAAW;QACxB,IAAI,EAAE,WAAW;QACjB,IAAI,EAAE,SAAS;QACf,gBAAgB,EAAE,IAAI;QACtB,cAAc,EAAE;YACf,IAAI,EAAE;gBACL,QAAQ,EAAE,CAAC,SAAS,CAAC;aACrB;SACD;QACD,OAAO,EAAE,iBAAiB;QAC1B,OAAO,EAAE,QAAQ;KACjB;IACD;QACC,WAAW,EAAE,YAAY;QACzB,IAAI,EAAE,WAAW;QACjB,IAAI,EAAE,SAAS;QACf,cAAc,EAAE;YACf,IAAI,EAAE;gBACL,QAAQ,EAAE,CAAC,SAAS,CAAC;gBACrB,SAAS,EAAE,CAAC,QAAQ,CAAC;aACrB;SACD;QACD,OAAO,EAAE,KAAK;QACd,WAAW,EAAE,2DAA2D;KACxE;IACD;QACC,WAAW,EAAE,OAAO;QACpB,IAAI,EAAE,OAAO;QACb,IAAI,EAAE,QAAQ;QACd,cAAc,EAAE;YACf,IAAI,EAAE;gBACL,QAAQ,EAAE,CAAC,SAAS,CAAC;gBACrB,SAAS,EAAE,CAAC,QAAQ,CAAC;gBACrB,SAAS,EAAE,CAAC,KAAK,CAAC;aAClB;SACD;QACD,WAAW,EAAE;YACZ,QAAQ,EAAE,CAAC;YACX,QAAQ,EAAE,GAAG;SACb;QACD,OAAO,EAAE,EAAE;QACX,WAAW,EAAE,iCAAiC;QAC9C,OAAO,EAAE;YACR,OAAO,EAAE;gBACR,EAAE,EAAE;oBACH,KAAK,EAAE,aAAa;iBACpB;aACD;SACD;KACD;IACD;QACC,WAAW,EAAE,SAAS;QACtB,IAAI,EAAE,SAAS;QACf,IAAI,EAAE,YAAY;QAClB,WAAW,EAAE,YAAY;QACzB,OAAO,EAAE,EAAE;QACX,cAAc,EAAE;YACf,IAAI,EAAE;gBACL,QAAQ,EAAE,CAAC,SAAS,CAAC;gBACrB,SAAS,EAAE,CAAC,QAAQ,CAAC;aACrB;SACD;QACD,OAAO,EAAE;YACR;gBACC,GAAG,6BAAc;gBACjB,WAAW,EAAE,UAAU;gBACvB,WAAW,EAAE,oBAAoB;gBACjC,OAAO,EAAE;oBACR,OAAO,EAAE;wBACR,EAAE,EAAE;4BACH,CAAC,EAAE,sBAAsB;yBACzB;qBACD;iBACD;aACD;YACD;gBACC,WAAW,EAAE,YAAY;gBACzB,IAAI,EAAE,WAAW;gBACjB,IAAI,EAAE,UAAU;gBAChB,OAAO,EAAE,EAAE;gBACX,WAAW,EAAE,8BAA8B;gBAC3C,OAAO,EAAE;oBACR,OAAO,EAAE;wBACR,EAAE,EAAE;4BACH,CAAC,EAAE,0BAA0B;yBAC7B;qBACD;iBACD;aACD;YACD;gBACC,WAAW,EAAE,UAAU;gBACvB,IAAI,EAAE,SAAS;gBACf,IAAI,EAAE,UAAU;gBAChB,OAAO,EAAE,EAAE;gBACX,WAAW,EAAE,4BAA4B;gBACzC,OAAO,EAAE;oBACR,OAAO,EAAE;wBACR,EAAE,EAAE;4BACH,CAAC,EAAE,wBAAwB;yBAC3B;qBACD;iBACD;aACD;SACD;KACD;IAED;QACC,GAAG,6BAAc;QACjB,cAAc,EAAE;YACf,IAAI,EAAE;gBACL,QAAQ,EAAE,CAAC,SAAS,CAAC;gBACrB,SAAS,EAAE,CAAC,QAAQ,CAAC;aACrB;SACD;QACD,QAAQ,EAAE,IAAI;QACd,OAAO,EAAE;YACR,OAAO,EAAE;gBACR,IAAI,EAAE;oBACL,QAAQ,EAAE,aAAa;iBACvB;aACD;SACD;KACD;IACD;QACC,WAAW,EAAE,cAAc;QAC3B,IAAI,EAAE,aAAa;QACnB,IAAI,EAAE,QAAQ;QACd,cAAc,EAAE;YACf,IAAI,EAAE;gBACL,QAAQ,EAAE,CAAC,SAAS,CAAC;gBACrB,SAAS,EAAE,CAAC,QAAQ,CAAC;aACrB;SACD;QACD,OAAO,EAAE,EAAE;QACX,QAAQ,EAAE,IAAI;QACd,WAAW,EAAE,8CAA8C;QAC3D,OAAO,EAAE;YACR,OAAO,EAAE;gBACR,IAAI,EAAE;oBACL,WAAW,EAAE,aAAa;iBAC1B;aACD;SACD;KACD;IACD;QACC,WAAW,EAAE,YAAY;QACzB,IAAI,EAAE,WAAW;QACjB,IAAI,EAAE,UAAU;QAChB,cAAc,EAAE;YACf,IAAI,EAAE;gBACL,QAAQ,EAAE,CAAC,SAAS,CAAC;gBACrB,SAAS,EAAE,CAAC,QAAQ,CAAC;aACrB;SACD;QACD,OAAO,EAAE,EAAE;QACX,QAAQ,EAAE,IAAI;QACd,WAAW,EAAE,oBAAoB;QACjC,OAAO,EAAE;YACR,OAAO,EAAE;gBACR,IAAI,EAAE;oBACL,SAAS,EAAE,aAAa;iBACxB;aACD;SACD;KACD;IACD;QACC,WAAW,EAAE,UAAU;QACvB,IAAI,EAAE,SAAS;QACf,IAAI,EAAE,UAAU;QAChB,cAAc,EAAE;YACf,IAAI,EAAE;gBACL,QAAQ,EAAE,CAAC,SAAS,CAAC;gBACrB,SAAS,EAAE,CAAC,QAAQ,CAAC;aACrB;SACD;QACD,OAAO,EAAE,EAAE;QACX,QAAQ,EAAE,IAAI;QACd,WAAW,EAAE,kBAAkB;QAC/B,OAAO,EAAE;YACR,OAAO,EAAE;gBACR,IAAI,EAAE;oBACL,OAAO,EAAE,aAAa;iBACtB;aACD;SACD;KACD;CACD,CAAC"}
@@ -0,0 +1,2 @@
1
+ import type { INodeProperties } from 'n8n-workflow';
2
+ export declare const assignmentDescription: INodeProperties[];
@@ -0,0 +1,110 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.assignmentDescription = void 0;
4
+ const assignmentOperations = [
5
+ {
6
+ name: 'Get',
7
+ value: 'get',
8
+ description: 'Get a worker assignment',
9
+ action: 'Get a worker assignment',
10
+ routing: {
11
+ request: {
12
+ method: 'GET',
13
+ url: '=/publicWorkers/{{$parameter.workerId}}/child/assignments/{{$parameter.assignmentId}}',
14
+ },
15
+ },
16
+ },
17
+ {
18
+ name: 'Get Many',
19
+ value: 'getAll',
20
+ description: 'Get all assignments for a worker',
21
+ action: 'Get many worker assignments',
22
+ routing: {
23
+ request: {
24
+ method: 'GET',
25
+ url: '=/publicWorkers/{{$parameter.workerId}}/child/assignments',
26
+ },
27
+ },
28
+ },
29
+ ];
30
+ exports.assignmentDescription = [
31
+ {
32
+ displayName: 'Operation',
33
+ name: 'operation',
34
+ type: 'options',
35
+ noDataExpression: true,
36
+ displayOptions: {
37
+ show: {
38
+ resource: ['assignment'],
39
+ },
40
+ },
41
+ options: assignmentOperations,
42
+ default: 'getAll',
43
+ },
44
+ {
45
+ displayName: 'Worker ID',
46
+ name: 'workerId',
47
+ type: 'string',
48
+ required: true,
49
+ displayOptions: {
50
+ show: {
51
+ resource: ['assignment'],
52
+ },
53
+ },
54
+ default: '',
55
+ description: 'The ID of the worker (PersonId)',
56
+ },
57
+ {
58
+ displayName: 'Assignment ID',
59
+ name: 'assignmentId',
60
+ type: 'string',
61
+ required: true,
62
+ displayOptions: {
63
+ show: {
64
+ resource: ['assignment'],
65
+ operation: ['get'],
66
+ },
67
+ },
68
+ default: '',
69
+ description: 'The ID of the assignment',
70
+ },
71
+ {
72
+ displayName: 'Return All',
73
+ name: 'returnAll',
74
+ type: 'boolean',
75
+ displayOptions: {
76
+ show: {
77
+ resource: ['assignment'],
78
+ operation: ['getAll'],
79
+ },
80
+ },
81
+ default: false,
82
+ description: 'Whether to return all results or only up to a given limit',
83
+ },
84
+ {
85
+ displayName: 'Limit',
86
+ name: 'limit',
87
+ type: 'number',
88
+ displayOptions: {
89
+ show: {
90
+ resource: ['assignment'],
91
+ operation: ['getAll'],
92
+ returnAll: [false],
93
+ },
94
+ },
95
+ typeOptions: {
96
+ minValue: 1,
97
+ maxValue: 500,
98
+ },
99
+ default: 50,
100
+ description: 'Max number of results to return',
101
+ routing: {
102
+ request: {
103
+ qs: {
104
+ limit: '={{$value}}',
105
+ },
106
+ },
107
+ },
108
+ },
109
+ ];
110
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../nodes/OracleFusionHCM/resources/assignment/index.ts"],"names":[],"mappings":";;;AAEA,MAAM,oBAAoB,GAA2B;IACpD;QACC,IAAI,EAAE,KAAK;QACX,KAAK,EAAE,KAAK;QACZ,WAAW,EAAE,yBAAyB;QACtC,MAAM,EAAE,yBAAyB;QACjC,OAAO,EAAE;YACR,OAAO,EAAE;gBACR,MAAM,EAAE,KAAK;gBACb,GAAG,EAAE,uFAAuF;aAC5F;SACD;KACD;IACD;QACC,IAAI,EAAE,UAAU;QAChB,KAAK,EAAE,QAAQ;QACf,WAAW,EAAE,kCAAkC;QAC/C,MAAM,EAAE,6BAA6B;QACrC,OAAO,EAAE;YACR,OAAO,EAAE;gBACR,MAAM,EAAE,KAAK;gBACb,GAAG,EAAE,2DAA2D;aAChE;SACD;KACD;CACD,CAAC;AAEW,QAAA,qBAAqB,GAAsB;IACvD;QACC,WAAW,EAAE,WAAW;QACxB,IAAI,EAAE,WAAW;QACjB,IAAI,EAAE,SAAS;QACf,gBAAgB,EAAE,IAAI;QACtB,cAAc,EAAE;YACf,IAAI,EAAE;gBACL,QAAQ,EAAE,CAAC,YAAY,CAAC;aACxB;SACD;QACD,OAAO,EAAE,oBAAoB;QAC7B,OAAO,EAAE,QAAQ;KACjB;IACD;QACC,WAAW,EAAE,WAAW;QACxB,IAAI,EAAE,UAAU;QAChB,IAAI,EAAE,QAAQ;QACd,QAAQ,EAAE,IAAI;QACd,cAAc,EAAE;YACf,IAAI,EAAE;gBACL,QAAQ,EAAE,CAAC,YAAY,CAAC;aACxB;SACD;QACD,OAAO,EAAE,EAAE;QACX,WAAW,EAAE,iCAAiC;KAC9C;IACD;QACC,WAAW,EAAE,eAAe;QAC5B,IAAI,EAAE,cAAc;QACpB,IAAI,EAAE,QAAQ;QACd,QAAQ,EAAE,IAAI;QACd,cAAc,EAAE;YACf,IAAI,EAAE;gBACL,QAAQ,EAAE,CAAC,YAAY,CAAC;gBACxB,SAAS,EAAE,CAAC,KAAK,CAAC;aAClB;SACD;QACD,OAAO,EAAE,EAAE;QACX,WAAW,EAAE,0BAA0B;KACvC;IACD;QACC,WAAW,EAAE,YAAY;QACzB,IAAI,EAAE,WAAW;QACjB,IAAI,EAAE,SAAS;QACf,cAAc,EAAE;YACf,IAAI,EAAE;gBACL,QAAQ,EAAE,CAAC,YAAY,CAAC;gBACxB,SAAS,EAAE,CAAC,QAAQ,CAAC;aACrB;SACD;QACD,OAAO,EAAE,KAAK;QACd,WAAW,EAAE,2DAA2D;KACxE;IACD;QACC,WAAW,EAAE,OAAO;QACpB,IAAI,EAAE,OAAO;QACb,IAAI,EAAE,QAAQ;QACd,cAAc,EAAE;YACf,IAAI,EAAE;gBACL,QAAQ,EAAE,CAAC,YAAY,CAAC;gBACxB,SAAS,EAAE,CAAC,QAAQ,CAAC;gBACrB,SAAS,EAAE,CAAC,KAAK,CAAC;aAClB;SACD;QACD,WAAW,EAAE;YACZ,QAAQ,EAAE,CAAC;YACX,QAAQ,EAAE,GAAG;SACb;QACD,OAAO,EAAE,EAAE;QACX,WAAW,EAAE,iCAAiC;QAC9C,OAAO,EAAE;YACR,OAAO,EAAE;gBACR,EAAE,EAAE;oBACH,KAAK,EAAE,aAAa;iBACpB;aACD;SACD;KACD;CACD,CAAC"}