@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 +10 -0
- package/src/index.d.ts +8 -0
- package/src/index.js +31 -0
- package/src/index.js.map +1 -0
- package/src/lib/actions/call-operation.d.ts +14 -0
- package/src/lib/actions/call-operation.js +76 -0
- package/src/lib/actions/call-operation.js.map +1 -0
- package/src/lib/actions/deposit-funds.d.ts +14 -0
- package/src/lib/actions/deposit-funds.js +61 -0
- package/src/lib/actions/deposit-funds.js.map +1 -0
- package/src/lib/actions/find-accounts.d.ts +11 -0
- package/src/lib/actions/find-accounts.js +75 -0
- package/src/lib/actions/find-accounts.js.map +1 -0
- package/src/lib/actions/get-account.d.ts +10 -0
- package/src/lib/actions/get-account.js +42 -0
- package/src/lib/actions/get-account.js.map +1 -0
- package/src/lib/actions/transfer-funds.d.ts +17 -0
- package/src/lib/actions/transfer-funds.js +89 -0
- package/src/lib/actions/transfer-funds.js.map +1 -0
- package/src/lib/actions/withdraw-funds.d.ts +14 -0
- package/src/lib/actions/withdraw-funds.js +61 -0
- package/src/lib/actions/withdraw-funds.js.map +1 -0
- package/src/lib/auth.d.ts +8 -0
- package/src/lib/auth.js +45 -0
- package/src/lib/auth.js.map +1 -0
- package/src/lib/common/client.d.ts +93 -0
- package/src/lib/common/client.js +171 -0
- package/src/lib/common/client.js.map +1 -0
package/package.json
ADDED
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
|
package/src/index.js.map
ADDED
|
@@ -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":"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"}
|
|
@@ -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
|
+
}>;
|
package/src/lib/auth.js
ADDED
|
@@ -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, '&')
|
|
10
|
+
.replace(/</g, '<')
|
|
11
|
+
.replace(/>/g, '>')
|
|
12
|
+
.replace(/"/g, '"')
|
|
13
|
+
.replace(/'/g, ''');
|
|
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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"}
|