@chevre/domain 26.0.0-alpha.25 → 26.0.0-alpha.27

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 (43) hide show
  1. package/lib/chevre/repo/adminAssetTransaction.d.ts +132 -0
  2. package/lib/chevre/repo/adminAssetTransaction.js +504 -0
  3. package/lib/chevre/repo/adminTransaction.d.ts +131 -0
  4. package/lib/chevre/repo/adminTransaction.js +237 -0
  5. package/lib/chevre/repo/aggregateAssetTransaction.d.ts +43 -0
  6. package/lib/chevre/repo/aggregateAssetTransaction.js +166 -0
  7. package/lib/chevre/repo/aggregateTransaction.d.ts +39 -0
  8. package/lib/chevre/repo/aggregateTransaction.js +166 -0
  9. package/lib/chevre/repo/assetTransaction.d.ts +10 -235
  10. package/lib/chevre/repo/assetTransaction.js +48 -636
  11. package/lib/chevre/repo/mongoose/schemas/aggregateReservation.js +8 -9
  12. package/lib/chevre/repo/mongoose/schemas/event.js +7 -0
  13. package/lib/chevre/repo/mongoose/schemas/eventOffer.js +7 -0
  14. package/lib/chevre/repo/mongoose/schemas/pendingReservation.js +11 -4
  15. package/lib/chevre/repo/transaction.d.ts +1 -187
  16. package/lib/chevre/repo/transaction.js +2 -383
  17. package/lib/chevre/repository.d.ts +20 -5
  18. package/lib/chevre/repository.js +46 -13
  19. package/lib/chevre/service/aggregation/system.d.ts +7 -7
  20. package/lib/chevre/service/aggregation/system.js +4 -4
  21. package/lib/chevre/service/assetTransaction/cancelReservation/start.js +10 -17
  22. package/lib/chevre/service/assetTransaction/refund.js +2 -2
  23. package/lib/chevre/service/offer/event/voidTransaction/processVoidTransaction4chevre.js +1 -3
  24. package/lib/chevre/service/order/onAssetTransactionStatusChanged/isDeliverable.js +1 -49
  25. package/lib/chevre/service/order/onAssetTransactionStatusChanged/onPayTransactionConfirmed.js +2 -2
  26. package/lib/chevre/service/payment/any/processVoidPayTransaction.js +1 -1
  27. package/lib/chevre/service/reserve/cancelReservation.js +3 -3
  28. package/lib/chevre/service/reserve/checkInReservation.js +2 -2
  29. package/lib/chevre/service/reserve/confirmReservation.js +1 -1
  30. package/lib/chevre/service/reserve/useReservation.js +1 -1
  31. package/lib/chevre/service/task/deleteTransaction.js +2 -4
  32. package/lib/chevre/service/task/returnPayTransaction.js +2 -2
  33. package/lib/chevre/service/transaction/deleteTransaction/deletePayTransactionsByPlaceOrder.js +2 -2
  34. package/lib/chevre/service/transaction/deleteTransaction/deleteReservationsByPlaceOrder.js +2 -2
  35. package/lib/chevre/service/transaction/deleteTransaction.d.ts +2 -2
  36. package/lib/chevre/service/transaction/deleteTransaction.js +2 -2
  37. package/lib/chevre/service/transaction/placeOrder/confirm.js +1 -1
  38. package/lib/chevre/service/validation/validateOrder.js +2 -2
  39. package/package.json +2 -2
  40. package/lib/chevre/repo/mongoose/schemas/ownershipInfo.d.ts +0 -13
  41. package/lib/chevre/repo/mongoose/schemas/ownershipInfo.js +0 -82
  42. package/lib/chevre/repo/ownershipInfo.d.ts +0 -20
  43. package/lib/chevre/repo/ownershipInfo.js +0 -130
@@ -11,30 +11,15 @@ function validateStartParams(params) {
11
11
  const sellerId = params.seller?.id;
12
12
  // 予約番号で取引存在確認
13
13
  if (typeof params.object.reservation?.reservationNumber === 'string') {
14
- const transactions = await repos.assetTransaction.search({
14
+ const transactions = await repos.assetTransaction.findAssetTransactionsByTypeOf({
15
15
  limit: 1,
16
16
  page: 1,
17
17
  typeOf: factory_1.factory.assetTransactionType.Reserve,
18
18
  object: {
19
- reservationNumber: { $eq: params.object.reservation.reservationNumber },
20
- // 販売者検証(2023-08-01~)
21
- ...(typeof sellerId === 'string') ? { provider: { id: { $eq: sellerId } } } : undefined
19
+ reservationNumber: { $eq: params.object.reservation.reservationNumber }
22
20
  }
23
21
  });
24
22
  reserveTransaction = transactions.shift();
25
- // ここでReservationConfirmedでない予約をスルーしても、
26
- // ReservationRepo.cancel()で冪等性を保証しているのでvalidation不要か(2022-05-12~)
27
- // 予約ステータス確認
28
- // const unconfirmedReservations = await repos.reservation.search({
29
- // limit: 1,
30
- // page: 1,
31
- // typeOf: factory.reservationType.EventReservation,
32
- // reservationNumber: { $eq: params.object.reservation.reservationNumber },
33
- // reservationStatus: { $ne: factory.reservationStatusType.ReservationConfirmed }
34
- // });
35
- // if (unconfirmedReservations.length > 0) {
36
- // throw new factory.errors.Argument('object.reservation.reservationNumber', `Reservation ${unconfirmedReservations[0].id} not confirmed`);
37
- // }
38
23
  }
39
24
  // 取引指定が確認できなければ、予約指定を確認
40
25
  if (reserveTransaction === undefined) {
@@ -59,6 +44,14 @@ function validateStartParams(params) {
59
44
  reservations = [reservation];
60
45
  }
61
46
  }
47
+ else {
48
+ // 販売者検証(2023-08-01~)
49
+ if (typeof sellerId === 'string') {
50
+ if (reserveTransaction.object.provider?.id !== sellerId) {
51
+ throw new factory_1.factory.errors.NotFound(factory_1.factory.reservationType.EventReservation);
52
+ }
53
+ }
54
+ }
62
55
  if (reserveTransaction === undefined && reservations === undefined) {
63
56
  throw new factory_1.factory.errors.Argument('object', 'Transaction or reservation must be specified');
64
57
  }
@@ -135,12 +135,12 @@ function confirm(params) {
135
135
  else {
136
136
  throw new factory_1.factory.errors.ArgumentNull('Transaction ID or Transaction Number');
137
137
  }
138
- const payTransaction = (await repos.assetTransaction.search({
138
+ const payTransaction = (await repos.assetTransaction.findAssetTransactionsByTypeOf({
139
139
  limit: 1,
140
140
  page: 1,
141
141
  typeOf: factory_1.factory.assetTransactionType.Pay,
142
142
  transactionNumber: { $eq: transaction.object.paymentMethodId }
143
- }, ['recipient'], [])).shift();
143
+ }, ['recipient'])).shift();
144
144
  if (payTransaction === undefined) {
145
145
  throw new factory_1.factory.errors.NotFound(factory_1.factory.assetTransactionType.Pay);
146
146
  }
@@ -2,15 +2,13 @@
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.processVoidTransaction4chevre = processVoidTransaction4chevre;
4
4
  const factory_1 = require("../../../../factory");
5
- // import type { TransactionRepo } from '../../../../repo/transaction';
6
5
  const reserve_1 = require("../../../assetTransaction/reserve");
7
6
  function processVoidTransaction4chevre(params) {
8
7
  return async (repos, settings) => {
9
- // const transactionNumber = params.action.object.pendingTransaction?.transactionNumber;
10
8
  const transactionNumber = params.action.instrument.transactionNumber;
11
9
  if (typeof transactionNumber === 'string') {
12
10
  // 取引が存在すれば中止
13
- const assetTransactions = await repos.assetTransaction.search({
11
+ const assetTransactions = await repos.assetTransaction.findAssetTransactionsByTypeOf({
14
12
  limit: 1,
15
13
  page: 1,
16
14
  project: { id: { $eq: params.action.project.id } },
@@ -1,9 +1,7 @@
1
1
  "use strict";
2
- // import createDebug from 'debug';
3
2
  Object.defineProperty(exports, "__esModule", { value: true });
4
3
  exports.isDeliverable = isDeliverable;
5
4
  const factory_1 = require("../../../factory");
6
- // const debug = createDebug('chevre-domain:service:order');
7
5
  function isDeliverable(params) {
8
6
  return async (repos) => {
9
7
  let allReserveTransactionConfirmed = false;
@@ -15,7 +13,7 @@ function isDeliverable(params) {
15
13
  // 注文のreservationNumberを取得
16
14
  const reservationNumbers = await repos.acceptedOffer.distinctValues({ orderNumber: { $in: [params.orderNumber] } }, 'acceptedOffers.itemOffered.reservationNumber');
17
15
  if (reservationNumbers.length > 0) {
18
- const referencedReserveTransactions = await repos.assetTransaction.search({
16
+ const referencedReserveTransactions = await repos.assetTransaction.findAssetTransactionsByTypeOf({
19
17
  project: { id: { $eq: params.project.id } },
20
18
  typeOf: factory_1.factory.assetTransactionType.Reserve,
21
19
  transactionNumber: { $in: reservationNumbers }
@@ -27,52 +25,6 @@ function isDeliverable(params) {
27
25
  else {
28
26
  allReserveTransactionConfirmed = true;
29
27
  }
30
- // } else if (params.assetTransactionType === factory.assetTransactionType.MoneyTransfer) {
31
- // allReserveTransactionConfirmed = true;
32
- // allRegisterServiceTransactionConfirmed = true;
33
- // // 注文のMoneyTransferTransaction.transactionNumberを取得
34
- // const moneyTransferTransactionNumbers = await repos.acceptedOffer.distinctValues(
35
- // { orderNumber: { $in: [params.orderNumber] } },
36
- // 'acceptedOffers.serialNumber'
37
- // );
38
- // if (moneyTransferTransactionNumbers.length > 0) {
39
- // debug('is deliverable?...', params.orderNumber, 'moneyTransferTransactionNumbers:', moneyTransferTransactionNumbers);
40
- // const referencedMoneyTransferTransactions = await repos.assetTransaction.search(
41
- // {
42
- // project: { id: { $eq: params.project.id } },
43
- // typeOf: factory.assetTransactionType.MoneyTransfer,
44
- // transactionNumber: { $in: moneyTransferTransactionNumbers }
45
- // },
46
- // ['status']
47
- // ) as Pick<factory.assetTransaction.moneyTransfer.ITransaction, 'status'>[];
48
- // allMoneyTransferTransactionConfirmed =
49
- // referencedMoneyTransferTransactions.length === moneyTransferTransactionNumbers.length
50
- // && referencedMoneyTransferTransactions.every(({ status }) => status === factory.transactionStatusType.Confirmed);
51
- // } else {
52
- // allMoneyTransferTransactionConfirmed = true;
53
- // }
54
- // } else if (params.assetTransactionType === factory.assetTransactionType.RegisterService) {
55
- // allReserveTransactionConfirmed = true;
56
- // allMoneyTransferTransactionConfirmed = true;
57
- // const registerServiceTransactionNumbers = await repos.acceptedOffer.distinctValues(
58
- // { orderNumber: { $in: [params.orderNumber] } },
59
- // 'acceptedOffers.serialNumber'
60
- // );
61
- // if (registerServiceTransactionNumbers.length > 0) {
62
- // const referencedRegisterServiceTransactions = await repos.assetTransaction.search(
63
- // {
64
- // project: { id: { $eq: params.project.id } },
65
- // typeOf: factory.assetTransactionType.RegisterService,
66
- // transactionNumber: { $in: registerServiceTransactionNumbers }
67
- // },
68
- // ['status']
69
- // ) as Pick<factory.assetTransaction.registerService.ITransaction, 'status'>[];
70
- // allRegisterServiceTransactionConfirmed =
71
- // referencedRegisterServiceTransactions.length === registerServiceTransactionNumbers.length
72
- // && referencedRegisterServiceTransactions.every(({ status }) => status === factory.transactionStatusType.Confirmed);
73
- // } else {
74
- // allRegisterServiceTransactionConfirmed = true;
75
- // }
76
28
  }
77
29
  return allReserveTransactionConfirmed && allMoneyTransferTransactionConfirmed && allRegisterServiceTransactionConfirmed;
78
30
  };
@@ -36,7 +36,7 @@ function onPayTransactionConfirmed(params) {
36
36
  }
37
37
  function fixPaymentMethodIdentifierIfPossible(params) {
38
38
  return async (repos) => {
39
- const referencedPayTransactions = await repos.assetTransaction.search({
39
+ const referencedPayTransactions = await repos.assetTransaction.findAssetTransactionsByTypeOf({
40
40
  project: { id: { $eq: params.project.id } },
41
41
  typeOf: factory_1.factory.assetTransactionType.Pay,
42
42
  statuses: [factory_1.factory.transactionStatusType.Confirmed],
@@ -73,7 +73,7 @@ function isProcessable(params) {
73
73
  const paymentMethodIds = order.paymentMethods.filter((invoice) => typeof invoice.paymentMethodId === 'string' && invoice.paymentMethodId.length > 0)
74
74
  .map((invoice) => invoice.paymentMethodId);
75
75
  if (paymentMethodIds.length > 0) {
76
- const referencedPayTransactions = await repos.assetTransaction.search({
76
+ const referencedPayTransactions = await repos.assetTransaction.findAssetTransactionsByTypeOf({
77
77
  project: { id: { $eq: params.project.id } },
78
78
  typeOf: factory_1.factory.assetTransactionType.Pay,
79
79
  transactionNumber: { $in: paymentMethodIds }
@@ -109,7 +109,7 @@ function processVoidPayTransaction(params) {
109
109
  // 取引が存在すれば中止
110
110
  const transactionNumber = action.object.paymentMethodId;
111
111
  if (typeof transactionNumber === 'string' && transactionNumber.length > 0) {
112
- const payTransaction = (await repos.assetTransaction.search({
112
+ const payTransaction = (await repos.assetTransaction.findAssetTransactionsByTypeOf({
113
113
  limit: 1,
114
114
  page: 1,
115
115
  project: { id: { $eq: action.project.id } },
@@ -39,7 +39,7 @@ function cancelPengindIfNotYet(params) {
39
39
  return async (repos) => {
40
40
  const reserveTransactionId = params.purpose.id;
41
41
  // 予約取引を検索
42
- const reserveTransactions = await repos.assetTransaction.search({
42
+ const reserveTransactions = await repos.assetTransaction.findAssetTransactionsByTypeOf({
43
43
  limit: 1,
44
44
  page: 1,
45
45
  typeOf: factory_1.factory.assetTransactionType.Reserve,
@@ -169,7 +169,7 @@ function cancelReservation(actionAttributesList) {
169
169
  try {
170
170
  if (actionAttributes.object.typeOf === factory_1.factory.reservationType.ReservationPackage) {
171
171
  // 予約取引を検索
172
- const reserveTransactions = await repos.assetTransaction.search({
172
+ const reserveTransactions = await repos.assetTransaction.findAssetTransactionsByTypeOf({
173
173
  limit: 1,
174
174
  page: 1,
175
175
  typeOf: factory_1.factory.assetTransactionType.Reserve,
@@ -226,7 +226,7 @@ function cancelReservation(actionAttributesList) {
226
226
  inclusion: ['reservationNumber', 'reservationStatus', 'project', 'reservedTicket', 'subReservation', 'reservationFor']
227
227
  });
228
228
  // 予約取引を検索
229
- const reserveTransactions = await repos.assetTransaction.search({
229
+ const reserveTransactions = await repos.assetTransaction.findAssetTransactionsByTypeOf({
230
230
  limit: 1,
231
231
  page: 1,
232
232
  typeOf: factory_1.factory.assetTransactionType.Reserve,
@@ -90,7 +90,7 @@ function reserveIfNotYet(params) {
90
90
  ) => {
91
91
  let reserveTransactions = [];
92
92
  if (Array.isArray(params.object.ids) && params.object.ids.length > 0) {
93
- reserveTransactions = await repos.assetTransaction.search({
93
+ reserveTransactions = await repos.assetTransaction.findAssetTransactionsByTypeOf({
94
94
  typeOf: factory_1.factory.assetTransactionType.Reserve,
95
95
  object: {
96
96
  reservations: { id: { $in: params.object.ids } }
@@ -100,7 +100,7 @@ function reserveIfNotYet(params) {
100
100
  debug(reserveTransactions.length, 'reserveTransactions found in reserveIfNotYet. ids:', params.object.ids, 'reserveTransactions:', JSON.stringify(reserveTransactions));
101
101
  }
102
102
  if (Array.isArray(params.object.reservationNumbers) && params.object.reservationNumbers.length > 0) {
103
- reserveTransactions = await repos.assetTransaction.search({
103
+ reserveTransactions = await repos.assetTransaction.findAssetTransactionsByTypeOf({
104
104
  typeOf: factory_1.factory.assetTransactionType.Reserve,
105
105
  object: {
106
106
  reservationNumber: { $in: params.object.reservationNumbers }
@@ -140,7 +140,7 @@ function reserveIfNotYet(
140
140
  params, options) {
141
141
  return async (repos) => {
142
142
  const reservationPackage = params.object;
143
- const reserveTransaction = (await repos.assetTransaction.search({
143
+ const reserveTransaction = (await repos.assetTransaction.findAssetTransactionsByTypeOf({
144
144
  limit: 1,
145
145
  page: 1,
146
146
  typeOf: factory_1.factory.assetTransactionType.Reserve,
@@ -112,7 +112,7 @@ function reserveIfNotYet(params) {
112
112
  ) => {
113
113
  let reserveTransactions = [];
114
114
  if (typeof params.object.id === 'string' && params.object.id.length > 0) {
115
- reserveTransactions = await repos.assetTransaction.search({
115
+ reserveTransactions = await repos.assetTransaction.findAssetTransactionsByTypeOf({
116
116
  typeOf: factory_1.factory.assetTransactionType.Reserve,
117
117
  object: {
118
118
  reservations: { id: { $in: [params.object.id] } }
@@ -37,12 +37,11 @@ exports.call = call;
37
37
  const acceptedOffer_1 = require("../../repo/acceptedOffer");
38
38
  const accountingReport_1 = require("../../repo/accountingReport");
39
39
  const action_1 = require("../../repo/action");
40
+ const adminTransaction_1 = require("../../repo/adminTransaction");
40
41
  const assetTransaction_1 = require("../../repo/assetTransaction");
41
- // import { MessageRepo } from '../../repo/message';
42
42
  const note_1 = require("../../repo/note");
43
43
  const order_1 = require("../../repo/order");
44
44
  const reservation_1 = require("../../repo/reservation");
45
- const transaction_1 = require("../../repo/transaction");
46
45
  const placeOrder_1 = require("../../repo/transaction/placeOrder");
47
46
  const returnOrder_1 = require("../../repo/transaction/returnOrder");
48
47
  const TransactionService = __importStar(require("../transaction"));
@@ -56,12 +55,11 @@ function call(params) {
56
55
  acceptedOffer: new acceptedOffer_1.AcceptedOfferRepo(connection),
57
56
  accountingReport: new accountingReport_1.AccountingReportRepo(connection),
58
57
  action: new action_1.ActionRepo(connection),
58
+ adminTransaction: new adminTransaction_1.AdminTransactionRepo(connection),
59
59
  assetTransaction: new assetTransaction_1.AssetTransactionRepo(connection),
60
- // message: new MessageRepo(connection),
61
60
  note: new note_1.NoteRepo(connection),
62
61
  order: new order_1.OrderRepo(connection),
63
62
  reservation: new reservation_1.ReservationRepo(connection),
64
- transaction: new transaction_1.TransactionRepo(connection),
65
63
  placeOrder: new placeOrder_1.PlaceOrderRepo(connection),
66
64
  returnOrder: new returnOrder_1.ReturnOrderRepo(connection),
67
65
  });
@@ -213,14 +213,14 @@ function createRefundPurpose(params, order) {
213
213
  }
214
214
  function refundTransactionAlreadyExists(params) {
215
215
  return async (repos) => {
216
- const refundTransactions = await repos.assetTransaction.search({
216
+ const refundTransactions = await repos.assetTransaction.findAssetTransactionsByTypeOf({
217
217
  limit: 1,
218
218
  page: 1,
219
219
  project: { id: { $eq: params.project.id } },
220
220
  typeOf: factory_1.factory.assetTransactionType.Refund,
221
221
  statuses: [factory_1.factory.transactionStatusType.Confirmed],
222
222
  object: { paymentMethodId: { $eq: params.object.paymentMethodId } }
223
- }, ['_id'], []);
223
+ }, ['_id']);
224
224
  return refundTransactions.length > 0;
225
225
  };
226
226
  }
@@ -29,10 +29,10 @@ function deletePayTransactionsByPlaceOrder(params) {
29
29
  deletedCount: deleteAssetTransactionsResult?.deletedCount
30
30
  };
31
31
  // 返金取引も削除(2023-05-19~)
32
- const refundTransactions = await repos.assetTransaction.search({
32
+ const refundTransactions = await repos.assetTransaction.findAssetTransactionsByTypeOf({
33
33
  typeOf: factory_1.factory.assetTransactionType.Refund,
34
34
  object: { paymentMethodId: { $in: payTransactionNumbers } }
35
- }, ['transactionNumber'], []);
35
+ }, ['transactionNumber']);
36
36
  if (refundTransactions.length > 0) {
37
37
  const deleteRefundAssetTransactionsResult = await repos.assetTransaction.deleteByTransactionNumber({
38
38
  project: { id: params.transaction.project.id },
@@ -40,11 +40,11 @@ function deleteReservationsByPlaceOrder(params) {
40
40
  deletedCount: deleteAssetTransactionsResult?.deletedCount
41
41
  };
42
42
  // 予約番号で予約取消取引を検索
43
- const deletingCancelReservationTransactions = await repos.assetTransaction.search({
43
+ const deletingCancelReservationTransactions = await repos.assetTransaction.findAssetTransactionsByTypeOf({
44
44
  project: { id: { $eq: params.transaction.project.id } },
45
45
  object: { reservationNumber: { $in: reserveTransactionNumbers } },
46
46
  typeOf: factory_1.factory.assetTransactionType.CancelReservation
47
- }, ['transactionNumber'], []);
47
+ }, ['transactionNumber']);
48
48
  if (deletingCancelReservationTransactions.length > 0) {
49
49
  // 予約取消取引も削除(2024-04-18~)
50
50
  const deleteCancelReservationResult = await repos.assetTransaction.deleteByTransactionNumber({
@@ -2,22 +2,22 @@ import { factory } from '../../factory';
2
2
  import type { AcceptedOfferRepo } from '../../repo/acceptedOffer';
3
3
  import type { AccountingReportRepo } from '../../repo/accountingReport';
4
4
  import type { ActionRepo } from '../../repo/action';
5
+ import type { AdminTransactionRepo } from '../../repo/adminTransaction';
5
6
  import type { AssetTransactionRepo } from '../../repo/assetTransaction';
6
7
  import type { NoteRepo } from '../../repo/note';
7
8
  import type { OrderRepo } from '../../repo/order';
8
9
  import type { ReservationRepo } from '../../repo/reservation';
9
- import type { TransactionRepo } from '../../repo/transaction';
10
10
  import type { PlaceOrderRepo } from '../../repo/transaction/placeOrder';
11
11
  import type { ReturnOrderRepo } from '../../repo/transaction/returnOrder';
12
12
  interface IDeleteTransactionRepos {
13
13
  acceptedOffer: AcceptedOfferRepo;
14
14
  accountingReport: AccountingReportRepo;
15
15
  action: ActionRepo;
16
+ adminTransaction: AdminTransactionRepo;
16
17
  assetTransaction: AssetTransactionRepo;
17
18
  note: NoteRepo;
18
19
  order: OrderRepo;
19
20
  reservation: ReservationRepo;
20
- transaction: TransactionRepo;
21
21
  placeOrder: PlaceOrderRepo;
22
22
  returnOrder: ReturnOrderRepo;
23
23
  }
@@ -132,13 +132,13 @@ function deleteTransactionById(params) {
132
132
  // })(repos);
133
133
  // deleteMessagessResult = deleteMessagesByPlaceOrderResult.deleteResult;
134
134
  // 取引削除
135
- await repos.transaction.findByIdAndDelete({ id: transaction.id });
135
+ await repos.adminTransaction.findByIdAndDelete({ id: transaction.id });
136
136
  break;
137
137
  }
138
138
  // implemented(2022-06-09~)
139
139
  case factory_1.factory.transactionType.ReturnOrder:
140
140
  // 取引削除
141
- await repos.transaction.findByIdAndDelete({ id: transaction.id });
141
+ await repos.adminTransaction.findByIdAndDelete({ id: transaction.id });
142
142
  break;
143
143
  default:
144
144
  throw new factory_1.factory.errors.NotImplemented(`${transactionTypeOf} not implemented`);
@@ -128,7 +128,7 @@ function confirm(params, options) {
128
128
  const payTransactionNumbers = authorizePaymentActions.map((authorizeAction) => authorizeAction.object.paymentMethodId);
129
129
  // const payTransactionNumbers = authorizePaymentActions.map(({ instrument }) => instrument.transactionNumber);
130
130
  if (payTransactionNumbers.length > 0) {
131
- payTransactions = await repos.assetTransaction.search({
131
+ payTransactions = await repos.assetTransaction.findAssetTransactionsByTypeOf({
132
132
  typeOf: factory_1.factory.assetTransactionType.Pay,
133
133
  transactionNumber: { $in: payTransactionNumbers }
134
134
  }, ['object']);
@@ -25,11 +25,11 @@ function validateOrder(params) {
25
25
  });
26
26
  let payTransactions = [];
27
27
  if (order.paymentMethods.length > 0) {
28
- payTransactions = await repos.assetTransaction.search({
28
+ payTransactions = await repos.assetTransaction.findAssetTransactionsByTypeOf({
29
29
  project: { id: { $eq: order.project.id } },
30
30
  typeOf: factory_1.factory.assetTransactionType.Pay,
31
31
  transactionNumber: { $in: order.paymentMethods.map(({ paymentMethodId }) => paymentMethodId) }
32
- }, [], []);
32
+ }, []);
33
33
  }
34
34
  // 型検証
35
35
  if (typeof order.confirmationNumber !== 'string' || order.confirmationNumber.length === 0) {
package/package.json CHANGED
@@ -11,7 +11,7 @@
11
11
  "dependencies": {
12
12
  "@aws-sdk/client-cognito-identity-provider": "3.1090.0",
13
13
  "@aws-sdk/credential-providers": "3.1090.0",
14
- "@chevre/factory": "10.3.0-alpha.2",
14
+ "@chevre/factory": "10.3.0-alpha.4",
15
15
  "@motionpicture/coa-service": "10.0.0",
16
16
  "@motionpicture/gmo-service": "6.1.0-alpha.0",
17
17
  "@sendgrid/client": "8.1.4",
@@ -88,5 +88,5 @@
88
88
  "postversion": "git push origin --tags",
89
89
  "prepublishOnly": "npm run clean && npm run build"
90
90
  },
91
- "version": "26.0.0-alpha.25"
91
+ "version": "26.0.0-alpha.27"
92
92
  }
@@ -1,13 +0,0 @@
1
- import { IndexDefinition, IndexOptions, Model, Schema, SchemaDefinition } from 'mongoose';
2
- import { IVirtuals } from '../virtuals';
3
- import { factory } from '../../../factory';
4
- type IDocType = Omit<factory.ownershipInfo.IOwnershipInfo<factory.ownershipInfo.IGood>, 'id'> & {
5
- _id: string;
6
- };
7
- type IModel = Model<IDocType, Record<string, never>, Record<string, never>, IVirtuals>;
8
- type ISchemaDefinition = SchemaDefinition<IDocType>;
9
- type ISchema = Schema<IDocType, IModel, Record<string, never>, Record<string, never>, IVirtuals, Record<string, never>, ISchemaDefinition, IDocType>;
10
- declare const modelName = "OwnershipInfo";
11
- declare const indexes: [d: IndexDefinition, o: IndexOptions][];
12
- declare function createSchema(): ISchema;
13
- export { createSchema, IDocType, IModel, indexes, modelName };
@@ -1,82 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.modelName = exports.indexes = void 0;
4
- exports.createSchema = createSchema;
5
- const mongoose_1 = require("mongoose");
6
- const writeConcern_1 = require("../writeConcern");
7
- const settings_1 = require("../../../settings");
8
- const modelName = 'OwnershipInfo';
9
- exports.modelName = modelName;
10
- const schemaDefinition = {
11
- project: { type: mongoose_1.SchemaTypes.Mixed, required: true },
12
- _id: String,
13
- typeOf: { type: String, required: true },
14
- identifier: { type: String, required: true },
15
- ownedBy: mongoose_1.SchemaTypes.Mixed,
16
- acquiredFrom: mongoose_1.SchemaTypes.Mixed,
17
- ownedFrom: { type: Date, required: true },
18
- ownedThrough: { type: Date, required: true },
19
- typeOfGood: mongoose_1.SchemaTypes.Mixed
20
- };
21
- const schemaOptions = {
22
- autoIndex: settings_1.MONGO_AUTO_INDEX,
23
- autoCreate: false,
24
- collection: 'ownershipInfos',
25
- id: true,
26
- read: 'primary',
27
- writeConcern: writeConcern_1.writeConcern,
28
- strict: true,
29
- strictQuery: false,
30
- timestamps: false,
31
- versionKey: false,
32
- toJSON: {
33
- getters: false,
34
- virtuals: false,
35
- minimize: false,
36
- versionKey: false
37
- },
38
- toObject: {
39
- getters: false,
40
- virtuals: true,
41
- minimize: false,
42
- versionKey: false
43
- }
44
- };
45
- const indexes = [
46
- [
47
- // 識別子はユニークな前提
48
- { identifier: 1 },
49
- {
50
- unique: true,
51
- name: 'uniqueIdentifier'
52
- }
53
- ],
54
- [
55
- { ownedFrom: -1 },
56
- { name: 'searchByOwnedFrom-v3' }
57
- ],
58
- [
59
- { 'project.id': 1, ownedFrom: -1 },
60
- { name: 'searchByProjectId-v20220721' }
61
- ],
62
- [
63
- { ownedThrough: 1, ownedFrom: -1 },
64
- { name: 'ownedThrough' }
65
- ]
66
- ];
67
- exports.indexes = indexes;
68
- /**
69
- * 所有権スキーマ
70
- */
71
- let schema;
72
- function createSchema() {
73
- if (schema === undefined) {
74
- schema = new mongoose_1.Schema(schemaDefinition, schemaOptions);
75
- if (settings_1.MONGO_AUTO_INDEX) {
76
- indexes.forEach((indexParams) => {
77
- schema?.index(...indexParams);
78
- });
79
- }
80
- }
81
- return schema;
82
- }
@@ -1,20 +0,0 @@
1
- import type { Connection, FilterQuery } from 'mongoose';
2
- import { IDocType } from './mongoose/schemas/ownershipInfo';
3
- import { factory } from '../factory';
4
- type IOwnershipInfoWithId = factory.ownershipInfo.IOwnershipInfo<factory.ownershipInfo.IGood> & {
5
- id: string;
6
- };
7
- type IFindParams = factory.ownershipInfo.ISearchConditions;
8
- /**
9
- * 所有権リポジトリ
10
- */
11
- export declare class OwnershipInfoRepo {
12
- private readonly ownershipInfoModel;
13
- constructor(connection: Connection);
14
- static CREATE_MONGO_CONDITIONS(params: Pick<IFindParams, 'ownedFromGte' | 'ownedFromLte' | 'project'>): FilterQuery<IDocType>[];
15
- /**
16
- * 所有権を検索する
17
- */
18
- findOwnershipInfos(params: IFindParams, inclusion?: (keyof IOwnershipInfoWithId)[]): Promise<IOwnershipInfoWithId[]>;
19
- }
20
- export {};