@chevre/domain 21.26.0-alpha.2 → 21.26.0-alpha.3

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.
@@ -22,7 +22,7 @@ async function main() {
22
22
  orderDate: {
23
23
  $gte: moment()
24
24
  // tslint:disable-next-line:no-magic-numbers
25
- .add(-31, 'days')
25
+ .add(-365, 'days')
26
26
  .toDate()
27
27
  }
28
28
  },
@@ -41,12 +41,13 @@ async function main() {
41
41
  const unexpextedprojectIds: string[] = [];
42
42
 
43
43
  let i = 0;
44
+ let unexpextedOrderCount = 0;
44
45
  await cursor.eachAsync(async (doc) => {
45
46
  i += 1;
46
47
  const order: Pick<chevre.factory.order.IOrder, 'orderDate' | 'orderNumber' | 'project' | 'typeOf'> = doc.toObject();
47
48
 
48
49
  try {
49
- console.log('validating order...', order.project.id, order.typeOf, order.orderNumber, order.orderDate, i);
50
+ console.log('validating order...', order.project.id, order.typeOf, order.orderNumber, order.orderDate, i, unexpextedOrderCount);
50
51
  const result = await validateOrder({
51
52
  orderNumber: order.orderNumber,
52
53
  project: { id: order.project.id }
@@ -58,6 +59,7 @@ async function main() {
58
59
  console.log(result);
59
60
  } catch (error) {
60
61
  console.error(error);
62
+ unexpextedOrderCount += 1;
61
63
  unexpextedOrders.push({
62
64
  orderDate: order.orderDate,
63
65
  orderNumber: order.orderNumber,
@@ -1,5 +1,4 @@
1
1
  import * as factory from '../../../../factory';
2
- type IAcceptedOffer = Pick<factory.order.IAcceptedOffer<factory.order.IItemOffered>, 'itemOffered' | 'offeredThrough'>;
3
2
  type IProcessingOrder = factory.order.IOrder & {
4
3
  numAcceptedOffers: number;
5
4
  orderStatus: factory.orderStatus.OrderProcessing;
@@ -16,4 +15,5 @@ declare function createConfirmReservationActionObject4COAByOrder(params: {
16
15
  };
17
16
  }): factory.task.confirmReserveTransaction.IObject4COAOptimized[];
18
17
  type IExternalOrder = Pick<factory.order.IOrder, 'project' | 'typeOf' | 'seller' | 'customer' | 'confirmationNumber' | 'orderNumber' | 'price' | 'priceCurrency' | 'orderDate' | 'name' | 'orderStatus' | 'orderedItem' | 'paymentMethods'>;
19
- export { IAcceptedOffer, IExternalOrder, createInformTasks, createConfirmReservationActionObject4ChevreByOrder, createConfirmReservationActionObject4COAByOrder };
18
+ declare function createCheckResourceTask(order: IProcessingOrder): factory.task.checkResource.IAttributes;
19
+ export { IExternalOrder, createInformTasks, createCheckResourceTask, createConfirmReservationActionObject4ChevreByOrder, createConfirmReservationActionObject4COAByOrder };
@@ -1,7 +1,7 @@
1
1
  "use strict";
2
2
  var _a;
3
3
  Object.defineProperty(exports, "__esModule", { value: true });
4
- exports.createConfirmReservationActionObject4COAByOrder = exports.createConfirmReservationActionObject4ChevreByOrder = exports.createInformTasks = void 0;
4
+ exports.createConfirmReservationActionObject4COAByOrder = exports.createConfirmReservationActionObject4ChevreByOrder = exports.createCheckResourceTask = exports.createInformTasks = void 0;
5
5
  const factory = require("../../../../factory");
6
6
  const reservedAgentIdentifireNames_1 = require("../../../../factory/reservedAgentIdentifireNames");
7
7
  const settings_1 = require("../../../../settings");
@@ -104,3 +104,25 @@ function createConfirmReservationActionObject4COAByOrder(params) {
104
104
  });
105
105
  }
106
106
  exports.createConfirmReservationActionObject4COAByOrder = createConfirmReservationActionObject4COAByOrder;
107
+ function createCheckResourceTask(order) {
108
+ const taskRunsAt = new Date();
109
+ const data = {
110
+ object: {
111
+ orderNumber: order.orderNumber,
112
+ typeOf: order.typeOf
113
+ },
114
+ project: order.project,
115
+ typeOf: factory.actionType.CheckAction
116
+ };
117
+ return {
118
+ project: order.project,
119
+ name: factory.taskName.CheckResource,
120
+ status: factory.taskStatus.Ready,
121
+ runsAt: taskRunsAt,
122
+ remainingNumberOfTries: 10,
123
+ numberOfTried: 0,
124
+ executionResults: [],
125
+ data
126
+ };
127
+ }
128
+ exports.createCheckResourceTask = createCheckResourceTask;
@@ -16,7 +16,6 @@ exports.onOrderProcessing = void 0;
16
16
  const createDebug = require("debug");
17
17
  const util = require("util");
18
18
  const factory = require("../../../factory");
19
- // import { createMaskedCustomer } from '../../../factory/order';
20
19
  const settings_1 = require("../../../settings");
21
20
  const createSendEmailMessageTaskIfNotExist_1 = require("./onOrderProcessing/createSendEmailMessageTaskIfNotExist");
22
21
  const factory_1 = require("./onOrderProcessing/factory");
@@ -44,7 +43,8 @@ function onOrderProcessing(params) {
44
43
  switch (params.order.orderStatus) {
45
44
  case factory.orderStatus.OrderProcessing:
46
45
  tasks = [
47
- ...(0, factory_1.createInformTasks)(params.order)
46
+ ...(0, factory_1.createInformTasks)(params.order),
47
+ ...(settings_1.USE_CHECK_RESOURCE_TASK) ? [(0, factory_1.createCheckResourceTask)(params.order)] : [] // リソース検証タスクを追加(2024-03-13~)
48
48
  ];
49
49
  break;
50
50
  default:
@@ -0,0 +1,7 @@
1
+ import * as factory from '../../factory';
2
+ import { IConnectionSettings } from '../task';
3
+ export type IOperation<T> = (settings: IConnectionSettings) => Promise<T>;
4
+ /**
5
+ * タスク実行関数
6
+ */
7
+ export declare function call(data: factory.task.checkResource.IData): IOperation<void>;
@@ -0,0 +1,64 @@
1
+ "use strict";
2
+ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
3
+ function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
4
+ return new (P || (P = Promise))(function (resolve, reject) {
5
+ function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
6
+ function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
7
+ function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
8
+ step((generator = generator.apply(thisArg, _arguments || [])).next());
9
+ });
10
+ };
11
+ Object.defineProperty(exports, "__esModule", { value: true });
12
+ exports.call = void 0;
13
+ const factory = require("../../factory");
14
+ const acceptedOffer_1 = require("../../repo/acceptedOffer");
15
+ const action_1 = require("../../repo/action");
16
+ const assetTransaction_1 = require("../../repo/assetTransaction");
17
+ const order_1 = require("../../repo/order");
18
+ const validateOrder_1 = require("../validation/validateOrder");
19
+ /**
20
+ * タスク実行関数
21
+ */
22
+ function call(data) {
23
+ return ({ connection }) => __awaiter(this, void 0, void 0, function* () {
24
+ const acceptedOfferRepo = new acceptedOffer_1.MongoRepository(connection);
25
+ const actionRepo = new action_1.MongoRepository(connection);
26
+ const assetTransactionRepo = new assetTransaction_1.MongoRepository(connection);
27
+ const orderRepo = new order_1.MongoRepository(connection);
28
+ const actionAttributes = {
29
+ agent: { id: data.project.id, typeOf: factory.organizationType.Project },
30
+ object: data.object,
31
+ project: { id: data.project.id, typeOf: factory.organizationType.Project },
32
+ typeOf: factory.actionType.CheckAction
33
+ };
34
+ const action = yield actionRepo.start(actionAttributes);
35
+ try {
36
+ switch (data.object.typeOf) {
37
+ case factory.order.OrderType.Order:
38
+ yield (0, validateOrder_1.validateOrder)({
39
+ orderNumber: data.object.orderNumber,
40
+ project: { id: data.project.id }
41
+ })({
42
+ acceptedOffer: acceptedOfferRepo,
43
+ assetTransaction: assetTransactionRepo,
44
+ order: orderRepo
45
+ });
46
+ break;
47
+ default:
48
+ throw new factory.errors.NotImplemented(`${data.object.typeOf} not implemented`);
49
+ }
50
+ }
51
+ catch (error) {
52
+ try {
53
+ yield actionRepo.giveUp({ typeOf: action.typeOf, id: action.id, error });
54
+ }
55
+ catch (__) {
56
+ // 失敗したら仕方ない
57
+ }
58
+ throw error;
59
+ }
60
+ const actionResult = {};
61
+ yield actionRepo.completeWithVoid({ typeOf: action.typeOf, id: action.id, result: actionResult });
62
+ });
63
+ }
64
+ exports.call = call;
@@ -43,6 +43,7 @@ export declare const USE_SEND_EMAIL_MESSAGE_ON_ORDER_PROCESSING: boolean;
43
43
  export declare const USE_MINIMIZED_PAY_TASK: boolean;
44
44
  export declare const USE_VALIDATE_PROJECT_MAKES_OFFER: boolean;
45
45
  export declare const USE_OWNERSHIP_INFO_BY_WEB_APPLICATION: boolean;
46
+ export declare const USE_CHECK_RESOURCE_TASK: boolean;
46
47
  export declare const MONGO_MAX_TIME_MS: number;
47
48
  export declare const MONGO_READ_PREFERENCE: string;
48
49
  export declare const MONGO_AUTO_INDEX: boolean;
@@ -1,6 +1,6 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.settings = exports.DELIVER_ORDER_LIMIT = exports.MONGO_AUTO_INDEX = exports.MONGO_READ_PREFERENCE = exports.MONGO_MAX_TIME_MS = exports.USE_OWNERSHIP_INFO_BY_WEB_APPLICATION = exports.USE_VALIDATE_PROJECT_MAKES_OFFER = exports.USE_MINIMIZED_PAY_TASK = exports.USE_SEND_EMAIL_MESSAGE_ON_ORDER_PROCESSING = exports.USE_INFORM_ORDER_IN_TRANSIT = exports.USE_FETCH_API = exports.USE_OPTIMIZE_TICKET_OFFER = exports.USE_DELETE_EVENT_BY_ORDER = exports.USE_ASSET_TRANSACTION_SYNC_PROCESSING = exports.DEFAULT_TASKS_EXPORT_AGENT_NAME = 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.MAX_NUM_CREDIT_CARD_PAYMENT_METHOD = exports.ABORTED_TASKS_WITHOUT_REPORT = exports.MAXIMUM_RESERVATION_GRACE_PERIOD_IN_DAYS = exports.TRIGGER_WEBHOOK_RETRY_INTERVAL_IN_MS = exports.TRIGGER_WEBHOOK_MAX_RETRY_COUNT = void 0;
3
+ exports.settings = exports.DELIVER_ORDER_LIMIT = exports.MONGO_AUTO_INDEX = exports.MONGO_READ_PREFERENCE = exports.MONGO_MAX_TIME_MS = exports.USE_CHECK_RESOURCE_TASK = exports.USE_OWNERSHIP_INFO_BY_WEB_APPLICATION = exports.USE_VALIDATE_PROJECT_MAKES_OFFER = exports.USE_MINIMIZED_PAY_TASK = exports.USE_SEND_EMAIL_MESSAGE_ON_ORDER_PROCESSING = exports.USE_INFORM_ORDER_IN_TRANSIT = exports.USE_FETCH_API = exports.USE_OPTIMIZE_TICKET_OFFER = exports.USE_DELETE_EVENT_BY_ORDER = exports.USE_ASSET_TRANSACTION_SYNC_PROCESSING = exports.DEFAULT_TASKS_EXPORT_AGENT_NAME = 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.MAX_NUM_CREDIT_CARD_PAYMENT_METHOD = exports.ABORTED_TASKS_WITHOUT_REPORT = exports.MAXIMUM_RESERVATION_GRACE_PERIOD_IN_DAYS = exports.TRIGGER_WEBHOOK_RETRY_INTERVAL_IN_MS = exports.TRIGGER_WEBHOOK_MAX_RETRY_COUNT = void 0;
4
4
  const factory = require("./factory");
5
5
  const transactionWebhookUrls = (typeof process.env.INFORM_TRANSACTION_URL === 'string')
6
6
  ? process.env.INFORM_TRANSACTION_URL.split(' ')
@@ -67,6 +67,7 @@ exports.USE_SEND_EMAIL_MESSAGE_ON_ORDER_PROCESSING = process.env.USE_SEND_EMAIL_
67
67
  exports.USE_MINIMIZED_PAY_TASK = process.env.USE_MINIMIZED_PAY_TASK === '1';
68
68
  exports.USE_VALIDATE_PROJECT_MAKES_OFFER = process.env.USE_VALIDATE_PROJECT_MAKES_OFFER === '1';
69
69
  exports.USE_OWNERSHIP_INFO_BY_WEB_APPLICATION = process.env.USE_OWNERSHIP_INFO_BY_WEB_APPLICATION === '1';
70
+ exports.USE_CHECK_RESOURCE_TASK = process.env.USE_CHECK_RESOURCE_TASK === '1';
70
71
  exports.MONGO_MAX_TIME_MS = (typeof process.env.MONGO_MAX_TIME_MS === 'string')
71
72
  ? Number(process.env.MONGO_MAX_TIME_MS)
72
73
  // tslint:disable-next-line:no-magic-numbers
package/package.json CHANGED
@@ -10,8 +10,8 @@
10
10
  ],
11
11
  "dependencies": {
12
12
  "@aws-sdk/credential-providers": "3.433.0",
13
- "@chevre/factory": "4.362.0-alpha.2",
14
- "@cinerino/sdk": "5.14.0-alpha.0",
13
+ "@chevre/factory": "4.362.0-alpha.3",
14
+ "@cinerino/sdk": "5.14.0-alpha.1",
15
15
  "@motionpicture/coa-service": "9.4.0",
16
16
  "@motionpicture/gmo-service": "5.3.0",
17
17
  "@sendgrid/mail": "6.4.0",
@@ -110,5 +110,5 @@
110
110
  "postversion": "git push origin --tags",
111
111
  "prepublishOnly": "npm run clean && npm run build && npm test && npm run doc"
112
112
  },
113
- "version": "21.26.0-alpha.2"
113
+ "version": "21.26.0-alpha.3"
114
114
  }