@vqnguyen1/piece-fis-ibs 0.0.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.
package/README.md ADDED
@@ -0,0 +1,37 @@
1
+ # FIS IBS (Integrated Banking Solutions)
2
+
3
+ This piece provides integration with FIS IBS banking APIs.
4
+
5
+ ## Authentication
6
+
7
+ This piece requires the following authentication parameters:
8
+
9
+ - **Base URL**: The base URL for the FIS IBS API (e.g., `https://api-gw-uat.fisglobal.com/rest`)
10
+ - **Organization ID**: Your FIS Organization ID
11
+ - **Source ID**: Source ID provided by FIS
12
+ - **Application ID**: Application ID for your integration
13
+ - **IBS Authorization**: Authorization token for IBS APIs
14
+
15
+ ## Available Actions
16
+
17
+ ### Customer - Get
18
+ Retrieve customer information by customer number.
19
+
20
+ ### Customer - Search
21
+ Search for customers using various criteria.
22
+
23
+ ### Custom API Call
24
+ Make custom API calls to any FIS IBS endpoint.
25
+
26
+ ## API Categories
27
+
28
+ The FIS IBS platform includes many API categories:
29
+ - Customer Management
30
+ - Deposit Accounts
31
+ - Loan Accounts
32
+ - Cards
33
+ - Transfers
34
+ - Teller Operations
35
+ - And many more...
36
+
37
+ Use the Custom API Call action to access any endpoint not covered by specific actions.
package/package.json ADDED
@@ -0,0 +1,17 @@
1
+ {
2
+ "name": "@vqnguyen1/piece-fis-ibs",
3
+ "version": "0.0.1",
4
+ "license": "MIT",
5
+ "main": "src/index.ts",
6
+ "publishConfig": {
7
+ "access": "public"
8
+ },
9
+ "peerDependencies": {
10
+ "@activepieces/pieces-framework": "*",
11
+ "@activepieces/pieces-common": "*",
12
+ "@activepieces/shared": "*"
13
+ },
14
+ "dependencies": {},
15
+ "types": "./src/index.d.ts",
16
+ "type": "commonjs"
17
+ }
package/src/index.d.ts ADDED
@@ -0,0 +1,16 @@
1
+ export declare const fisIbsAuth: import("@activepieces/pieces-framework").CustomAuthProperty<{
2
+ baseUrl: import("@activepieces/pieces-framework").ShortTextProperty<true>;
3
+ organizationId: import("@activepieces/pieces-framework").ShortTextProperty<true>;
4
+ sourceId: import("@activepieces/pieces-framework").ShortTextProperty<true>;
5
+ applicationId: import("@activepieces/pieces-framework").ShortTextProperty<true>;
6
+ ibsAuthorization: import("@activepieces/pieces-framework").SecretTextProperty<true>;
7
+ securityTokenType: import("@activepieces/pieces-framework").StaticDropdownProperty<string, false>;
8
+ }>;
9
+ export declare const fisIbs: import("@activepieces/pieces-framework").Piece<import("@activepieces/pieces-framework").CustomAuthProperty<{
10
+ baseUrl: import("@activepieces/pieces-framework").ShortTextProperty<true>;
11
+ organizationId: import("@activepieces/pieces-framework").ShortTextProperty<true>;
12
+ sourceId: import("@activepieces/pieces-framework").ShortTextProperty<true>;
13
+ applicationId: import("@activepieces/pieces-framework").ShortTextProperty<true>;
14
+ ibsAuthorization: import("@activepieces/pieces-framework").SecretTextProperty<true>;
15
+ securityTokenType: import("@activepieces/pieces-framework").StaticDropdownProperty<string, false>;
16
+ }>>;
package/src/index.js ADDED
@@ -0,0 +1,88 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.fisIbs = exports.fisIbsAuth = void 0;
4
+ const tslib_1 = require("tslib");
5
+ const pieces_framework_1 = require("@activepieces/pieces-framework");
6
+ const shared_1 = require("@activepieces/shared");
7
+ const pieces_common_1 = require("@activepieces/pieces-common");
8
+ const get_customer_1 = require("./lib/actions/get-customer");
9
+ const search_customers_1 = require("./lib/actions/search-customers");
10
+ exports.fisIbsAuth = pieces_framework_1.PieceAuth.CustomAuth({
11
+ description: 'FIS IBS API credentials',
12
+ required: true,
13
+ props: {
14
+ baseUrl: pieces_framework_1.Property.ShortText({
15
+ displayName: 'Base URL',
16
+ description: 'The base URL for the FIS IBS API (e.g., https://api-gw-uat.fisglobal.com/rest)',
17
+ required: true,
18
+ defaultValue: 'https://api-gw-uat.fisglobal.com/rest',
19
+ }),
20
+ organizationId: pieces_framework_1.Property.ShortText({
21
+ displayName: 'Organization ID',
22
+ description: 'Your FIS Organization ID',
23
+ required: true,
24
+ }),
25
+ sourceId: pieces_framework_1.Property.ShortText({
26
+ displayName: 'Source ID',
27
+ description: 'Source ID provided by FIS (e.g., APIGWY)',
28
+ required: true,
29
+ defaultValue: 'APIGWY',
30
+ }),
31
+ applicationId: pieces_framework_1.Property.ShortText({
32
+ displayName: 'Application ID',
33
+ description: 'Application ID for your integration',
34
+ required: true,
35
+ }),
36
+ ibsAuthorization: pieces_framework_1.PieceAuth.SecretText({
37
+ displayName: 'IBS Authorization',
38
+ description: 'Authorization token for IBS APIs',
39
+ required: true,
40
+ }),
41
+ securityTokenType: pieces_framework_1.Property.StaticDropdown({
42
+ displayName: 'Security Token Type',
43
+ description: 'Type of security token being used',
44
+ required: false,
45
+ options: {
46
+ options: [
47
+ { label: 'JWT', value: 'JWT' },
48
+ { label: 'SAML', value: 'SAML' },
49
+ { label: 'OAuth', value: 'OAuth' },
50
+ ],
51
+ },
52
+ defaultValue: 'JWT',
53
+ }),
54
+ },
55
+ });
56
+ exports.fisIbs = (0, pieces_framework_1.createPiece)({
57
+ displayName: 'FIS IBS',
58
+ auth: exports.fisIbsAuth,
59
+ minimumSupportedRelease: '0.20.0',
60
+ logoUrl: 'https://yt3.googleusercontent.com/ytc/AIdro_m-dmhaXsmxBqi4nOVPXVX8ydLn1f781GsWvJ2oKG73TcA=s900-c-k-c0x00ffffff-no-rj',
61
+ authors: ['vqnguyen1'],
62
+ categories: [shared_1.PieceCategory.BUSINESS_INTELLIGENCE],
63
+ actions: [
64
+ get_customer_1.getCustomer,
65
+ search_customers_1.searchCustomers,
66
+ (0, pieces_common_1.createCustomApiCallAction)({
67
+ baseUrl: (auth) => auth.baseUrl || 'https://api-gw-uat.fisglobal.com/rest',
68
+ auth: exports.fisIbsAuth,
69
+ authMapping: (auth) => tslib_1.__awaiter(void 0, void 0, void 0, function* () {
70
+ const authObj = auth;
71
+ const uuid = crypto.randomUUID();
72
+ const headers = {
73
+ 'organization-id': authObj.organizationId,
74
+ 'source-id': authObj.sourceId,
75
+ 'application-id': authObj.applicationId,
76
+ 'uuid': uuid,
77
+ 'ibs-authorization': authObj.ibsAuthorization,
78
+ };
79
+ if (authObj.securityTokenType) {
80
+ headers['security-token-type'] = authObj.securityTokenType;
81
+ }
82
+ return headers;
83
+ }),
84
+ }),
85
+ ],
86
+ triggers: [],
87
+ });
88
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../../packages/pieces/custom/fis-ibs/src/index.ts"],"names":[],"mappings":";;;;AAAA,qEAAkF;AAClF,iDAAqD;AACrD,+DAAwE;AACxE,6DAAyD;AACzD,qEAAiE;AAEpD,QAAA,UAAU,GAAG,4BAAS,CAAC,UAAU,CAAC;IAC7C,WAAW,EAAE,yBAAyB;IACtC,QAAQ,EAAE,IAAI;IACd,KAAK,EAAE;QACL,OAAO,EAAE,2BAAQ,CAAC,SAAS,CAAC;YAC1B,WAAW,EAAE,UAAU;YACvB,WAAW,EAAE,gFAAgF;YAC7F,QAAQ,EAAE,IAAI;YACd,YAAY,EAAE,uCAAuC;SACtD,CAAC;QACF,cAAc,EAAE,2BAAQ,CAAC,SAAS,CAAC;YACjC,WAAW,EAAE,iBAAiB;YAC9B,WAAW,EAAE,0BAA0B;YACvC,QAAQ,EAAE,IAAI;SACf,CAAC;QACF,QAAQ,EAAE,2BAAQ,CAAC,SAAS,CAAC;YAC3B,WAAW,EAAE,WAAW;YACxB,WAAW,EAAE,0CAA0C;YACvD,QAAQ,EAAE,IAAI;YACd,YAAY,EAAE,QAAQ;SACvB,CAAC;QACF,aAAa,EAAE,2BAAQ,CAAC,SAAS,CAAC;YAChC,WAAW,EAAE,gBAAgB;YAC7B,WAAW,EAAE,qCAAqC;YAClD,QAAQ,EAAE,IAAI;SACf,CAAC;QACF,gBAAgB,EAAE,4BAAS,CAAC,UAAU,CAAC;YACrC,WAAW,EAAE,mBAAmB;YAChC,WAAW,EAAE,kCAAkC;YAC/C,QAAQ,EAAE,IAAI;SACf,CAAC;QACF,iBAAiB,EAAE,2BAAQ,CAAC,cAAc,CAAC;YACzC,WAAW,EAAE,qBAAqB;YAClC,WAAW,EAAE,mCAAmC;YAChD,QAAQ,EAAE,KAAK;YACf,OAAO,EAAE;gBACP,OAAO,EAAE;oBACP,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE;oBAC9B,EAAE,KAAK,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE;oBAChC,EAAE,KAAK,EAAE,OAAO,EAAE,KAAK,EAAE,OAAO,EAAE;iBACnC;aACF;YACD,YAAY,EAAE,KAAK;SACpB,CAAC;KACH;CACF,CAAC,CAAC;AAEU,QAAA,MAAM,GAAG,IAAA,8BAAW,EAAC;IAChC,WAAW,EAAE,SAAS;IACtB,IAAI,EAAE,kBAAU;IAChB,uBAAuB,EAAE,QAAQ;IACjC,OAAO,EAAE,sHAAsH;IAC/H,OAAO,EAAE,CAAC,WAAW,CAAC;IACtB,UAAU,EAAE,CAAC,sBAAa,CAAC,qBAAqB,CAAC;IACjD,OAAO,EAAE;QACP,0BAAW;QACX,kCAAe;QACf,IAAA,yCAAyB,EAAC;YACxB,OAAO,EAAE,CAAC,IAAI,EAAE,EAAE,CAAE,IAAY,CAAC,OAAO,IAAI,uCAAuC;YACnF,IAAI,EAAE,kBAAU;YAChB,WAAW,EAAE,CAAO,IAAI,EAAE,EAAE;gBAC1B,MAAM,OAAO,GAAG,IAAW,CAAC;gBAC5B,MAAM,IAAI,GAAG,MAAM,CAAC,UAAU,EAAE,CAAC;gBACjC,MAAM,OAAO,GAA2B;oBACtC,iBAAiB,EAAE,OAAO,CAAC,cAAc;oBACzC,WAAW,EAAE,OAAO,CAAC,QAAQ;oBAC7B,gBAAgB,EAAE,OAAO,CAAC,aAAa;oBACvC,MAAM,EAAE,IAAI;oBACZ,mBAAmB,EAAE,OAAO,CAAC,gBAAgB;iBAC9C,CAAC;gBACF,IAAI,OAAO,CAAC,iBAAiB,EAAE,CAAC;oBAC9B,OAAO,CAAC,qBAAqB,CAAC,GAAG,OAAO,CAAC,iBAAiB,CAAC;gBAC7D,CAAC;gBACD,OAAO,OAAO,CAAC;YACjB,CAAC,CAAA;SACF,CAAC;KACH;IACD,QAAQ,EAAE,EAAE;CACb,CAAC,CAAC"}
@@ -0,0 +1,12 @@
1
+ export declare const getCustomer: import("@activepieces/pieces-framework").IAction<import("@activepieces/pieces-framework").CustomAuthProperty<{
2
+ baseUrl: import("@activepieces/pieces-framework").ShortTextProperty<true>;
3
+ organizationId: import("@activepieces/pieces-framework").ShortTextProperty<true>;
4
+ sourceId: import("@activepieces/pieces-framework").ShortTextProperty<true>;
5
+ applicationId: import("@activepieces/pieces-framework").ShortTextProperty<true>;
6
+ ibsAuthorization: import("@activepieces/pieces-framework").SecretTextProperty<true>;
7
+ securityTokenType: import("@activepieces/pieces-framework").StaticDropdownProperty<string, false>;
8
+ }>, {
9
+ customerNumber: import("@activepieces/pieces-framework").ShortTextProperty<true>;
10
+ effectiveUserId: import("@activepieces/pieces-framework").ShortTextProperty<false>;
11
+ safIndicator: import("@activepieces/pieces-framework").StaticDropdownProperty<string, false>;
12
+ }>;
@@ -0,0 +1,69 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.getCustomer = void 0;
4
+ const tslib_1 = require("tslib");
5
+ const pieces_framework_1 = require("@activepieces/pieces-framework");
6
+ const pieces_common_1 = require("@activepieces/pieces-common");
7
+ const __1 = require("../..");
8
+ exports.getCustomer = (0, pieces_framework_1.createAction)({
9
+ name: 'customer_get',
10
+ auth: __1.fisIbsAuth,
11
+ displayName: 'Customer - Get',
12
+ description: 'Retrieve customer information by customer number.',
13
+ props: {
14
+ customerNumber: pieces_framework_1.Property.ShortText({
15
+ displayName: 'Customer Number',
16
+ description: 'The customer number to retrieve',
17
+ required: true,
18
+ }),
19
+ effectiveUserId: pieces_framework_1.Property.ShortText({
20
+ displayName: 'Effective User ID',
21
+ description: 'Optional: User ID for audit purposes',
22
+ required: false,
23
+ }),
24
+ safIndicator: pieces_framework_1.Property.StaticDropdown({
25
+ displayName: 'SAF Indicator',
26
+ description: 'Store and forward indicator',
27
+ required: false,
28
+ options: {
29
+ options: [
30
+ { label: 'Yes', value: 'Y' },
31
+ { label: 'No', value: 'N' },
32
+ ],
33
+ },
34
+ }),
35
+ },
36
+ run(context) {
37
+ return tslib_1.__awaiter(this, void 0, void 0, function* () {
38
+ const auth = context.auth;
39
+ const baseUrl = auth.baseUrl;
40
+ const { customerNumber, effectiveUserId, safIndicator } = context.propsValue;
41
+ const uuid = crypto.randomUUID();
42
+ const headers = {
43
+ 'accept': 'application/json',
44
+ 'Content-Type': 'application/json',
45
+ 'organization-id': auth.organizationId,
46
+ 'source-id': auth.sourceId,
47
+ 'application-id': auth.applicationId,
48
+ 'uuid': uuid,
49
+ 'ibs-authorization': auth.ibsAuthorization,
50
+ };
51
+ if (auth.securityTokenType) {
52
+ headers['security-token-type'] = auth.securityTokenType;
53
+ }
54
+ if (effectiveUserId) {
55
+ headers['effective-user-id'] = effectiveUserId;
56
+ }
57
+ if (safIndicator) {
58
+ headers['saf-indicator'] = safIndicator;
59
+ }
60
+ const response = yield pieces_common_1.httpClient.sendRequest({
61
+ method: pieces_common_1.HttpMethod.GET,
62
+ url: `${baseUrl}/IBSCICUST/v4/customers/${customerNumber}`,
63
+ headers,
64
+ });
65
+ return response.body;
66
+ });
67
+ },
68
+ });
69
+ //# sourceMappingURL=get-customer.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"get-customer.js","sourceRoot":"","sources":["../../../../../../../../packages/pieces/custom/fis-ibs/src/lib/actions/get-customer.ts"],"names":[],"mappings":";;;;AAAA,qEAGwC;AACxC,+DAAqE;AACrE,6BAAmC;AAEtB,QAAA,WAAW,GAAG,IAAA,+BAAY,EAAC;IACtC,IAAI,EAAE,cAAc;IACpB,IAAI,EAAE,cAAU;IAChB,WAAW,EAAE,gBAAgB;IAC7B,WAAW,EAAE,mDAAmD;IAChE,KAAK,EAAE;QACL,cAAc,EAAE,2BAAQ,CAAC,SAAS,CAAC;YACjC,WAAW,EAAE,iBAAiB;YAC9B,WAAW,EAAE,iCAAiC;YAC9C,QAAQ,EAAE,IAAI;SACf,CAAC;QACF,eAAe,EAAE,2BAAQ,CAAC,SAAS,CAAC;YAClC,WAAW,EAAE,mBAAmB;YAChC,WAAW,EAAE,sCAAsC;YACnD,QAAQ,EAAE,KAAK;SAChB,CAAC;QACF,YAAY,EAAE,2BAAQ,CAAC,cAAc,CAAC;YACpC,WAAW,EAAE,eAAe;YAC5B,WAAW,EAAE,6BAA6B;YAC1C,QAAQ,EAAE,KAAK;YACf,OAAO,EAAE;gBACP,OAAO,EAAE;oBACP,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,GAAG,EAAE;oBAC5B,EAAE,KAAK,EAAE,IAAI,EAAE,KAAK,EAAE,GAAG,EAAE;iBAC5B;aACF;SACF,CAAC;KACH;IACK,GAAG,CAAC,OAAO;;YACf,MAAM,IAAI,GAAG,OAAO,CAAC,IAAW,CAAC;YACjC,MAAM,OAAO,GAAG,IAAI,CAAC,OAAO,CAAC;YAC7B,MAAM,EAAE,cAAc,EAAE,eAAe,EAAE,YAAY,EAAE,GAAG,OAAO,CAAC,UAAU,CAAC;YAE7E,MAAM,IAAI,GAAG,MAAM,CAAC,UAAU,EAAE,CAAC;YAEjC,MAAM,OAAO,GAA2B;gBACtC,QAAQ,EAAE,kBAAkB;gBAC5B,cAAc,EAAE,kBAAkB;gBAClC,iBAAiB,EAAE,IAAI,CAAC,cAAc;gBACtC,WAAW,EAAE,IAAI,CAAC,QAAQ;gBAC1B,gBAAgB,EAAE,IAAI,CAAC,aAAa;gBACpC,MAAM,EAAE,IAAI;gBACZ,mBAAmB,EAAE,IAAI,CAAC,gBAAgB;aAC3C,CAAC;YAEF,IAAI,IAAI,CAAC,iBAAiB,EAAE,CAAC;gBAC3B,OAAO,CAAC,qBAAqB,CAAC,GAAG,IAAI,CAAC,iBAAiB,CAAC;YAC1D,CAAC;YAED,IAAI,eAAe,EAAE,CAAC;gBACpB,OAAO,CAAC,mBAAmB,CAAC,GAAG,eAAe,CAAC;YACjD,CAAC;YAED,IAAI,YAAY,EAAE,CAAC;gBACjB,OAAO,CAAC,eAAe,CAAC,GAAG,YAAY,CAAC;YAC1C,CAAC;YAED,MAAM,QAAQ,GAAG,MAAM,0BAAU,CAAC,WAAW,CAAC;gBAC5C,MAAM,EAAE,0BAAU,CAAC,GAAG;gBACtB,GAAG,EAAE,GAAG,OAAO,2BAA2B,cAAc,EAAE;gBAC1D,OAAO;aACR,CAAC,CAAC;YAEH,OAAO,QAAQ,CAAC,IAAI,CAAC;QACvB,CAAC;KAAA;CACF,CAAC,CAAC"}
@@ -0,0 +1,17 @@
1
+ export declare const searchCustomers: import("@activepieces/pieces-framework").IAction<import("@activepieces/pieces-framework").CustomAuthProperty<{
2
+ baseUrl: import("@activepieces/pieces-framework").ShortTextProperty<true>;
3
+ organizationId: import("@activepieces/pieces-framework").ShortTextProperty<true>;
4
+ sourceId: import("@activepieces/pieces-framework").ShortTextProperty<true>;
5
+ applicationId: import("@activepieces/pieces-framework").ShortTextProperty<true>;
6
+ ibsAuthorization: import("@activepieces/pieces-framework").SecretTextProperty<true>;
7
+ securityTokenType: import("@activepieces/pieces-framework").StaticDropdownProperty<string, false>;
8
+ }>, {
9
+ searchType: import("@activepieces/pieces-framework").StaticDropdownProperty<string, true>;
10
+ lastName: import("@activepieces/pieces-framework").ShortTextProperty<false>;
11
+ firstName: import("@activepieces/pieces-framework").ShortTextProperty<false>;
12
+ tin: import("@activepieces/pieces-framework").ShortTextProperty<false>;
13
+ phoneNumber: import("@activepieces/pieces-framework").ShortTextProperty<false>;
14
+ accountNumber: import("@activepieces/pieces-framework").ShortTextProperty<false>;
15
+ maxRecords: import("@activepieces/pieces-framework").NumberProperty<false>;
16
+ effectiveUserId: import("@activepieces/pieces-framework").ShortTextProperty<false>;
17
+ }>;
@@ -0,0 +1,127 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.searchCustomers = void 0;
4
+ const tslib_1 = require("tslib");
5
+ const pieces_framework_1 = require("@activepieces/pieces-framework");
6
+ const pieces_common_1 = require("@activepieces/pieces-common");
7
+ const __1 = require("../..");
8
+ exports.searchCustomers = (0, pieces_framework_1.createAction)({
9
+ name: 'customer_search',
10
+ auth: __1.fisIbsAuth,
11
+ displayName: 'Customer - Search',
12
+ description: 'Search for customers using various criteria.',
13
+ props: {
14
+ searchType: pieces_framework_1.Property.StaticDropdown({
15
+ displayName: 'Search Type',
16
+ description: 'Type of search to perform',
17
+ required: true,
18
+ options: {
19
+ options: [
20
+ { label: 'By Name', value: 'name' },
21
+ { label: 'By TIN (Tax ID)', value: 'tin' },
22
+ { label: 'By Phone', value: 'phone' },
23
+ { label: 'By Account Number', value: 'account' },
24
+ ],
25
+ },
26
+ defaultValue: 'name',
27
+ }),
28
+ lastName: pieces_framework_1.Property.ShortText({
29
+ displayName: 'Last Name',
30
+ description: 'Customer last name (for name search)',
31
+ required: false,
32
+ }),
33
+ firstName: pieces_framework_1.Property.ShortText({
34
+ displayName: 'First Name',
35
+ description: 'Customer first name (for name search)',
36
+ required: false,
37
+ }),
38
+ tin: pieces_framework_1.Property.ShortText({
39
+ displayName: 'TIN (Tax ID)',
40
+ description: 'Tax Identification Number (for TIN search)',
41
+ required: false,
42
+ }),
43
+ phoneNumber: pieces_framework_1.Property.ShortText({
44
+ displayName: 'Phone Number',
45
+ description: 'Phone number (for phone search)',
46
+ required: false,
47
+ }),
48
+ accountNumber: pieces_framework_1.Property.ShortText({
49
+ displayName: 'Account Number',
50
+ description: 'Account number (for account search)',
51
+ required: false,
52
+ }),
53
+ maxRecords: pieces_framework_1.Property.Number({
54
+ displayName: 'Max Records',
55
+ description: 'Maximum number of records to return',
56
+ required: false,
57
+ defaultValue: 25,
58
+ }),
59
+ effectiveUserId: pieces_framework_1.Property.ShortText({
60
+ displayName: 'Effective User ID',
61
+ description: 'Optional: User ID for audit purposes',
62
+ required: false,
63
+ }),
64
+ },
65
+ run(context) {
66
+ return tslib_1.__awaiter(this, void 0, void 0, function* () {
67
+ const auth = context.auth;
68
+ const baseUrl = auth.baseUrl;
69
+ const { searchType, lastName, firstName, tin, phoneNumber, accountNumber, maxRecords, effectiveUserId, } = context.propsValue;
70
+ const uuid = crypto.randomUUID();
71
+ const headers = {
72
+ 'accept': 'application/json',
73
+ 'Content-Type': 'application/json',
74
+ 'organization-id': auth.organizationId,
75
+ 'source-id': auth.sourceId,
76
+ 'application-id': auth.applicationId,
77
+ 'uuid': uuid,
78
+ 'ibs-authorization': auth.ibsAuthorization,
79
+ };
80
+ if (auth.securityTokenType) {
81
+ headers['security-token-type'] = auth.securityTokenType;
82
+ }
83
+ if (effectiveUserId) {
84
+ headers['effective-user-id'] = effectiveUserId;
85
+ }
86
+ // Build query parameters based on search type
87
+ const queryParams = {};
88
+ if (maxRecords) {
89
+ queryParams['maxRecs'] = String(maxRecords);
90
+ }
91
+ switch (searchType) {
92
+ case 'name':
93
+ if (lastName) {
94
+ queryParams['lastName'] = lastName;
95
+ }
96
+ if (firstName) {
97
+ queryParams['firstName'] = firstName;
98
+ }
99
+ break;
100
+ case 'tin':
101
+ if (tin) {
102
+ queryParams['tin'] = tin;
103
+ }
104
+ break;
105
+ case 'phone':
106
+ if (phoneNumber) {
107
+ queryParams['phone'] = phoneNumber;
108
+ }
109
+ break;
110
+ case 'account':
111
+ if (accountNumber) {
112
+ queryParams['acctNbr'] = accountNumber;
113
+ }
114
+ break;
115
+ }
116
+ const queryString = new URLSearchParams(queryParams).toString();
117
+ const url = `${baseUrl}/IBSCISRCH/v4/customers${queryString ? '?' + queryString : ''}`;
118
+ const response = yield pieces_common_1.httpClient.sendRequest({
119
+ method: pieces_common_1.HttpMethod.GET,
120
+ url,
121
+ headers,
122
+ });
123
+ return response.body;
124
+ });
125
+ },
126
+ });
127
+ //# sourceMappingURL=search-customers.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"search-customers.js","sourceRoot":"","sources":["../../../../../../../../packages/pieces/custom/fis-ibs/src/lib/actions/search-customers.ts"],"names":[],"mappings":"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"}