@chevre/domain 24.1.0-alpha.53 → 24.1.0-alpha.54

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.
@@ -24,9 +24,7 @@ class AcceptedOfferRepo extends acceptedOfferInReserve_1.AcceptedOfferInReserveR
24
24
  /**
25
25
  * 索条件を最小化(2026-06-05~)
26
26
  */
27
- params,
28
- // params: factory.order.ISearchConditions,
29
- projection) {
27
+ params, projection) {
30
28
  const conditions = order_2.OrderRepo.CREATE_MONGO_CONDITIONS(params);
31
29
  const aggregate = this.orderModel.aggregate();
32
30
  // unwind->matchでは遅い
@@ -61,7 +59,6 @@ class AcceptedOfferRepo extends acceptedOfferInReserve_1.AcceptedOfferInReserveR
61
59
  // 予約取引を参照(2026-05-17~)
62
60
  const offeredThroughIdentifier = orders.at(0)?.acceptedOffers[0].offeredThrough?.identifier;
63
61
  const useReserveTransaction = offeredThroughIdentifier !== factory_1.factory.service.webAPI.Identifier.COA; // COAでは予約取引を参照しない
64
- // const { useItemOfferedByReserve } = options;
65
62
  if (useReserveTransaction) {
66
63
  const reservationNumbers = [...new Set(orders.map((order) => String(order.acceptedOffers[0].serialNumber)))];
67
64
  let acceptedOffersByReserveTransaction = [];
@@ -85,16 +82,17 @@ class AcceptedOfferRepo extends acceptedOfferInReserve_1.AcceptedOfferInReserveR
85
82
  if (itemOfferedByReserve === undefined) {
86
83
  console.error('repo:acceptedOffer: searchWithUnwoundAcceptedOffers: itemOfferedByReserve: undefined!!!', acceptedOffer.itemOffered.id);
87
84
  }
85
+ const nameByReserveTransaction = acceptedOfferByReserveTransaction?.name;
88
86
  const { priceSpecification: _originalPriceSpec, // 注文ドキュメントのpriceSpecificationはもう採用しない(2026-05-21~)
87
+ name: _originalName, // 注文ドキュメントのnameはもう採用しない(2026-06-09~)
89
88
  itemOffered, ...acceptedOfferWithoutPrice } = acceptedOffer;
90
89
  return {
91
90
  ...order,
92
91
  acceptedOffers: [
93
92
  {
94
93
  ...acceptedOfferWithoutPrice,
94
+ ...((nameByReserveTransaction !== undefined) && { name: nameByReserveTransaction }), // 予約取引参照の値で上書き(2026-06-09~)
95
95
  ...((priceSpecByReserveTransaction !== undefined) && { priceSpecification: priceSpecByReserveTransaction }), // 予約取引参照の値で上書き
96
- // useItemOfferedByReserve: always true(2026-06-03~)
97
- // ...(useItemOfferedByReserve && itemOfferedByReserve !== undefined))
98
96
  ...(itemOfferedByReserve !== undefined)
99
97
  ? { itemOffered: itemOfferedByReserve } // 予約取引参照の値で上書き(2026-05-25~)
100
98
  : { itemOffered }
@@ -155,15 +153,6 @@ class AcceptedOfferRepo extends acceptedOfferInReserve_1.AcceptedOfferInReserveR
155
153
  if (typeof itemOfferedIdEq === 'string') {
156
154
  matchStages.push({ $match: { 'acceptedOffers.itemOffered.id': { $exists: true, $eq: itemOfferedIdEq } } });
157
155
  }
158
- // reservationForによる検索は廃止(reservationForが全オファーに存在しなくても成立させる)(2026-06-04~)
159
- // const resevationForIdIn = filter.acceptedOffers?.itemOffered?.reservationFor?.id?.$in;
160
- // if (Array.isArray(resevationForIdIn)) {
161
- // matchStages.push({
162
- // $match: {
163
- // 'acceptedOffers.itemOffered.reservationFor.id': { $exists: true, $in: resevationForIdIn }
164
- // }
165
- // });
166
- // }
167
156
  const aggregate = this.orderModel.aggregate([
168
157
  ...matchStagesOneDocument,
169
158
  {
@@ -181,7 +170,7 @@ class AcceptedOfferRepo extends acceptedOfferInReserve_1.AcceptedOfferInReserveR
181
170
  typeOf: '$acceptedOffers.typeOf',
182
171
  id: '$acceptedOffers.id',
183
172
  offeredThrough: '$acceptedOffers.offeredThrough',
184
- name: '$acceptedOffers.name',
173
+ // name: '$acceptedOffers.name', // 名称はaddAcceptedOffersDetailsメソッドにて予約取引から参照される(2026-06-09~)
185
174
  serialNumber: '$acceptedOffers.serialNumber'
186
175
  });
187
176
  if (typeof filter.limit === 'number' && filter.limit > 0) {
@@ -52,7 +52,6 @@ class AcceptedOfferInReserveRepo {
52
52
  if (reservationNumbers.length > 0) {
53
53
  acceptedOffersByReserveTransaction = await this.findAcceptedOffersByReservationNumbers({ reservationNumbers });
54
54
  }
55
- // const { useItemOfferedByReserve } = options;
56
55
  return acceptedOffers.map((acceptedOffer) => {
57
56
  const acceptedOfferByReserveTransaction = acceptedOffersByReserveTransaction.find(((offer) => offer.itemOffered.id === acceptedOffer.itemOffered.id));
58
57
  // 予約は必ず存在するはず
@@ -69,13 +68,14 @@ class AcceptedOfferInReserveRepo {
69
68
  if (itemOfferedByReserve === undefined) {
70
69
  console.error('repo:acceptedOffer: addAcceptedOffersDetails: itemOfferedByReserve: undefined!!!', acceptedOffer.itemOffered.id);
71
70
  }
71
+ const nameByReserveTransaction = acceptedOfferByReserveTransaction?.name;
72
72
  const { priceSpecification: _originalPriceSpec, // 注文ドキュメントのpriceSpecificationはもう採用しない(2026-05-21~)
73
+ name: _originalName, // 注文ドキュメントのnameはもう採用しない(2026-06-09~)
73
74
  itemOffered, ...acceptedOfferWithoutPrice } = acceptedOffer;
74
75
  return {
75
76
  ...acceptedOfferWithoutPrice,
77
+ ...((nameByReserveTransaction !== undefined) && { name: nameByReserveTransaction }), // 予約取引参照の値で上書き(2026-06-09~)
76
78
  ...((priceSpecByReserveTransaction !== undefined) && { priceSpecification: priceSpecByReserveTransaction }), // 予約取引参照の値で上書き
77
- // useItemOfferedByReserve: always true(2026-06-03~)
78
- // ...(useItemOfferedByReserve && itemOfferedByReserve !== undefined)
79
79
  ...(itemOfferedByReserve !== undefined)
80
80
  ? { itemOffered: itemOfferedByReserve } // 予約取引参照の値で上書き
81
81
  : { itemOffered }
@@ -1,5 +1,5 @@
1
1
  import { factory } from '../../../factory';
2
- type IAcceptedOfferByReserveTransaction = Pick<factory.order.IOptimizedAcceptedOffer, 'itemOffered' | 'priceSpecification'>;
2
+ type IAcceptedOfferByReserveTransaction = Pick<factory.order.IOptimizedAcceptedOffer, 'itemOffered' | 'priceSpecification' | 'name'>;
3
3
  /**
4
4
  * 予約取引を注文のitemOfferedへ変換する
5
5
  */
@@ -68,7 +68,8 @@ function reserveTransaction2itemOffered(params) {
68
68
  };
69
69
  return {
70
70
  itemOffered: reservationByReserveTransaction,
71
- ...((price !== undefined) && { priceSpecification: price })
71
+ ...((price !== undefined) && { priceSpecification: price }),
72
+ ...((reservedTicket.ticketType.name !== undefined) && { name: reservedTicket.ticketType.name })
72
73
  };
73
74
  });
74
75
  }
@@ -154,6 +154,7 @@ export declare class OrderRepo {
154
154
  unsetUnnecessaryFields(params: {
155
155
  filter: FilterQuery<factory.order.IOrder>;
156
156
  $unset: any;
157
+ arrayFilters?: any[];
157
158
  }): Promise<import("mongoose").UpdateWriteOpResult>;
158
159
  aggregateOrder(params: {
159
160
  project?: {
@@ -832,7 +832,10 @@ class OrderRepo {
832
832
  .cursor();
833
833
  }
834
834
  async unsetUnnecessaryFields(params) {
835
- return this.orderModel.updateMany(params.filter, { $unset: params.$unset }, { timestamps: false })
835
+ return this.orderModel.updateMany(params.filter, { $unset: params.$unset }, {
836
+ timestamps: false,
837
+ ...((Array.isArray(params.arrayFilters)) && { arrayFilters: params.arrayFilters })
838
+ })
836
839
  .exec();
837
840
  }
838
841
  async aggregateOrder(params) {
@@ -59,7 +59,7 @@ export declare class OrderInTransactionRepo extends AcceptedOfferInReserveRepo {
59
59
  project: {
60
60
  id: string;
61
61
  };
62
- }): Promise<(Omit<factory.order.IAcceptedOffer, 'priceSpecification'> & {
62
+ }): Promise<(Pick<factory.order.IAcceptedOffer, 'id' | 'itemOffered' | 'offeredThrough' | 'serialNumber' | 'typeOf'> & {
63
63
  priceSpecification?: factory.order.ITicketPriceSpecification;
64
64
  })[]>;
65
65
  /**
@@ -71,6 +71,10 @@ interface IAuthorizeOptions {
71
71
  * 2026-06-04~
72
72
  */
73
73
  useAcceptedOfferNoReservationFor: boolean;
74
+ /**
75
+ * 2026-06-09~
76
+ */
77
+ useAcceptedOfferNoName: boolean;
74
78
  }
75
79
  /**
76
80
  * 興行オファー承認
@@ -52,15 +52,17 @@ function authorize(params, options) {
52
52
  acceptedOffers4result = processStartReserveResult.acceptedOffers4result;
53
53
  if (!noOfferSpecified) {
54
54
  const useAcceptedOfferNoReservationFor = options.useAcceptedOfferNoReservationFor === true;
55
+ const useAcceptedOfferNoName = options.useAcceptedOfferNoName === true;
55
56
  await (0, any_1.acceptOffer)({
56
57
  orderNumber,
57
58
  project: transaction.project,
58
59
  acceptedOffers: acceptedOffers4result.map((acceptOffer4result, offerIndex) => {
59
- const { priceSpecification: _priceSpecification, itemOffered, ...acceptOfferNoPriceSpec } = acceptOffer4result;
60
+ const { priceSpecification: _priceSpecification, itemOffered, name, ...acceptOfferNoPriceSpec } = acceptOffer4result;
60
61
  const includeReservationFor = !useAcceptedOfferNoReservationFor
61
62
  || (useAcceptedOfferNoReservationFor && offerIndex === 0); // useAcceptedOfferNoReservationForの場合、ひとつめのオファーのみ含む(2026-06-04~)
62
63
  return {
63
64
  ...acceptOfferNoPriceSpec,
65
+ ...((!useAcceptedOfferNoName) && { name }), // 名称非保管に対応(2026-06-09~)
64
66
  itemOffered: minimizeItemOffered(itemOffered, {
65
67
  includeReservationFor
66
68
  })
package/package.json CHANGED
@@ -91,5 +91,5 @@
91
91
  "postversion": "git push origin --tags",
92
92
  "prepublishOnly": "npm run clean && npm run build"
93
93
  },
94
- "version": "24.1.0-alpha.53"
94
+ "version": "24.1.0-alpha.54"
95
95
  }