@chevre/domain 24.0.0-alpha.60 → 24.0.0-alpha.61

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 (25) hide show
  1. package/lib/chevre/errorHandler.js +3 -1
  2. package/lib/chevre/repo/reservation.d.ts +7 -1
  3. package/lib/chevre/repo/reservation.js +11 -2
  4. package/lib/chevre/repository.d.ts +0 -5
  5. package/lib/chevre/repository.js +2 -13
  6. package/lib/chevre/service/aggregation/event/importFromCOA.js +3 -1
  7. package/lib/chevre/service/assetTransaction/pay/publishPaymentUrl.d.ts +0 -2
  8. package/lib/chevre/service/assetTransaction/pay/start/preStart/validateAcceptedPaymentMethodIfNeeded.d.ts +0 -2
  9. package/lib/chevre/service/assetTransaction/pay/start.d.ts +0 -2
  10. package/lib/chevre/service/event.js +3 -1
  11. package/lib/chevre/service/offer/event/importFromCOA.js +6 -2
  12. package/lib/chevre/service/payment/any/authorize.d.ts +0 -2
  13. package/lib/chevre/service/payment/any/publishPaymentUrl.d.ts +0 -2
  14. package/lib/chevre/service/task/authorizePayment.js +0 -2
  15. package/lib/chevre/service/task/onResourceDeleted/deleteResourcesByEventSeries.d.ts +0 -2
  16. package/lib/chevre/service/task/onResourceDeleted/deleteResourcesByEventSeries.js +0 -6
  17. package/lib/chevre/service/task/onResourceDeleted/deleteResourcesBySeller.d.ts +0 -2
  18. package/lib/chevre/service/task/onResourceDeleted/deleteResourcesBySeller.js +0 -6
  19. package/lib/chevre/service/task/onResourceDeleted.js +0 -2
  20. package/lib/chevre/service/task/publishPaymentUrl.js +0 -2
  21. package/package.json +5 -5
  22. package/lib/chevre/repo/acceptedPaymentMethod.d.ts +0 -74
  23. package/lib/chevre/repo/acceptedPaymentMethod.js +0 -239
  24. package/lib/chevre/repo/mongoose/schemas/acceptedPaymentMethod.d.ts +0 -11
  25. package/lib/chevre/repo/mongoose/schemas/acceptedPaymentMethod.js +0 -97
@@ -93,7 +93,9 @@ async function handleMongoError(error) {
93
93
  */
94
94
  function handleCOAError(error) {
95
95
  let handledError = error;
96
- if (error.name === 'AbortError') {
96
+ if (error.name === 'AbortError'
97
+ || error.name === 'TimeoutError' // native AbortSignalの場合
98
+ ) {
97
99
  handledError = new factory_1.errors.GatewayTimeout(`Gateway Timeout. name:${error.name} code:${error.code} message:${error.message}`);
98
100
  }
99
101
  if (error.name === 'COAServiceError') {
@@ -7,6 +7,11 @@ export interface IUpdatePartiallyParams {
7
7
  }
8
8
  export type ICancelResult = UpdateWriteOpResult;
9
9
  export type ICheckedInResult = UpdateWriteOpResult;
10
+ type ISavingReservedTicket = Omit<factory.assetTransaction.reserve.ISubReservationReservedTicket, 'ticketType'> & {
11
+ ticketType: {
12
+ id?: string;
13
+ };
14
+ };
10
15
  /**
11
16
  * ドキュメントとして保管する予約
12
17
  */
@@ -16,7 +21,7 @@ export type ICreatingReservation = Omit<factory.reservation.eventReservation.IRe
16
21
  * priceは廃止予定だが、互換性維持対応としてひとまず型を強制的に合わせる
17
22
  */
18
23
  price?: factory.reservation.eventReservation.IPrice;
19
- reservedTicket: factory.assetTransaction.reserve.ISubReservationReservedTicket;
24
+ reservedTicket: factory.assetTransaction.reserve.ISubReservationReservedTicket | ISavingReservedTicket;
20
25
  };
21
26
  /**
22
27
  * 廃止予定の予約属性
@@ -164,3 +169,4 @@ export declare class ReservationRepo {
164
169
  $unset: any;
165
170
  }): Promise<UpdateWriteOpResult>;
166
171
  }
172
+ export {};
@@ -138,7 +138,16 @@ class ReservationRepo {
138
138
  if (Array.isArray(params.subReservation)) {
139
139
  params.subReservation.forEach((subReservation) => {
140
140
  const { price, reservedTicket, ...subReservationWithoutPrice } = subReservation;
141
- // const { ticketType, ...reservedTicketWithoutTicketType } = reservedTicket;
141
+ const { ticketType, ...reservedTicketWithoutTicketType } = reservedTicket;
142
+ // 予約ドキュメントのticketTypeを最小化(2026-04-03~)
143
+ const savingReservedTicket = (USE_DISCONTINUED_RESERVATION_PRICE)
144
+ ? reservedTicket
145
+ : {
146
+ ...reservedTicketWithoutTicketType,
147
+ ticketType: {
148
+ ...((typeof ticketType.id === 'string') && { id: ticketType.id })
149
+ }
150
+ };
142
151
  const setOnInsert = {
143
152
  ...subReservationWithoutPrice,
144
153
  typeOf: factory.reservationType.EventReservation,
@@ -153,7 +162,7 @@ class ReservationRepo {
153
162
  reservationStatus: factory.reservationStatusType.ReservationConfirmed,
154
163
  modifiedTime,
155
164
  provider: params.provider,
156
- reservedTicket,
165
+ reservedTicket: savingReservedTicket,
157
166
  ...(params.underName !== undefined) ? { underName: params.underName } : undefined,
158
167
  ...(typeof params.broker?.typeOf === 'string') ? { broker: params.broker } : undefined,
159
168
  ...((USE_DISCONTINUED_RESERVATION_PRICE) && { price }) // discontinue price(2026-03-31~)
@@ -2,7 +2,6 @@
2
2
  * リポジトリ
3
3
  */
4
4
  import type { AcceptedOfferRepo } from './repo/acceptedOffer';
5
- import type { AcceptedPaymentMethodRepo } from './repo/acceptedPaymentMethod';
6
5
  import type { AccountRepo } from './repo/account';
7
6
  import type { AccountingReportRepo } from './repo/accountingReport';
8
7
  import type { AccountTitleRepo } from './repo/accountTitle';
@@ -110,10 +109,6 @@ export type AcceptedOffer = AcceptedOfferRepo;
110
109
  export declare namespace AcceptedOffer {
111
110
  function createInstance(...params: ConstructorParameters<typeof AcceptedOfferRepo>): Promise<AcceptedOfferRepo>;
112
111
  }
113
- export type AcceptedPaymentMethod = AcceptedPaymentMethodRepo;
114
- export declare namespace AcceptedPaymentMethod {
115
- function createInstance(...params: ConstructorParameters<typeof AcceptedPaymentMethodRepo>): Promise<AcceptedPaymentMethodRepo>;
116
- }
117
112
  export type Account = AccountRepo;
118
113
  export declare namespace Account {
119
114
  function createInstance(...params: ConstructorParameters<typeof AccountRepo>): Promise<AccountRepo>;
@@ -23,8 +23,8 @@ var __importStar = (this && this.__importStar) || function (mod) {
23
23
  return result;
24
24
  };
25
25
  Object.defineProperty(exports, "__esModule", { value: true });
26
- exports.PaymentService = exports.Passport = exports.OwnershipInfo = exports.OrderNumber = exports.OrderInTransaction = exports.Order = exports.Offer = exports.OfferItemCondition = exports.OfferCatalogItem = exports.OfferCatalog = exports.NoteAboutOrder = exports.Note = exports.MovieTicketType = exports.Message = exports.MerchantReturnPolicy = exports.MemberProgram = exports.Member = exports.Issuer = exports.IdentityProvider = exports.Identity = exports.EventSeries = exports.EventSellerMakesOffer = exports.EventOffer = exports.Event = exports.EmailMessage = exports.CustomerType = exports.Customer = exports.Credentials = exports.CreativeWork = exports.ConfirmationNumber = exports.Comment = exports.Authorization = exports.CategoryCode = exports.assetTransaction = exports.AssetTransaction = exports.Aggregation = exports.AggregateReservation = exports.AggregateOrder = exports.AggregateOffer = exports.AggregateAction = exports.AdvanceBookingRequirement = exports.AdditionalProperty = exports.action = exports.Action = exports.AccountTransaction = exports.AccountTitle = exports.AccountingReport = exports.Account = exports.AcceptedPaymentMethod = exports.AcceptedOffer = void 0;
27
- exports.WebSite = exports.rateLimit = exports.Trip = exports.TransactionProcess = exports.TransactionNumber = exports.transaction = exports.Transaction = exports.Ticket = exports.Task = exports.StockHolder = exports.setting = exports.Setting = exports.ServiceOutputIdentifier = exports.ServiceOutput = exports.ServiceAvailableHour = exports.SellerReturnPolicy = exports.SellerPaymentAccepted = exports.SellerMakesOffer = exports.Seller = exports.Schedule = exports.Role = exports.ReserveInterface = exports.Reservation = exports.ProjectMakesOffer = exports.Project = exports.ProductOffer = exports.ProductModel = exports.ProductHasOfferCatalog = exports.Product = exports.PriceSpecification = exports.PotentialAction = exports.place = exports.Permit = exports.Person = exports.paymentMethod = exports.PendingReservation = exports.PaymentServiceProvider = exports.PaymentServiceChannel = void 0;
26
+ exports.PaymentServiceChannel = exports.PaymentService = exports.Passport = exports.OwnershipInfo = exports.OrderNumber = exports.OrderInTransaction = exports.Order = exports.Offer = exports.OfferItemCondition = exports.OfferCatalogItem = exports.OfferCatalog = exports.NoteAboutOrder = exports.Note = exports.MovieTicketType = exports.Message = exports.MerchantReturnPolicy = exports.MemberProgram = exports.Member = exports.Issuer = exports.IdentityProvider = exports.Identity = exports.EventSeries = exports.EventSellerMakesOffer = exports.EventOffer = exports.Event = exports.EmailMessage = exports.CustomerType = exports.Customer = exports.Credentials = exports.CreativeWork = exports.ConfirmationNumber = exports.Comment = exports.Authorization = exports.CategoryCode = exports.assetTransaction = exports.AssetTransaction = exports.Aggregation = exports.AggregateReservation = exports.AggregateOrder = exports.AggregateOffer = exports.AggregateAction = exports.AdvanceBookingRequirement = exports.AdditionalProperty = exports.action = exports.Action = exports.AccountTransaction = exports.AccountTitle = exports.AccountingReport = exports.Account = exports.AcceptedOffer = void 0;
27
+ exports.WebSite = exports.rateLimit = exports.Trip = exports.TransactionProcess = exports.TransactionNumber = exports.transaction = exports.Transaction = exports.Ticket = exports.Task = exports.StockHolder = exports.setting = exports.Setting = exports.ServiceOutputIdentifier = exports.ServiceOutput = exports.ServiceAvailableHour = exports.SellerReturnPolicy = exports.SellerPaymentAccepted = exports.SellerMakesOffer = exports.Seller = exports.Schedule = exports.Role = exports.ReserveInterface = exports.Reservation = exports.ProjectMakesOffer = exports.Project = exports.ProductOffer = exports.ProductModel = exports.ProductHasOfferCatalog = exports.Product = exports.PriceSpecification = exports.PotentialAction = exports.place = exports.Permit = exports.Person = exports.paymentMethod = exports.PendingReservation = exports.PaymentServiceProvider = void 0;
28
28
  var AcceptedOffer;
29
29
  (function (AcceptedOffer) {
30
30
  let repo;
@@ -36,17 +36,6 @@ var AcceptedOffer;
36
36
  }
37
37
  AcceptedOffer.createInstance = createInstance;
38
38
  })(AcceptedOffer || (exports.AcceptedOffer = AcceptedOffer = {}));
39
- var AcceptedPaymentMethod;
40
- (function (AcceptedPaymentMethod) {
41
- let repo;
42
- async function createInstance(...params) {
43
- if (repo === undefined) {
44
- repo = (await Promise.resolve().then(() => __importStar(require('./repo/acceptedPaymentMethod')))).AcceptedPaymentMethodRepo;
45
- }
46
- return new repo(...params);
47
- }
48
- AcceptedPaymentMethod.createInstance = createInstance;
49
- })(AcceptedPaymentMethod || (exports.AcceptedPaymentMethod = AcceptedPaymentMethod = {}));
50
39
  var Account;
51
40
  (function (Account) {
52
41
  let repo;
@@ -66,7 +66,9 @@ function importFromCOA(params) {
66
66
  }
67
67
  catch (error) {
68
68
  let throwsError = true;
69
- if (error.name === 'AbortError') {
69
+ if (error.name === 'AbortError'
70
+ || error.name === 'TimeoutError' // native AbortSignalの場合
71
+ ) {
70
72
  throwsError = false;
71
73
  }
72
74
  if (error.name === 'COAServiceError') {
@@ -1,6 +1,5 @@
1
1
  import * as factory from '../../../factory';
2
2
  import { Settings } from '../../../settings';
3
- import type { AcceptedPaymentMethodRepo } from '../../../repo/acceptedPaymentMethod';
4
3
  import type { AcceptPayActionRepo } from '../../../repo/action/acceptPay';
5
4
  import type { AuthorizeInvoiceActionRepo } from '../../../repo/action/authorizeInvoice';
6
5
  import type { EventRepo } from '../../../repo/event';
@@ -11,7 +10,6 @@ import type { PaymentServiceProviderRepo } from '../../../repo/paymentServicePro
11
10
  import type { SellerPaymentAcceptedRepo } from '../../../repo/sellerPaymentAccepted';
12
11
  import * as CreditCardPayment from '../../payment/creditCard';
13
12
  export interface IPublishPaymentUrlRepos {
14
- acceptedPaymentMethod: AcceptedPaymentMethodRepo;
15
13
  authorizeInvoiceAction: AuthorizeInvoiceActionRepo;
16
14
  acceptPayAction: AcceptPayActionRepo;
17
15
  event: EventRepo;
@@ -1,5 +1,4 @@
1
1
  import * as factory from '../../../../../factory';
2
- import type { AcceptedPaymentMethodRepo } from '../../../../../repo/acceptedPaymentMethod';
3
2
  import type { EventRepo } from '../../../../../repo/event';
4
3
  import type { EventSeriesRepo } from '../../../../../repo/eventSeries';
5
4
  import type { IssuerRepo } from '../../../../../repo/issuer';
@@ -10,7 +9,6 @@ import type { PaymentServiceRepo } from '../../../../../repo/paymentService';
10
9
  export declare function validateAcceptedPaymentMethodIfNeeded(params: Pick<factory.assetTransaction.pay.IStartParamsWithoutDetail, 'object'> & {
11
10
  instrument: factory.action.trade.pay.IPlaceOrderRelatedInstrument[];
12
11
  }): (repos: {
13
- acceptedPaymentMethod: AcceptedPaymentMethodRepo;
14
12
  event: EventRepo;
15
13
  eventSeries: EventSeriesRepo;
16
14
  issuer: IssuerRepo;
@@ -1,6 +1,5 @@
1
1
  import * as factory from '../../../factory';
2
2
  import { Settings } from '../../../settings';
3
- import type { AcceptedPaymentMethodRepo } from '../../../repo/acceptedPaymentMethod';
4
3
  import type { AccountingReportRepo } from '../../../repo/accountingReport';
5
4
  import type { PayActionRepo } from '../../../repo/action/pay';
6
5
  import type { RefundActionRepo } from '../../../repo/action/refund';
@@ -19,7 +18,6 @@ import type { SellerPaymentAcceptedRepo } from '../../../repo/sellerPaymentAccep
19
18
  import type { TaskRepo } from '../../../repo/task';
20
19
  import { IPaymentAgencyTransaction } from '../../payment/creditCard';
21
20
  export interface IStartOperationRepos {
22
- acceptedPaymentMethod: AcceptedPaymentMethodRepo;
23
21
  accountingReport: AccountingReportRepo;
24
22
  action?: never;
25
23
  actions: {
@@ -141,7 +141,9 @@ function importFromCOA(params) {
141
141
  }
142
142
  catch (error) {
143
143
  let throwsError = true;
144
- if (error.name === 'AbortError') {
144
+ if (error.name === 'AbortError'
145
+ || error.name === 'TimeoutError' // native AbortSignalの場合
146
+ ) {
145
147
  console.error('saveScreeningEvents throwed an error', error.name, error.message);
146
148
  throwsError = false;
147
149
  }
@@ -68,7 +68,9 @@ function importFromCOA(params) {
68
68
  }
69
69
  catch (error) {
70
70
  let throwsError = true;
71
- if (error.name === 'AbortError') {
71
+ if (error.name === 'AbortError'
72
+ || error.name === 'TimeoutError' // native AbortSignalの場合
73
+ ) {
72
74
  throwsError = false;
73
75
  }
74
76
  if (error.name === 'COAServiceError') {
@@ -135,7 +137,9 @@ function importCategoryCodesFromCOA(params) {
135
137
  }
136
138
  catch (error) {
137
139
  let throwsError = true;
138
- if (error.name === 'AbortError') {
140
+ if (error.name === 'AbortError'
141
+ || error.name === 'TimeoutError' // native AbortSignalの場合
142
+ ) {
139
143
  throwsError = false;
140
144
  }
141
145
  if (error.name === 'COAServiceError') {
@@ -1,6 +1,5 @@
1
1
  import * as factory from '../../../factory';
2
2
  import { Settings } from '../../../settings';
3
- import type { AcceptedPaymentMethodRepo } from '../../../repo/acceptedPaymentMethod';
4
3
  import type { AccountingReportRepo } from '../../../repo/accountingReport';
5
4
  import type { PayActionRepo } from '../../../repo/action/pay';
6
5
  import type { RefundActionRepo } from '../../../repo/action/refund';
@@ -27,7 +26,6 @@ import type { TicketRepo } from '../../../repo/ticket';
27
26
  import type { PlaceOrderRepo } from '../../../repo/transaction/placeOrder';
28
27
  import type { TransactionNumberRepo } from '../../../repo/transactionNumber';
29
28
  interface IAuthorizeRepos {
30
- acceptedPaymentMethod: AcceptedPaymentMethodRepo;
31
29
  accountingReport: AccountingReportRepo;
32
30
  action?: never;
33
31
  actions: {
@@ -1,6 +1,5 @@
1
1
  import * as factory from '../../../factory';
2
2
  import { Settings } from '../../../settings';
3
- import type { AcceptedPaymentMethodRepo } from '../../../repo/acceptedPaymentMethod';
4
3
  import type { AcceptPayActionRepo } from '../../../repo/action/acceptPay';
5
4
  import type { AuthorizeInvoiceActionRepo } from '../../../repo/action/authorizeInvoice';
6
5
  import type { AssetTransactionRepo } from '../../../repo/assetTransaction';
@@ -18,7 +17,6 @@ import type { PlaceOrderRepo } from '../../../repo/transaction/placeOrder';
18
17
  import type { TransactionNumberRepo } from '../../../repo/transactionNumber';
19
18
  import * as PayTransactionService from '../../assetTransaction/pay';
20
19
  interface IPublishPaymentUrlRepos {
21
- acceptedPaymentMethod: AcceptedPaymentMethodRepo;
22
20
  acceptPayAction: AcceptPayActionRepo;
23
21
  authorizeInvoiceAction: AuthorizeInvoiceActionRepo;
24
22
  assetTransaction: AssetTransactionRepo;
@@ -25,7 +25,6 @@ var __importStar = (this && this.__importStar) || function (mod) {
25
25
  Object.defineProperty(exports, "__esModule", { value: true });
26
26
  exports.call = call;
27
27
  const factory = __importStar(require("../../factory"));
28
- const acceptedPaymentMethod_1 = require("../../repo/acceptedPaymentMethod");
29
28
  const accountingReport_1 = require("../../repo/accountingReport");
30
29
  // import { ActionRepo } from '../../repo/action';
31
30
  const pay_1 = require("../../repo/action/pay");
@@ -81,7 +80,6 @@ function call(params) {
81
80
  instrument: (Array.isArray(params.data.instrument)) ? params.data.instrument : [],
82
81
  sameAs: { id: params.id } // タスクIDを関連付け(2024-04-20~)
83
82
  })({
84
- acceptedPaymentMethod: new acceptedPaymentMethod_1.AcceptedPaymentMethodRepo(connection),
85
83
  accountingReport: new accountingReport_1.AccountingReportRepo(connection),
86
84
  // action: new ActionRepo(connection),
87
85
  actions: {
@@ -1,4 +1,3 @@
1
- import type { AcceptedPaymentMethodRepo } from '../../../repo/acceptedPaymentMethod';
2
1
  import type { ActionRepo } from '../../../repo/action';
3
2
  import type { EventRepo } from '../../../repo/event';
4
3
  export declare function deleteResourcesByEventSeries(params: {
@@ -7,7 +6,6 @@ export declare function deleteResourcesByEventSeries(params: {
7
6
  };
8
7
  ids: string[];
9
8
  }): (repos: {
10
- acceptedPaymentMethod: AcceptedPaymentMethodRepo;
11
9
  action: ActionRepo;
12
10
  event: EventRepo;
13
11
  }) => Promise<void>;
@@ -40,18 +40,12 @@ function deleteResourcesByEventSeries(params) {
40
40
  let deleteResult;
41
41
  const action = await repos.action.start(deleteActionAttributes);
42
42
  try {
43
- // 対応決済方法削除(2026-02-07~)
44
- const deleteAcceptedPaymentMethodsResult = await repos.acceptedPaymentMethod.deleteAcceptedPaymentMethodsByItemOffered({
45
- project: { id: params.project.id },
46
- itemOffered: { id: eventSeriesId }
47
- });
48
43
  // イベント削除
49
44
  const deleteScreeningEventResult = await repos.event.deleteManyBySuperEventId({
50
45
  project: { id: params.project.id },
51
46
  superEvent: { id: eventSeriesId }
52
47
  });
53
48
  deleteResult = {
54
- deleteAcceptedPaymentMethodsResult,
55
49
  deleteScreeningEventResult
56
50
  };
57
51
  }
@@ -1,4 +1,3 @@
1
- import type { AcceptedPaymentMethodRepo } from '../../../repo/acceptedPaymentMethod';
2
1
  import type { ActionRepo } from '../../../repo/action';
3
2
  import type { EventRepo } from '../../../repo/event';
4
3
  import type { EventOfferRepo } from '../../../repo/eventOffer';
@@ -14,7 +13,6 @@ export declare function deleteResourcesBySeller(params: {
14
13
  };
15
14
  ids: string[];
16
15
  }): (repos: {
17
- acceptedPaymentMethod: AcceptedPaymentMethodRepo;
18
16
  action: ActionRepo;
19
17
  event: EventRepo;
20
18
  eventOffer: EventOfferRepo;
@@ -60,11 +60,6 @@ function deleteResourcesBySeller(params) {
60
60
  project: { id: params.project.id },
61
61
  seller: { id: sellerId }
62
62
  });
63
- // 対応決済方法削除(2026-02-07~)
64
- const deleteAcceptedPaymentMethodsResult = await repos.acceptedPaymentMethod.deleteAcceptedPaymentMethodsBySeller({
65
- project: { id: params.project.id },
66
- seller: { id: sellerId }
67
- });
68
63
  // イベント削除
69
64
  const deleteEventResult = await repos.event.deleteManyEventByOrganizerId({
70
65
  project: { id: params.project.id },
@@ -92,7 +87,6 @@ function deleteResourcesBySeller(params) {
92
87
  });
93
88
  deleteResult = {
94
89
  deleteMemberResult, deletePaymentServiceProviderResult,
95
- deleteAcceptedPaymentMethodsResult,
96
90
  deleteEventOfferResult,
97
91
  deleteProductOfferResult,
98
92
  deleteEventResult, deleteEventSeriesResult, deleteScreeningRoomResult, deleteMovieTheaterResult
@@ -25,7 +25,6 @@ var __importStar = (this && this.__importStar) || function (mod) {
25
25
  Object.defineProperty(exports, "__esModule", { value: true });
26
26
  exports.call = call;
27
27
  const factory = __importStar(require("../../factory"));
28
- const acceptedPaymentMethod_1 = require("../../repo/acceptedPaymentMethod");
29
28
  const action_1 = require("../../repo/action");
30
29
  const aggregateOffer_1 = require("../../repo/aggregateOffer");
31
30
  const categoryCode_1 = require("../../repo/categoryCode");
@@ -61,7 +60,6 @@ const syncOfferCatalog_1 = require("./onResourceUpdated/syncOfferCatalog");
61
60
  function call(params) {
62
61
  return async ({ connection }) => {
63
62
  await onResourceDeleted(params.data)({
64
- acceptedPaymentMethod: new acceptedPaymentMethod_1.AcceptedPaymentMethodRepo(connection),
65
63
  action: new action_1.ActionRepo(connection),
66
64
  aggregateOffer: new aggregateOffer_1.AggregateOfferRepo(connection),
67
65
  categoryCode: new categoryCode_1.CategoryCodeRepo(connection),
@@ -25,7 +25,6 @@ var __importStar = (this && this.__importStar) || function (mod) {
25
25
  Object.defineProperty(exports, "__esModule", { value: true });
26
26
  exports.call = call;
27
27
  const factory = __importStar(require("../../factory"));
28
- const acceptedPaymentMethod_1 = require("../../repo/acceptedPaymentMethod");
29
28
  // import { ActionRepo } from '../../repo/action';
30
29
  const acceptPay_1 = require("../../repo/action/acceptPay");
31
30
  const authorizeInvoice_1 = require("../../repo/action/authorizeInvoice");
@@ -65,7 +64,6 @@ function call(params) {
65
64
  instrument: (Array.isArray(params.data.instrument)) ? params.data.instrument : [],
66
65
  sameAs: { id: params.id }
67
66
  })({
68
- acceptedPaymentMethod: new acceptedPaymentMethod_1.AcceptedPaymentMethodRepo(connection),
69
67
  // action: new ActionRepo(connection),
70
68
  acceptPayAction: actionRepo,
71
69
  authorizeInvoiceAction: new authorizeInvoice_1.AuthorizeInvoiceActionRepo(connection),
package/package.json CHANGED
@@ -11,10 +11,10 @@
11
11
  "dependencies": {
12
12
  "@aws-sdk/client-cognito-identity-provider": "3.600.0",
13
13
  "@aws-sdk/credential-providers": "3.600.0",
14
- "@chevre/factory": "6.2.0-alpha.4",
15
- "@cinerino/sdk": "14.0.0-alpha.2",
16
- "@motionpicture/coa-service": "9.7.0-alpha.0",
17
- "@motionpicture/gmo-service": "5.4.0-alpha.3",
14
+ "@chevre/factory": "6.2.0-alpha.5",
15
+ "@cinerino/sdk": "14.0.0-alpha.3",
16
+ "@motionpicture/coa-service": "9.7.0-alpha.2",
17
+ "@motionpicture/gmo-service": "5.4.0-alpha.1",
18
18
  "@sendgrid/client": "8.1.4",
19
19
  "@surfrock/sdk": "2.0.0-alpha.2",
20
20
  "debug": "^3.2.7",
@@ -97,5 +97,5 @@
97
97
  "postversion": "git push origin --tags",
98
98
  "prepublishOnly": "npm run clean && npm run build"
99
99
  },
100
- "version": "24.0.0-alpha.60"
100
+ "version": "24.0.0-alpha.61"
101
101
  }
@@ -1,74 +0,0 @@
1
- import type { BulkWriteResult, DeleteResult } from 'mongodb';
2
- import { Connection, FilterQuery } from 'mongoose';
3
- import * as factory from '../factory';
4
- import { IDocType } from './mongoose/schemas/acceptedPaymentMethod';
5
- type IUnset = {
6
- [key in keyof IDocType]?: 1;
7
- };
8
- type IDocWithId = IDocType & {
9
- id: string;
10
- };
11
- type IKeyOfProjection = keyof IDocType;
12
- /**
13
- * 対応決済方法リポジトリ
14
- */
15
- export declare class AcceptedPaymentMethodRepo {
16
- private readonly acceptedPaymentMethodModel;
17
- constructor(connection: Connection);
18
- static CREATE_MONGO_CONDITIONS(params: factory.acceptedPaymentMethodOffer.ISearchConditions): FilterQuery<IDocType>[];
19
- findAcceptedPaymentMethods(params: factory.acceptedPaymentMethodOffer.ISearchConditions, inclusion: IKeyOfProjection[]): Promise<IDocWithId[]>;
20
- /**
21
- * オファーコードと提供リソースIDをキーにして冪等置換
22
- */
23
- addAcceptedPaymentMethodsByIdentifier(params: {
24
- $set: Pick<IDocType, 'identifier' | 'acceptedPaymentMethod' | 'validFrom' | 'validThrough'> & {
25
- id?: never;
26
- };
27
- $unset: IUnset;
28
- }[], options: {
29
- /**
30
- * falseの場合setOnInsertのみ
31
- * trueの場合setOnInsert+set
32
- */
33
- upsert: boolean;
34
- project: factory.acceptedPaymentMethodOffer.IAcceptedPaymentMethodOffer['project'];
35
- seller: factory.acceptedPaymentMethodOffer.IAcceptedPaymentMethodOffer['seller'];
36
- itemOffered: factory.acceptedPaymentMethodOffer.IAcceptedPaymentMethodOffer['itemOffered'];
37
- }): Promise<{
38
- bulkWriteResult?: BulkWriteResult;
39
- modifiedOffers: {
40
- id: string;
41
- }[];
42
- }>;
43
- /**
44
- * 有効期間を過ぎた対応決済方法オファーを削除する
45
- */
46
- deleteAcceptedPaymentMethodsExpired(params: {
47
- validThrough: {
48
- $lte: Date;
49
- };
50
- }): Promise<DeleteResult>;
51
- /**
52
- * 提供リソースから対応決済方法を削除する
53
- */
54
- deleteAcceptedPaymentMethodsByItemOffered(params: {
55
- project: {
56
- id: string;
57
- };
58
- itemOffered: {
59
- id: string;
60
- };
61
- }): Promise<DeleteResult>;
62
- /**
63
- * 販売者の提供するオファーを削除する
64
- */
65
- deleteAcceptedPaymentMethodsBySeller(params: {
66
- project: {
67
- id: string;
68
- };
69
- seller: {
70
- id: string;
71
- };
72
- }): Promise<DeleteResult>;
73
- }
74
- export {};
@@ -1,239 +0,0 @@
1
- "use strict";
2
- var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
- if (k2 === undefined) k2 = k;
4
- var desc = Object.getOwnPropertyDescriptor(m, k);
5
- if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
- desc = { enumerable: true, get: function() { return m[k]; } };
7
- }
8
- Object.defineProperty(o, k2, desc);
9
- }) : (function(o, m, k, k2) {
10
- if (k2 === undefined) k2 = k;
11
- o[k2] = m[k];
12
- }));
13
- var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
14
- Object.defineProperty(o, "default", { enumerable: true, value: v });
15
- }) : function(o, v) {
16
- o["default"] = v;
17
- });
18
- var __importStar = (this && this.__importStar) || function (mod) {
19
- if (mod && mod.__esModule) return mod;
20
- var result = {};
21
- if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
22
- __setModuleDefault(result, mod);
23
- return result;
24
- };
25
- Object.defineProperty(exports, "__esModule", { value: true });
26
- exports.AcceptedPaymentMethodRepo = void 0;
27
- const factory = __importStar(require("../factory"));
28
- const settings_1 = require("../settings");
29
- const acceptedPaymentMethod_1 = require("./mongoose/schemas/acceptedPaymentMethod");
30
- const AVAILABLE_PROJECT_FIELDS = [
31
- 'identifier',
32
- 'project',
33
- 'itemOffered',
34
- 'acceptedPaymentMethod',
35
- 'typeOf',
36
- 'validFrom',
37
- 'validThrough',
38
- 'seller'
39
- ];
40
- /**
41
- * 対応決済方法リポジトリ
42
- */
43
- class AcceptedPaymentMethodRepo {
44
- acceptedPaymentMethodModel;
45
- constructor(connection) {
46
- this.acceptedPaymentMethodModel = connection.model(acceptedPaymentMethod_1.modelName, (0, acceptedPaymentMethod_1.createSchema)());
47
- }
48
- static CREATE_MONGO_CONDITIONS(params) {
49
- const andConditions = [];
50
- const idEq = params.id?.$eq;
51
- if (typeof idEq === 'string') {
52
- andConditions.push({ _id: { $eq: idEq } });
53
- }
54
- const idIn = params.id?.$in;
55
- if (Array.isArray(idIn)) {
56
- andConditions.push({ _id: { $in: idIn } });
57
- }
58
- const projectIdEq = params.project?.id?.$eq;
59
- if (typeof projectIdEq === 'string') {
60
- andConditions.push({ 'project.id': { $eq: projectIdEq } });
61
- }
62
- const identifierEq = params.identifier?.$eq;
63
- if (typeof identifierEq === 'string') {
64
- andConditions.push({ identifier: { $eq: identifierEq } });
65
- }
66
- const identifierIn = params.identifier?.$in;
67
- if (Array.isArray(identifierIn)) {
68
- andConditions.push({ identifier: { $in: identifierIn } });
69
- }
70
- const itemOfferedIdEq = params.itemOffered?.id?.$eq;
71
- if (typeof itemOfferedIdEq === 'string') {
72
- andConditions.push({ 'itemOffered.id': { $eq: itemOfferedIdEq } });
73
- }
74
- const itemOfferedIdIn = params.itemOffered?.id?.$in;
75
- if (Array.isArray(itemOfferedIdIn)) {
76
- andConditions.push({ 'itemOffered.id': { $in: itemOfferedIdIn } });
77
- }
78
- const acceptedPaymentMethodIdEq = params.acceptedPaymentMethod?.id?.$eq;
79
- if (typeof acceptedPaymentMethodIdEq === 'string') {
80
- andConditions.push({ 'acceptedPaymentMethod.id': { $eq: acceptedPaymentMethodIdEq } });
81
- }
82
- const sellerByIdEq = params.seller?.id?.$eq;
83
- if (typeof sellerByIdEq === 'string') {
84
- andConditions.push({ 'seller.id': { $eq: sellerByIdEq } });
85
- }
86
- const validFromLte = params.validFrom?.$lte;
87
- if (validFromLte instanceof Date) {
88
- andConditions.push({ validFrom: { $lte: validFromLte } });
89
- }
90
- const validThroughGte = params.validThrough?.$gte;
91
- if (validThroughGte instanceof Date) {
92
- andConditions.push({ validThrough: { $gte: validThroughGte } });
93
- }
94
- return andConditions;
95
- }
96
- async findAcceptedPaymentMethods(params, inclusion) {
97
- const conditions = AcceptedPaymentMethodRepo.CREATE_MONGO_CONDITIONS(params);
98
- let positiveProjectionFields;
99
- if (Array.isArray(inclusion) && inclusion.length > 0) {
100
- positiveProjectionFields = inclusion.filter((key) => AVAILABLE_PROJECT_FIELDS.includes(key));
101
- }
102
- else {
103
- throw new factory.errors.ArgumentNull('inclusion', 'inclusion must be specified');
104
- }
105
- const projection = {
106
- _id: 0,
107
- id: { $toString: '$_id' },
108
- ...Object.fromEntries(positiveProjectionFields.map((key) => ([key, 1])))
109
- };
110
- const query = this.acceptedPaymentMethodModel.find((conditions.length > 0) ? { $and: conditions } : {}, projection);
111
- if (typeof params.sort?.validFrom === 'number') {
112
- query.sort({ validFrom: params.sort.validFrom });
113
- }
114
- if (typeof params.limit === 'number' && params.limit > 0) {
115
- const page = (typeof params.page === 'number' && params.page > 0) ? params.page : 1;
116
- query.limit(params.limit)
117
- .skip(params.limit * (page - 1));
118
- }
119
- return query.setOptions({ maxTimeMS: settings_1.MONGO_MAX_TIME_MS })
120
- .lean()
121
- .exec();
122
- }
123
- /**
124
- * オファーコードと提供リソースIDをキーにして冪等置換
125
- */
126
- async addAcceptedPaymentMethodsByIdentifier(params, options) {
127
- const { upsert, project, seller, itemOffered } = options;
128
- const bulkWriteOps = [];
129
- const queryFilters = [];
130
- if (Array.isArray(params)) {
131
- params.forEach(({ $set, $unset }) => {
132
- const { identifier, acceptedPaymentMethod, validFrom, validThrough } = $set;
133
- if (typeof identifier !== 'string' || identifier === '') {
134
- throw new factory.errors.ArgumentNull('identifier');
135
- }
136
- if (typeof itemOffered.id !== 'string' || itemOffered.id === '') {
137
- throw new factory.errors.ArgumentNull('itemOffered.id');
138
- }
139
- // リソースのユニークネスを保証するfilter
140
- const filter = {
141
- 'project.id': { $eq: project.id },
142
- 'itemOffered.id': { $eq: itemOffered.id },
143
- identifier: { $eq: identifier }
144
- };
145
- queryFilters.push({
146
- 'project.id': { $eq: project.id },
147
- 'itemOffered.id': { $eq: itemOffered.id },
148
- identifier: { $eq: identifier }
149
- });
150
- const setOnInsert = {
151
- identifier, itemOffered, project, seller,
152
- typeOf: factory.offerType.Offer
153
- };
154
- const setFields = {
155
- acceptedPaymentMethod,
156
- validFrom,
157
- validThrough
158
- };
159
- if (upsert) {
160
- const updateFilter = {
161
- $setOnInsert: setOnInsert, // 存在しなければ追加
162
- $set: setFields, // 存在すれば編集
163
- ...($unset !== undefined) ? { $unset } : undefined
164
- };
165
- const updateOne = {
166
- filter,
167
- update: updateFilter,
168
- upsert: true
169
- };
170
- bulkWriteOps.push({ updateOne });
171
- }
172
- else {
173
- const updateFilter = {
174
- $setOnInsert: { ...setOnInsert, ...setFields } // 存在しなければ追加のみ
175
- };
176
- const updateOne = {
177
- filter,
178
- update: updateFilter,
179
- upsert: true
180
- };
181
- bulkWriteOps.push({ updateOne });
182
- }
183
- });
184
- }
185
- if (bulkWriteOps.length > 0) {
186
- const bulkWriteResult = await this.acceptedPaymentMethodModel.bulkWrite(bulkWriteOps, { ordered: false });
187
- // upsert:falseの場合、upsertedIdsのみ返せばよい
188
- if (!upsert) {
189
- // BulkWriteResult -> upsertedIds: { '0': '7iri6p4m54k0r3g' }
190
- return {
191
- bulkWriteResult,
192
- modifiedOffers: Object.values(bulkWriteResult.upsertedIds)
193
- .map((id) => ({ id: String(id) }))
194
- };
195
- }
196
- else {
197
- // modifiedの場合upsertedIdsに含まれないので、idを検索する
198
- const modifiedOffers = await this.acceptedPaymentMethodModel.find({ $or: queryFilters }, {
199
- _id: 0,
200
- id: { $toString: '$_id' }
201
- })
202
- .lean()
203
- .exec();
204
- return { bulkWriteResult, modifiedOffers };
205
- }
206
- }
207
- return { modifiedOffers: [] };
208
- }
209
- /**
210
- * 有効期間を過ぎた対応決済方法オファーを削除する
211
- */
212
- async deleteAcceptedPaymentMethodsExpired(params) {
213
- return this.acceptedPaymentMethodModel.deleteMany({
214
- validThrough: { $lte: params.validThrough.$lte }
215
- })
216
- .exec();
217
- }
218
- /**
219
- * 提供リソースから対応決済方法を削除する
220
- */
221
- async deleteAcceptedPaymentMethodsByItemOffered(params) {
222
- return this.acceptedPaymentMethodModel.deleteMany({
223
- 'project.id': { $eq: params.project.id },
224
- 'itemOffered.id': { $eq: params.itemOffered.id }
225
- })
226
- .exec();
227
- }
228
- /**
229
- * 販売者の提供するオファーを削除する
230
- */
231
- async deleteAcceptedPaymentMethodsBySeller(params) {
232
- return this.acceptedPaymentMethodModel.deleteMany({
233
- 'project.id': { $eq: params.project.id },
234
- 'seller.id': { $eq: params.seller.id }
235
- })
236
- .exec();
237
- }
238
- }
239
- exports.AcceptedPaymentMethodRepo = AcceptedPaymentMethodRepo;
@@ -1,11 +0,0 @@
1
- import { IndexDefinition, IndexOptions, Model, Schema, SchemaDefinition } from 'mongoose';
2
- import * as factory from '../../../factory';
3
- import { IVirtuals } from '../virtuals';
4
- type IDocType = Omit<factory.acceptedPaymentMethodOffer.IAcceptedPaymentMethodOffer, 'id'>;
5
- type IModel = Model<IDocType, Record<string, never>, Record<string, never>, IVirtuals>;
6
- type ISchemaDefinition = SchemaDefinition<IDocType>;
7
- type ISchema = Schema<IDocType, IModel, Record<string, never>, Record<string, never>, IVirtuals, Record<string, never>, ISchemaDefinition, IDocType>;
8
- declare const modelName = "AcceptedPaymentMethod";
9
- declare const indexes: [d: IndexDefinition, o: IndexOptions][];
10
- declare function createSchema(): ISchema;
11
- export { createSchema, IDocType, IModel, indexes, modelName };
@@ -1,97 +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 settings_1 = require("../../../settings");
7
- const writeConcern_1 = require("../writeConcern");
8
- const modelName = 'AcceptedPaymentMethod';
9
- exports.modelName = modelName;
10
- const schemaDefinition = {
11
- project: { type: mongoose_1.SchemaTypes.Mixed, required: true },
12
- seller: { type: mongoose_1.SchemaTypes.Mixed, required: true },
13
- typeOf: { type: String, required: true },
14
- identifier: { type: String, required: true },
15
- itemOffered: { type: mongoose_1.SchemaTypes.Mixed, required: true },
16
- validFrom: { type: Date, required: true },
17
- validThrough: { type: Date, required: true },
18
- acceptedPaymentMethod: { type: mongoose_1.SchemaTypes.Mixed, required: true }
19
- // offeredBy: { type: SchemaTypes.Mixed, required: false }
20
- };
21
- const schemaOptions = {
22
- autoIndex: settings_1.MONGO_AUTO_INDEX,
23
- autoCreate: false,
24
- collection: 'acceptedPaymentMethods',
25
- id: true,
26
- read: settings_1.MONGO_READ_PREFERENCE,
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
- { validFrom: 1 },
48
- { name: 'validFrom' }
49
- ],
50
- [
51
- { validThrough: 1, validFrom: 1 },
52
- { name: 'validThrough' }
53
- ],
54
- [
55
- {
56
- 'project.id': 1,
57
- 'itemOffered.id': 1,
58
- identifier: 1
59
- },
60
- {
61
- name: 'uniqueByItemOfferedAndIdentifier',
62
- unique: true
63
- }
64
- ],
65
- [
66
- { 'project.id': 1, validFrom: 1 },
67
- { name: 'projectId' }
68
- ],
69
- [
70
- { 'seller.id': 1, validFrom: 1 },
71
- { name: 'sellerId' }
72
- ],
73
- [
74
- { identifier: 1, validFrom: 1 },
75
- { name: 'identifier' }
76
- ],
77
- [
78
- { 'itemOffered.id': 1, validFrom: 1 },
79
- { name: 'itemOfferedId' }
80
- ]
81
- ];
82
- exports.indexes = indexes;
83
- /**
84
- * 対応決済方法オファースキーマ
85
- */
86
- let schema;
87
- function createSchema() {
88
- if (schema === undefined) {
89
- schema = new mongoose_1.Schema(schemaDefinition, schemaOptions);
90
- if (settings_1.MONGO_AUTO_INDEX) {
91
- indexes.forEach((indexParams) => {
92
- schema?.index(...indexParams);
93
- });
94
- }
95
- }
96
- return schema;
97
- }