@chevre/domain 20.1.0-alpha.2 → 20.1.0-alpha.20

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.
Files changed (77) hide show
  1. package/example/src/chevre/deleteEvents.ts +9 -1
  2. package/example/src/chevre/migrateEventOffersSellerMakesOffer.ts +139 -0
  3. package/example/src/chevre/migrateEventSeriesAdditionalPropertyNames.ts +68 -0
  4. package/example/src/chevre/migrateSellerMakesOfferTransactionDuration.ts +71 -0
  5. package/example/src/chevre/searchEvents.ts +36 -16
  6. package/lib/chevre/repo/action.js +42 -31
  7. package/lib/chevre/repo/additionalPropertyName.d.ts +35 -0
  8. package/lib/chevre/repo/additionalPropertyName.js +211 -0
  9. package/lib/chevre/repo/event.d.ts +9 -4
  10. package/lib/chevre/repo/event.js +59 -47
  11. package/lib/chevre/repo/mongoose/model/action.js +9 -1
  12. package/lib/chevre/repo/mongoose/model/additionalPropertyName.d.ts +7 -0
  13. package/lib/chevre/repo/mongoose/model/additionalPropertyName.js +81 -0
  14. package/lib/chevre/repo/mongoose/model/event.js +53 -0
  15. package/lib/chevre/repo/mongoose/model/place.js +18 -0
  16. package/lib/chevre/repo/place.d.ts +1 -0
  17. package/lib/chevre/repo/place.js +5 -0
  18. package/lib/chevre/repo/transaction.js +20 -5
  19. package/lib/chevre/repository.d.ts +6 -0
  20. package/lib/chevre/repository.js +8 -1
  21. package/lib/chevre/service/account.d.ts +0 -4
  22. package/lib/chevre/service/account.js +24 -22
  23. package/lib/chevre/service/accountTransaction/deposit.d.ts +0 -2
  24. package/lib/chevre/service/accountTransaction/deposit.js +3 -3
  25. package/lib/chevre/service/accountTransaction/transfer.d.ts +0 -2
  26. package/lib/chevre/service/accountTransaction/transfer.js +3 -3
  27. package/lib/chevre/service/accountTransaction/withdraw.d.ts +0 -2
  28. package/lib/chevre/service/accountTransaction/withdraw.js +3 -3
  29. package/lib/chevre/service/assetTransaction/pay/potentialActions.js +11 -20
  30. package/lib/chevre/service/delivery/factory.js +2 -1
  31. package/lib/chevre/service/event.js +10 -0
  32. package/lib/chevre/service/offer/event/authorize.d.ts +4 -0
  33. package/lib/chevre/service/offer/event/authorize.js +46 -10
  34. package/lib/chevre/service/offer/factory.js +7 -20
  35. package/lib/chevre/service/offer.js +6 -6
  36. package/lib/chevre/service/order/onOrderStatusChanged/factory.js +5 -3
  37. package/lib/chevre/service/order/onOrderStatusChanged.js +5 -4
  38. package/lib/chevre/service/order/placeOrder.js +17 -7
  39. package/lib/chevre/service/order/returnOrder.js +2 -1
  40. package/lib/chevre/service/order/sendOrder.js +4 -2
  41. package/lib/chevre/service/transaction/orderProgramMembership.js +6 -8
  42. package/lib/chevre/service/transaction/placeOrder/exportTasks/factory.js +6 -3
  43. package/lib/chevre/service/transaction/placeOrderInProgress/factory.js +9 -4
  44. package/lib/chevre/service/transaction/placeOrderInProgress/potentialActions/givePointAward.js +2 -1
  45. package/lib/chevre/service/transaction/placeOrderInProgress/potentialActions/moneyTransfer.js +2 -1
  46. package/lib/chevre/service/transaction/placeOrderInProgress/potentialActions/registerService.js +2 -1
  47. package/lib/chevre/service/transaction/placeOrderInProgress/potentialActions/sendEmailMessage.js +4 -3
  48. package/lib/chevre/service/transaction/placeOrderInProgress/potentialActions.js +4 -2
  49. package/lib/chevre/service/transaction/placeOrderInProgress/result.js +2 -4
  50. package/lib/chevre/service/transaction/placeOrderInProgress/validation/validateSeller.d.ts +3 -1
  51. package/lib/chevre/service/transaction/placeOrderInProgress/validation/validateSeller.js +3 -2
  52. package/lib/chevre/service/transaction/placeOrderInProgress.js +16 -2
  53. package/lib/chevre/service/transaction/returnOrder/potentialActions/returnMoneyTransfer.js +4 -5
  54. package/lib/chevre/service/transaction/returnOrder/potentialActions/returnPaymentMethod.js +6 -3
  55. package/lib/chevre/service/transaction/returnOrder/potentialActions/returnPointAward.js +4 -6
  56. package/lib/chevre/service/transaction/returnOrder/potentialActions/sendEmailMessage.js +2 -1
  57. package/lib/chevre/service/transaction/returnOrder.js +10 -1
  58. package/lib/chevre/service/transaction.js +1 -14
  59. package/package.json +3 -3
  60. package/example/src/chevre/accountBlanceTest.ts +0 -24
  61. package/example/src/chevre/checkOffersAppliesToMovieTicket.ts +0 -56
  62. package/example/src/chevre/createSeats.ts +0 -59
  63. package/example/src/chevre/manageOwnedByOfOwnershipInfo.ts +0 -35
  64. package/example/src/chevre/migrateEventOffersItemOfferedName.ts +0 -82
  65. package/example/src/chevre/migrateMovieTicketChargePriceSpecs.ts +0 -92
  66. package/example/src/chevre/migrateSellerMakesOffers.ts +0 -84
  67. package/example/src/chevre/migrateTTTSOldEventId.ts +0 -68
  68. package/example/src/chevre/publishConfirmationNumber.ts +0 -30
  69. package/example/src/chevre/publishServiceOutputIdentifier.ts +0 -28
  70. package/example/src/chevre/publishTransactionNumber.ts +0 -28
  71. package/example/src/chevre/renameTransaction.ts +0 -22
  72. package/lib/chevre/service/task/accountMoneyTransfer.d.ts +0 -3
  73. package/lib/chevre/service/task/accountMoneyTransfer.js +0 -31
  74. package/lib/chevre/service/task/cancelAccountMoneyTransfer.d.ts +0 -3
  75. package/lib/chevre/service/task/cancelAccountMoneyTransfer.js +0 -33
  76. package/lib/chevre/service/transaction/placeOrderInProgress/potentialActions/confirmReservation.d.ts +0 -11
  77. package/lib/chevre/service/transaction/placeOrderInProgress/potentialActions/confirmReservation.js +0 -187
@@ -33,7 +33,7 @@ function getOrderWithToken(params) {
33
33
  ? {
34
34
  id: params.order.customer.id,
35
35
  name: '****',
36
- project: params.order.customer.project,
36
+ // project: params.order.customer.project,
37
37
  typeOf: params.order.customer.typeOf
38
38
  }
39
39
  : {
@@ -42,7 +42,8 @@ function getOrderWithToken(params) {
42
42
  };
43
43
  const seller4orderToken = {
44
44
  id: params.order.seller.id,
45
- project: params.order.seller.project,
45
+ // 最適化(2022-11-15~)
46
+ // project: params.order.seller.project,
46
47
  typeOf: params.order.seller.typeOf
47
48
  };
48
49
  const order4token = {
@@ -50,7 +51,8 @@ function getOrderWithToken(params) {
50
51
  typeOf: params.order.typeOf,
51
52
  seller: seller4orderToken,
52
53
  customer: customer4orderToken,
53
- confirmationNumber: params.order.confirmationNumber,
54
+ // IOrderへ移行(2022-11-17~)
55
+ // confirmationNumber: params.order.confirmationNumber,
54
56
  orderNumber: params.order.orderNumber,
55
57
  price: params.order.price,
56
58
  priceCurrency: params.order.priceCurrency,
@@ -24,12 +24,13 @@ const TOKEN_EXPIRES_IN = 604800;
24
24
  function onOrderStatusChanged(params) {
25
25
  return (repos) => __awaiter(this, void 0, void 0, function* () {
26
26
  let tasks = [];
27
+ const maskedCustomer = (0, order_1.createMaskedCustomer)(params.order);
27
28
  const simpleOrder = {
28
- // project: params.order.project,
29
29
  typeOf: params.order.typeOf,
30
30
  seller: params.order.seller,
31
- customer: (0, order_1.createMaskedCustomer)(params.order),
32
- confirmationNumber: params.order.confirmationNumber,
31
+ customer: { typeOf: maskedCustomer.typeOf, id: maskedCustomer.id, name: maskedCustomer.name },
32
+ // IOrderへ移行(2022-11-17~)
33
+ // confirmationNumber: params.order.confirmationNumber,
33
34
  orderNumber: params.order.orderNumber,
34
35
  price: params.order.price,
35
36
  priceCurrency: params.order.priceCurrency,
@@ -118,7 +119,7 @@ function createConfirmPayTransactionTasks(order, simpleOrder) {
118
119
  typeOf: factory.actionType.ConfirmAction,
119
120
  object: [{ typeOf: factory.assetTransactionType.Pay, transactionNumber: paymentMethod.paymentMethodId }],
120
121
  agent: order.project,
121
- purpose: simpleOrder,
122
+ purpose: Object.assign(Object.assign({}, simpleOrder), { confirmationNumber: order.confirmationNumber }),
122
123
  instrument: {
123
124
  typeOf: 'WebAPI',
124
125
  identifier: factory.action.authorize.paymentMethod.any.ServiceIdentifier.Chevre
@@ -89,12 +89,14 @@ function placeOrderWithoutTransaction(params) {
89
89
  // orderNumber: params.object.orderNumber
90
90
  // })({ transaction: repos.transaction });
91
91
  // アクションを作成する(2022-04-11~)
92
+ const maskedCustomer = (0, order_1.createMaskedCustomer)(order);
92
93
  const simpleOrder = {
93
94
  // project: order.project,
94
95
  typeOf: order.typeOf,
95
96
  seller: order.seller,
96
- customer: (0, order_1.createMaskedCustomer)(order),
97
- confirmationNumber: order.confirmationNumber,
97
+ customer: { typeOf: maskedCustomer.typeOf, id: maskedCustomer.id, name: maskedCustomer.name },
98
+ // IOrderへ移行(2022-11-17~)
99
+ // confirmationNumber: order.confirmationNumber,
98
100
  orderNumber: order.orderNumber,
99
101
  price: order.price,
100
102
  priceCurrency: order.priceCurrency,
@@ -131,7 +133,10 @@ function placeOrderWithoutTransaction(params) {
131
133
  task: repos.task
132
134
  });
133
135
  // 潜在アクション
134
- yield onPlaceOrder(params)(repos);
136
+ yield onPlaceOrder({
137
+ object: order,
138
+ potentialActions: params.potentialActions
139
+ })(repos);
135
140
  });
136
141
  }
137
142
  exports.placeOrderWithoutTransaction = placeOrderWithoutTransaction;
@@ -148,12 +153,14 @@ function placeOrder(params) {
148
153
  orderNumber: params.object.orderNumber
149
154
  })({ transaction: repos.transaction });
150
155
  // アクションを作成する(2022-04-11~)
156
+ const maskedCustomer = (0, order_1.createMaskedCustomer)(order);
151
157
  const simpleOrder = {
152
158
  // project: order.project,
153
159
  typeOf: order.typeOf,
154
160
  seller: order.seller,
155
- customer: (0, order_1.createMaskedCustomer)(order),
156
- confirmationNumber: order.confirmationNumber,
161
+ customer: { typeOf: maskedCustomer.typeOf, id: maskedCustomer.id, name: maskedCustomer.name },
162
+ // IOrderへ移行(2022-11-17~)
163
+ // confirmationNumber: order.confirmationNumber,
157
164
  orderNumber: order.orderNumber,
158
165
  price: order.price,
159
166
  priceCurrency: order.priceCurrency,
@@ -190,7 +197,10 @@ function placeOrder(params) {
190
197
  task: repos.task
191
198
  });
192
199
  // 潜在アクション
193
- yield onPlaceOrder(params)(repos);
200
+ yield onPlaceOrder({
201
+ object: order,
202
+ potentialActions: params.potentialActions
203
+ })(repos);
194
204
  });
195
205
  }
196
206
  exports.placeOrder = placeOrder;
@@ -218,7 +228,7 @@ function onPlaceOrder(params) {
218
228
  numberOfTried: 0,
219
229
  executionResults: [],
220
230
  // data: potentialActions.sendOrder
221
- data: Object.assign({ project: potentialActions.sendOrder.project, object: potentialActions.sendOrder.object }, (potentialActions.sendOrder.potentialActions !== undefined)
231
+ data: Object.assign({ project: potentialActions.sendOrder.project, object: Object.assign(Object.assign({}, potentialActions.sendOrder.object), { confirmationNumber: params.object.confirmationNumber }) }, (potentialActions.sendOrder.potentialActions !== undefined)
222
232
  ? { potentialActions: potentialActions.sendOrder.potentialActions }
223
233
  : undefined)
224
234
  };
@@ -44,7 +44,8 @@ function returnOrder(params) {
44
44
  typeOf: order.typeOf,
45
45
  seller: order.seller,
46
46
  customer: (0, order_1.createMaskedCustomer)(order),
47
- confirmationNumber: order.confirmationNumber,
47
+ // IOrderへ移行(2022-11-17~)
48
+ // confirmationNumber: order.confirmationNumber,
48
49
  orderNumber: order.orderNumber,
49
50
  price: order.price,
50
51
  priceCurrency: order.priceCurrency,
@@ -42,12 +42,14 @@ function sendOrder(params) {
42
42
  }
43
43
  // SendOrderアクションを作成する
44
44
  // minimizeする(2022-04-18~)
45
+ const maskedCustomer = (0, order_1.createMaskedCustomer)(order);
45
46
  const simpleOrder = {
46
47
  // project: order.project,
47
48
  typeOf: order.typeOf,
48
49
  seller: order.seller,
49
- customer: (0, order_1.createMaskedCustomer)(order),
50
- confirmationNumber: order.confirmationNumber,
50
+ customer: { typeOf: maskedCustomer.typeOf, id: maskedCustomer.id, name: maskedCustomer.name },
51
+ // IOrderへ移行(2022-11-17~)
52
+ // confirmationNumber: order.confirmationNumber,
51
53
  orderNumber: order.orderNumber,
52
54
  price: order.price,
53
55
  priceCurrency: order.priceCurrency,
@@ -15,7 +15,6 @@ exports.orderProgramMembership = exports.ISS_PREFIX = void 0;
15
15
  */
16
16
  const GMO = require("@motionpicture/gmo-service");
17
17
  const createDebug = require("debug");
18
- const moment = require("moment-timezone");
19
18
  const accountTransactionIdentifier_1 = require("../../factory/accountTransactionIdentifier");
20
19
  const OfferService = require("../offer");
21
20
  const AnyPaymentService = require("../payment/any");
@@ -120,16 +119,15 @@ function createStartPlaceOrderInProgressParams(params) {
120
119
  id: customer.id,
121
120
  identifier: customer.identifier,
122
121
  memberOf: customer.memberOf
123
- // ↓不要なので廃止(2022-05-26~)
124
- // paramsにadditionalPropertyの指定があれば反映する
125
- // ...(Array.isArray(params.agent.additionalProperty)) ? { additionalProperty: params.agent.additionalProperty } : []
126
122
  };
127
123
  return {
128
124
  project: { typeOf: factory.organizationType.Project, id: params.project.id },
129
- expires: moment()
130
- // tslint:disable-next-line:no-magic-numbers
131
- .add(5, 'minutes')
132
- .toDate(),
125
+ // expiresInSeconds指定に変更(2022-11-29~)
126
+ // expires: moment()
127
+ // // tslint:disable-next-line:no-magic-numbers
128
+ // .add(5, 'minutes')
129
+ // .toDate(),
130
+ expiresInSeconds: 300,
133
131
  agent,
134
132
  seller: { id: params.seller.id },
135
133
  object: {
@@ -9,6 +9,7 @@ const settings_1 = require("../../../../settings");
9
9
  */
10
10
  // tslint:disable-next-line:max-func-body-length
11
11
  function createTasks(params) {
12
+ var _a;
12
13
  const taskAttributes = [];
13
14
  const transaction = params.transaction;
14
15
  const taskRunsAt = params.runsAt;
@@ -24,7 +25,6 @@ function createTasks(params) {
24
25
  executionResults: [],
25
26
  data: {
26
27
  agent: transaction.project,
27
- // agent: transaction.seller,
28
28
  object: transaction,
29
29
  project: transaction.project,
30
30
  purpose: { typeOf: transaction.typeOf, id: transaction.id },
@@ -72,6 +72,10 @@ function createTasks(params) {
72
72
  if (potentialActions === undefined) {
73
73
  throw new factory.errors.NotFound('Transaction PotentialActions');
74
74
  }
75
+ const orderFromTransaction = (_a = transaction.result) === null || _a === void 0 ? void 0 : _a.order;
76
+ if (orderFromTransaction === undefined) {
77
+ throw new factory.errors.NotFound('Transaction Result');
78
+ }
75
79
  const orderActionAttributes = potentialActions.order;
76
80
  const placeOrderTaskAttributes = {
77
81
  project: transaction.project,
@@ -81,9 +85,8 @@ function createTasks(params) {
81
85
  remainingNumberOfTries: 10,
82
86
  numberOfTried: 0,
83
87
  executionResults: [],
84
- // data: orderActionAttributes
85
88
  data: Object.assign({ project: orderActionAttributes.project, object: {
86
- confirmationNumber: orderActionAttributes.object.confirmationNumber,
89
+ confirmationNumber: orderFromTransaction.confirmationNumber,
87
90
  orderNumber: orderActionAttributes.object.orderNumber
88
91
  } }, (orderActionAttributes.potentialActions !== undefined)
89
92
  ? { potentialActions: orderActionAttributes.potentialActions }
@@ -10,7 +10,9 @@ function createStartParams(params, passport, seller, broker) {
10
10
  if (typeof seller.id !== 'string') {
11
11
  throw new factory.errors.NotFound('seller.id');
12
12
  }
13
- // 取引ファクトリーで新しい進行中取引オブジェクトを作成
13
+ if (typeof params.expiresInSeconds !== 'number') {
14
+ throw new factory.errors.ArgumentNull('expiresInSeconds');
15
+ }
14
16
  return {
15
17
  project: { typeOf: seller.project.typeOf, id: seller.project.id },
16
18
  typeOf: factory.transactionType.PlaceOrder,
@@ -19,11 +21,14 @@ function createStartParams(params, passport, seller, broker) {
19
21
  id: seller.id,
20
22
  name: seller.name,
21
23
  typeOf: seller.typeOf
22
- // ↓最適化(2022-05-24~)
23
- // ...{ project: seller.project }
24
24
  },
25
25
  object: transactionObject,
26
- expires: params.expires
26
+ // expires: params.expires,
27
+ expiresInSeconds: params.expiresInSeconds
28
+ // 販売者にexpires設定があれば適用
29
+ // ...(typeof makesOfferFromClient?.eligibleTransactionDuration?.maxValue === 'number')
30
+ // ? { expiresInSeconds: makesOfferFromClient.eligibleTransactionDuration.maxValue }
31
+ // : undefined
27
32
  };
28
33
  }
29
34
  exports.createStartParams = createStartParams;
@@ -48,7 +48,8 @@ function createGivePointAwardActions(params) {
48
48
  seller: params.order.seller,
49
49
  // mask
50
50
  customer: (0, order_1.createMaskedCustomer)(params.order),
51
- confirmationNumber: params.order.confirmationNumber,
51
+ // IOrderへ移行(2022-11-17~)
52
+ // confirmationNumber: params.order.confirmationNumber,
52
53
  orderNumber: params.order.orderNumber,
53
54
  price: params.order.price,
54
55
  priceCurrency: params.order.priceCurrency,
@@ -66,7 +66,8 @@ function createMoneyTransferActions(params) {
66
66
  seller: params.order.seller,
67
67
  // mask
68
68
  customer: (0, order_1.createMaskedCustomer)(params.order),
69
- confirmationNumber: params.order.confirmationNumber,
69
+ // IOrderへ移行(2022-11-17~)
70
+ // confirmationNumber: params.order.confirmationNumber,
70
71
  orderNumber: params.order.orderNumber,
71
72
  price: params.order.price,
72
73
  priceCurrency: params.order.priceCurrency,
@@ -51,7 +51,8 @@ function createRegisterServiceActions(params) {
51
51
  seller: params.order.seller,
52
52
  // mask
53
53
  customer: (0, order_1.createMaskedCustomer)(params.order),
54
- confirmationNumber: params.order.confirmationNumber,
54
+ // IOrderへ移行(2022-11-17~)
55
+ // confirmationNumber: params.order.confirmationNumber,
55
56
  orderNumber: params.order.orderNumber,
56
57
  price: params.order.price,
57
58
  priceCurrency: params.order.priceCurrency,
@@ -19,13 +19,14 @@ function createSendEmailMessageActions(params) {
19
19
  // 注文配送メール送信設定
20
20
  const sendEmailMessageActions = [];
21
21
  const project = params.transaction.project;
22
+ const maskedCustomer = (0, order_1.createMaskedCustomer)(params.order);
22
23
  const sendActionPurpose = {
23
- // project: params.order.project,
24
24
  typeOf: params.order.typeOf,
25
25
  seller: params.order.seller,
26
26
  // mask
27
- customer: (0, order_1.createMaskedCustomer)(params.order),
28
- confirmationNumber: params.order.confirmationNumber,
27
+ customer: { typeOf: maskedCustomer.typeOf, id: maskedCustomer.id, name: maskedCustomer.name },
28
+ // IOrderへ移行(2022-11-17~)
29
+ // confirmationNumber: params.order.confirmationNumber,
29
30
  orderNumber: params.order.orderNumber,
30
31
  price: params.order.price,
31
32
  priceCurrency: params.order.priceCurrency,
@@ -34,13 +34,15 @@ function createPotentialActions(params) {
34
34
  const givePointAwardActions = yield (0, givePointAward_1.createGivePointAwardActions)(params);
35
35
  // 注文配送メール送信設定
36
36
  const sendEmailMessageActions = yield (0, sendEmailMessage_1.createSendEmailMessageActions)(params);
37
+ const maskedCustomer = (0, order_1.createMaskedCustomer)(params.order);
37
38
  const simpleOrder = {
38
39
  // project: params.order.project,
39
40
  typeOf: params.order.typeOf,
40
41
  seller: params.order.seller,
41
42
  // mask
42
- customer: (0, order_1.createMaskedCustomer)(params.order),
43
- confirmationNumber: params.order.confirmationNumber,
43
+ customer: { typeOf: maskedCustomer.typeOf, id: maskedCustomer.id, name: maskedCustomer.name },
44
+ // IOrderへ移行(2022-11-17~)
45
+ // confirmationNumber: params.order.confirmationNumber,
44
46
  orderNumber: params.order.orderNumber,
45
47
  price: params.order.price,
46
48
  priceCurrency: params.order.priceCurrency,
@@ -34,13 +34,11 @@ function createSeller(params) {
34
34
  var _a;
35
35
  const seller = params.transaction.seller;
36
36
  return {
37
- project: { typeOf: params.transaction.project.typeOf, id: params.transaction.project.id },
37
+ // 最適化(2022-11-15~)
38
+ // project: { typeOf: params.transaction.project.typeOf, id: params.transaction.project.id },
38
39
  id: seller.id,
39
40
  name: (typeof seller.name === 'string') ? seller.name : String((_a = seller.name) === null || _a === void 0 ? void 0 : _a.ja),
40
41
  typeOf: seller.typeOf
41
- // ↓最適化(2022-05-20~)
42
- // ...(typeof seller.telephone === 'string') ? { telephone: seller.telephone } : undefined,
43
- // ...(typeof seller.url === 'string') ? { url: seller.url } : undefined
44
42
  };
45
43
  }
46
44
  function createCustomer(params) {
@@ -2,4 +2,6 @@ import * as factory from '../../../../factory';
2
2
  export declare function validateSeller(params: {
3
3
  seller: factory.seller.ISeller;
4
4
  clientUser?: factory.clientUser.IClientUser;
5
- }): void;
5
+ }): {
6
+ makesOfferFromClient: factory.seller.IMakesOffer;
7
+ };
@@ -8,12 +8,13 @@ function validateSeller(params) {
8
8
  if (typeof clientId !== 'string' || clientId.length === 0) {
9
9
  throw new factory.errors.ArgumentNull('client_id');
10
10
  }
11
- const makesOfferFromClient = (_b = params.seller.makesOffer) === null || _b === void 0 ? void 0 : _b.some((offer) => {
11
+ const makesOfferFromClient = (_b = params.seller.makesOffer) === null || _b === void 0 ? void 0 : _b.find((offer) => {
12
12
  var _a;
13
13
  return (_a = offer.availableAtOrFrom) === null || _a === void 0 ? void 0 : _a.some((availableApplication) => availableApplication.id === clientId);
14
14
  });
15
- if (makesOfferFromClient !== true) {
15
+ if (makesOfferFromClient === undefined) {
16
16
  throw new factory.errors.Argument('seller', 'makes no offers');
17
17
  }
18
+ return { makesOfferFromClient };
18
19
  }
19
20
  exports.validateSeller = validateSeller;
@@ -27,14 +27,28 @@ exports.POINT_AWARD_IDENTIFIER_NAME = 'pointAwardIdentifiers';
27
27
  */
28
28
  function start(params) {
29
29
  return (repos) => __awaiter(this, void 0, void 0, function* () {
30
+ var _a;
30
31
  const seller = yield repos.seller.findById({ id: params.seller.id });
32
+ let makesOfferFromClient;
31
33
  // 販売者オファー検証(2022-10-14~)
32
34
  if (params.validateSeller === true) {
33
- (0, validateSeller_1.validateSeller)({ seller, clientUser: params.object.clientUser });
35
+ const validateSellerResult = (0, validateSeller_1.validateSeller)({ seller, clientUser: params.object.clientUser });
36
+ makesOfferFromClient = validateSellerResult.makesOfferFromClient;
34
37
  }
35
38
  const passport = yield (0, validation_2.validateWaiterPassport)(params);
39
+ // fix expiresInSeconds(2022-11-29~)
40
+ let expiresInSeconds;
41
+ if (typeof ((_a = makesOfferFromClient === null || makesOfferFromClient === void 0 ? void 0 : makesOfferFromClient.eligibleTransactionDuration) === null || _a === void 0 ? void 0 : _a.maxValue) === 'number') {
42
+ expiresInSeconds = makesOfferFromClient.eligibleTransactionDuration.maxValue;
43
+ }
44
+ else if (typeof params.expiresInSeconds === 'number') {
45
+ expiresInSeconds = params.expiresInSeconds;
46
+ }
47
+ else {
48
+ throw new factory.errors.ArgumentNull('expiresInSeconds');
49
+ }
36
50
  // 取引ファクトリーで新しい進行中取引オブジェクトを作成
37
- const startParams = (0, factory_1.createStartParams)(params, passport, seller, params.broker);
51
+ const startParams = (0, factory_1.createStartParams)(Object.assign(Object.assign({}, params), { expiresInSeconds }), passport, seller, params.broker);
38
52
  let transaction;
39
53
  try {
40
54
  transaction = yield repos.transaction.start(startParams);
@@ -17,13 +17,14 @@ function createReturnMoneyTransferActions(params) {
17
17
  return __awaiter(this, void 0, void 0, function* () {
18
18
  const order = params.order;
19
19
  const returnMoneyTransferActions = [];
20
+ const maskedCustomer = (0, order_1.createMaskedCustomer)(order);
20
21
  const purpose = {
21
- // project: order.project,
22
22
  typeOf: order.typeOf,
23
23
  seller: order.seller,
24
24
  // mask
25
- customer: (0, order_1.createMaskedCustomer)(order),
26
- confirmationNumber: order.confirmationNumber,
25
+ customer: { typeOf: maskedCustomer.typeOf, id: maskedCustomer.id, name: maskedCustomer.name },
26
+ // IOrderへ移行(2022-11-17~)
27
+ // confirmationNumber: order.confirmationNumber,
27
28
  orderNumber: order.orderNumber,
28
29
  price: order.price,
29
30
  priceCurrency: order.priceCurrency,
@@ -62,11 +63,9 @@ function createReturnMoneyTransferActions(params) {
62
63
  },
63
64
  agent: order.project,
64
65
  recipient: {
65
- // project: { typeOf: transaction.project.typeOf, id: transaction.project.id },
66
66
  typeOf: order.seller.typeOf,
67
67
  id: order.seller.id,
68
68
  name: order.seller.name
69
- // url: order.seller.url
70
69
  },
71
70
  potentialActions: {},
72
71
  purpose,
@@ -45,7 +45,8 @@ function createReturnPaymentMethodPotentialActions(params) {
45
45
  seller: order.seller,
46
46
  // mask
47
47
  customer: (0, order_1.createMaskedCustomer)(order),
48
- confirmationNumber: order.confirmationNumber,
48
+ // IOrderへ移行(2022-11-17~)
49
+ // confirmationNumber: order.confirmationNumber,
49
50
  orderNumber: order.orderNumber,
50
51
  price: order.price,
51
52
  priceCurrency: order.priceCurrency,
@@ -109,7 +110,8 @@ function createReturnPaymentMethodActions(params) {
109
110
  seller: order.seller,
110
111
  // mask
111
112
  customer: (0, order_1.createMaskedCustomer)(order),
112
- confirmationNumber: order.confirmationNumber,
113
+ // IOrderへ移行(2022-11-17~)
114
+ // confirmationNumber: order.confirmationNumber,
113
115
  orderNumber: order.orderNumber,
114
116
  price: order.price,
115
117
  priceCurrency: order.priceCurrency,
@@ -179,7 +181,8 @@ function createReturnPaymentMethodIssuedThroughMovieTicketActions(params) {
179
181
  seller: order.seller,
180
182
  // mask
181
183
  customer: (0, order_1.createMaskedCustomer)(order),
182
- confirmationNumber: order.confirmationNumber,
184
+ // IOrderへ移行(2022-11-17~)
185
+ // confirmationNumber: order.confirmationNumber,
183
186
  orderNumber: order.orderNumber,
184
187
  price: order.price,
185
188
  priceCurrency: order.priceCurrency,
@@ -47,26 +47,24 @@ function createReturnPointAwardActions(params) {
47
47
  console.error('JSON.parse(awardAccountsStr) throws', error);
48
48
  }
49
49
  }
50
- // const transaction = params.transaction;
51
50
  const order = params.order;
51
+ const maskedCustomer = (0, order_1.createMaskedCustomer)(order);
52
52
  const purpose = {
53
- // project: order.project,
54
53
  typeOf: order.typeOf,
55
54
  seller: order.seller,
56
55
  // mask
57
- customer: (0, order_1.createMaskedCustomer)(order),
58
- confirmationNumber: order.confirmationNumber,
56
+ customer: { typeOf: maskedCustomer.typeOf, id: maskedCustomer.id, name: maskedCustomer.name },
57
+ // IOrderへ移行(2022-11-17~)
58
+ // confirmationNumber: order.confirmationNumber,
59
59
  orderNumber: order.orderNumber,
60
60
  price: order.price,
61
61
  priceCurrency: order.priceCurrency,
62
62
  orderDate: order.orderDate
63
63
  };
64
64
  const recipient = {
65
- // project: { typeOf: transaction.project.typeOf, id: transaction.project.id },
66
65
  typeOf: order.seller.typeOf,
67
66
  id: order.seller.id,
68
67
  name: order.seller.name
69
- // url: order.seller.url
70
68
  };
71
69
  // ポイントインセンティブの数だけ、返却アクションを作成
72
70
  returnPointAwardActions.push(...pointAwardIdentifiers.map((pointAwardIdentifier) => {
@@ -23,7 +23,8 @@ function createSendEmailMessaegActionsOnReturn(params) {
23
23
  seller: order.seller,
24
24
  // mask
25
25
  customer: (0, order_1.createMaskedCustomer)(order),
26
- confirmationNumber: order.confirmationNumber,
26
+ // IOrderへ移行(2022-11-17~)
27
+ // confirmationNumber: order.confirmationNumber,
27
28
  orderNumber: order.orderNumber,
28
29
  price: order.price,
29
30
  priceCurrency: order.priceCurrency,
@@ -55,6 +55,14 @@ function start(params) {
55
55
  returnPolicy: appliedReturnPolicy,
56
56
  reason: params.object.reason
57
57
  };
58
+ // fix expiresInSeconds(2022-11-30~)
59
+ let expiresInSeconds;
60
+ if (typeof params.expiresInSeconds === 'number') {
61
+ expiresInSeconds = params.expiresInSeconds;
62
+ }
63
+ else {
64
+ throw new factory.errors.ArgumentNull('expiresInSeconds');
65
+ }
58
66
  const returnOrderAttributes = {
59
67
  project: params.project,
60
68
  typeOf: factory.transactionType.ReturnOrder,
@@ -65,7 +73,8 @@ function start(params) {
65
73
  name: seller.name
66
74
  },
67
75
  object: transactionObject,
68
- expires: params.expires
76
+ // expires: params.expires,
77
+ expiresInSeconds
69
78
  };
70
79
  let returnOrderTransaction;
71
80
  try {
@@ -53,26 +53,13 @@ function updateAgent(params) {
53
53
  const newAgent = {
54
54
  typeOf: transaction.agent.typeOf,
55
55
  id: transaction.agent.id
56
- // 不要なので廃止(2022-05-26~)
57
- // ...(Array.isArray(params.agent.additionalProperty)) ? { additionalProperty: params.agent.additionalProperty } : {},
58
- // ...(typeof params.agent.age === 'string') ? { age: params.agent.age } : {},
59
- // ...(typeof params.agent.address === 'string') ? { address: params.agent.address } : {},
60
- // ...(typeof params.agent.email === 'string') ? { email: params.agent.email } : {},
61
- // ...(typeof params.agent.familyName === 'string') ? { familyName: params.agent.familyName } : {},
62
- // ...(typeof params.agent.gender === 'string') ? { gender: params.agent.gender } : {},
63
- // ...(typeof params.agent.givenName === 'string') ? { givenName: params.agent.givenName } : {},
64
- // ...(typeof params.agent.name === 'string') ? { name: params.agent.name } : {},
65
- // ...(typeof formattedTelephone === 'string') ? { telephone: formattedTelephone } : {},
66
- // ...(typeof params.agent.url === 'string') ? { url: params.agent.url } : {}
67
56
  };
68
57
  // 注文取引の場合、object.customerにも適用
69
58
  let customer;
70
59
  if (transaction.typeOf === factory.transactionType.PlaceOrder) {
71
60
  // いったんtransaction.object.customer?.typeOfは取引開始時にセットされている前提
72
61
  if (typeof ((_a = transaction.object.customer) === null || _a === void 0 ? void 0 : _a.typeOf) === 'string') {
73
- customer = Object.assign(Object.assign(Object.assign(Object.assign(Object.assign(Object.assign(Object.assign(Object.assign(Object.assign(Object.assign(Object.assign(Object.assign(Object.assign({ typeOf: transaction.object.customer.typeOf, id: transaction.object.customer.id }, (transaction.object.customer.typeOf === factory.organizationType.Organization)
74
- ? { project: transaction.object.customer.project }
75
- : undefined), (Array.isArray(transaction.object.customer.identifier))
62
+ customer = Object.assign(Object.assign(Object.assign(Object.assign(Object.assign(Object.assign(Object.assign(Object.assign(Object.assign(Object.assign(Object.assign(Object.assign({ typeOf: transaction.object.customer.typeOf, id: transaction.object.customer.id }, (Array.isArray(transaction.object.customer.identifier))
76
63
  ? { identifier: transaction.object.customer.identifier }
77
64
  : undefined), (transaction.object.customer.typeOf === factory.personType.Person
78
65
  && typeof ((_b = transaction.object.customer.memberOf) === null || _b === void 0 ? void 0 : _b.typeOf) === 'string')
package/package.json CHANGED
@@ -9,8 +9,8 @@
9
9
  }
10
10
  ],
11
11
  "dependencies": {
12
- "@chevre/factory": "4.276.0-alpha.2",
13
- "@cinerino/sdk": "3.132.0-alpha.0",
12
+ "@chevre/factory": "4.279.0-alpha.1",
13
+ "@cinerino/sdk": "3.133.0",
14
14
  "@motionpicture/coa-service": "9.2.0",
15
15
  "@motionpicture/gmo-service": "5.2.0",
16
16
  "@sendgrid/mail": "6.4.0",
@@ -120,5 +120,5 @@
120
120
  "postversion": "git push origin --tags",
121
121
  "prepublishOnly": "npm run clean && npm run build && npm test && npm run doc"
122
122
  },
123
- "version": "20.1.0-alpha.2"
123
+ "version": "20.1.0-alpha.20"
124
124
  }
@@ -1,24 +0,0 @@
1
- // tslint:disable:no-console
2
- // import * as moment from 'moment';
3
- import * as mongoose from 'mongoose';
4
-
5
- import { chevre } from '../../../lib/index';
6
-
7
- async function main() {
8
- await mongoose.connect(<string>process.env.MONGOLAB_URI);
9
-
10
- const accountRepo = new chevre.repository.Account(mongoose.connection);
11
-
12
- // 不要な所有権を削除
13
- const result = await accountRepo.authorizeAmount({
14
- accountNumber: '139151625010963',
15
- amount: 10,
16
- transaction: <any>{ id: 'test' },
17
- force: false
18
- });
19
- console.log('result:', result);
20
- }
21
-
22
- main()
23
- .then(console.log)
24
- .catch(console.error);