@vqnguyen1/piece-symxchange 0.0.2

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/package.json ADDED
@@ -0,0 +1,10 @@
1
+ {
2
+ "name": "@vqnguyen1/piece-symxchange",
3
+ "version": "0.0.2",
4
+ "main": "./src/index.js",
5
+ "types": "./src/index.d.ts",
6
+ "dependencies": {
7
+ "fast-xml-parser": "5.7.0",
8
+ "tslib": "2.6.2"
9
+ }
10
+ }
package/src/index.d.ts ADDED
@@ -0,0 +1,8 @@
1
+ export declare const symxchange: import("@activepieces/pieces-framework").Piece<import("@activepieces/pieces-framework").CustomAuthProperty<{
2
+ baseUrl: import("@activepieces/pieces-framework").ShortTextProperty<true>;
3
+ deviceType: import("@activepieces/pieces-framework").ShortTextProperty<true>;
4
+ deviceNumber: import("@activepieces/pieces-framework").NumberProperty<true>;
5
+ adminPassword: import("@activepieces/pieces-framework").SecretTextProperty<false>;
6
+ userNumber: import("@activepieces/pieces-framework").NumberProperty<false>;
7
+ userPassword: import("@activepieces/pieces-framework").SecretTextProperty<false>;
8
+ }>>;
package/src/index.js ADDED
@@ -0,0 +1,31 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.symxchange = void 0;
4
+ const pieces_framework_1 = require("@activepieces/pieces-framework");
5
+ const shared_1 = require("@activepieces/shared");
6
+ const call_operation_1 = require("./lib/actions/call-operation");
7
+ const deposit_funds_1 = require("./lib/actions/deposit-funds");
8
+ const find_accounts_1 = require("./lib/actions/find-accounts");
9
+ const get_account_1 = require("./lib/actions/get-account");
10
+ const transfer_funds_1 = require("./lib/actions/transfer-funds");
11
+ const withdraw_funds_1 = require("./lib/actions/withdraw-funds");
12
+ const auth_1 = require("./lib/auth");
13
+ exports.symxchange = (0, pieces_framework_1.createPiece)({
14
+ displayName: 'Symitar SymXchange',
15
+ description: 'Credit union core banking via Jack Henry Symitar SymXchange — member accounts, transactions, and every SOAP service operation.',
16
+ minimumSupportedRelease: '0.36.1',
17
+ logoUrl: 'data:image/webp;base64,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',
18
+ categories: [shared_1.PieceCategory.PAYMENT_PROCESSING, shared_1.PieceCategory.ACCOUNTING],
19
+ auth: auth_1.symxchangeAuth,
20
+ authors: ['vqnguyen1'],
21
+ actions: [
22
+ find_accounts_1.findAccounts,
23
+ get_account_1.getAccount,
24
+ transfer_funds_1.transferFunds,
25
+ deposit_funds_1.depositFunds,
26
+ withdraw_funds_1.withdrawFunds,
27
+ call_operation_1.callOperation,
28
+ ],
29
+ triggers: [],
30
+ });
31
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":";;;AAAA,qEAA6D;AAC7D,iDAAqD;AACrD,iEAA6D;AAC7D,+DAA2D;AAC3D,+DAA2D;AAC3D,2DAAuD;AACvD,iEAA6D;AAC7D,iEAA6D;AAC7D,qCAA4C;AAE/B,QAAA,UAAU,GAAG,IAAA,8BAAW,EAAC;IAClC,WAAW,EAAE,oBAAoB;IACjC,WAAW,EAAE,gIAAgI;IAC7I,uBAAuB,EAAE,QAAQ;IACjC,OAAO,EAAE,i6gBAAi6gB;IAC16gB,UAAU,EAAE,CAAC,sBAAa,CAAC,kBAAkB,EAAE,sBAAa,CAAC,UAAU,CAAC;IACxE,IAAI,EAAE,qBAAc;IACpB,OAAO,EAAE,CAAC,WAAW,CAAC;IACtB,OAAO,EAAE;QACL,4BAAY;QACZ,wBAAU;QACV,8BAAa;QACb,4BAAY;QACZ,8BAAa;QACb,8BAAa;KAChB;IACD,QAAQ,EAAE,EAAE;CACf,CAAC,CAAC"}
@@ -0,0 +1,14 @@
1
+ export declare const callOperation: import("@activepieces/pieces-framework").IAction<import("@activepieces/pieces-framework").CustomAuthProperty<{
2
+ baseUrl: import("@activepieces/pieces-framework").ShortTextProperty<true>;
3
+ deviceType: import("@activepieces/pieces-framework").ShortTextProperty<true>;
4
+ deviceNumber: import("@activepieces/pieces-framework").NumberProperty<true>;
5
+ adminPassword: import("@activepieces/pieces-framework").SecretTextProperty<false>;
6
+ userNumber: import("@activepieces/pieces-framework").NumberProperty<false>;
7
+ userPassword: import("@activepieces/pieces-framework").SecretTextProperty<false>;
8
+ }>, {
9
+ service: import("@activepieces/pieces-framework").StaticDropdownProperty<"account" | "collateral" | "dealer" | "findby" | "generalledger" | "information" | "payee" | "transactions" | "user", true>;
10
+ operation: import("@activepieces/pieces-framework").ShortTextProperty<true>;
11
+ requestXml: import("@activepieces/pieces-framework").LongTextProperty<false>;
12
+ includeCredentials: import("@activepieces/pieces-framework").CheckboxProperty<false>;
13
+ endpointOverride: import("@activepieces/pieces-framework").ShortTextProperty<false>;
14
+ }>;
@@ -0,0 +1,76 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.callOperation = void 0;
4
+ const tslib_1 = require("tslib");
5
+ const pieces_framework_1 = require("@activepieces/pieces-framework");
6
+ const auth_1 = require("../auth");
7
+ const client_1 = require("../common/client");
8
+ const CREDENTIALS_PLACEHOLDER = '<!--CREDENTIALS-->';
9
+ const SERVICE_OPTIONS = [
10
+ { label: 'Account', value: 'account' },
11
+ { label: 'Collateral', value: 'collateral' },
12
+ { label: 'Dealer', value: 'dealer' },
13
+ { label: 'FindBy', value: 'findby' },
14
+ { label: 'General Ledger', value: 'generalledger' },
15
+ { label: 'Information', value: 'information' },
16
+ { label: 'Payee', value: 'payee' },
17
+ { label: 'Transactions', value: 'transactions' },
18
+ { label: 'User', value: 'user' },
19
+ ];
20
+ exports.callOperation = (0, pieces_framework_1.createAction)({
21
+ auth: auth_1.symxchangeAuth,
22
+ name: 'call_operation',
23
+ displayName: 'Call SymXchange Operation',
24
+ description: 'Call any operation on any SymXchange service — the escape hatch for the hundreds of operations without a dedicated action.',
25
+ props: {
26
+ service: pieces_framework_1.Property.StaticDropdown({
27
+ displayName: 'Service',
28
+ description: 'The SymXchange service that owns the operation (matches the WSDL, e.g. Account for getShareSelectFields).',
29
+ required: true,
30
+ options: {
31
+ options: SERVICE_OPTIONS,
32
+ },
33
+ }),
34
+ operation: pieces_framework_1.Property.ShortText({
35
+ displayName: 'Operation',
36
+ description: 'Exact operation name from the WSDL, e.g. getAccountSelectFields, findBySSN, payLoan.',
37
+ required: true,
38
+ }),
39
+ requestXml: pieces_framework_1.Property.LongText({
40
+ displayName: 'Request Body XML',
41
+ description: `The child elements of the <Request> element. The envelope, MessageId, Credentials, and DeviceInformation are added for you — Credentials + DeviceInformation are prepended, or placed exactly where you put \`${CREDENTIALS_PLACEHOLDER}\` when the operation's schema expects them mid-sequence. Prefixes available: \`cmn:\` (symxcommon), \`retrieve:\`/\`update:\` (CRUD service DTOs) or \`dto:\` (FindBy/Transactions/Information DTOs).`,
42
+ required: false,
43
+ }),
44
+ includeCredentials: pieces_framework_1.Property.Checkbox({
45
+ displayName: 'Include Credentials',
46
+ description: 'Disable to omit the automatic Credentials and DeviceInformation elements entirely.',
47
+ required: false,
48
+ defaultValue: true,
49
+ }),
50
+ endpointOverride: pieces_framework_1.Property.ShortText({
51
+ displayName: 'Endpoint Override',
52
+ description: 'Full service URL to use instead of Base URL + service path.',
53
+ required: false,
54
+ }),
55
+ },
56
+ run(context) {
57
+ return tslib_1.__awaiter(this, void 0, void 0, function* () {
58
+ const { service, operation, requestXml, includeCredentials, endpointOverride } = context.propsValue;
59
+ const bodyXml = requestXml !== null && requestXml !== void 0 ? requestXml : '';
60
+ const credentialsBlock = includeCredentials === false
61
+ ? ''
62
+ : client_1.symxClient.buildCredentialsXml({ auth: context.auth.props }) + client_1.symxClient.buildDeviceXml({ auth: context.auth.props });
63
+ const innerXml = bodyXml.includes(CREDENTIALS_PLACEHOLDER)
64
+ ? bodyXml.replace(CREDENTIALS_PLACEHOLDER, credentialsBlock)
65
+ : credentialsBlock + bodyXml;
66
+ return client_1.symxClient.call({
67
+ auth: context.auth.props,
68
+ service,
69
+ operation,
70
+ innerXml,
71
+ endpointOverride,
72
+ });
73
+ });
74
+ },
75
+ });
76
+ //# sourceMappingURL=call-operation.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"call-operation.js","sourceRoot":"","sources":["../../../../src/lib/actions/call-operation.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,14 @@
1
+ export declare const depositFunds: import("@activepieces/pieces-framework").IAction<import("@activepieces/pieces-framework").CustomAuthProperty<{
2
+ baseUrl: import("@activepieces/pieces-framework").ShortTextProperty<true>;
3
+ deviceType: import("@activepieces/pieces-framework").ShortTextProperty<true>;
4
+ deviceNumber: import("@activepieces/pieces-framework").NumberProperty<true>;
5
+ adminPassword: import("@activepieces/pieces-framework").SecretTextProperty<false>;
6
+ userNumber: import("@activepieces/pieces-framework").NumberProperty<false>;
7
+ userPassword: import("@activepieces/pieces-framework").SecretTextProperty<false>;
8
+ }>, {
9
+ accountNumber: import("@activepieces/pieces-framework").ShortTextProperty<true>;
10
+ shareId: import("@activepieces/pieces-framework").ShortTextProperty<true>;
11
+ amount: import("@activepieces/pieces-framework").NumberProperty<true>;
12
+ comment: import("@activepieces/pieces-framework").ShortTextProperty<false>;
13
+ effectiveDate: import("@activepieces/pieces-framework").DateTimeProperty<false>;
14
+ }>;
@@ -0,0 +1,61 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.depositFunds = void 0;
4
+ const tslib_1 = require("tslib");
5
+ const pieces_framework_1 = require("@activepieces/pieces-framework");
6
+ const auth_1 = require("../auth");
7
+ const client_1 = require("../common/client");
8
+ exports.depositFunds = (0, pieces_framework_1.createAction)({
9
+ auth: auth_1.symxchangeAuth,
10
+ name: 'deposit_funds',
11
+ displayName: 'Deposit Funds',
12
+ description: 'Deposit money into a share (Transactions service).',
13
+ props: {
14
+ accountNumber: pieces_framework_1.Property.ShortText({
15
+ displayName: 'Account Number',
16
+ required: true,
17
+ }),
18
+ shareId: pieces_framework_1.Property.ShortText({
19
+ displayName: 'Share ID',
20
+ description: 'The share ID within the account, e.g. 0000.',
21
+ required: true,
22
+ }),
23
+ amount: pieces_framework_1.Property.Number({
24
+ displayName: 'Amount',
25
+ required: true,
26
+ }),
27
+ comment: pieces_framework_1.Property.ShortText({
28
+ displayName: 'Comment',
29
+ description: 'Transaction description shown on the member record.',
30
+ required: false,
31
+ }),
32
+ effectiveDate: pieces_framework_1.Property.DateTime({
33
+ displayName: 'Effective Date',
34
+ description: 'Post the deposit as of this date. Leave empty for today.',
35
+ required: false,
36
+ }),
37
+ },
38
+ run(context) {
39
+ return tslib_1.__awaiter(this, void 0, void 0, function* () {
40
+ const { accountNumber, shareId, amount, comment, effectiveDate } = context.propsValue;
41
+ const innerXml = client_1.symxClient.buildCredentialsXml({ auth: context.auth.props })
42
+ + client_1.symxClient.buildDeviceXml({ auth: context.auth.props })
43
+ + client_1.symxClient.tag({ name: 'AccountNumber', value: accountNumber })
44
+ + client_1.symxClient.dtoTag({ name: 'ShareId', value: shareId })
45
+ + `<DepositAmounts>${client_1.symxClient.dtoTag({ name: 'TotalAmount', value: amount })}</DepositAmounts>`
46
+ + client_1.symxClient.dtoTag({ name: 'Comment', value: comment })
47
+ + client_1.symxClient.dtoTag({ name: 'EffectiveDate', value: effectiveDate ? effectiveDate.slice(0, 10) : undefined });
48
+ const response = yield client_1.symxClient.call({
49
+ auth: context.auth.props,
50
+ service: 'transactions',
51
+ operation: 'deposit',
52
+ innerXml,
53
+ });
54
+ return {
55
+ result: client_1.symxClient.unwrapResponse({ response }),
56
+ raw: response,
57
+ };
58
+ });
59
+ },
60
+ });
61
+ //# sourceMappingURL=deposit-funds.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"deposit-funds.js","sourceRoot":"","sources":["../../../../src/lib/actions/deposit-funds.ts"],"names":[],"mappings":";;;;AAAA,qEAAwE;AACxE,kCAAyC;AACzC,6CAA8C;AAEjC,QAAA,YAAY,GAAG,IAAA,+BAAY,EAAC;IACrC,IAAI,EAAE,qBAAc;IACpB,IAAI,EAAE,eAAe;IACrB,WAAW,EAAE,eAAe;IAC5B,WAAW,EAAE,oDAAoD;IACjE,KAAK,EAAE;QACH,aAAa,EAAE,2BAAQ,CAAC,SAAS,CAAC;YAC9B,WAAW,EAAE,gBAAgB;YAC7B,QAAQ,EAAE,IAAI;SACjB,CAAC;QACF,OAAO,EAAE,2BAAQ,CAAC,SAAS,CAAC;YACxB,WAAW,EAAE,UAAU;YACvB,WAAW,EAAE,6CAA6C;YAC1D,QAAQ,EAAE,IAAI;SACjB,CAAC;QACF,MAAM,EAAE,2BAAQ,CAAC,MAAM,CAAC;YACpB,WAAW,EAAE,QAAQ;YACrB,QAAQ,EAAE,IAAI;SACjB,CAAC;QACF,OAAO,EAAE,2BAAQ,CAAC,SAAS,CAAC;YACxB,WAAW,EAAE,SAAS;YACtB,WAAW,EAAE,qDAAqD;YAClE,QAAQ,EAAE,KAAK;SAClB,CAAC;QACF,aAAa,EAAE,2BAAQ,CAAC,QAAQ,CAAC;YAC7B,WAAW,EAAE,gBAAgB;YAC7B,WAAW,EAAE,0DAA0D;YACvE,QAAQ,EAAE,KAAK;SAClB,CAAC;KACL;IACK,GAAG,CAAC,OAAO;;YACb,MAAM,EAAE,aAAa,EAAE,OAAO,EAAE,MAAM,EAAE,OAAO,EAAE,aAAa,EAAE,GAAG,OAAO,CAAC,UAAU,CAAC;YACtF,MAAM,QAAQ,GAAG,mBAAU,CAAC,mBAAmB,CAAC,EAAE,IAAI,EAAE,OAAO,CAAC,IAAI,CAAC,KAAK,EAAE,CAAC;kBACvE,mBAAU,CAAC,cAAc,CAAC,EAAE,IAAI,EAAE,OAAO,CAAC,IAAI,CAAC,KAAK,EAAE,CAAC;kBACvD,mBAAU,CAAC,GAAG,CAAC,EAAE,IAAI,EAAE,eAAe,EAAE,KAAK,EAAE,aAAa,EAAE,CAAC;kBAC/D,mBAAU,CAAC,MAAM,CAAC,EAAE,IAAI,EAAE,SAAS,EAAE,KAAK,EAAE,OAAO,EAAE,CAAC;kBACtD,mBAAmB,mBAAU,CAAC,MAAM,CAAC,EAAE,IAAI,EAAE,aAAa,EAAE,KAAK,EAAE,MAAM,EAAE,CAAC,mBAAmB;kBAC/F,mBAAU,CAAC,MAAM,CAAC,EAAE,IAAI,EAAE,SAAS,EAAE,KAAK,EAAE,OAAO,EAAE,CAAC;kBACtD,mBAAU,CAAC,MAAM,CAAC,EAAE,IAAI,EAAE,eAAe,EAAE,KAAK,EAAE,aAAa,CAAC,CAAC,CAAC,aAAa,CAAC,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,SAAS,EAAE,CAAC,CAAC;YAClH,MAAM,QAAQ,GAAG,MAAM,mBAAU,CAAC,IAAI,CAAC;gBACnC,IAAI,EAAE,OAAO,CAAC,IAAI,CAAC,KAAK;gBACxB,OAAO,EAAE,cAAc;gBACvB,SAAS,EAAE,SAAS;gBACpB,QAAQ;aACX,CAAC,CAAC;YACH,OAAO;gBACH,MAAM,EAAE,mBAAU,CAAC,cAAc,CAAC,EAAE,QAAQ,EAAE,CAAC;gBAC/C,GAAG,EAAE,QAAQ;aAChB,CAAC;QACN,CAAC;KAAA;CACJ,CAAC,CAAC"}
@@ -0,0 +1,11 @@
1
+ export declare const findAccounts: import("@activepieces/pieces-framework").IAction<import("@activepieces/pieces-framework").CustomAuthProperty<{
2
+ baseUrl: import("@activepieces/pieces-framework").ShortTextProperty<true>;
3
+ deviceType: import("@activepieces/pieces-framework").ShortTextProperty<true>;
4
+ deviceNumber: import("@activepieces/pieces-framework").NumberProperty<true>;
5
+ adminPassword: import("@activepieces/pieces-framework").SecretTextProperty<false>;
6
+ userNumber: import("@activepieces/pieces-framework").NumberProperty<false>;
7
+ userPassword: import("@activepieces/pieces-framework").SecretTextProperty<false>;
8
+ }>, {
9
+ lookupType: import("@activepieces/pieces-framework").StaticDropdownProperty<string, true>;
10
+ value: import("@activepieces/pieces-framework").ShortTextProperty<true>;
11
+ }>;
@@ -0,0 +1,75 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.findAccounts = void 0;
4
+ const tslib_1 = require("tslib");
5
+ const pieces_framework_1 = require("@activepieces/pieces-framework");
6
+ const auth_1 = require("../auth");
7
+ const client_1 = require("../common/client");
8
+ function buildLookup({ lookupType, value, credentialsXml, deviceXml }) {
9
+ // Element order follows each request type's schema sequence — findByShortName
10
+ // is the odd one out with credentials first
11
+ switch (lookupType) {
12
+ case 'ssn':
13
+ return { operation: 'findBySSN', innerXml: client_1.symxClient.tag({ name: 'SSN', value }) + deviceXml + credentialsXml };
14
+ case 'shortName':
15
+ return { operation: 'findByShortName', innerXml: credentialsXml + deviceXml + client_1.symxClient.tag({ name: 'ShortName', value }) };
16
+ case 'activeCard':
17
+ return { operation: 'findByActiveCard', innerXml: client_1.symxClient.tag({ name: 'CardNumber', value }) + deviceXml + credentialsXml };
18
+ case 'anyCard':
19
+ return { operation: 'findByAnyCard', innerXml: client_1.symxClient.tag({ name: 'CardNumber', value }) + deviceXml + credentialsXml };
20
+ case 'homeUser':
21
+ return { operation: 'findByHomeUser', innerXml: client_1.symxClient.tag({ name: 'HomeBankingUserName', value }) + deviceXml + credentialsXml };
22
+ default:
23
+ throw new Error(`Unsupported lookup type: ${lookupType}`);
24
+ }
25
+ }
26
+ exports.findAccounts = (0, pieces_framework_1.createAction)({
27
+ auth: auth_1.symxchangeAuth,
28
+ name: 'find_accounts',
29
+ displayName: 'Find Accounts',
30
+ description: 'Look up member account numbers by SSN, short name, card number, or home banking username (FindBy service).',
31
+ props: {
32
+ lookupType: pieces_framework_1.Property.StaticDropdown({
33
+ displayName: 'Look Up By',
34
+ required: true,
35
+ defaultValue: 'ssn',
36
+ options: {
37
+ options: [
38
+ { label: 'SSN / Tax ID', value: 'ssn' },
39
+ { label: 'Short Name', value: 'shortName' },
40
+ { label: 'Active Card Number', value: 'activeCard' },
41
+ { label: 'Any Card Number', value: 'anyCard' },
42
+ { label: 'Home Banking Username', value: 'homeUser' },
43
+ ],
44
+ },
45
+ }),
46
+ value: pieces_framework_1.Property.ShortText({
47
+ displayName: 'Value',
48
+ description: 'The SSN (9 digits), short name, card number, or username to look up.',
49
+ required: true,
50
+ }),
51
+ },
52
+ run(context) {
53
+ return tslib_1.__awaiter(this, void 0, void 0, function* () {
54
+ const { lookupType, value } = context.propsValue;
55
+ const { operation, innerXml } = buildLookup({
56
+ lookupType,
57
+ value,
58
+ credentialsXml: client_1.symxClient.buildCredentialsXml({ auth: context.auth.props }),
59
+ deviceXml: client_1.symxClient.buildDeviceXml({ auth: context.auth.props }),
60
+ });
61
+ const response = yield client_1.symxClient.call({
62
+ auth: context.auth.props,
63
+ service: 'findby',
64
+ operation,
65
+ innerXml,
66
+ });
67
+ const unwrapped = client_1.symxClient.unwrapResponse({ response });
68
+ return {
69
+ accountNumbers: client_1.symxClient.asArray({ value: unwrapped['AccountNumber'] }),
70
+ raw: response,
71
+ };
72
+ });
73
+ },
74
+ });
75
+ //# sourceMappingURL=find-accounts.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"find-accounts.js","sourceRoot":"","sources":["../../../../src/lib/actions/find-accounts.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,10 @@
1
+ export declare const getAccount: import("@activepieces/pieces-framework").IAction<import("@activepieces/pieces-framework").CustomAuthProperty<{
2
+ baseUrl: import("@activepieces/pieces-framework").ShortTextProperty<true>;
3
+ deviceType: import("@activepieces/pieces-framework").ShortTextProperty<true>;
4
+ deviceNumber: import("@activepieces/pieces-framework").NumberProperty<true>;
5
+ adminPassword: import("@activepieces/pieces-framework").SecretTextProperty<false>;
6
+ userNumber: import("@activepieces/pieces-framework").NumberProperty<false>;
7
+ userPassword: import("@activepieces/pieces-framework").SecretTextProperty<false>;
8
+ }>, {
9
+ accountNumber: import("@activepieces/pieces-framework").ShortTextProperty<true>;
10
+ }>;
@@ -0,0 +1,42 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.getAccount = void 0;
4
+ const tslib_1 = require("tslib");
5
+ const pieces_framework_1 = require("@activepieces/pieces-framework");
6
+ const auth_1 = require("../auth");
7
+ const client_1 = require("../common/client");
8
+ exports.getAccount = (0, pieces_framework_1.createAction)({
9
+ auth: auth_1.symxchangeAuth,
10
+ name: 'get_account',
11
+ displayName: 'Get Account',
12
+ description: 'Retrieve an account record with all fields (getAccountSelectFields).',
13
+ props: {
14
+ accountNumber: pieces_framework_1.Property.ShortText({
15
+ displayName: 'Account Number',
16
+ description: 'The member account number, zero-padded as stored in Symitar, e.g. 0000012345.',
17
+ required: true,
18
+ }),
19
+ },
20
+ run(context) {
21
+ return tslib_1.__awaiter(this, void 0, void 0, function* () {
22
+ var _a;
23
+ const { accountNumber } = context.propsValue;
24
+ const innerXml = client_1.symxClient.tag({ name: 'AccountNumber', value: accountNumber })
25
+ + client_1.symxClient.buildCredentialsXml({ auth: context.auth.props })
26
+ + client_1.symxClient.buildDeviceXml({ auth: context.auth.props })
27
+ + '<SelectableFields><IncludeAllAccountFields>true</IncludeAllAccountFields></SelectableFields>';
28
+ const response = yield client_1.symxClient.call({
29
+ auth: context.auth.props,
30
+ service: 'account',
31
+ operation: 'getAccountSelectFields',
32
+ innerXml,
33
+ });
34
+ const unwrapped = client_1.symxClient.unwrapResponse({ response });
35
+ return {
36
+ account: (_a = unwrapped['Account']) !== null && _a !== void 0 ? _a : null,
37
+ raw: response,
38
+ };
39
+ });
40
+ },
41
+ });
42
+ //# sourceMappingURL=get-account.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"get-account.js","sourceRoot":"","sources":["../../../../src/lib/actions/get-account.ts"],"names":[],"mappings":";;;;AAAA,qEAAwE;AACxE,kCAAyC;AACzC,6CAA8C;AAEjC,QAAA,UAAU,GAAG,IAAA,+BAAY,EAAC;IACnC,IAAI,EAAE,qBAAc;IACpB,IAAI,EAAE,aAAa;IACnB,WAAW,EAAE,aAAa;IAC1B,WAAW,EAAE,sEAAsE;IACnF,KAAK,EAAE;QACH,aAAa,EAAE,2BAAQ,CAAC,SAAS,CAAC;YAC9B,WAAW,EAAE,gBAAgB;YAC7B,WAAW,EAAE,+EAA+E;YAC5F,QAAQ,EAAE,IAAI;SACjB,CAAC;KACL;IACK,GAAG,CAAC,OAAO;;;YACb,MAAM,EAAE,aAAa,EAAE,GAAG,OAAO,CAAC,UAAU,CAAC;YAC7C,MAAM,QAAQ,GAAG,mBAAU,CAAC,GAAG,CAAC,EAAE,IAAI,EAAE,eAAe,EAAE,KAAK,EAAE,aAAa,EAAE,CAAC;kBAC1E,mBAAU,CAAC,mBAAmB,CAAC,EAAE,IAAI,EAAE,OAAO,CAAC,IAAI,CAAC,KAAK,EAAE,CAAC;kBAC5D,mBAAU,CAAC,cAAc,CAAC,EAAE,IAAI,EAAE,OAAO,CAAC,IAAI,CAAC,KAAK,EAAE,CAAC;kBACvD,8FAA8F,CAAC;YACrG,MAAM,QAAQ,GAAG,MAAM,mBAAU,CAAC,IAAI,CAAC;gBACnC,IAAI,EAAE,OAAO,CAAC,IAAI,CAAC,KAAK;gBACxB,OAAO,EAAE,SAAS;gBAClB,SAAS,EAAE,wBAAwB;gBACnC,QAAQ;aACX,CAAC,CAAC;YACH,MAAM,SAAS,GAAG,mBAAU,CAAC,cAAc,CAAC,EAAE,QAAQ,EAAE,CAAC,CAAC;YAC1D,OAAO;gBACH,OAAO,EAAE,MAAA,SAAS,CAAC,SAAS,CAAC,mCAAI,IAAI;gBACrC,GAAG,EAAE,QAAQ;aAChB,CAAC;QACN,CAAC;KAAA;CACJ,CAAC,CAAC"}
@@ -0,0 +1,17 @@
1
+ export declare const transferFunds: import("@activepieces/pieces-framework").IAction<import("@activepieces/pieces-framework").CustomAuthProperty<{
2
+ baseUrl: import("@activepieces/pieces-framework").ShortTextProperty<true>;
3
+ deviceType: import("@activepieces/pieces-framework").ShortTextProperty<true>;
4
+ deviceNumber: import("@activepieces/pieces-framework").NumberProperty<true>;
5
+ adminPassword: import("@activepieces/pieces-framework").SecretTextProperty<false>;
6
+ userNumber: import("@activepieces/pieces-framework").NumberProperty<false>;
7
+ userPassword: import("@activepieces/pieces-framework").SecretTextProperty<false>;
8
+ }>, {
9
+ donorAccountNumber: import("@activepieces/pieces-framework").ShortTextProperty<true>;
10
+ donorId: import("@activepieces/pieces-framework").ShortTextProperty<true>;
11
+ donorType: import("@activepieces/pieces-framework").StaticDropdownProperty<string, true>;
12
+ recipientAccountNumber: import("@activepieces/pieces-framework").ShortTextProperty<true>;
13
+ recipientId: import("@activepieces/pieces-framework").ShortTextProperty<true>;
14
+ recipientType: import("@activepieces/pieces-framework").StaticDropdownProperty<string, true>;
15
+ amount: import("@activepieces/pieces-framework").NumberProperty<true>;
16
+ comment: import("@activepieces/pieces-framework").ShortTextProperty<false>;
17
+ }>;
@@ -0,0 +1,89 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.transferFunds = void 0;
4
+ const tslib_1 = require("tslib");
5
+ const pieces_framework_1 = require("@activepieces/pieces-framework");
6
+ const auth_1 = require("../auth");
7
+ const client_1 = require("../common/client");
8
+ const TYPE_OPTIONS = [
9
+ { label: 'Share', value: 'Share' },
10
+ { label: 'Loan', value: 'Loan' },
11
+ { label: 'GL', value: 'GL' },
12
+ ];
13
+ exports.transferFunds = (0, pieces_framework_1.createAction)({
14
+ auth: auth_1.symxchangeAuth,
15
+ name: 'transfer_funds',
16
+ displayName: 'Transfer Funds',
17
+ description: 'Transfer money between shares, loans, or GL accounts (Transactions service).',
18
+ props: {
19
+ donorAccountNumber: pieces_framework_1.Property.ShortText({
20
+ displayName: 'From Account Number',
21
+ required: true,
22
+ }),
23
+ donorId: pieces_framework_1.Property.ShortText({
24
+ displayName: 'From Share/Loan ID',
25
+ description: 'The share or loan ID within the donor account, e.g. 0000.',
26
+ required: true,
27
+ }),
28
+ donorType: pieces_framework_1.Property.StaticDropdown({
29
+ displayName: 'From Type',
30
+ required: true,
31
+ defaultValue: 'Share',
32
+ options: {
33
+ options: TYPE_OPTIONS,
34
+ },
35
+ }),
36
+ recipientAccountNumber: pieces_framework_1.Property.ShortText({
37
+ displayName: 'To Account Number',
38
+ required: true,
39
+ }),
40
+ recipientId: pieces_framework_1.Property.ShortText({
41
+ displayName: 'To Share/Loan ID',
42
+ description: 'The share or loan ID within the recipient account, e.g. 0000.',
43
+ required: true,
44
+ }),
45
+ recipientType: pieces_framework_1.Property.StaticDropdown({
46
+ displayName: 'To Type',
47
+ required: true,
48
+ defaultValue: 'Share',
49
+ options: {
50
+ options: TYPE_OPTIONS,
51
+ },
52
+ }),
53
+ amount: pieces_framework_1.Property.Number({
54
+ displayName: 'Amount',
55
+ required: true,
56
+ }),
57
+ comment: pieces_framework_1.Property.ShortText({
58
+ displayName: 'Comment',
59
+ description: 'Transaction description shown on the member record.',
60
+ required: false,
61
+ }),
62
+ },
63
+ run(context) {
64
+ return tslib_1.__awaiter(this, void 0, void 0, function* () {
65
+ const { donorAccountNumber, donorId, donorType, recipientAccountNumber, recipientId, recipientType, amount, comment } = context.propsValue;
66
+ const innerXml = client_1.symxClient.buildCredentialsXml({ auth: context.auth.props })
67
+ + client_1.symxClient.buildDeviceXml({ auth: context.auth.props })
68
+ + client_1.symxClient.dtoTag({ name: 'DonorAccountNumber', value: donorAccountNumber })
69
+ + client_1.symxClient.dtoTag({ name: 'DonorId', value: donorId })
70
+ + client_1.symxClient.dtoTag({ name: 'DonorType', value: donorType })
71
+ + client_1.symxClient.dtoTag({ name: 'RecipientAccountNumber', value: recipientAccountNumber })
72
+ + client_1.symxClient.dtoTag({ name: 'RecipientId', value: recipientId })
73
+ + client_1.symxClient.dtoTag({ name: 'RecipientType', value: recipientType })
74
+ + client_1.symxClient.tag({ name: 'TransferAmount', value: amount })
75
+ + client_1.symxClient.dtoTag({ name: 'Comment', value: comment });
76
+ const response = yield client_1.symxClient.call({
77
+ auth: context.auth.props,
78
+ service: 'transactions',
79
+ operation: 'transfer',
80
+ innerXml,
81
+ });
82
+ return {
83
+ result: client_1.symxClient.unwrapResponse({ response }),
84
+ raw: response,
85
+ };
86
+ });
87
+ },
88
+ });
89
+ //# sourceMappingURL=transfer-funds.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"transfer-funds.js","sourceRoot":"","sources":["../../../../src/lib/actions/transfer-funds.ts"],"names":[],"mappings":";;;;AAAA,qEAAwE;AACxE,kCAAyC;AACzC,6CAA8C;AAE9C,MAAM,YAAY,GAAG;IACjB,EAAE,KAAK,EAAE,OAAO,EAAE,KAAK,EAAE,OAAO,EAAE;IAClC,EAAE,KAAK,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE;IAChC,EAAE,KAAK,EAAE,IAAI,EAAE,KAAK,EAAE,IAAI,EAAE;CAC/B,CAAC;AAEW,QAAA,aAAa,GAAG,IAAA,+BAAY,EAAC;IACtC,IAAI,EAAE,qBAAc;IACpB,IAAI,EAAE,gBAAgB;IACtB,WAAW,EAAE,gBAAgB;IAC7B,WAAW,EAAE,8EAA8E;IAC3F,KAAK,EAAE;QACH,kBAAkB,EAAE,2BAAQ,CAAC,SAAS,CAAC;YACnC,WAAW,EAAE,qBAAqB;YAClC,QAAQ,EAAE,IAAI;SACjB,CAAC;QACF,OAAO,EAAE,2BAAQ,CAAC,SAAS,CAAC;YACxB,WAAW,EAAE,oBAAoB;YACjC,WAAW,EAAE,2DAA2D;YACxE,QAAQ,EAAE,IAAI;SACjB,CAAC;QACF,SAAS,EAAE,2BAAQ,CAAC,cAAc,CAAC;YAC/B,WAAW,EAAE,WAAW;YACxB,QAAQ,EAAE,IAAI;YACd,YAAY,EAAE,OAAO;YACrB,OAAO,EAAE;gBACL,OAAO,EAAE,YAAY;aACxB;SACJ,CAAC;QACF,sBAAsB,EAAE,2BAAQ,CAAC,SAAS,CAAC;YACvC,WAAW,EAAE,mBAAmB;YAChC,QAAQ,EAAE,IAAI;SACjB,CAAC;QACF,WAAW,EAAE,2BAAQ,CAAC,SAAS,CAAC;YAC5B,WAAW,EAAE,kBAAkB;YAC/B,WAAW,EAAE,+DAA+D;YAC5E,QAAQ,EAAE,IAAI;SACjB,CAAC;QACF,aAAa,EAAE,2BAAQ,CAAC,cAAc,CAAC;YACnC,WAAW,EAAE,SAAS;YACtB,QAAQ,EAAE,IAAI;YACd,YAAY,EAAE,OAAO;YACrB,OAAO,EAAE;gBACL,OAAO,EAAE,YAAY;aACxB;SACJ,CAAC;QACF,MAAM,EAAE,2BAAQ,CAAC,MAAM,CAAC;YACpB,WAAW,EAAE,QAAQ;YACrB,QAAQ,EAAE,IAAI;SACjB,CAAC;QACF,OAAO,EAAE,2BAAQ,CAAC,SAAS,CAAC;YACxB,WAAW,EAAE,SAAS;YACtB,WAAW,EAAE,qDAAqD;YAClE,QAAQ,EAAE,KAAK;SAClB,CAAC;KACL;IACK,GAAG,CAAC,OAAO;;YACb,MAAM,EAAE,kBAAkB,EAAE,OAAO,EAAE,SAAS,EAAE,sBAAsB,EAAE,WAAW,EAAE,aAAa,EAAE,MAAM,EAAE,OAAO,EAAE,GAAG,OAAO,CAAC,UAAU,CAAC;YAC3I,MAAM,QAAQ,GAAG,mBAAU,CAAC,mBAAmB,CAAC,EAAE,IAAI,EAAE,OAAO,CAAC,IAAI,CAAC,KAAK,EAAE,CAAC;kBACvE,mBAAU,CAAC,cAAc,CAAC,EAAE,IAAI,EAAE,OAAO,CAAC,IAAI,CAAC,KAAK,EAAE,CAAC;kBACvD,mBAAU,CAAC,MAAM,CAAC,EAAE,IAAI,EAAE,oBAAoB,EAAE,KAAK,EAAE,kBAAkB,EAAE,CAAC;kBAC5E,mBAAU,CAAC,MAAM,CAAC,EAAE,IAAI,EAAE,SAAS,EAAE,KAAK,EAAE,OAAO,EAAE,CAAC;kBACtD,mBAAU,CAAC,MAAM,CAAC,EAAE,IAAI,EAAE,WAAW,EAAE,KAAK,EAAE,SAAS,EAAE,CAAC;kBAC1D,mBAAU,CAAC,MAAM,CAAC,EAAE,IAAI,EAAE,wBAAwB,EAAE,KAAK,EAAE,sBAAsB,EAAE,CAAC;kBACpF,mBAAU,CAAC,MAAM,CAAC,EAAE,IAAI,EAAE,aAAa,EAAE,KAAK,EAAE,WAAW,EAAE,CAAC;kBAC9D,mBAAU,CAAC,MAAM,CAAC,EAAE,IAAI,EAAE,eAAe,EAAE,KAAK,EAAE,aAAa,EAAE,CAAC;kBAClE,mBAAU,CAAC,GAAG,CAAC,EAAE,IAAI,EAAE,gBAAgB,EAAE,KAAK,EAAE,MAAM,EAAE,CAAC;kBACzD,mBAAU,CAAC,MAAM,CAAC,EAAE,IAAI,EAAE,SAAS,EAAE,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC;YAC7D,MAAM,QAAQ,GAAG,MAAM,mBAAU,CAAC,IAAI,CAAC;gBACnC,IAAI,EAAE,OAAO,CAAC,IAAI,CAAC,KAAK;gBACxB,OAAO,EAAE,cAAc;gBACvB,SAAS,EAAE,UAAU;gBACrB,QAAQ;aACX,CAAC,CAAC;YACH,OAAO;gBACH,MAAM,EAAE,mBAAU,CAAC,cAAc,CAAC,EAAE,QAAQ,EAAE,CAAC;gBAC/C,GAAG,EAAE,QAAQ;aAChB,CAAC;QACN,CAAC;KAAA;CACJ,CAAC,CAAC"}
@@ -0,0 +1,14 @@
1
+ export declare const withdrawFunds: import("@activepieces/pieces-framework").IAction<import("@activepieces/pieces-framework").CustomAuthProperty<{
2
+ baseUrl: import("@activepieces/pieces-framework").ShortTextProperty<true>;
3
+ deviceType: import("@activepieces/pieces-framework").ShortTextProperty<true>;
4
+ deviceNumber: import("@activepieces/pieces-framework").NumberProperty<true>;
5
+ adminPassword: import("@activepieces/pieces-framework").SecretTextProperty<false>;
6
+ userNumber: import("@activepieces/pieces-framework").NumberProperty<false>;
7
+ userPassword: import("@activepieces/pieces-framework").SecretTextProperty<false>;
8
+ }>, {
9
+ accountNumber: import("@activepieces/pieces-framework").ShortTextProperty<true>;
10
+ shareId: import("@activepieces/pieces-framework").ShortTextProperty<true>;
11
+ amount: import("@activepieces/pieces-framework").NumberProperty<true>;
12
+ checkNumber: import("@activepieces/pieces-framework").ShortTextProperty<false>;
13
+ comment: import("@activepieces/pieces-framework").ShortTextProperty<false>;
14
+ }>;
@@ -0,0 +1,61 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.withdrawFunds = void 0;
4
+ const tslib_1 = require("tslib");
5
+ const pieces_framework_1 = require("@activepieces/pieces-framework");
6
+ const auth_1 = require("../auth");
7
+ const client_1 = require("../common/client");
8
+ exports.withdrawFunds = (0, pieces_framework_1.createAction)({
9
+ auth: auth_1.symxchangeAuth,
10
+ name: 'withdraw_funds',
11
+ displayName: 'Withdraw Funds',
12
+ description: 'Withdraw money from a share (Transactions service).',
13
+ props: {
14
+ accountNumber: pieces_framework_1.Property.ShortText({
15
+ displayName: 'Account Number',
16
+ required: true,
17
+ }),
18
+ shareId: pieces_framework_1.Property.ShortText({
19
+ displayName: 'Share ID',
20
+ description: 'The share ID within the account, e.g. 0000.',
21
+ required: true,
22
+ }),
23
+ amount: pieces_framework_1.Property.Number({
24
+ displayName: 'Amount',
25
+ required: true,
26
+ }),
27
+ checkNumber: pieces_framework_1.Property.ShortText({
28
+ displayName: 'Check Number',
29
+ description: 'Set when the withdrawal is disbursed by check.',
30
+ required: false,
31
+ }),
32
+ comment: pieces_framework_1.Property.ShortText({
33
+ displayName: 'Comment',
34
+ description: 'Transaction description shown on the member record.',
35
+ required: false,
36
+ }),
37
+ },
38
+ run(context) {
39
+ return tslib_1.__awaiter(this, void 0, void 0, function* () {
40
+ const { accountNumber, shareId, amount, checkNumber, comment } = context.propsValue;
41
+ const innerXml = client_1.symxClient.buildCredentialsXml({ auth: context.auth.props })
42
+ + client_1.symxClient.buildDeviceXml({ auth: context.auth.props })
43
+ + client_1.symxClient.tag({ name: 'AccountNumber', value: accountNumber })
44
+ + client_1.symxClient.dtoTag({ name: 'ShareId', value: shareId })
45
+ + `<WithdrawalAmounts>${client_1.symxClient.dtoTag({ name: 'TotalAmount', value: amount })}</WithdrawalAmounts>`
46
+ + client_1.symxClient.dtoTag({ name: 'CheckNumber', value: checkNumber })
47
+ + client_1.symxClient.dtoTag({ name: 'Comment', value: comment });
48
+ const response = yield client_1.symxClient.call({
49
+ auth: context.auth.props,
50
+ service: 'transactions',
51
+ operation: 'withdraw',
52
+ innerXml,
53
+ });
54
+ return {
55
+ result: client_1.symxClient.unwrapResponse({ response }),
56
+ raw: response,
57
+ };
58
+ });
59
+ },
60
+ });
61
+ //# sourceMappingURL=withdraw-funds.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"withdraw-funds.js","sourceRoot":"","sources":["../../../../src/lib/actions/withdraw-funds.ts"],"names":[],"mappings":";;;;AAAA,qEAAwE;AACxE,kCAAyC;AACzC,6CAA8C;AAEjC,QAAA,aAAa,GAAG,IAAA,+BAAY,EAAC;IACtC,IAAI,EAAE,qBAAc;IACpB,IAAI,EAAE,gBAAgB;IACtB,WAAW,EAAE,gBAAgB;IAC7B,WAAW,EAAE,qDAAqD;IAClE,KAAK,EAAE;QACH,aAAa,EAAE,2BAAQ,CAAC,SAAS,CAAC;YAC9B,WAAW,EAAE,gBAAgB;YAC7B,QAAQ,EAAE,IAAI;SACjB,CAAC;QACF,OAAO,EAAE,2BAAQ,CAAC,SAAS,CAAC;YACxB,WAAW,EAAE,UAAU;YACvB,WAAW,EAAE,6CAA6C;YAC1D,QAAQ,EAAE,IAAI;SACjB,CAAC;QACF,MAAM,EAAE,2BAAQ,CAAC,MAAM,CAAC;YACpB,WAAW,EAAE,QAAQ;YACrB,QAAQ,EAAE,IAAI;SACjB,CAAC;QACF,WAAW,EAAE,2BAAQ,CAAC,SAAS,CAAC;YAC5B,WAAW,EAAE,cAAc;YAC3B,WAAW,EAAE,gDAAgD;YAC7D,QAAQ,EAAE,KAAK;SAClB,CAAC;QACF,OAAO,EAAE,2BAAQ,CAAC,SAAS,CAAC;YACxB,WAAW,EAAE,SAAS;YACtB,WAAW,EAAE,qDAAqD;YAClE,QAAQ,EAAE,KAAK;SAClB,CAAC;KACL;IACK,GAAG,CAAC,OAAO;;YACb,MAAM,EAAE,aAAa,EAAE,OAAO,EAAE,MAAM,EAAE,WAAW,EAAE,OAAO,EAAE,GAAG,OAAO,CAAC,UAAU,CAAC;YACpF,MAAM,QAAQ,GAAG,mBAAU,CAAC,mBAAmB,CAAC,EAAE,IAAI,EAAE,OAAO,CAAC,IAAI,CAAC,KAAK,EAAE,CAAC;kBACvE,mBAAU,CAAC,cAAc,CAAC,EAAE,IAAI,EAAE,OAAO,CAAC,IAAI,CAAC,KAAK,EAAE,CAAC;kBACvD,mBAAU,CAAC,GAAG,CAAC,EAAE,IAAI,EAAE,eAAe,EAAE,KAAK,EAAE,aAAa,EAAE,CAAC;kBAC/D,mBAAU,CAAC,MAAM,CAAC,EAAE,IAAI,EAAE,SAAS,EAAE,KAAK,EAAE,OAAO,EAAE,CAAC;kBACtD,sBAAsB,mBAAU,CAAC,MAAM,CAAC,EAAE,IAAI,EAAE,aAAa,EAAE,KAAK,EAAE,MAAM,EAAE,CAAC,sBAAsB;kBACrG,mBAAU,CAAC,MAAM,CAAC,EAAE,IAAI,EAAE,aAAa,EAAE,KAAK,EAAE,WAAW,EAAE,CAAC;kBAC9D,mBAAU,CAAC,MAAM,CAAC,EAAE,IAAI,EAAE,SAAS,EAAE,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC;YAC7D,MAAM,QAAQ,GAAG,MAAM,mBAAU,CAAC,IAAI,CAAC;gBACnC,IAAI,EAAE,OAAO,CAAC,IAAI,CAAC,KAAK;gBACxB,OAAO,EAAE,cAAc;gBACvB,SAAS,EAAE,UAAU;gBACrB,QAAQ;aACX,CAAC,CAAC;YACH,OAAO;gBACH,MAAM,EAAE,mBAAU,CAAC,cAAc,CAAC,EAAE,QAAQ,EAAE,CAAC;gBAC/C,GAAG,EAAE,QAAQ;aAChB,CAAC;QACN,CAAC;KAAA;CACJ,CAAC,CAAC"}
@@ -0,0 +1,8 @@
1
+ export declare const symxchangeAuth: import("@activepieces/pieces-framework").CustomAuthProperty<{
2
+ baseUrl: import("@activepieces/pieces-framework").ShortTextProperty<true>;
3
+ deviceType: import("@activepieces/pieces-framework").ShortTextProperty<true>;
4
+ deviceNumber: import("@activepieces/pieces-framework").NumberProperty<true>;
5
+ adminPassword: import("@activepieces/pieces-framework").SecretTextProperty<false>;
6
+ userNumber: import("@activepieces/pieces-framework").NumberProperty<false>;
7
+ userPassword: import("@activepieces/pieces-framework").SecretTextProperty<false>;
8
+ }>;
@@ -0,0 +1,45 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.symxchangeAuth = void 0;
4
+ const pieces_framework_1 = require("@activepieces/pieces-framework");
5
+ exports.symxchangeAuth = pieces_framework_1.PieceAuth.CustomAuth({
6
+ description: `Connect to a Jack Henry Symitar SymXchange server.
7
+
8
+ 1. **Base URL** — the SymXchange root your institution exposes, e.g. \`http://symitar-host:8087/SymXchange\`. Service paths like \`/account\` or \`/transactions\` are appended automatically.
9
+ 2. **Device Type / Device Number** — the device identity registered for your integration in the SymXchange device configuration.
10
+ 3. **Credentials** — provide either an **Administrative Password** (most server-to-server integrations) or a **User Number + User Password**. The administrative password wins when both are set.`,
11
+ required: true,
12
+ props: {
13
+ baseUrl: pieces_framework_1.Property.ShortText({
14
+ displayName: 'Base URL',
15
+ description: 'SymXchange root URL, without a trailing service segment.',
16
+ required: true,
17
+ }),
18
+ deviceType: pieces_framework_1.Property.ShortText({
19
+ displayName: 'Device Type',
20
+ description: 'Registered device type, e.g. SYMXCHANGE.',
21
+ required: true,
22
+ }),
23
+ deviceNumber: pieces_framework_1.Property.Number({
24
+ displayName: 'Device Number',
25
+ description: 'Registered device number for the device type.',
26
+ required: true,
27
+ }),
28
+ adminPassword: pieces_framework_1.PieceAuth.SecretText({
29
+ displayName: 'Administrative Password',
30
+ description: 'Password for AdministrativeCredentials. Leave empty when using user number credentials.',
31
+ required: false,
32
+ }),
33
+ userNumber: pieces_framework_1.Property.Number({
34
+ displayName: 'User Number',
35
+ description: 'Symitar user number (0-9999) for UserNumberCredentials.',
36
+ required: false,
37
+ }),
38
+ userPassword: pieces_framework_1.PieceAuth.SecretText({
39
+ displayName: 'User Password',
40
+ description: 'Password for the user number above.',
41
+ required: false,
42
+ }),
43
+ },
44
+ });
45
+ //# sourceMappingURL=auth.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"auth.js","sourceRoot":"","sources":["../../../src/lib/auth.ts"],"names":[],"mappings":";;;AAAA,qEAAqE;AAExD,QAAA,cAAc,GAAG,4BAAS,CAAC,UAAU,CAAC;IAC/C,WAAW,EAAE;;;;kMAIiL;IAC9L,QAAQ,EAAE,IAAI;IACd,KAAK,EAAE;QACH,OAAO,EAAE,2BAAQ,CAAC,SAAS,CAAC;YACxB,WAAW,EAAE,UAAU;YACvB,WAAW,EAAE,0DAA0D;YACvE,QAAQ,EAAE,IAAI;SACjB,CAAC;QACF,UAAU,EAAE,2BAAQ,CAAC,SAAS,CAAC;YAC3B,WAAW,EAAE,aAAa;YAC1B,WAAW,EAAE,0CAA0C;YACvD,QAAQ,EAAE,IAAI;SACjB,CAAC;QACF,YAAY,EAAE,2BAAQ,CAAC,MAAM,CAAC;YAC1B,WAAW,EAAE,eAAe;YAC5B,WAAW,EAAE,+CAA+C;YAC5D,QAAQ,EAAE,IAAI;SACjB,CAAC;QACF,aAAa,EAAE,4BAAS,CAAC,UAAU,CAAC;YAChC,WAAW,EAAE,yBAAyB;YACtC,WAAW,EAAE,yFAAyF;YACtG,QAAQ,EAAE,KAAK;SAClB,CAAC;QACF,UAAU,EAAE,2BAAQ,CAAC,MAAM,CAAC;YACxB,WAAW,EAAE,aAAa;YAC1B,WAAW,EAAE,yDAAyD;YACtE,QAAQ,EAAE,KAAK;SAClB,CAAC;QACF,YAAY,EAAE,4BAAS,CAAC,UAAU,CAAC;YAC/B,WAAW,EAAE,eAAe;YAC5B,WAAW,EAAE,qCAAqC;YAClD,QAAQ,EAAE,KAAK;SAClB,CAAC;KACL;CACJ,CAAC,CAAC"}
@@ -0,0 +1,93 @@
1
+ declare function tag({ name, value }: {
2
+ name: string;
3
+ value: string | number | undefined | null;
4
+ }): string;
5
+ declare function dtoTag({ name, value }: {
6
+ name: string;
7
+ value: string | number | undefined | null;
8
+ }): string;
9
+ declare function buildCredentialsXml({ auth }: {
10
+ auth: SymxAuthProps;
11
+ }): string;
12
+ declare function buildDeviceXml({ auth }: {
13
+ auth: SymxAuthProps;
14
+ }): string;
15
+ declare function call({ auth, service, operation, innerXml, endpointOverride }: {
16
+ auth: SymxAuthProps;
17
+ service: SymxServiceName;
18
+ operation: string;
19
+ innerXml: string;
20
+ endpointOverride?: string;
21
+ }): Promise<Record<string, unknown>>;
22
+ declare function unwrapResponse({ response }: {
23
+ response: Record<string, unknown>;
24
+ }): Record<string, unknown>;
25
+ declare function asArray<T>({ value }: {
26
+ value: T | T[] | undefined | null;
27
+ }): T[];
28
+ export declare const symxClient: {
29
+ call: typeof call;
30
+ tag: typeof tag;
31
+ dtoTag: typeof dtoTag;
32
+ buildCredentialsXml: typeof buildCredentialsXml;
33
+ buildDeviceXml: typeof buildDeviceXml;
34
+ unwrapResponse: typeof unwrapResponse;
35
+ asArray: typeof asArray;
36
+ };
37
+ export declare const SYMX_SERVICES: {
38
+ readonly account: {
39
+ readonly path: "account";
40
+ readonly namespace: "http://www.symxchange.generated.symitar.com/crud/account";
41
+ readonly style: "crud";
42
+ };
43
+ readonly collateral: {
44
+ readonly path: "collateral";
45
+ readonly namespace: "http://www.symxchange.generated.symitar.com/crud/collateral";
46
+ readonly style: "crud";
47
+ };
48
+ readonly dealer: {
49
+ readonly path: "dealer";
50
+ readonly namespace: "http://www.symxchange.generated.symitar.com/crud/dealer";
51
+ readonly style: "crud";
52
+ };
53
+ readonly findby: {
54
+ readonly path: "findby";
55
+ readonly namespace: "http://www.symxchange.generated.symitar.com/noncrud/findby";
56
+ readonly style: "noncrud";
57
+ };
58
+ readonly generalledger: {
59
+ readonly path: "generalledger";
60
+ readonly namespace: "http://www.symxchange.generated.symitar.com/crud/generalledger";
61
+ readonly style: "crud";
62
+ };
63
+ readonly information: {
64
+ readonly path: "information";
65
+ readonly namespace: "http://www.symxchange.generated.symitar.com/noncrud/information";
66
+ readonly style: "noncrud";
67
+ };
68
+ readonly payee: {
69
+ readonly path: "payee";
70
+ readonly namespace: "http://www.symxchange.generated.symitar.com/crud/payee";
71
+ readonly style: "crud";
72
+ };
73
+ readonly transactions: {
74
+ readonly path: "transactions";
75
+ readonly namespace: "http://www.symxchange.generated.symitar.com/noncrud/transactions";
76
+ readonly style: "noncrud";
77
+ };
78
+ readonly user: {
79
+ readonly path: "user";
80
+ readonly namespace: "http://www.symxchange.generated.symitar.com/crud/user";
81
+ readonly style: "crud";
82
+ };
83
+ };
84
+ export type SymxServiceName = keyof typeof SYMX_SERVICES;
85
+ export type SymxAuthProps = {
86
+ baseUrl: string;
87
+ deviceType: string;
88
+ deviceNumber: number;
89
+ adminPassword?: string;
90
+ userNumber?: number;
91
+ userPassword?: string;
92
+ };
93
+ export {};
@@ -0,0 +1,171 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.SYMX_SERVICES = exports.symxClient = void 0;
4
+ const tslib_1 = require("tslib");
5
+ const pieces_common_1 = require("@activepieces/pieces-common");
6
+ const fast_xml_parser_1 = require("fast-xml-parser");
7
+ function escapeXml({ value }) {
8
+ return value
9
+ .replace(/&/g, '&amp;')
10
+ .replace(/</g, '&lt;')
11
+ .replace(/>/g, '&gt;')
12
+ .replace(/"/g, '&quot;')
13
+ .replace(/'/g, '&apos;');
14
+ }
15
+ function tag({ name, value }) {
16
+ if (value === undefined || value === null || value === '') {
17
+ return '';
18
+ }
19
+ return `<${name}>${escapeXml({ value: String(value) })}</${name}>`;
20
+ }
21
+ // Elements declared as top-level refs in the service dto schema must be
22
+ // namespace-qualified; locally named elements must stay unqualified
23
+ function dtoTag({ name, value }) {
24
+ if (value === undefined || value === null || value === '') {
25
+ return '';
26
+ }
27
+ return `<dto:${name}>${escapeXml({ value: String(value) })}</dto:${name}>`;
28
+ }
29
+ function buildCredentialsXml({ auth }) {
30
+ if (auth.adminPassword) {
31
+ return '<Credentials><AdministrativeCredentials>'
32
+ + tag({ name: 'Password', value: auth.adminPassword })
33
+ + '</AdministrativeCredentials></Credentials>';
34
+ }
35
+ if (auth.userNumber !== undefined && auth.userNumber !== null) {
36
+ return '<Credentials><UserNumberCredentials>'
37
+ + tag({ name: 'UserNumber', value: auth.userNumber })
38
+ + tag({ name: 'Password', value: auth.userPassword })
39
+ + '</UserNumberCredentials></Credentials>';
40
+ }
41
+ throw new Error('The SymXchange connection needs either an administrative password or a user number + password.');
42
+ }
43
+ function buildDeviceXml({ auth }) {
44
+ return `<DeviceInformation DeviceType="${escapeXml({ value: auth.deviceType })}" DeviceNumber="${escapeXml({ value: String(auth.deviceNumber) })}"/>`;
45
+ }
46
+ function buildRequestAttributes({ service, messageId }) {
47
+ const svc = exports.SYMX_SERVICES[service];
48
+ // crud services declare MessageId as a local (unqualified) attribute; the
49
+ // noncrud dto schemas reference the global symxcommon attribute instead
50
+ if (svc.style === 'crud') {
51
+ return `MessageId="${escapeXml({ value: messageId })}"`
52
+ + ` xmlns:cmn="${SYMX_COMMON_NS}"`
53
+ + ` xmlns:retrieve="${svc.namespace}/dto/retrieve"`
54
+ + ` xmlns:update="${svc.namespace}/dto/update"`;
55
+ }
56
+ return `cmn:MessageId="${escapeXml({ value: messageId })}"`
57
+ + ` xmlns:cmn="${SYMX_COMMON_NS}"`
58
+ + ` xmlns:dto="${svc.namespace}/dto"`;
59
+ }
60
+ function buildEnvelope({ service, operation, innerXml, messageId }) {
61
+ const svc = exports.SYMX_SERVICES[service];
62
+ return `<?xml version="1.0" encoding="UTF-8"?>
63
+ <soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/">
64
+ <soapenv:Body>
65
+ <sym:${operation} xmlns:sym="${svc.namespace}">
66
+ <Request ${buildRequestAttributes({ service, messageId })}>${innerXml}</Request>
67
+ </sym:${operation}>
68
+ </soapenv:Body>
69
+ </soapenv:Envelope>`;
70
+ }
71
+ function parseSoapBody({ xml }) {
72
+ // parseTagValue: false keeps account numbers and ids as strings — numeric
73
+ // parsing would strip the leading zeros Symitar account numbers carry
74
+ const parser = new fast_xml_parser_1.XMLParser({
75
+ ignoreAttributes: true,
76
+ removeNSPrefix: true,
77
+ parseTagValue: false,
78
+ });
79
+ const parsed = parser.parse(xml);
80
+ const envelope = parsed['Envelope'];
81
+ const body = envelope === null || envelope === void 0 ? void 0 : envelope['Body'];
82
+ if (!body) {
83
+ throw new Error(`SymXchange returned a response that is not a SOAP envelope: ${xml.slice(0, 500)}`);
84
+ }
85
+ return body;
86
+ }
87
+ function throwIfFault({ body }) {
88
+ var _a, _b, _c, _d;
89
+ const fault = body['Fault'];
90
+ if (!fault) {
91
+ return;
92
+ }
93
+ const reason = (_c = (_a = fault['faultstring']) !== null && _a !== void 0 ? _a : (_b = fault['Reason']) === null || _b === void 0 ? void 0 : _b['Text']) !== null && _c !== void 0 ? _c : 'Unknown SOAP fault';
94
+ const detail = (_d = fault['detail']) !== null && _d !== void 0 ? _d : fault['Detail'];
95
+ throw new Error(`SymXchange fault: ${JSON.stringify(reason)}${detail ? ` — detail: ${JSON.stringify(detail)}` : ''}`);
96
+ }
97
+ function call(_a) {
98
+ return tslib_1.__awaiter(this, arguments, void 0, function* ({ auth, service, operation, innerXml, endpointOverride }) {
99
+ const svc = exports.SYMX_SERVICES[service];
100
+ const baseUrl = auth.baseUrl.replace(/\/+$/, '');
101
+ const url = endpointOverride || `${baseUrl}/${svc.path}`;
102
+ const messageId = Date.now().toString();
103
+ const envelope = buildEnvelope({ service, operation, innerXml, messageId });
104
+ let responseXml;
105
+ try {
106
+ const response = yield pieces_common_1.httpClient.sendRequest({
107
+ method: pieces_common_1.HttpMethod.POST,
108
+ url,
109
+ headers: {
110
+ 'Content-Type': 'text/xml;charset=UTF-8',
111
+ SOAPAction: `"${svc.namespace}/${operation}"`,
112
+ },
113
+ body: envelope,
114
+ });
115
+ responseXml = String(response.body);
116
+ }
117
+ catch (e) {
118
+ // SOAP faults arrive as HTTP 500 with a fault envelope in the body —
119
+ // surface the fault reason instead of a generic HTTP error
120
+ if (e instanceof pieces_common_1.HttpError && typeof e.response.body === 'string' && e.response.body.includes('Envelope')) {
121
+ const faultBody = parseSoapBody({ xml: e.response.body });
122
+ throwIfFault({ body: faultBody });
123
+ }
124
+ throw e;
125
+ }
126
+ const body = parseSoapBody({ xml: responseXml });
127
+ throwIfFault({ body });
128
+ const operationResponse = body[`${operation}Response`];
129
+ return operationResponse !== null && operationResponse !== void 0 ? operationResponse : body;
130
+ });
131
+ }
132
+ // Response payloads sit inside a wrapper whose name varies by operation shape:
133
+ // SingleResponse (single-record lookups), PluralResponse (multi-record lookups),
134
+ // Response (transactions)
135
+ function unwrapResponse({ response }) {
136
+ var _a, _b;
137
+ const wrapper = (_b = (_a = response['SingleResponse']) !== null && _a !== void 0 ? _a : response['PluralResponse']) !== null && _b !== void 0 ? _b : response['Response'];
138
+ if (typeof wrapper === 'object' && wrapper !== null && !Array.isArray(wrapper)) {
139
+ return wrapper;
140
+ }
141
+ return response;
142
+ }
143
+ function asArray({ value }) {
144
+ if (value === undefined || value === null) {
145
+ return [];
146
+ }
147
+ return Array.isArray(value) ? value : [value];
148
+ }
149
+ exports.symxClient = {
150
+ call,
151
+ tag,
152
+ dtoTag,
153
+ buildCredentialsXml,
154
+ buildDeviceXml,
155
+ unwrapResponse,
156
+ asArray,
157
+ };
158
+ const SYMX_COMMON_NS = 'http://www.symxchange.generated.symitar.com/symxcommon';
159
+ const SYMX_NS_BASE = 'http://www.symxchange.generated.symitar.com';
160
+ exports.SYMX_SERVICES = {
161
+ account: { path: 'account', namespace: `${SYMX_NS_BASE}/crud/account`, style: 'crud' },
162
+ collateral: { path: 'collateral', namespace: `${SYMX_NS_BASE}/crud/collateral`, style: 'crud' },
163
+ dealer: { path: 'dealer', namespace: `${SYMX_NS_BASE}/crud/dealer`, style: 'crud' },
164
+ findby: { path: 'findby', namespace: `${SYMX_NS_BASE}/noncrud/findby`, style: 'noncrud' },
165
+ generalledger: { path: 'generalledger', namespace: `${SYMX_NS_BASE}/crud/generalledger`, style: 'crud' },
166
+ information: { path: 'information', namespace: `${SYMX_NS_BASE}/noncrud/information`, style: 'noncrud' },
167
+ payee: { path: 'payee', namespace: `${SYMX_NS_BASE}/crud/payee`, style: 'crud' },
168
+ transactions: { path: 'transactions', namespace: `${SYMX_NS_BASE}/noncrud/transactions`, style: 'noncrud' },
169
+ user: { path: 'user', namespace: `${SYMX_NS_BASE}/crud/user`, style: 'crud' },
170
+ };
171
+ //# sourceMappingURL=client.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"client.js","sourceRoot":"","sources":["../../../../src/lib/common/client.ts"],"names":[],"mappings":"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"}