@sakeetech/vendure-payment-viva 0.2.1 → 0.2.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/README.md +1 -1
- package/dist/api/admin-internal.controller.js +30 -27
- package/dist/api/admin-internal.controller.js.map +1 -1
- package/dist/api/admin-onboarding.controller.js +58 -55
- package/dist/api/admin-onboarding.controller.js.map +1 -1
- package/dist/api/admin-sources.controller.js +44 -41
- package/dist/api/admin-sources.controller.js.map +1 -1
- package/dist/api/shop-api.extension.js +5 -2
- package/dist/api/shop-api.extension.js.map +1 -1
- package/dist/api/shop-api.resolver.js +27 -24
- package/dist/api/shop-api.resolver.js.map +1 -1
- package/dist/api/webhook.controller.js +31 -28
- package/dist/api/webhook.controller.js.map +1 -1
- package/dist/cli/bin.d.ts +1 -1
- package/dist/cli/bin.js +10 -6
- package/dist/cli/bin.js.map +1 -1
- package/dist/cli/plan.js +6 -2
- package/dist/cli/plan.js.map +1 -1
- package/dist/cli/register-webhooks.js +25 -22
- package/dist/cli/register-webhooks.js.map +1 -1
- package/dist/cli/types.js +2 -1
- package/dist/cli/types.js.map +1 -1
- package/dist/constants.js +17 -14
- package/dist/constants.js.map +1 -1
- package/dist/entities/index.js +7 -2
- package/dist/entities/index.js.map +1 -1
- package/dist/entities/viva-transaction.entity.js +20 -17
- package/dist/entities/viva-transaction.entity.js.map +1 -1
- package/dist/entities/viva-webhook-event.entity.js +19 -16
- package/dist/entities/viva-webhook-event.entity.js.map +1 -1
- package/dist/index.js +36 -12
- package/dist/index.js.map +1 -1
- package/dist/jobs/process-viva-webhook.handler.js +64 -62
- package/dist/jobs/process-viva-webhook.handler.js.map +1 -1
- package/dist/jobs/queue-names.js +5 -2
- package/dist/jobs/queue-names.js.map +1 -1
- package/dist/jobs/retention-cleanup.handler.js +17 -14
- package/dist/jobs/retention-cleanup.handler.js.map +1 -1
- package/dist/loaders/bootstrap.js +20 -17
- package/dist/loaders/bootstrap.js.map +1 -1
- package/dist/migrations/1714000000000-create-viva-tables.js +5 -2
- package/dist/migrations/1714000000000-create-viva-tables.js.map +1 -1
- package/dist/observability/metrics-state.service.js +16 -13
- package/dist/observability/metrics-state.service.js.map +1 -1
- package/dist/payment-method-handler.js +63 -59
- package/dist/payment-method-handler.js.map +1 -1
- package/dist/plugin.js +44 -41
- package/dist/plugin.js.map +1 -1
- package/dist/providers/viva-oauth2-strategy.provider.js +16 -11
- package/dist/providers/viva-oauth2-strategy.provider.js.map +1 -1
- package/dist/services/connected-accounts.service.js +16 -13
- package/dist/services/connected-accounts.service.js.map +1 -1
- package/dist/services/per-merchant-semaphore.service.js +10 -7
- package/dist/services/per-merchant-semaphore.service.js.map +1 -1
- package/dist/services/state-machine.service.js +26 -23
- package/dist/services/state-machine.service.js.map +1 -1
- package/dist/types.js +2 -1
- package/dist/types.js.map +1 -1
- package/dist/util/currency.js +11 -6
- package/dist/util/currency.js.map +1 -1
- package/dist/util/error-envelope.js +5 -1
- package/dist/util/error-envelope.js.map +1 -1
- package/dist/util/ip-allowlist.js +11 -6
- package/dist/util/ip-allowlist.js.map +1 -1
- package/dist/util/normalize-options.js +8 -4
- package/dist/util/normalize-options.js.map +1 -1
- package/dist/util/url-template.js +4 -1
- package/dist/util/url-template.js.map +1 -1
- package/package.json +4 -5
package/dist/plugin.js
CHANGED
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
"use strict";
|
|
1
2
|
/**
|
|
2
3
|
* plugin.ts — VivaPaymentPlugin Vendure module.
|
|
3
4
|
*
|
|
@@ -14,25 +15,27 @@ var __decorate = (this && this.__decorate) || function (decorators, target, key,
|
|
|
14
15
|
return c > 3 && r && Object.defineProperty(target, key, r), r;
|
|
15
16
|
};
|
|
16
17
|
var VivaPaymentPlugin_1;
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
18
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
19
|
+
exports.VivaPaymentPlugin = void 0;
|
|
20
|
+
const core_1 = require("@vendure/core");
|
|
21
|
+
const constants_js_1 = require("./constants.js");
|
|
22
|
+
const normalize_options_js_1 = require("./util/normalize-options.js");
|
|
23
|
+
const index_js_1 = require("./entities/index.js");
|
|
24
|
+
const viva_oauth2_strategy_provider_js_1 = require("./providers/viva-oauth2-strategy.provider.js");
|
|
25
|
+
const bootstrap_js_1 = require("./loaders/bootstrap.js");
|
|
26
|
+
const state_machine_service_js_1 = require("./services/state-machine.service.js");
|
|
27
|
+
const per_merchant_semaphore_service_js_1 = require("./services/per-merchant-semaphore.service.js");
|
|
28
|
+
const connected_accounts_service_js_1 = require("./services/connected-accounts.service.js");
|
|
29
|
+
const process_viva_webhook_handler_js_1 = require("./jobs/process-viva-webhook.handler.js");
|
|
30
|
+
const retention_cleanup_handler_js_1 = require("./jobs/retention-cleanup.handler.js");
|
|
31
|
+
const payment_method_handler_js_1 = require("./payment-method-handler.js");
|
|
32
|
+
const webhook_controller_js_1 = require("./api/webhook.controller.js");
|
|
33
|
+
const admin_onboarding_controller_js_1 = require("./api/admin-onboarding.controller.js");
|
|
34
|
+
const admin_internal_controller_js_1 = require("./api/admin-internal.controller.js");
|
|
35
|
+
const admin_sources_controller_js_1 = require("./api/admin-sources.controller.js");
|
|
36
|
+
const shop_api_resolver_js_1 = require("./api/shop-api.resolver.js");
|
|
37
|
+
const shop_api_extension_js_1 = require("./api/shop-api.extension.js");
|
|
38
|
+
const metrics_state_service_js_1 = require("./observability/metrics-state.service.js");
|
|
36
39
|
// ---------------------------------------------------------------------------
|
|
37
40
|
// Channel custom fields
|
|
38
41
|
// ---------------------------------------------------------------------------
|
|
@@ -152,7 +155,7 @@ let VivaPaymentPlugin = VivaPaymentPlugin_1 = class VivaPaymentPlugin {
|
|
|
152
155
|
* `'merchant'` (auto-detected as `'isv'` when ISV-only fields are present).
|
|
153
156
|
*/
|
|
154
157
|
static init(options) {
|
|
155
|
-
pluginOptions = normalizePluginOptions(options);
|
|
158
|
+
pluginOptions = (0, normalize_options_js_1.normalizePluginOptions)(options);
|
|
156
159
|
return VivaPaymentPlugin_1;
|
|
157
160
|
}
|
|
158
161
|
/**
|
|
@@ -160,7 +163,7 @@ let VivaPaymentPlugin = VivaPaymentPlugin_1 = class VivaPaymentPlugin {
|
|
|
160
163
|
* Used by `test/plugin/init-validation.test.ts`.
|
|
161
164
|
*/
|
|
162
165
|
static _resetInitNoticesForTesting() {
|
|
163
|
-
_resetInitNoticesForTesting();
|
|
166
|
+
(0, normalize_options_js_1._resetInitNoticesForTesting)();
|
|
164
167
|
}
|
|
165
168
|
/**
|
|
166
169
|
* Exposes the channel custom field definitions for testing / inspection.
|
|
@@ -174,46 +177,47 @@ let VivaPaymentPlugin = VivaPaymentPlugin_1 = class VivaPaymentPlugin {
|
|
|
174
177
|
return resolveChannelCustomFields(mode);
|
|
175
178
|
}
|
|
176
179
|
};
|
|
177
|
-
VivaPaymentPlugin =
|
|
178
|
-
|
|
180
|
+
exports.VivaPaymentPlugin = VivaPaymentPlugin;
|
|
181
|
+
exports.VivaPaymentPlugin = VivaPaymentPlugin = VivaPaymentPlugin_1 = __decorate([
|
|
182
|
+
(0, core_1.VendurePlugin)({
|
|
179
183
|
imports: [],
|
|
180
|
-
controllers: [WebhookController, AdminOnboardingController, AdminInternalController, AdminSourcesController],
|
|
184
|
+
controllers: [webhook_controller_js_1.WebhookController, admin_onboarding_controller_js_1.AdminOnboardingController, admin_internal_controller_js_1.AdminInternalController, admin_sources_controller_js_1.AdminSourcesController],
|
|
181
185
|
shopApiExtensions: {
|
|
182
|
-
schema: shopApiExtensions,
|
|
183
|
-
resolvers: [VivaShopApiResolver],
|
|
186
|
+
schema: shop_api_extension_js_1.shopApiExtensions,
|
|
187
|
+
resolvers: [shop_api_resolver_js_1.VivaShopApiResolver],
|
|
184
188
|
},
|
|
185
189
|
providers: [
|
|
186
190
|
// Options factory — must come first so other providers can inject it.
|
|
187
191
|
{
|
|
188
|
-
provide: VIVA_PLUGIN_OPTIONS,
|
|
192
|
+
provide: constants_js_1.VIVA_PLUGIN_OPTIONS,
|
|
189
193
|
useFactory: () => {
|
|
190
194
|
if (!pluginOptions) {
|
|
191
|
-
throw new Error(`[${VIVA_PLUGIN_NAME}] Plugin options not initialised. Call VivaPaymentPlugin.init(options) before adding the plugin to your VendureConfig.`);
|
|
195
|
+
throw new Error(`[${constants_js_1.VIVA_PLUGIN_NAME}] Plugin options not initialised. Call VivaPaymentPlugin.init(options) before adding the plugin to your VendureConfig.`);
|
|
192
196
|
}
|
|
193
197
|
return pluginOptions;
|
|
194
198
|
},
|
|
195
199
|
},
|
|
196
200
|
// Singleton OAuth2 strategy — depends on VIVA_PLUGIN_OPTIONS.
|
|
197
|
-
VivaOAuth2StrategyProvider,
|
|
201
|
+
viva_oauth2_strategy_provider_js_1.VivaOAuth2StrategyProvider,
|
|
198
202
|
// Bootstrap warmup hook — depends on both of the above.
|
|
199
|
-
VivaBootstrap,
|
|
203
|
+
bootstrap_js_1.VivaBootstrap,
|
|
200
204
|
// Row-level transaction helpers + order/payment transitions (V5 + V7).
|
|
201
|
-
StateMachineService,
|
|
205
|
+
state_machine_service_js_1.StateMachineService,
|
|
202
206
|
// Per-merchant in-process semaphore (V7, D9).
|
|
203
|
-
PerMerchantSemaphore,
|
|
207
|
+
per_merchant_semaphore_service_js_1.PerMerchantSemaphore,
|
|
204
208
|
// Channel ↔ Viva account helpers (V7 + V9).
|
|
205
|
-
ConnectedAccountsService,
|
|
209
|
+
connected_accounts_service_js_1.ConnectedAccountsService,
|
|
206
210
|
// Webhook worker job handler — registers queue on bootstrap (V7).
|
|
207
|
-
ProcessVivaWebhookHandler,
|
|
211
|
+
process_viva_webhook_handler_js_1.ProcessVivaWebhookHandler,
|
|
208
212
|
// 90-day webhook event retention cleanup — daily setInterval (V7).
|
|
209
|
-
RetentionCleanupHandler,
|
|
213
|
+
retention_cleanup_handler_js_1.RetentionCleanupHandler,
|
|
210
214
|
// Shop API mutation resolver — cancelPayment (V8).
|
|
211
|
-
VivaShopApiResolver,
|
|
215
|
+
shop_api_resolver_js_1.VivaShopApiResolver,
|
|
212
216
|
// In-process metrics state singleton (V10).
|
|
213
|
-
MetricsStateService,
|
|
217
|
+
metrics_state_service_js_1.MetricsStateService,
|
|
214
218
|
],
|
|
215
|
-
entities: [VivaTransaction, VivaWebhookEvent],
|
|
216
|
-
exports: [VIVA_PLUGIN_OPTIONS, VivaBootstrap, StateMachineService, PerMerchantSemaphore, ConnectedAccountsService, ProcessVivaWebhookHandler, MetricsStateService],
|
|
219
|
+
entities: [index_js_1.VivaTransaction, index_js_1.VivaWebhookEvent],
|
|
220
|
+
exports: [constants_js_1.VIVA_PLUGIN_OPTIONS, bootstrap_js_1.VivaBootstrap, state_machine_service_js_1.StateMachineService, per_merchant_semaphore_service_js_1.PerMerchantSemaphore, connected_accounts_service_js_1.ConnectedAccountsService, process_viva_webhook_handler_js_1.ProcessVivaWebhookHandler, metrics_state_service_js_1.MetricsStateService],
|
|
217
221
|
compatibility: '^3.0.0',
|
|
218
222
|
configuration: (config) => {
|
|
219
223
|
// Merge Viva channel custom fields into the host app's customFields config.
|
|
@@ -231,11 +235,10 @@ VivaPaymentPlugin = VivaPaymentPlugin_1 = __decorate([
|
|
|
231
235
|
config.paymentOptions = config.paymentOptions ?? {};
|
|
232
236
|
config.paymentOptions.paymentMethodHandlers = [
|
|
233
237
|
...(config.paymentOptions.paymentMethodHandlers ?? []),
|
|
234
|
-
vivaPaymentMethodHandler,
|
|
238
|
+
payment_method_handler_js_1.vivaPaymentMethodHandler,
|
|
235
239
|
];
|
|
236
240
|
return config;
|
|
237
241
|
},
|
|
238
242
|
})
|
|
239
243
|
], VivaPaymentPlugin);
|
|
240
|
-
export { VivaPaymentPlugin };
|
|
241
244
|
//# sourceMappingURL=plugin.js.map
|
package/dist/plugin.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"plugin.js","sourceRoot":"","sources":["../src/plugin.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG
|
|
1
|
+
{"version":3,"file":"plugin.js","sourceRoot":"","sources":["../src/plugin.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
"use strict";
|
|
1
2
|
/**
|
|
2
3
|
* providers/viva-oauth2-strategy.provider.ts — singleton OAuth2 strategy Nest provider.
|
|
3
4
|
*
|
|
@@ -13,13 +14,16 @@
|
|
|
13
14
|
* @see docs/plans/vendure-plugin-v0.md §"Configuration Surface" (D12)
|
|
14
15
|
* @see packages/medusa-payment-viva/src/loaders/viva-oauth2-strategy.ts (reference impl)
|
|
15
16
|
*/
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
17
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
18
|
+
exports.InjectVivaOAuth2Strategy = exports.VivaOAuth2StrategyProvider = exports.VIVA_OAUTH2_STRATEGY_TOKEN = void 0;
|
|
19
|
+
const common_1 = require("@nestjs/common");
|
|
20
|
+
const auth_1 = require("@sakeetech/viva-payments-core/auth");
|
|
21
|
+
const constants_js_1 = require("../constants.js");
|
|
19
22
|
// ---------------------------------------------------------------------------
|
|
20
23
|
// Re-export the token so callers can import from a single path.
|
|
21
24
|
// ---------------------------------------------------------------------------
|
|
22
|
-
|
|
25
|
+
var constants_js_2 = require("../constants.js");
|
|
26
|
+
Object.defineProperty(exports, "VIVA_OAUTH2_STRATEGY_TOKEN", { enumerable: true, get: function () { return constants_js_2.VIVA_OAUTH2_STRATEGY_TOKEN; } });
|
|
23
27
|
// ---------------------------------------------------------------------------
|
|
24
28
|
// Provider factory
|
|
25
29
|
// ---------------------------------------------------------------------------
|
|
@@ -30,13 +34,13 @@ export { VIVA_OAUTH2_STRATEGY_TOKEN } from '../constants.js';
|
|
|
30
34
|
* one mutex. Multi-worker scenarios can inject a `redisLock` through plugin
|
|
31
35
|
* options (D12 — Redlock client).
|
|
32
36
|
*/
|
|
33
|
-
|
|
34
|
-
provide: VIVA_OAUTH2_STRATEGY_TOKEN,
|
|
35
|
-
inject: [VIVA_PLUGIN_OPTIONS],
|
|
37
|
+
exports.VivaOAuth2StrategyProvider = {
|
|
38
|
+
provide: constants_js_1.VIVA_OAUTH2_STRATEGY_TOKEN,
|
|
39
|
+
inject: [constants_js_1.VIVA_PLUGIN_OPTIONS],
|
|
36
40
|
useFactory: (options) => {
|
|
37
|
-
const cache = new InMemoryTokenCache();
|
|
38
|
-
const mutex = new AsyncMutex();
|
|
39
|
-
return new OAuth2ClientCredentialsStrategy({
|
|
41
|
+
const cache = new auth_1.InMemoryTokenCache();
|
|
42
|
+
const mutex = new auth_1.AsyncMutex();
|
|
43
|
+
return new auth_1.OAuth2ClientCredentialsStrategy({
|
|
40
44
|
environment: options.environment,
|
|
41
45
|
clientId: options.clientId,
|
|
42
46
|
clientSecret: options.clientSecret,
|
|
@@ -56,5 +60,6 @@ export const VivaOAuth2StrategyProvider = {
|
|
|
56
60
|
* constructor(@InjectVivaOAuth2Strategy() private readonly oauth2: VivaOAuth2Strategy) {}
|
|
57
61
|
* ```
|
|
58
62
|
*/
|
|
59
|
-
|
|
63
|
+
const InjectVivaOAuth2Strategy = () => (0, common_1.Inject)(constants_js_1.VIVA_OAUTH2_STRATEGY_TOKEN);
|
|
64
|
+
exports.InjectVivaOAuth2Strategy = InjectVivaOAuth2Strategy;
|
|
60
65
|
//# sourceMappingURL=viva-oauth2-strategy.provider.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"viva-oauth2-strategy.provider.js","sourceRoot":"","sources":["../../src/providers/viva-oauth2-strategy.provider.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG
|
|
1
|
+
{"version":3,"file":"viva-oauth2-strategy.provider.js","sourceRoot":"","sources":["../../src/providers/viva-oauth2-strategy.provider.ts"],"names":[],"mappings":";AAAA;;;;;;;;;;;;;;GAcG;;;AAEH,2CAAwC;AACxC,6DAI4C;AAE5C,kDAAkF;AAElF,8EAA8E;AAC9E,gEAAgE;AAChE,8EAA8E;AAE9E,gDAA6D;AAApD,0HAAA,0BAA0B,OAAA;AAEnC,8EAA8E;AAC9E,mBAAmB;AACnB,8EAA8E;AAE9E;;;;;;GAMG;AACU,QAAA,0BAA0B,GAAG;IACxC,OAAO,EAAE,yCAA0B;IACnC,MAAM,EAAE,CAAC,kCAAmB,CAAa;IACzC,UAAU,EAAE,CAAC,OAAiC,EAAmC,EAAE;QACjF,MAAM,KAAK,GAAG,IAAI,yBAAkB,EAAE,CAAC;QACvC,MAAM,KAAK,GAAG,IAAI,iBAAU,EAAE,CAAC;QAE/B,OAAO,IAAI,sCAA+B,CAAC;YACzC,WAAW,EAAE,OAAO,CAAC,WAAW;YAChC,QAAQ,EAAE,OAAO,CAAC,QAAQ;YAC1B,YAAY,EAAE,OAAO,CAAC,YAAY;YAClC,KAAK;YACL,KAAK;YACL,gDAAgD;YAChD,GAAG,CAAC,OAAO,CAAC,WAAW,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,OAAO,EAAE,OAAO,CAAC,WAAW,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;YAC9E,GAAG,CAAC,OAAO,CAAC,MAAM,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,MAAM,EAAE,OAAO,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;SACpE,CAAC,CAAC;IACL,CAAC;CACF,CAAC;AAQF;;;;;;;GAOG;AACI,MAAM,wBAAwB,GAAG,GAAuB,EAAE,CAC/D,IAAA,eAAM,EAAC,yCAA0B,CAAC,CAAC;AADxB,QAAA,wBAAwB,4BACA"}
|
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
"use strict";
|
|
1
2
|
/**
|
|
2
3
|
* services/connected-accounts.service.ts — Channel ↔ Viva account helpers.
|
|
3
4
|
*
|
|
@@ -23,10 +24,12 @@ var __decorate = (this && this.__decorate) || function (decorators, target, key,
|
|
|
23
24
|
var __metadata = (this && this.__metadata) || function (k, v) {
|
|
24
25
|
if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
|
|
25
26
|
};
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
27
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
28
|
+
exports.ConnectedAccountsService = void 0;
|
|
29
|
+
const common_1 = require("@nestjs/common");
|
|
30
|
+
const core_1 = require("@vendure/core");
|
|
31
|
+
const core_2 = require("@vendure/core");
|
|
32
|
+
const constants_js_1 = require("../constants.js");
|
|
30
33
|
// ---------------------------------------------------------------------------
|
|
31
34
|
// Service
|
|
32
35
|
// ---------------------------------------------------------------------------
|
|
@@ -44,7 +47,7 @@ let ConnectedAccountsService = class ConnectedAccountsService {
|
|
|
44
47
|
* returns the accountId. This is always the first write for a new channel.
|
|
45
48
|
*/
|
|
46
49
|
async writeAccountId(ctx, channel, accountId) {
|
|
47
|
-
Logger.info(`[ConnectedAccounts] Writing vivaAccountId=${accountId} to channel ${String(channel.id)}.`, VIVA_LOG_CONTEXT);
|
|
50
|
+
core_1.Logger.info(`[ConnectedAccounts] Writing vivaAccountId=${accountId} to channel ${String(channel.id)}.`, constants_js_1.VIVA_LOG_CONTEXT);
|
|
48
51
|
await this.channelService.update(ctx, {
|
|
49
52
|
id: channel.id,
|
|
50
53
|
customFields: { vivaAccountId: accountId },
|
|
@@ -59,7 +62,7 @@ let ConnectedAccountsService = class ConnectedAccountsService {
|
|
|
59
62
|
* Returns null if no channel matches.
|
|
60
63
|
*/
|
|
61
64
|
async findChannelByAccountId(accountId) {
|
|
62
|
-
const repo = this.connection.rawConnection.getRepository(Channel);
|
|
65
|
+
const repo = this.connection.rawConnection.getRepository(core_2.Channel);
|
|
63
66
|
const channels = await repo.find();
|
|
64
67
|
for (const ch of channels) {
|
|
65
68
|
const cf = ch.customFields;
|
|
@@ -75,7 +78,7 @@ let ConnectedAccountsService = class ConnectedAccountsService {
|
|
|
75
78
|
* Must be called BEFORE `flipPayoutsEnabled`. Do not reorder.
|
|
76
79
|
*/
|
|
77
80
|
async writeMerchantId(ctx, channel, merchantId) {
|
|
78
|
-
Logger.info(`[ConnectedAccounts] Writing vivaMerchantId=${merchantId} to channel ${String(channel.id)}.`, VIVA_LOG_CONTEXT);
|
|
81
|
+
core_1.Logger.info(`[ConnectedAccounts] Writing vivaMerchantId=${merchantId} to channel ${String(channel.id)}.`, constants_js_1.VIVA_LOG_CONTEXT);
|
|
79
82
|
// TODO(impl): ChannelService.update in Vendure 3.x accepts a partial UpdateChannelInput.
|
|
80
83
|
// The exact shape of the update payload for customFields depends on the Vendure version
|
|
81
84
|
// and whether the channel custom fields are registered as AdminUI-visible.
|
|
@@ -92,17 +95,17 @@ let ConnectedAccountsService = class ConnectedAccountsService {
|
|
|
92
95
|
* Must be called AFTER `writeMerchantId` when enabling. Do not reorder.
|
|
93
96
|
*/
|
|
94
97
|
async flipPayoutsEnabled(ctx, channel, value) {
|
|
95
|
-
Logger.info(`[ConnectedAccounts] Flipping vivaPayoutsEnabled=${value} on channel ${String(channel.id)}.`, VIVA_LOG_CONTEXT);
|
|
98
|
+
core_1.Logger.info(`[ConnectedAccounts] Flipping vivaPayoutsEnabled=${value} on channel ${String(channel.id)}.`, constants_js_1.VIVA_LOG_CONTEXT);
|
|
96
99
|
await this.channelService.update(ctx, {
|
|
97
100
|
id: channel.id,
|
|
98
101
|
customFields: { vivaPayoutsEnabled: value },
|
|
99
102
|
});
|
|
100
103
|
}
|
|
101
104
|
};
|
|
102
|
-
ConnectedAccountsService =
|
|
103
|
-
|
|
104
|
-
|
|
105
|
-
|
|
105
|
+
exports.ConnectedAccountsService = ConnectedAccountsService;
|
|
106
|
+
exports.ConnectedAccountsService = ConnectedAccountsService = __decorate([
|
|
107
|
+
(0, common_1.Injectable)(),
|
|
108
|
+
__metadata("design:paramtypes", [core_1.ChannelService,
|
|
109
|
+
core_1.TransactionalConnection])
|
|
106
110
|
], ConnectedAccountsService);
|
|
107
|
-
export { ConnectedAccountsService };
|
|
108
111
|
//# sourceMappingURL=connected-accounts.service.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"connected-accounts.service.js","sourceRoot":"","sources":["../../src/services/connected-accounts.service.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;GAeG
|
|
1
|
+
{"version":3,"file":"connected-accounts.service.js","sourceRoot":"","sources":["../../src/services/connected-accounts.service.ts"],"names":[],"mappings":";AAAA;;;;;;;;;;;;;;;GAeG;;;;;;;;;;;;AAEH,2CAA4C;AAC5C,wCAAgF;AAEhF,wCAAwC;AACxC,kDAAmD;AAEnD,8EAA8E;AAC9E,UAAU;AACV,8EAA8E;AAGvE,IAAM,wBAAwB,GAA9B,MAAM,wBAAwB;IAEhB;IACA;IAFnB,YACmB,cAA8B,EAC9B,UAAmC;QADnC,mBAAc,GAAd,cAAc,CAAgB;QAC9B,eAAU,GAAV,UAAU,CAAyB;IACnD,CAAC;IAEJ;;;;;OAKG;IACH,KAAK,CAAC,cAAc,CAAC,GAAmB,EAAE,OAAgB,EAAE,SAAiB;QAC3E,aAAM,CAAC,IAAI,CACT,6CAA6C,SAAS,eAAe,MAAM,CAAC,OAAO,CAAC,EAAE,CAAC,GAAG,EAC1F,+BAAgB,CACjB,CAAC;QACF,MAAM,IAAI,CAAC,cAAc,CAAC,MAAM,CAAC,GAAG,EAAE;YACpC,EAAE,EAAE,OAAO,CAAC,EAAE;YACd,YAAY,EAAE,EAAE,aAAa,EAAE,SAAS,EAAE;SACpC,CAAC,CAAC;IACZ,CAAC;IAED;;;;;;;OAOG;IACH,KAAK,CAAC,sBAAsB,CAAC,SAAiB;QAC5C,MAAM,IAAI,GAAG,IAAI,CAAC,UAAU,CAAC,aAAa,CAAC,aAAa,CAAC,cAAO,CAAC,CAAC;QAClE,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,IAAI,EAAE,CAAC;QACnC,KAAK,MAAM,EAAE,IAAI,QAAQ,EAAE,CAAC;YAC1B,MAAM,EAAE,GAAI,EAAU,CAAC,YAAmD,CAAC;YAC3E,IAAI,EAAE,IAAI,EAAE,CAAC,eAAe,CAAC,KAAK,SAAS,EAAE,CAAC;gBAC5C,OAAO,EAAE,CAAC;YACZ,CAAC;QACH,CAAC;QACD,OAAO,IAAI,CAAC;IACd,CAAC;IAED;;;;OAIG;IACH,KAAK,CAAC,eAAe,CAAC,GAAmB,EAAE,OAAgB,EAAE,UAAkB;QAC7E,aAAM,CAAC,IAAI,CACT,8CAA8C,UAAU,eAAe,MAAM,CAAC,OAAO,CAAC,EAAE,CAAC,GAAG,EAC5F,+BAAgB,CACjB,CAAC;QACF,yFAAyF;QACzF,wFAAwF;QACxF,2EAA2E;QAC3E,kEAAkE;QAClE,4EAA4E;QAC5E,MAAM,IAAI,CAAC,cAAc,CAAC,MAAM,CAAC,GAAG,EAAE;YACpC,EAAE,EAAE,OAAO,CAAC,EAAE;YACd,YAAY,EAAE,EAAE,cAAc,EAAE,UAAU,EAAE;SACtC,CAAC,CAAC;IACZ,CAAC;IAED;;;;OAIG;IACH,KAAK,CAAC,kBAAkB,CAAC,GAAmB,EAAE,OAAgB,EAAE,KAAc;QAC5E,aAAM,CAAC,IAAI,CACT,mDAAmD,KAAK,eAAe,MAAM,CAAC,OAAO,CAAC,EAAE,CAAC,GAAG,EAC5F,+BAAgB,CACjB,CAAC;QACF,MAAM,IAAI,CAAC,cAAc,CAAC,MAAM,CAAC,GAAG,EAAE;YACpC,EAAE,EAAE,OAAO,CAAC,EAAE;YACd,YAAY,EAAE,EAAE,kBAAkB,EAAE,KAAK,EAAE;SACrC,CAAC,CAAC;IACZ,CAAC;CACF,CAAA;AA/EY,4DAAwB;mCAAxB,wBAAwB;IADpC,IAAA,mBAAU,GAAE;qCAGwB,qBAAc;QAClB,8BAAuB;GAH3C,wBAAwB,CA+EpC"}
|
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
"use strict";
|
|
1
2
|
/**
|
|
2
3
|
* services/per-merchant-semaphore.service.ts — In-process per-merchant concurrency semaphore.
|
|
3
4
|
*
|
|
@@ -27,8 +28,10 @@ var __metadata = (this && this.__metadata) || function (k, v) {
|
|
|
27
28
|
var __param = (this && this.__param) || function (paramIndex, decorator) {
|
|
28
29
|
return function (target, key) { decorator(target, key, paramIndex); }
|
|
29
30
|
};
|
|
30
|
-
|
|
31
|
-
|
|
31
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
32
|
+
exports.PerMerchantSemaphore = void 0;
|
|
33
|
+
const common_1 = require("@nestjs/common");
|
|
34
|
+
const constants_js_1 = require("../constants.js");
|
|
32
35
|
// ---------------------------------------------------------------------------
|
|
33
36
|
// Service
|
|
34
37
|
// ---------------------------------------------------------------------------
|
|
@@ -43,7 +46,7 @@ let PerMerchantSemaphore = class PerMerchantSemaphore {
|
|
|
43
46
|
EVICTION_IDLE_MS = 5 * 60 * 1_000; // 5 minutes
|
|
44
47
|
constructor(options) {
|
|
45
48
|
this.options = options;
|
|
46
|
-
this.permits = PER_MERCHANT_SEMAPHORE_PERMITS;
|
|
49
|
+
this.permits = constants_js_1.PER_MERCHANT_SEMAPHORE_PERMITS;
|
|
47
50
|
this.redlock = options.redlock;
|
|
48
51
|
this._startEvictionTimer();
|
|
49
52
|
}
|
|
@@ -147,10 +150,10 @@ let PerMerchantSemaphore = class PerMerchantSemaphore {
|
|
|
147
150
|
}
|
|
148
151
|
}
|
|
149
152
|
};
|
|
150
|
-
PerMerchantSemaphore =
|
|
151
|
-
|
|
152
|
-
|
|
153
|
+
exports.PerMerchantSemaphore = PerMerchantSemaphore;
|
|
154
|
+
exports.PerMerchantSemaphore = PerMerchantSemaphore = __decorate([
|
|
155
|
+
(0, common_1.Injectable)(),
|
|
156
|
+
__param(0, (0, common_1.Inject)(constants_js_1.VIVA_PLUGIN_OPTIONS)),
|
|
153
157
|
__metadata("design:paramtypes", [Object])
|
|
154
158
|
], PerMerchantSemaphore);
|
|
155
|
-
export { PerMerchantSemaphore };
|
|
156
159
|
//# sourceMappingURL=per-merchant-semaphore.service.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"per-merchant-semaphore.service.js","sourceRoot":"","sources":["../../src/services/per-merchant-semaphore.service.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;GAgBG
|
|
1
|
+
{"version":3,"file":"per-merchant-semaphore.service.js","sourceRoot":"","sources":["../../src/services/per-merchant-semaphore.service.ts"],"names":[],"mappings":";AAAA;;;;;;;;;;;;;;;;GAgBG;;;;;;;;;;;;;;;AAEH,2CAAoD;AACpD,kDAAsF;AAetF,8EAA8E;AAC9E,UAAU;AACV,8EAA8E;AAGvE,IAAM,oBAAoB,GAA1B,MAAM,oBAAoB;IAYiB;IAX/B,KAAK,GAAG,IAAI,GAAG,EAAwB,CAAC;IACxC,OAAO,CAAS;IAChB,OAAO,CAA4B;IAEpD,4BAA4B;IACpB,cAAc,CAA6C;IAEnE,oBAAoB;IACX,gBAAgB,GAAG,CAAC,GAAG,EAAE,GAAG,KAAK,CAAC,CAAC,YAAY;IAExD,YACgD,OAAiC;QAAjC,YAAO,GAAP,OAAO,CAA0B;QAE/E,IAAI,CAAC,OAAO,GAAG,6CAA8B,CAAC;QAC9C,IAAI,CAAC,OAAO,GAAG,OAAO,CAAC,OAAO,CAAC;QAC/B,IAAI,CAAC,mBAAmB,EAAE,CAAC;IAC7B,CAAC;IAED;;;;;;;;OAQG;IACH,KAAK,CAAC,OAAO,CAAC,UAAkB;QAC9B,8CAA8C;QAC9C,IAAI,cAAiD,CAAC;QACtD,IAAI,IAAI,CAAC,OAAO,EAAE,CAAC;YACjB,MAAM,IAAI,GAAG,MAAM,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC,YAAY,UAAU,EAAE,CAAC,EAAE,MAAM,CAAC,CAAC;YAC5E,cAAc,GAAG,GAAG,EAAE,CAAC,IAAI,CAAC,OAAO,EAAE,CAAC;QACxC,CAAC;QAED,6BAA6B;QAC7B,MAAM,IAAI,CAAC,iBAAiB,CAAC,UAAU,CAAC,CAAC;QAEzC,OAAO,KAAK,IAAI,EAAE;YAChB,IAAI,CAAC;gBACH,IAAI,cAAc;oBAAE,MAAM,cAAc,EAAE,CAAC;YAC7C,CAAC;oBAAS,CAAC;gBACT,IAAI,CAAC,iBAAiB,CAAC,UAAU,CAAC,CAAC;YACrC,CAAC;QACH,CAAC,CAAC;IACJ,CAAC;IAED,8EAA8E;IAC9E,+BAA+B;IAC/B,8EAA8E;IAEtE,QAAQ,CAAC,UAAkB;QACjC,IAAI,IAAI,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,UAAU,CAAC,CAAC;QACtC,IAAI,CAAC,IAAI,EAAE,CAAC;YACV,IAAI,GAAG,EAAE,MAAM,EAAE,CAAC,EAAE,KAAK,EAAE,EAAE,EAAE,UAAU,EAAE,IAAI,CAAC,GAAG,EAAE,EAAE,CAAC;YACxD,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,UAAU,EAAE,IAAI,CAAC,CAAC;QACnC,CAAC;QACD,OAAO,IAAI,CAAC;IACd,CAAC;IAEO,iBAAiB,CAAC,UAAkB;QAC1C,MAAM,IAAI,GAAG,IAAI,CAAC,QAAQ,CAAC,UAAU,CAAC,CAAC;QACvC,IAAI,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC,OAAO,EAAE,CAAC;YAC/B,IAAI,CAAC,MAAM,EAAE,CAAC;YACd,OAAO,OAAO,CAAC,OAAO,EAAE,CAAC;QAC3B,CAAC;QACD,mBAAmB;QACnB,OAAO,IAAI,OAAO,CAAO,CAAC,OAAO,EAAE,EAAE;YACnC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;QAC3B,CAAC,CAAC,CAAC;IACL,CAAC;IAEO,iBAAiB,CAAC,UAAkB;QAC1C,MAAM,IAAI,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,UAAU,CAAC,CAAC;QACxC,IAAI,CAAC,IAAI;YAAE,OAAO;QAElB,MAAM,IAAI,GAAG,IAAI,CAAC,KAAK,CAAC,KAAK,EAAE,CAAC;QAChC,IAAI,IAAI,EAAE,CAAC;YACT,uEAAuE;YACvE,IAAI,EAAE,CAAC;QACT,CAAC;aAAM,CAAC;YACN,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,IAAI,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;YAC3C,IAAI,IAAI,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;gBACtB,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;YAC/B,CAAC;QACH,CAAC;IACH,CAAC;IAED,8EAA8E;IAC9E,eAAe;IACf,8EAA8E;IAEtE,mBAAmB;QACzB,gFAAgF;QAChF,IAAI,CAAC,cAAc,GAAG,WAAW,CAAC,GAAG,EAAE;YACrC,IAAI,CAAC,MAAM,EAAE,CAAC;QAChB,CAAC,EAAE,MAAM,CAAC,CAAC;QACX,kDAAkD;QAClD,IAAI,IAAI,CAAC,cAAc,CAAC,KAAK;YAAE,IAAI,CAAC,cAAc,CAAC,KAAK,EAAE,CAAC;IAC7D,CAAC;IAEO,MAAM;QACZ,MAAM,GAAG,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;QACvB,KAAK,MAAM,CAAC,UAAU,EAAE,IAAI,CAAC,IAAI,IAAI,CAAC,KAAK,CAAC,OAAO,EAAE,EAAE,CAAC;YACtD,IAAI,IAAI,CAAC,MAAM,KAAK,CAAC,IAAI,IAAI,CAAC,KAAK,CAAC,MAAM,KAAK,CAAC,IAAI,GAAG,GAAG,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC,gBAAgB,EAAE,CAAC;gBAClG,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC;YAChC,CAAC;QACH,CAAC;IACH,CAAC;IAED,oDAAoD;IACpD,WAAW;QACT,IAAI,CAAC,MAAM,EAAE,CAAC;IAChB,CAAC;IAED,+DAA+D;IAC/D,IAAI,UAAU;QACZ,OAAO,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC;IACzB,CAAC;IAED,qBAAqB;QACnB,IAAI,IAAI,CAAC,cAAc,EAAE,CAAC;YACxB,aAAa,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC;QACrC,CAAC;IACH,CAAC;CACF,CAAA;AA9HY,oDAAoB;+BAApB,oBAAoB;IADhC,IAAA,mBAAU,GAAE;IAaR,WAAA,IAAA,eAAM,EAAC,kCAAmB,CAAC,CAAA;;GAZnB,oBAAoB,CA8HhC"}
|
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
"use strict";
|
|
1
2
|
/**
|
|
2
3
|
* services/state-machine.service.ts — Low-level VivaTransaction row helpers
|
|
3
4
|
* AND Vendure order/payment transition wrappers (V7 extension).
|
|
@@ -23,11 +24,13 @@ var __decorate = (this && this.__decorate) || function (decorators, target, key,
|
|
|
23
24
|
var __metadata = (this && this.__metadata) || function (k, v) {
|
|
24
25
|
if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
|
|
25
26
|
};
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
27
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
28
|
+
exports.StateMachineService = void 0;
|
|
29
|
+
const common_1 = require("@nestjs/common");
|
|
30
|
+
const core_1 = require("@vendure/core");
|
|
31
|
+
const typeorm_1 = require("typeorm");
|
|
32
|
+
const viva_transaction_entity_js_1 = require("../entities/viva-transaction.entity.js");
|
|
33
|
+
const constants_js_1 = require("../constants.js");
|
|
31
34
|
// ---------------------------------------------------------------------------
|
|
32
35
|
// Service
|
|
33
36
|
// ---------------------------------------------------------------------------
|
|
@@ -45,7 +48,7 @@ let StateMachineService = class StateMachineService {
|
|
|
45
48
|
* Returns null if not found.
|
|
46
49
|
*/
|
|
47
50
|
async getVivaTransaction(ctx, channelId, paymentId) {
|
|
48
|
-
const repo = this.connection.getRepository(ctx, VivaTransaction);
|
|
51
|
+
const repo = this.connection.getRepository(ctx, viva_transaction_entity_js_1.VivaTransaction);
|
|
49
52
|
return repo.findOne({
|
|
50
53
|
where: { channelId: channelId, paymentId: paymentId },
|
|
51
54
|
});
|
|
@@ -62,7 +65,7 @@ let StateMachineService = class StateMachineService {
|
|
|
62
65
|
* wasInserted=false → already existed; check row.vivaOrderCode.
|
|
63
66
|
*/
|
|
64
67
|
async upsertPendingTransaction(ctx, input) {
|
|
65
|
-
const repo = this.connection.getRepository(ctx, VivaTransaction);
|
|
68
|
+
const repo = this.connection.getRepository(ctx, viva_transaction_entity_js_1.VivaTransaction);
|
|
66
69
|
// Check if already exists
|
|
67
70
|
const existing = await repo.findOne({
|
|
68
71
|
where: {
|
|
@@ -91,7 +94,7 @@ let StateMachineService = class StateMachineService {
|
|
|
91
94
|
}
|
|
92
95
|
catch (err) {
|
|
93
96
|
// Duplicate key: another request beat us to the insert (race).
|
|
94
|
-
if (err instanceof QueryFailedError && this._isDuplicateKeyError(err)) {
|
|
97
|
+
if (err instanceof typeorm_1.QueryFailedError && this._isDuplicateKeyError(err)) {
|
|
95
98
|
const existing2 = await repo.findOne({
|
|
96
99
|
where: {
|
|
97
100
|
channelId: input.channelId,
|
|
@@ -109,11 +112,11 @@ let StateMachineService = class StateMachineService {
|
|
|
109
112
|
* Update the vivaOrderCode on a pending row after createOrder succeeds.
|
|
110
113
|
*/
|
|
111
114
|
async setOrderCode(ctx, rowId, vivaOrderCode, metadata) {
|
|
112
|
-
const repo = this.connection.getRepository(ctx, VivaTransaction);
|
|
115
|
+
const repo = this.connection.getRepository(ctx, viva_transaction_entity_js_1.VivaTransaction);
|
|
113
116
|
// Use query builder to avoid exactOptionalPropertyTypes issues with TypeORM _QueryDeepPartialEntity.
|
|
114
117
|
await repo
|
|
115
118
|
.createQueryBuilder()
|
|
116
|
-
.update(VivaTransaction)
|
|
119
|
+
.update(viva_transaction_entity_js_1.VivaTransaction)
|
|
117
120
|
.set({ vivaOrderCode, metadata: () => ':meta' })
|
|
118
121
|
.where('id = :id', { id: rowId })
|
|
119
122
|
.setParameter('meta', JSON.stringify(metadata))
|
|
@@ -123,11 +126,11 @@ let StateMachineService = class StateMachineService {
|
|
|
123
126
|
* Update row status (e.g. pending → captured, pending → cancelled).
|
|
124
127
|
*/
|
|
125
128
|
async setStatus(ctx, rowId, status, metadata) {
|
|
126
|
-
const repo = this.connection.getRepository(ctx, VivaTransaction);
|
|
129
|
+
const repo = this.connection.getRepository(ctx, viva_transaction_entity_js_1.VivaTransaction);
|
|
127
130
|
if (metadata !== undefined) {
|
|
128
131
|
await repo
|
|
129
132
|
.createQueryBuilder()
|
|
130
|
-
.update(VivaTransaction)
|
|
133
|
+
.update(viva_transaction_entity_js_1.VivaTransaction)
|
|
131
134
|
.set({ status, metadata: () => ':meta' })
|
|
132
135
|
.where('id = :id', { id: rowId })
|
|
133
136
|
.setParameter('meta', JSON.stringify(metadata))
|
|
@@ -136,7 +139,7 @@ let StateMachineService = class StateMachineService {
|
|
|
136
139
|
else {
|
|
137
140
|
await repo
|
|
138
141
|
.createQueryBuilder()
|
|
139
|
-
.update(VivaTransaction)
|
|
142
|
+
.update(viva_transaction_entity_js_1.VivaTransaction)
|
|
140
143
|
.set({ status })
|
|
141
144
|
.where('id = :id', { id: rowId })
|
|
142
145
|
.execute();
|
|
@@ -192,22 +195,22 @@ let StateMachineService = class StateMachineService {
|
|
|
192
195
|
* @see docs/plans/vendure-plugin-v0.md §"Architecture Decisions Q4"
|
|
193
196
|
*/
|
|
194
197
|
async recoverStaleOrderAndSettle(ctx, orderId, paymentId) {
|
|
195
|
-
Logger.info(`[StateMachineService] Starting stale-order re-walk for order ${String(orderId)}, payment ${String(paymentId)}.`, VIVA_LOG_CONTEXT);
|
|
198
|
+
core_1.Logger.info(`[StateMachineService] Starting stale-order re-walk for order ${String(orderId)}, payment ${String(paymentId)}.`, constants_js_1.VIVA_LOG_CONTEXT);
|
|
196
199
|
// Step 1: AddingItems → ArrangingPayment
|
|
197
200
|
const transitionResult = await this.orderService.transitionToState(ctx, orderId, 'ArrangingPayment');
|
|
198
201
|
if ('errorCode' in transitionResult) {
|
|
199
202
|
const msg = `[StateMachineService] Stale re-walk FAILED on AddingItems→ArrangingPayment for order ${String(orderId)}: ${transitionResult.message ?? JSON.stringify(transitionResult)}`;
|
|
200
|
-
Logger.error(msg, VIVA_LOG_CONTEXT);
|
|
203
|
+
core_1.Logger.error(msg, constants_js_1.VIVA_LOG_CONTEXT);
|
|
201
204
|
throw new Error(msg);
|
|
202
205
|
}
|
|
203
206
|
// Step 2: ArrangingPayment → settle (Created → Authorized → Settled)
|
|
204
207
|
const settleResult = await this.orderService.settlePayment(ctx, paymentId);
|
|
205
208
|
if ('errorCode' in settleResult) {
|
|
206
209
|
const msg = `[StateMachineService] Stale re-walk FAILED on settlePayment for order ${String(orderId)}, payment ${String(paymentId)}: ${settleResult.message ?? JSON.stringify(settleResult)}`;
|
|
207
|
-
Logger.error(msg, VIVA_LOG_CONTEXT);
|
|
210
|
+
core_1.Logger.error(msg, constants_js_1.VIVA_LOG_CONTEXT);
|
|
208
211
|
throw new Error(msg);
|
|
209
212
|
}
|
|
210
|
-
Logger.info(`[StateMachineService] Stale re-walk complete: order ${String(orderId)} now PaymentSettled.`, VIVA_LOG_CONTEXT);
|
|
213
|
+
core_1.Logger.info(`[StateMachineService] Stale re-walk complete: order ${String(orderId)} now PaymentSettled.`, constants_js_1.VIVA_LOG_CONTEXT);
|
|
211
214
|
}
|
|
212
215
|
// ---------------------------------------------------------------------------
|
|
213
216
|
// Private helpers
|
|
@@ -223,11 +226,11 @@ let StateMachineService = class StateMachineService {
|
|
|
223
226
|
return false;
|
|
224
227
|
}
|
|
225
228
|
};
|
|
226
|
-
StateMachineService =
|
|
227
|
-
|
|
228
|
-
|
|
229
|
-
|
|
230
|
-
|
|
229
|
+
exports.StateMachineService = StateMachineService;
|
|
230
|
+
exports.StateMachineService = StateMachineService = __decorate([
|
|
231
|
+
(0, common_1.Injectable)(),
|
|
232
|
+
__metadata("design:paramtypes", [core_1.TransactionalConnection,
|
|
233
|
+
core_1.OrderService,
|
|
234
|
+
core_1.PaymentService])
|
|
231
235
|
], StateMachineService);
|
|
232
|
-
export { StateMachineService };
|
|
233
236
|
//# sourceMappingURL=state-machine.service.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"state-machine.service.js","sourceRoot":"","sources":["../../src/services/state-machine.service.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;GAeG
|
|
1
|
+
{"version":3,"file":"state-machine.service.js","sourceRoot":"","sources":["../../src/services/state-machine.service.ts"],"names":[],"mappings":"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"}
|
package/dist/types.js
CHANGED
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
"use strict";
|
|
1
2
|
/**
|
|
2
3
|
* types.ts — Public configuration types for VivaPaymentPlugin.
|
|
3
4
|
*
|
|
@@ -19,5 +20,5 @@
|
|
|
19
20
|
* viva-payments-core types are imported from sub-paths to avoid pulling in
|
|
20
21
|
* implementation code.
|
|
21
22
|
*/
|
|
22
|
-
|
|
23
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
23
24
|
//# sourceMappingURL=types.js.map
|
package/dist/types.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.js","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;GAoBG"}
|
|
1
|
+
{"version":3,"file":"types.js","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":";AAAA;;;;;;;;;;;;;;;;;;;;GAoBG"}
|
package/dist/util/currency.js
CHANGED
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
"use strict";
|
|
1
2
|
/**
|
|
2
3
|
* currency.ts — ISO 4217 alpha ↔ numeric conversion helpers.
|
|
3
4
|
*
|
|
@@ -7,7 +8,11 @@
|
|
|
7
8
|
* @see references/viva-docs/md/wh-transaction-payment-created.txt:487
|
|
8
9
|
* @see docs/plans/vendure-plugin-v0.md §"Constraints" (Currency: Numeric ISO 4217)
|
|
9
10
|
*/
|
|
10
|
-
|
|
11
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
12
|
+
exports.alphaToNumeric = alphaToNumeric;
|
|
13
|
+
exports.numericToAlpha = numericToAlpha;
|
|
14
|
+
exports.coerceCurrencyCode = coerceCurrencyCode;
|
|
15
|
+
const types_1 = require("@sakeetech/viva-payments-core/types");
|
|
11
16
|
// ---------------------------------------------------------------------------
|
|
12
17
|
// Lookup tables
|
|
13
18
|
// ---------------------------------------------------------------------------
|
|
@@ -52,13 +57,13 @@ const NUMERIC_TO_ALPHA = Object.fromEntries(Object.entries(ALPHA_TO_NUMERIC).map
|
|
|
52
57
|
*
|
|
53
58
|
* @example alphaToNumeric('GBP') // → '826' (branded CurrencyCode)
|
|
54
59
|
*/
|
|
55
|
-
|
|
60
|
+
function alphaToNumeric(alpha) {
|
|
56
61
|
const upper = alpha.toUpperCase();
|
|
57
62
|
const numeric = ALPHA_TO_NUMERIC[upper];
|
|
58
63
|
if (!numeric) {
|
|
59
64
|
throw new Error(`Unknown ISO 4217 alpha currency code: "${alpha}"`);
|
|
60
65
|
}
|
|
61
|
-
return asCurrencyCode(numeric);
|
|
66
|
+
return (0, types_1.asCurrencyCode)(numeric);
|
|
62
67
|
}
|
|
63
68
|
/**
|
|
64
69
|
* Convert ISO 4217 numeric string to alpha code.
|
|
@@ -68,7 +73,7 @@ export function alphaToNumeric(alpha) {
|
|
|
68
73
|
* @example numericToAlpha('826') // → 'GBP'
|
|
69
74
|
* @example numericToAlpha(826) // → 'GBP'
|
|
70
75
|
*/
|
|
71
|
-
|
|
76
|
+
function numericToAlpha(numeric) {
|
|
72
77
|
const key = String(numeric).padStart(3, '0');
|
|
73
78
|
const alpha = NUMERIC_TO_ALPHA[key];
|
|
74
79
|
if (!alpha) {
|
|
@@ -80,11 +85,11 @@ export function numericToAlpha(numeric) {
|
|
|
80
85
|
* Coerce a webhook payload currency value (may be string or number) to the
|
|
81
86
|
* branded CurrencyCode type. Throws on unknown code.
|
|
82
87
|
*/
|
|
83
|
-
|
|
88
|
+
function coerceCurrencyCode(raw) {
|
|
84
89
|
const key = String(raw).padStart(3, '0');
|
|
85
90
|
if (!NUMERIC_TO_ALPHA[key]) {
|
|
86
91
|
throw new Error(`Unknown ISO 4217 numeric currency code: "${raw}"`);
|
|
87
92
|
}
|
|
88
|
-
return asCurrencyCode(key);
|
|
93
|
+
return (0, types_1.asCurrencyCode)(key);
|
|
89
94
|
}
|
|
90
95
|
//# sourceMappingURL=currency.js.map
|