@chevre/domain 21.2.0-alpha.40 → 21.2.0-alpha.41
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/lib/chevre/service/notification.js +26 -1
- package/lib/chevre/service/reserve/potentialActions/onReservationCanceled.js +1 -2
- package/lib/chevre/service/reserve/potentialActions/onReservationCheckedIn.js +1 -2
- package/lib/chevre/service/reserve/potentialActions/onReservationUsed.js +1 -2
- package/lib/chevre/settings.d.ts +2 -0
- package/lib/chevre/settings.js +7 -1
- package/package.json +1 -1
|
@@ -150,6 +150,32 @@ ${content}`;
|
|
|
150
150
|
exports.report2developers = report2developers;
|
|
151
151
|
const USERNAME_ARGUMENT_REQUIRED_MESSAGE = 'Missing required key \'Username\' in params';
|
|
152
152
|
function triggerWebhook(params) {
|
|
153
|
+
return (repos) => __awaiter(this, void 0, void 0, function* () {
|
|
154
|
+
// retryableにする(2023-05-12~)
|
|
155
|
+
let retry = true;
|
|
156
|
+
let numberOfTry = 0;
|
|
157
|
+
while (numberOfTry >= 0) {
|
|
158
|
+
try {
|
|
159
|
+
numberOfTry += 1;
|
|
160
|
+
if (numberOfTry > settings_1.MAX_RETRY_COUNT_TRIGGER_WEBHOOK) {
|
|
161
|
+
retry = false;
|
|
162
|
+
}
|
|
163
|
+
yield processInformAction(params)(repos);
|
|
164
|
+
break;
|
|
165
|
+
}
|
|
166
|
+
catch (error) {
|
|
167
|
+
if (retry) {
|
|
168
|
+
continue;
|
|
169
|
+
}
|
|
170
|
+
else {
|
|
171
|
+
throw error;
|
|
172
|
+
}
|
|
173
|
+
}
|
|
174
|
+
}
|
|
175
|
+
});
|
|
176
|
+
}
|
|
177
|
+
exports.triggerWebhook = triggerWebhook;
|
|
178
|
+
function processInformAction(params) {
|
|
153
179
|
return (repos) => __awaiter(this, void 0, void 0, function* () {
|
|
154
180
|
var _a, _b;
|
|
155
181
|
// アクション開始
|
|
@@ -215,4 +241,3 @@ function triggerWebhook(params) {
|
|
|
215
241
|
yield repos.action.complete({ typeOf: action.typeOf, id: action.id, result: result });
|
|
216
242
|
});
|
|
217
243
|
}
|
|
218
|
-
exports.triggerWebhook = triggerWebhook;
|
|
@@ -19,7 +19,6 @@ const settings_1 = require("../../../settings");
|
|
|
19
19
|
const offer_1 = require("../../offer");
|
|
20
20
|
const factory_1 = require("../factory");
|
|
21
21
|
const informReservations = settings_1.settings.onReservationStatusChanged.informReservation;
|
|
22
|
-
const INFORM_TASK_DELAY_IN_SECONDS = 30;
|
|
23
22
|
/**
|
|
24
23
|
* 予約取消後のアクション
|
|
25
24
|
*/
|
|
@@ -51,7 +50,7 @@ function onReservationCanceled(canceledReservations, useInformReservation) {
|
|
|
51
50
|
if (Array.isArray(informReservations)) {
|
|
52
51
|
// やや遅延させる(確定通知が未達の可能性を考慮して)
|
|
53
52
|
const informTaskRunsAt = moment(now)
|
|
54
|
-
.add(
|
|
53
|
+
.add(settings_1.INFORM_RESERVATION_TASK_DELAY_IN_SECONDS, 'seconds')
|
|
55
54
|
.toDate();
|
|
56
55
|
const reservations4inform = canceledReservations.map((r) => {
|
|
57
56
|
return {
|
|
@@ -19,7 +19,6 @@ const settings_1 = require("../../../settings");
|
|
|
19
19
|
const offer_1 = require("../../offer");
|
|
20
20
|
const factory_1 = require("../factory");
|
|
21
21
|
const informReservations = settings_1.settings.onReservationStatusChanged.informReservation;
|
|
22
|
-
const INFORM_TASK_DELAY_IN_SECONDS = 30;
|
|
23
22
|
// tslint:disable-next-line:max-func-body-length
|
|
24
23
|
function onReservationCheckedIn(params) {
|
|
25
24
|
// tslint:disable-next-line:max-func-body-length
|
|
@@ -31,7 +30,7 @@ function onReservationCheckedIn(params) {
|
|
|
31
30
|
if (Array.isArray(informReservations)) {
|
|
32
31
|
// やや遅延させる(確定通知が未達の可能性を考慮して)
|
|
33
32
|
const informTaskRunsAt = moment(params.now)
|
|
34
|
-
.add(
|
|
33
|
+
.add(settings_1.INFORM_RESERVATION_TASK_DELAY_IN_SECONDS, 'seconds')
|
|
35
34
|
.toDate();
|
|
36
35
|
informReservations.forEach((informReservation) => {
|
|
37
36
|
var _a;
|
|
@@ -19,7 +19,6 @@ const settings_1 = require("../../../settings");
|
|
|
19
19
|
const offer_1 = require("../../offer");
|
|
20
20
|
const factory_1 = require("../factory");
|
|
21
21
|
const informReservations = settings_1.settings.onReservationStatusChanged.informReservation;
|
|
22
|
-
const INFORM_TASK_DELAY_IN_SECONDS = 30;
|
|
23
22
|
/**
|
|
24
23
|
* 予約使用
|
|
25
24
|
*/
|
|
@@ -32,7 +31,7 @@ function onReservationUsed(action, attendedReservation) {
|
|
|
32
31
|
if (Array.isArray(informReservations)) {
|
|
33
32
|
// やや遅延させる(確定通知が未達の可能性を考慮して)
|
|
34
33
|
const informTaskRunsAt = moment(now)
|
|
35
|
-
.add(
|
|
34
|
+
.add(settings_1.INFORM_RESERVATION_TASK_DELAY_IN_SECONDS, 'seconds')
|
|
36
35
|
.toDate();
|
|
37
36
|
const reservation4inform = {
|
|
38
37
|
typeOf: attendedReservation.typeOf,
|
package/lib/chevre/settings.d.ts
CHANGED
|
@@ -31,6 +31,8 @@ export declare const DEFAULT_TASKS_EXPORT_AGENT_NAME: string;
|
|
|
31
31
|
export declare const USE_ASSET_TRANSACTION_SYNC_PROCESSING: boolean;
|
|
32
32
|
export declare const USE_PAY_ASSET_TRANSACTION_SYNC_PROCESSING: boolean;
|
|
33
33
|
export declare const USE_NEW_EVENT_AVAILABILITY_KEY_FROM: moment.Moment;
|
|
34
|
+
export declare const INFORM_RESERVATION_TASK_DELAY_IN_SECONDS: number;
|
|
35
|
+
export declare const MAX_RETRY_COUNT_TRIGGER_WEBHOOK: number;
|
|
34
36
|
/**
|
|
35
37
|
* グローバル設定
|
|
36
38
|
*/
|
package/lib/chevre/settings.js
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.settings = exports.USE_NEW_EVENT_AVAILABILITY_KEY_FROM = exports.USE_PAY_ASSET_TRANSACTION_SYNC_PROCESSING = exports.USE_ASSET_TRANSACTION_SYNC_PROCESSING = exports.DEFAULT_TASKS_EXPORT_AGENT_NAME = exports.DEFAULT_PAYMENT_METHOD_TYPE_FOR_CREDIT_CARD = exports.DEFAULT_SENDER_EMAIL = exports.TRANSACTION_CANCELED_STORAGE_PERIOD_IN_DAYS = exports.TRANSACTION_CONFIRMED_STORAGE_PERIOD_IN_DAYS = exports.ASSET_TRANSACTION_STORAGE_PERIOD_IN_DAYS = exports.ABORTED_TASKS_WITHOUT_REPORT = void 0;
|
|
3
|
+
exports.settings = exports.MAX_RETRY_COUNT_TRIGGER_WEBHOOK = exports.INFORM_RESERVATION_TASK_DELAY_IN_SECONDS = exports.USE_NEW_EVENT_AVAILABILITY_KEY_FROM = exports.USE_PAY_ASSET_TRANSACTION_SYNC_PROCESSING = exports.USE_ASSET_TRANSACTION_SYNC_PROCESSING = exports.DEFAULT_TASKS_EXPORT_AGENT_NAME = exports.DEFAULT_PAYMENT_METHOD_TYPE_FOR_CREDIT_CARD = exports.DEFAULT_SENDER_EMAIL = exports.TRANSACTION_CANCELED_STORAGE_PERIOD_IN_DAYS = exports.TRANSACTION_CONFIRMED_STORAGE_PERIOD_IN_DAYS = exports.ASSET_TRANSACTION_STORAGE_PERIOD_IN_DAYS = exports.ABORTED_TASKS_WITHOUT_REPORT = void 0;
|
|
4
4
|
const moment = require("moment");
|
|
5
5
|
const factory = require("./factory");
|
|
6
6
|
const transactionWebhookUrls = (typeof process.env.INFORM_TRANSACTION_URL === 'string')
|
|
@@ -50,6 +50,12 @@ exports.USE_PAY_ASSET_TRANSACTION_SYNC_PROCESSING = process.env.USE_PAY_ASSET_TR
|
|
|
50
50
|
exports.USE_NEW_EVENT_AVAILABILITY_KEY_FROM = (typeof process.env.USE_NEW_EVENT_AVAILABILITY_KEY_FROM === 'string')
|
|
51
51
|
? moment(process.env.USE_NEW_EVENT_AVAILABILITY_KEY_FROM)
|
|
52
52
|
: moment('2023-08-31T15:00:00Z');
|
|
53
|
+
exports.INFORM_RESERVATION_TASK_DELAY_IN_SECONDS = (typeof process.env.INFORM_RESERVATION_TASK_DELAY_IN_SECONDS === 'string')
|
|
54
|
+
? Number(process.env.INFORM_RESERVATION_TASK_DELAY_IN_SECONDS)
|
|
55
|
+
: 0;
|
|
56
|
+
exports.MAX_RETRY_COUNT_TRIGGER_WEBHOOK = (typeof process.env.MAX_RETRY_COUNT_TRIGGER_WEBHOOK === 'string')
|
|
57
|
+
? Number(process.env.MAX_RETRY_COUNT_TRIGGER_WEBHOOK)
|
|
58
|
+
: 0;
|
|
53
59
|
/**
|
|
54
60
|
* グローバル設定
|
|
55
61
|
*/
|
package/package.json
CHANGED