@chevre/domain 25.0.0-alpha.20 → 25.0.0-alpha.21

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.
@@ -26,7 +26,7 @@ interface IAggregateOrder {
26
26
  export type IOrderOnStatusChanged = Pick<IOrderWithoutAcceptedOffers & {
27
27
  id: string;
28
28
  }, 'id' | 'orderNumber' | 'broker' | 'confirmationNumber' | 'customer' | 'dateReturned' | 'name' | 'orderDate' | 'orderStatus' | 'orderedItem' | 'paymentMethods' | 'previousOrderStatus' | 'price' | 'priceCurrency' | 'project' | 'returner' | 'seller' | 'typeOf'>;
29
- type ISearchConditions = Pick<factory.order.ISearchConditions, 'acceptedOffers' | 'broker' | 'confirmationNumbers' | 'customer' | 'name' | 'orderDate' | 'orderNumbers' | 'orderStatuses' | 'paymentMethods' | 'project' | 'provider' | 'seller'>;
29
+ type ISearchConditions = Pick<factory.order.ISearchConditions, 'acceptedOffers' | 'broker' | 'confirmationNumbers' | 'customer' | 'name' | 'orderDate' | 'orderNumbers' | 'orderStatuses' | 'paymentMethods' | 'project' | 'provider' | 'seller' | 'identifier'>;
30
30
  /**
31
31
  * 注文リポジトリ
32
32
  */
@@ -152,13 +152,6 @@ export declare class OrderRepo {
152
152
  $unset: any;
153
153
  arrayFilters?: any[];
154
154
  }): Promise<import("mongoose").UpdateWriteOpResult>;
155
- updateIdentifier4migration(params: {
156
- project: {
157
- id: string;
158
- };
159
- orderNumber: string;
160
- identifier: string;
161
- }): Promise<import("mongoose").UpdateWriteOpResult>;
162
155
  aggregateOrder(params: {
163
156
  project?: {
164
157
  id?: {
@@ -239,6 +239,10 @@ class OrderRepo {
239
239
  }
240
240
  });
241
241
  }
242
+ const identifierEq = params.identifier?.$eq;
243
+ if (typeof identifierEq === 'string') {
244
+ andConditions.push({ identifier: { $eq: identifierEq } });
245
+ }
242
246
  if (Array.isArray(params.orderNumbers)) {
243
247
  if (params.orderNumbers.length === 1) {
244
248
  // use $eq(2025-04-01~)
@@ -844,19 +848,26 @@ class OrderRepo {
844
848
  })
845
849
  .exec();
846
850
  }
847
- async updateIdentifier4migration(params) {
848
- const { orderNumber, project, identifier } = params;
849
- return this.orderModel.updateOne({
850
- orderNumber: { $eq: orderNumber },
851
- 'project.id': { $eq: project.id },
852
- typeOf: { $eq: factory_1.factory.order.OrderType.Order }
853
- }, {
854
- $set: {
855
- ...(typeof identifier === 'string') ? { identifier } : undefined
856
- }
857
- })
858
- .exec();
859
- }
851
+ // public async updateIdentifier4migration(params: {
852
+ // project: { id: string };
853
+ // orderNumber: string;
854
+ // identifier: string;
855
+ // }) {
856
+ // const { orderNumber, project, identifier } = params;
857
+ // return this.orderModel.updateOne(
858
+ // {
859
+ // orderNumber: { $eq: orderNumber },
860
+ // 'project.id': { $eq: project.id },
861
+ // typeOf: { $eq: factory.order.OrderType.Order }
862
+ // },
863
+ // {
864
+ // $set: {
865
+ // ...(typeof identifier === 'string') ? { identifier } : undefined
866
+ // }
867
+ // }
868
+ // )
869
+ // .exec();
870
+ // }
860
871
  async aggregateOrder(params) {
861
872
  const matchConditions = {
862
873
  orderDate: {
@@ -1,7 +1,7 @@
1
1
  import type { Connection } from 'mongoose';
2
2
  import { factory } from '../factory';
3
3
  import { AcceptedOfferInReserveRepo } from './acceptedOfferInReserve';
4
- type IOrderInTransaction = Pick<factory.order.IOrder, 'orderNumber' | 'project' | 'broker'> & {
4
+ export type IOrderInTransaction = Pick<factory.order.IOrder, 'orderNumber' | 'project' | 'broker'> & {
5
5
  typeOf: factory.transactionType.PlaceOrder;
6
6
  orderDate: Date;
7
7
  /**
@@ -131,4 +131,3 @@ export declare class OrderInTransactionRepo extends AcceptedOfferInReserveRepo {
131
131
  identifier: string;
132
132
  }): Promise<import("mongodb").DeleteResult>;
133
133
  }
134
- export {};
@@ -31,7 +31,7 @@ type ICreatingTask = Pick<factory.task.IAttributes<factory.taskName>, 'data' | '
31
31
  export declare class TaskRepo {
32
32
  readonly taskModel: IModel;
33
33
  constructor(connection: Connection);
34
- static CREATE_MONGO_CONDITIONS(params: factory.task.ISearchConditions): FilterQuery<import("@chevre/factory/lib/chevre/task").ITask | import("@chevre/factory/lib/chevre/task/confirmPayTransaction").ITask | import("@chevre/factory/lib/chevre/task/confirmReserveTransaction").ITask | import("@chevre/factory/lib/chevre/task/createAccountingReport").ITask | import("@chevre/factory/lib/chevre/task/deletePerson").ITask | import("@chevre/factory/lib/chevre/task/deleteTransaction").ITask | import("@chevre/factory/lib/chevre/task/onAssetTransactionStatusChanged").ITask | import("@chevre/factory/lib/chevre/task/onAuthorizationCreated").ITask | import("@chevre/factory/lib/chevre/task/onEventChanged").ITask | import("@chevre/factory/lib/chevre/task/onResourceDeleted").ITask | import("@chevre/factory/lib/chevre/task/onResourceUpdated").ITask | import("@chevre/factory/lib/chevre/task/onOrderPaymentCompleted").ITask | import("@chevre/factory/lib/chevre/task/placeOrder").ITask | import("@chevre/factory/lib/chevre/task/returnOrder").ITask | import("@chevre/factory/lib/chevre/task/returnPayTransaction").ITask | import("@chevre/factory/lib/chevre/task/returnReserveTransaction").ITask | import("@chevre/factory/lib/chevre/task/sendEmailMessage").ITask | import("@chevre/factory/lib/chevre/task/sendOrder").ITask | import("@chevre/factory/lib/chevre/task/triggerWebhook").ITask | import("@chevre/factory/lib/chevre/task/useReservation").ITask | import("@chevre/factory/lib/chevre/task/voidPayTransaction").ITask | import("@chevre/factory/lib/chevre/task/voidReserveTransaction").ITask>[];
34
+ static CREATE_MONGO_CONDITIONS(params: factory.task.ISearchConditions): FilterQuery<import("@chevre/factory/lib/chevre/task").ITask | import("@chevre/factory/lib/chevre/task/confirmPayTransaction").ITask | import("@chevre/factory/lib/chevre/task/confirmReserveTransaction").ITask | import("@chevre/factory/lib/chevre/task/createAccountingReport").ITask | import("@chevre/factory/lib/chevre/task/deleteTransaction").ITask | import("@chevre/factory/lib/chevre/task/onAssetTransactionStatusChanged").ITask | import("@chevre/factory/lib/chevre/task/onAuthorizationCreated").ITask | import("@chevre/factory/lib/chevre/task/onEventChanged").ITask | import("@chevre/factory/lib/chevre/task/onResourceDeleted").ITask | import("@chevre/factory/lib/chevre/task/onResourceUpdated").ITask | import("@chevre/factory/lib/chevre/task/onOrderPaymentCompleted").ITask | import("@chevre/factory/lib/chevre/task/placeOrder").ITask | import("@chevre/factory/lib/chevre/task/returnOrder").ITask | import("@chevre/factory/lib/chevre/task/returnPayTransaction").ITask | import("@chevre/factory/lib/chevre/task/returnReserveTransaction").ITask | import("@chevre/factory/lib/chevre/task/sendEmailMessage").ITask | import("@chevre/factory/lib/chevre/task/sendOrder").ITask | import("@chevre/factory/lib/chevre/task/triggerWebhook").ITask | import("@chevre/factory/lib/chevre/task/useReservation").ITask | import("@chevre/factory/lib/chevre/task/voidPayTransaction").ITask | import("@chevre/factory/lib/chevre/task/voidReserveTransaction").ITask>[];
35
35
  runImmediately(params: Pick<factory.task.IAttributes<factory.taskName>, 'data' | 'expires' | 'name' | 'project' | 'remainingNumberOfTries' | 'runsAt'> & {
36
36
  alternateName?: never;
37
37
  identifier?: never;
@@ -43,12 +43,6 @@ export declare class PlaceOrderRepo {
43
43
  findInProgressPaymentMethodId(params: {
44
44
  id: string;
45
45
  }): Promise<factory.transaction.placeOrder.IPaymentMethodByPaymentUrl | undefined>;
46
- /**
47
- * 取引の注文番号を検索する
48
- */
49
- findInProgressOrderNumberById(params: {
50
- id: string;
51
- }): Promise<string | undefined>;
52
46
  /**
53
47
  * 取引の確認番号を検索する
54
48
  */
@@ -130,6 +124,7 @@ export declare class PlaceOrderRepo {
130
124
  id: string;
131
125
  object: {
132
126
  orderDate: Date;
127
+ orderNumber: string;
133
128
  };
134
129
  result: factory.transaction.IResult<factory.transactionType.PlaceOrder>;
135
130
  potentialActions: factory.transaction.IPotentialActions<factory.transactionType.PlaceOrder>;
@@ -202,22 +202,30 @@ class PlaceOrderRepo {
202
202
  }
203
203
  return doc.object.paymentMethods;
204
204
  }
205
- /**
206
- * 取引の注文番号を検索する
207
- */
208
- async findInProgressOrderNumberById(params) {
209
- const doc = await this.transactionModel.findOne({
210
- _id: { $eq: params.id },
211
- typeOf: { $eq: factory_1.factory.transactionType.PlaceOrder },
212
- status: { $eq: factory_1.factory.transactionStatusType.InProgress }
213
- }, { 'object.orderNumber': 1 })
214
- .lean() // 2024-08-26~
215
- .exec();
216
- if (doc === null) {
217
- throw new factory_1.factory.errors.NotFound(this.transactionModel.modelName, `${factory_1.factory.transactionType.PlaceOrder} ${factory_1.factory.transactionStatusType.InProgress} not found`);
218
- }
219
- return doc.object.orderNumber;
220
- }
205
+ // /**
206
+ // * 取引の注文番号を検索する
207
+ // */
208
+ // public async findInProgressOrderNumberById(params: {
209
+ // id: string;
210
+ // }): Promise<string | undefined> {
211
+ // const doc = await this.transactionModel.findOne(
212
+ // {
213
+ // _id: { $eq: params.id },
214
+ // typeOf: { $eq: factory.transactionType.PlaceOrder },
215
+ // status: { $eq: factory.transactionStatusType.InProgress }
216
+ // },
217
+ // { 'object.orderNumber': 1 }
218
+ // )
219
+ // .lean<{ object: Pick<factory.transaction.placeOrder.IObject, 'orderNumber'> }>() // 2024-08-26~
220
+ // .exec();
221
+ // if (doc === null) {
222
+ // throw new factory.errors.NotFound(
223
+ // this.transactionModel.modelName,
224
+ // `${factory.transactionType.PlaceOrder} ${factory.transactionStatusType.InProgress} not found`
225
+ // );
226
+ // }
227
+ // return doc.object.orderNumber;
228
+ // }
221
229
  /**
222
230
  * 取引の確認番号を検索する
223
231
  */
@@ -432,6 +440,7 @@ class PlaceOrderRepo {
432
440
  status: factory_1.factory.transactionStatusType.Confirmed, // ステータス変更
433
441
  endDate,
434
442
  'object.orderDate': params.object.orderDate, // add(2026-06-15~)
443
+ 'object.orderNumber': params.object.orderNumber, // add(2026-06-27~)
435
444
  result: params.result, // resultを更新
436
445
  potentialActions: params.potentialActions // resultを更新
437
446
  }, {
@@ -1,28 +1,24 @@
1
1
  import type { AcceptedOfferRepo } from '../../repo/acceptedOffer';
2
2
  import type { AccountingReportRepo } from '../../repo/accountingReport';
3
- import type { EventRepo } from '../../repo/event';
4
3
  import type { NoteRepo } from '../../repo/note';
5
4
  import type { OrderRepo } from '../../repo/order';
6
- import type { OwnershipInfoRepo } from '../../repo/ownershipInfo';
7
5
  import type { ReservationRepo } from '../../repo/reservation';
8
- import type { SettingRepo } from '../../repo/setting';
9
- import type { TaskRepo } from '../../repo/task';
10
- import { factory } from '../../factory';
11
6
  /**
12
7
  * 注文に関わるリソースを削除する
13
8
  * 冪等性を確保すること
14
9
  */
15
10
  declare function deleteOrder(params: {
16
- object: Pick<factory.order.IOrder, 'orderNumber'>;
11
+ object: {
12
+ /**
13
+ * 注文取引ID
14
+ */
15
+ identifier: string;
16
+ };
17
17
  }): (repos: {
18
18
  acceptedOffer: AcceptedOfferRepo;
19
19
  accountingReport: AccountingReportRepo;
20
- event: EventRepo;
21
20
  note: NoteRepo;
22
21
  order: OrderRepo;
23
- ownershipInfo: OwnershipInfoRepo;
24
22
  reservation: ReservationRepo;
25
- setting: SettingRepo;
26
- task: TaskRepo;
27
23
  }) => Promise<void>;
28
24
  export { deleteOrder };
@@ -9,23 +9,26 @@ const factory_1 = require("../../factory");
9
9
  */
10
10
  function deleteOrder(params) {
11
11
  return async (repos) => {
12
+ if (typeof params.object.identifier !== 'string' || params.object.identifier === '') {
13
+ throw new factory_1.factory.errors.ArgumentNull('object.identifier');
14
+ }
12
15
  const orders = await repos.order.projectFields({
13
16
  limit: 1,
14
17
  page: 1,
15
- orderNumbers: [params.object.orderNumber]
16
- }, { inclusion: ['orderDate', 'project', 'customer', 'orderNumber', 'seller', 'broker'] });
18
+ // orderNumbers: [params.object.orderNumber],
19
+ identifier: { $eq: params.object.identifier }
20
+ }, { inclusion: ['project', 'orderNumber'] });
17
21
  const order = orders.shift();
18
22
  if (order === undefined) {
19
23
  // すでに削除済
20
24
  return;
21
25
  }
22
26
  if (typeof order.id !== 'string') {
23
- throw new factory_1.factory.errors.Internal(`order.id undefined. orderNumber: ${params.object.orderNumber}`);
27
+ throw new factory_1.factory.errors.Internal(`order.id undefined. orderNumber: ${order.orderNumber}`);
24
28
  }
25
29
  // 注文アイテムの予約を削除
26
30
  await deleteReservationsByOrder(order)(repos);
27
31
  // 所有権は所有期限でcleanされるので、注文削除時連動はひとまず廃止(2026-05-17~)
28
- // // 所有権削除
29
32
  // try {
30
33
  // await deleteOwnershipInfosByOrder(order)(repos);
31
34
  // } catch (error) {
@@ -42,50 +45,6 @@ function deleteOrder(params) {
42
45
  });
43
46
  // 注文削除
44
47
  await repos.order.deleteByOrderNumber({ orderNumber: order.orderNumber });
45
- // deletePerson(2024-12-25~)
46
- await deletePersonIfNecessary(order)(repos);
47
- };
48
- }
49
- function deletePersonIfNecessary(order) {
50
- return async (repos) => {
51
- // 代理注文を除く
52
- const isCustomerPerson = order.customer.typeOf === factory_1.factory.personType.Person
53
- && typeof order.broker?.typeOf !== 'string';
54
- if (isCustomerPerson) {
55
- const ordersByPerson = await repos.order.projectFields({
56
- limit: 1,
57
- page: 1,
58
- customer: { ids: [order.customer.id] }
59
- }, { inclusion: ['orderNumber'] });
60
- if (ordersByPerson.length === 0) {
61
- const setting = await repos.setting.findOne({ project: { id: { $eq: '*' } } }, ['userPoolIdNew']);
62
- if (typeof setting?.userPoolIdNew !== 'string') {
63
- throw new factory_1.factory.errors.NotFound('setting.userPoolIdNew');
64
- }
65
- const deletePersonTask = {
66
- project: { typeOf: factory_1.factory.organizationType.Project, id: order.project.id },
67
- name: factory_1.factory.taskName.DeletePerson,
68
- status: factory_1.factory.taskStatus.Ready,
69
- runsAt: new Date(),
70
- remainingNumberOfTries: 10,
71
- numberOfTried: 0,
72
- executionResults: [],
73
- data: {
74
- id: order.customer.id,
75
- agent: {
76
- id: order.project.id,
77
- typeOf: factory_1.factory.organizationType.Project,
78
- name: factory_1.factory.organizationType.Project
79
- },
80
- physically: true,
81
- userPoolId: setting.userPoolIdNew,
82
- // migrate: false,
83
- executeBackground: true
84
- }
85
- };
86
- await repos.task.saveMany([deletePersonTask], { emitImmediately: true });
87
- }
88
- }
89
48
  };
90
49
  }
91
50
  function deleteReservationsByOrder(order) {
@@ -7,5 +7,5 @@ import { factory } from '../../../../factory';
7
7
  */
8
8
  declare function createOnOrderCancelledTasksByTransaction(params: {
9
9
  transaction: Pick<factory.transaction.placeOrder.ITransaction, 'id' | 'project' | 'typeOf'>;
10
- }): (import("@chevre/factory/lib/chevre/task").ITaskAttributes | import("@chevre/factory/lib/chevre/task/confirmPayTransaction").IAttributes | import("@chevre/factory/lib/chevre/task/confirmReserveTransaction").IAttributes | import("@chevre/factory/lib/chevre/task/createAccountingReport").IAttributes | import("@chevre/factory/lib/chevre/task/deletePerson").IAttributes | import("@chevre/factory/lib/chevre/task/deleteTransaction").IAttributes | import("@chevre/factory/lib/chevre/task/onAssetTransactionStatusChanged").IAttributes | import("@chevre/factory/lib/chevre/task/onAuthorizationCreated").IAttributes | import("@chevre/factory/lib/chevre/task/onEventChanged").IAttributes | import("@chevre/factory/lib/chevre/task/onResourceDeleted").IAttributes | import("@chevre/factory/lib/chevre/task/onResourceUpdated").IAttributes | import("@chevre/factory/lib/chevre/task/onOrderPaymentCompleted").IAttributes | import("@chevre/factory/lib/chevre/task/placeOrder").IAttributes | import("@chevre/factory/lib/chevre/task/returnOrder").IAttributes | import("@chevre/factory/lib/chevre/task/returnPayTransaction").IAttributes | import("@chevre/factory/lib/chevre/task/returnReserveTransaction").IAttributes | import("@chevre/factory/lib/chevre/task/sendEmailMessage").IAttributes | import("@chevre/factory/lib/chevre/task/sendOrder").IAttributes | import("@chevre/factory/lib/chevre/task/triggerWebhook").IAttributes | import("@chevre/factory/lib/chevre/task/useReservation").IAttributes | import("@chevre/factory/lib/chevre/task/voidPayTransaction").IAttributes | import("@chevre/factory/lib/chevre/task/voidReserveTransaction").IAttributes)[];
10
+ }): (import("@chevre/factory/lib/chevre/task").ITaskAttributes | import("@chevre/factory/lib/chevre/task/confirmPayTransaction").IAttributes | import("@chevre/factory/lib/chevre/task/confirmReserveTransaction").IAttributes | import("@chevre/factory/lib/chevre/task/createAccountingReport").IAttributes | import("@chevre/factory/lib/chevre/task/deleteTransaction").IAttributes | import("@chevre/factory/lib/chevre/task/onAssetTransactionStatusChanged").IAttributes | import("@chevre/factory/lib/chevre/task/onAuthorizationCreated").IAttributes | import("@chevre/factory/lib/chevre/task/onEventChanged").IAttributes | import("@chevre/factory/lib/chevre/task/onResourceDeleted").IAttributes | import("@chevre/factory/lib/chevre/task/onResourceUpdated").IAttributes | import("@chevre/factory/lib/chevre/task/onOrderPaymentCompleted").IAttributes | import("@chevre/factory/lib/chevre/task/placeOrder").IAttributes | import("@chevre/factory/lib/chevre/task/returnOrder").IAttributes | import("@chevre/factory/lib/chevre/task/returnPayTransaction").IAttributes | import("@chevre/factory/lib/chevre/task/returnReserveTransaction").IAttributes | import("@chevre/factory/lib/chevre/task/sendEmailMessage").IAttributes | import("@chevre/factory/lib/chevre/task/sendOrder").IAttributes | import("@chevre/factory/lib/chevre/task/triggerWebhook").IAttributes | import("@chevre/factory/lib/chevre/task/useReservation").IAttributes | import("@chevre/factory/lib/chevre/task/voidPayTransaction").IAttributes | import("@chevre/factory/lib/chevre/task/voidReserveTransaction").IAttributes)[];
11
11
  export { createOnOrderCancelledTasksByTransaction };
@@ -18,5 +18,5 @@ declare function createInformTasks(params: {
18
18
  }, setting: Pick<ISetting, 'onOrderStatusChanged'> | null): factory.task.IAttributes<factory.taskName.TriggerWebhook>[];
19
19
  declare function createNextSendOrderTasks(params: {
20
20
  order: IInTransitOrder;
21
- }): (import("@chevre/factory/lib/chevre/task").ITaskAttributes | import("@chevre/factory/lib/chevre/task/confirmPayTransaction").IAttributes | import("@chevre/factory/lib/chevre/task/confirmReserveTransaction").IAttributes | import("@chevre/factory/lib/chevre/task/createAccountingReport").IAttributes | import("@chevre/factory/lib/chevre/task/deletePerson").IAttributes | import("@chevre/factory/lib/chevre/task/deleteTransaction").IAttributes | import("@chevre/factory/lib/chevre/task/onAssetTransactionStatusChanged").IAttributes | import("@chevre/factory/lib/chevre/task/onAuthorizationCreated").IAttributes | import("@chevre/factory/lib/chevre/task/onEventChanged").IAttributes | import("@chevre/factory/lib/chevre/task/onResourceDeleted").IAttributes | import("@chevre/factory/lib/chevre/task/onResourceUpdated").IAttributes | import("@chevre/factory/lib/chevre/task/onOrderPaymentCompleted").IAttributes | import("@chevre/factory/lib/chevre/task/placeOrder").IAttributes | import("@chevre/factory/lib/chevre/task/returnOrder").IAttributes | import("@chevre/factory/lib/chevre/task/returnPayTransaction").IAttributes | import("@chevre/factory/lib/chevre/task/returnReserveTransaction").IAttributes | import("@chevre/factory/lib/chevre/task/sendEmailMessage").IAttributes | import("@chevre/factory/lib/chevre/task/sendOrder").IAttributes | import("@chevre/factory/lib/chevre/task/triggerWebhook").IAttributes | import("@chevre/factory/lib/chevre/task/useReservation").IAttributes | import("@chevre/factory/lib/chevre/task/voidPayTransaction").IAttributes | import("@chevre/factory/lib/chevre/task/voidReserveTransaction").IAttributes)[];
21
+ }): (import("@chevre/factory/lib/chevre/task").ITaskAttributes | import("@chevre/factory/lib/chevre/task/confirmPayTransaction").IAttributes | import("@chevre/factory/lib/chevre/task/confirmReserveTransaction").IAttributes | import("@chevre/factory/lib/chevre/task/createAccountingReport").IAttributes | import("@chevre/factory/lib/chevre/task/deleteTransaction").IAttributes | import("@chevre/factory/lib/chevre/task/onAssetTransactionStatusChanged").IAttributes | import("@chevre/factory/lib/chevre/task/onAuthorizationCreated").IAttributes | import("@chevre/factory/lib/chevre/task/onEventChanged").IAttributes | import("@chevre/factory/lib/chevre/task/onResourceDeleted").IAttributes | import("@chevre/factory/lib/chevre/task/onResourceUpdated").IAttributes | import("@chevre/factory/lib/chevre/task/onOrderPaymentCompleted").IAttributes | import("@chevre/factory/lib/chevre/task/placeOrder").IAttributes | import("@chevre/factory/lib/chevre/task/returnOrder").IAttributes | import("@chevre/factory/lib/chevre/task/returnPayTransaction").IAttributes | import("@chevre/factory/lib/chevre/task/returnReserveTransaction").IAttributes | import("@chevre/factory/lib/chevre/task/sendEmailMessage").IAttributes | import("@chevre/factory/lib/chevre/task/sendOrder").IAttributes | import("@chevre/factory/lib/chevre/task/triggerWebhook").IAttributes | import("@chevre/factory/lib/chevre/task/useReservation").IAttributes | import("@chevre/factory/lib/chevre/task/voidPayTransaction").IAttributes | import("@chevre/factory/lib/chevre/task/voidReserveTransaction").IAttributes)[];
22
22
  export { createInformTasks, createNextSendOrderTasks, IInTransitOrder };
@@ -11,5 +11,5 @@ declare function createInformTasks(order: IReturnedOrder, returnOrderAction: IRe
11
11
  declare function createOnOrderReturnedTasksByTransaction(params: {
12
12
  order: Pick<factory.order.IOrder, 'project' | 'typeOf' | 'orderNumber' | 'customer' | 'price' | 'priceCurrency' | 'orderDate'>;
13
13
  potentialActions?: factory.action.transfer.returnAction.order.IPotentialActions;
14
- }): (import("@chevre/factory/lib/chevre/task").ITaskAttributes | import("@chevre/factory/lib/chevre/task/confirmPayTransaction").IAttributes | import("@chevre/factory/lib/chevre/task/confirmReserveTransaction").IAttributes | import("@chevre/factory/lib/chevre/task/createAccountingReport").IAttributes | import("@chevre/factory/lib/chevre/task/deletePerson").IAttributes | import("@chevre/factory/lib/chevre/task/deleteTransaction").IAttributes | import("@chevre/factory/lib/chevre/task/onAssetTransactionStatusChanged").IAttributes | import("@chevre/factory/lib/chevre/task/onAuthorizationCreated").IAttributes | import("@chevre/factory/lib/chevre/task/onEventChanged").IAttributes | import("@chevre/factory/lib/chevre/task/onResourceDeleted").IAttributes | import("@chevre/factory/lib/chevre/task/onResourceUpdated").IAttributes | import("@chevre/factory/lib/chevre/task/onOrderPaymentCompleted").IAttributes | import("@chevre/factory/lib/chevre/task/placeOrder").IAttributes | import("@chevre/factory/lib/chevre/task/returnOrder").IAttributes | import("@chevre/factory/lib/chevre/task/returnPayTransaction").IAttributes | import("@chevre/factory/lib/chevre/task/returnReserveTransaction").IAttributes | import("@chevre/factory/lib/chevre/task/sendEmailMessage").IAttributes | import("@chevre/factory/lib/chevre/task/sendOrder").IAttributes | import("@chevre/factory/lib/chevre/task/triggerWebhook").IAttributes | import("@chevre/factory/lib/chevre/task/useReservation").IAttributes | import("@chevre/factory/lib/chevre/task/voidPayTransaction").IAttributes | import("@chevre/factory/lib/chevre/task/voidReserveTransaction").IAttributes)[];
14
+ }): (import("@chevre/factory/lib/chevre/task").ITaskAttributes | import("@chevre/factory/lib/chevre/task/confirmPayTransaction").IAttributes | import("@chevre/factory/lib/chevre/task/confirmReserveTransaction").IAttributes | import("@chevre/factory/lib/chevre/task/createAccountingReport").IAttributes | import("@chevre/factory/lib/chevre/task/deleteTransaction").IAttributes | import("@chevre/factory/lib/chevre/task/onAssetTransactionStatusChanged").IAttributes | import("@chevre/factory/lib/chevre/task/onAuthorizationCreated").IAttributes | import("@chevre/factory/lib/chevre/task/onEventChanged").IAttributes | import("@chevre/factory/lib/chevre/task/onResourceDeleted").IAttributes | import("@chevre/factory/lib/chevre/task/onResourceUpdated").IAttributes | import("@chevre/factory/lib/chevre/task/onOrderPaymentCompleted").IAttributes | import("@chevre/factory/lib/chevre/task/placeOrder").IAttributes | import("@chevre/factory/lib/chevre/task/returnOrder").IAttributes | import("@chevre/factory/lib/chevre/task/returnPayTransaction").IAttributes | import("@chevre/factory/lib/chevre/task/returnReserveTransaction").IAttributes | import("@chevre/factory/lib/chevre/task/sendEmailMessage").IAttributes | import("@chevre/factory/lib/chevre/task/sendOrder").IAttributes | import("@chevre/factory/lib/chevre/task/triggerWebhook").IAttributes | import("@chevre/factory/lib/chevre/task/useReservation").IAttributes | import("@chevre/factory/lib/chevre/task/voidPayTransaction").IAttributes | import("@chevre/factory/lib/chevre/task/voidReserveTransaction").IAttributes)[];
15
15
  export { createInformTasks, createOnOrderReturnedTasksByTransaction, IReturnAction };
@@ -38,14 +38,10 @@ const acceptedOffer_1 = require("../../repo/acceptedOffer");
38
38
  const accountingReport_1 = require("../../repo/accountingReport");
39
39
  const action_1 = require("../../repo/action");
40
40
  const assetTransaction_1 = require("../../repo/assetTransaction");
41
- const event_1 = require("../../repo/event");
42
41
  const message_1 = require("../../repo/message");
43
42
  const note_1 = require("../../repo/note");
44
43
  const order_1 = require("../../repo/order");
45
- const ownershipInfo_1 = require("../../repo/ownershipInfo");
46
44
  const reservation_1 = require("../../repo/reservation");
47
- const setting_1 = require("../../repo/setting");
48
- const task_1 = require("../../repo/task");
49
45
  const transaction_1 = require("../../repo/transaction");
50
46
  const placeOrder_1 = require("../../repo/transaction/placeOrder");
51
47
  const returnOrder_1 = require("../../repo/transaction/returnOrder");
@@ -60,14 +56,10 @@ function call(data) {
60
56
  accountingReport: new accountingReport_1.AccountingReportRepo(connection),
61
57
  action: new action_1.ActionRepo(connection),
62
58
  assetTransaction: new assetTransaction_1.AssetTransactionRepo(connection),
63
- event: new event_1.EventRepo(connection),
64
59
  message: new message_1.MessageRepo(connection),
65
60
  note: new note_1.NoteRepo(connection),
66
61
  order: new order_1.OrderRepo(connection),
67
- ownershipInfo: new ownershipInfo_1.OwnershipInfoRepo(connection),
68
62
  reservation: new reservation_1.ReservationRepo(connection),
69
- setting: new setting_1.SettingRepo(connection),
70
- task: new task_1.TaskRepo(connection),
71
63
  transaction: new transaction_1.TransactionRepo(connection),
72
64
  placeOrder: new placeOrder_1.PlaceOrderRepo(connection),
73
65
  returnOrder: new returnOrder_1.ReturnOrderRepo(connection),
@@ -54,7 +54,6 @@ function executeTask(task, next) {
54
54
  case factory_1.factory.taskName.CheckMovieTicket:
55
55
  case factory_1.factory.taskName.CheckResource:
56
56
  case factory_1.factory.taskName.CreateAccountingReport:
57
- case factory_1.factory.taskName.DeletePerson:
58
57
  case factory_1.factory.taskName.HandleNotification:
59
58
  case factory_1.factory.taskName.ImportEventCapacitiesFromCOA:
60
59
  case factory_1.factory.taskName.ImportEventsFromCOA:
@@ -3,35 +3,29 @@ import type { AcceptedOfferRepo } from '../../repo/acceptedOffer';
3
3
  import type { AccountingReportRepo } from '../../repo/accountingReport';
4
4
  import type { ActionRepo } from '../../repo/action';
5
5
  import type { AssetTransactionRepo } from '../../repo/assetTransaction';
6
- import type { EventRepo } from '../../repo/event';
7
6
  import type { MessageRepo } from '../../repo/message';
8
7
  import type { NoteRepo } from '../../repo/note';
9
8
  import type { OrderRepo } from '../../repo/order';
10
- import type { OwnershipInfoRepo } from '../../repo/ownershipInfo';
11
9
  import type { ReservationRepo } from '../../repo/reservation';
12
- import type { SettingRepo } from '../../repo/setting';
13
- import type { TaskRepo } from '../../repo/task';
14
10
  import type { TransactionRepo } from '../../repo/transaction';
15
11
  import type { PlaceOrderRepo } from '../../repo/transaction/placeOrder';
16
12
  import type { ReturnOrderRepo } from '../../repo/transaction/returnOrder';
17
- /**
18
- * 取引に関わるリソースを削除する
19
- * 冪等性を確保すること
20
- */
21
- export declare function deleteTransaction(params: factory.task.IData<factory.taskName.DeleteTransaction>): (repos: {
13
+ interface IDeleteTransactionRepos {
22
14
  acceptedOffer: AcceptedOfferRepo;
23
15
  accountingReport: AccountingReportRepo;
24
16
  action: ActionRepo;
25
17
  assetTransaction: AssetTransactionRepo;
26
- event: EventRepo;
27
18
  message: MessageRepo;
28
19
  note: NoteRepo;
29
20
  order: OrderRepo;
30
- ownershipInfo: OwnershipInfoRepo;
31
21
  reservation: ReservationRepo;
32
- setting: SettingRepo;
33
- task: TaskRepo;
34
22
  transaction: TransactionRepo;
35
23
  placeOrder: PlaceOrderRepo;
36
24
  returnOrder: ReturnOrderRepo;
37
- }) => Promise<void>;
25
+ }
26
+ /**
27
+ * 取引に関わるリソースを削除する
28
+ * 冪等性を確保すること
29
+ */
30
+ export declare function deleteTransaction(params: factory.task.IData<factory.taskName.DeleteTransaction>): (repos: IDeleteTransactionRepos) => Promise<void>;
31
+ export {};
@@ -11,118 +11,15 @@ const deleteOrder_1 = require("../order/deleteOrder");
11
11
  function deleteTransaction(params) {
12
12
  return async (repos) => {
13
13
  if (params.object.specifyingMethod === factory_1.factory.action.update.deleteAction.ObjectAsTransactionSpecifyingMethod.AgentId) {
14
- // transaction.agent.id指定による取引削除に対応(2023-06-30~)
15
- await createDeleteTransactionTasksByAgentId(params)(repos);
14
+ throw new factory_1.factory.errors.NotImplemented('deleteTransaction by agentId discontinued'); // discontinue(2026-06-28~)
15
+ // // transaction.agent.id指定による取引削除に対応(2023-06-30~)
16
+ // await createDeleteTransactionTasksByAgentId(params)(repos);
16
17
  }
17
18
  else {
18
19
  await deleteTransactionById(params)(repos);
19
20
  }
20
21
  };
21
22
  }
22
- function createDeleteTransactionTasksByAgentId(params) {
23
- return async (repos) => {
24
- if (params.object.specifyingMethod !== factory_1.factory.action.update.deleteAction.ObjectAsTransactionSpecifyingMethod.AgentId) {
25
- throw new factory_1.factory.errors.Argument('object.specifyingMethod', `must be ${factory_1.factory.action.update.deleteAction.ObjectAsTransactionSpecifyingMethod.AgentId}`);
26
- }
27
- const agentIdSpecified = params.object.agent.id;
28
- // agentIdによる全取引についてDeleteTransactionタスクを作成する
29
- if (typeof agentIdSpecified === 'string' && agentIdSpecified.length > 0) {
30
- const transactionTypeOf = params.object.typeOf;
31
- let transactions;
32
- if (transactionTypeOf === factory_1.factory.transactionType.PlaceOrder) {
33
- transactions = await repos.placeOrder.findPlaceOrderTransactions({
34
- project: { id: { $eq: params.object.project.id } },
35
- agent: {
36
- ids: [agentIdSpecified],
37
- typeOf: factory_1.factory.personType.Person
38
- },
39
- typeOf: transactionTypeOf,
40
- inclusion: ['typeOf', 'startDate', 'endDate', 'object', 'project']
41
- });
42
- }
43
- else if (transactionTypeOf === factory_1.factory.transactionType.ReturnOrder) {
44
- transactions = await repos.returnOrder.findReturnOrderTransactions({
45
- project: { id: { $eq: params.object.project.id } },
46
- agent: {
47
- ids: [agentIdSpecified],
48
- typeOf: factory_1.factory.personType.Person
49
- },
50
- typeOf: transactionTypeOf,
51
- inclusion: ['typeOf', 'startDate', 'endDate', 'object', 'project']
52
- });
53
- }
54
- else {
55
- throw new factory_1.factory.errors.NotImplemented(`${transactionTypeOf} not implemented`);
56
- }
57
- const deleteAt = new Date();
58
- let deleteTransactionTasks;
59
- switch (transactionTypeOf) {
60
- case factory_1.factory.transactionType.PlaceOrder:
61
- deleteTransactionTasks = transactions.map((transaction) => {
62
- return {
63
- project: transaction.project,
64
- name: factory_1.factory.taskName.DeleteTransaction,
65
- status: factory_1.factory.taskStatus.Ready,
66
- runsAt: deleteAt,
67
- remainingNumberOfTries: 3,
68
- numberOfTried: 0,
69
- executionResults: [],
70
- data: {
71
- object: {
72
- specifyingMethod: factory_1.factory.action.update.deleteAction.ObjectAsTransactionSpecifyingMethod.Id,
73
- id: transaction.id,
74
- object: {
75
- ...(typeof transaction.object.confirmationNumber === 'string')
76
- ? { confirmationNumber: transaction.object.confirmationNumber }
77
- : undefined,
78
- ...(typeof transaction.object.orderNumber === 'string')
79
- ? { orderNumber: transaction.object.orderNumber }
80
- : undefined
81
- },
82
- project: transaction.project,
83
- startDate: transaction.startDate,
84
- typeOf: transaction.typeOf,
85
- ...(transaction.endDate !== undefined) ? { endDate: transaction.endDate } : undefined
86
- }
87
- }
88
- };
89
- });
90
- break;
91
- case factory_1.factory.transactionType.ReturnOrder:
92
- deleteTransactionTasks = transactions.map((transaction) => {
93
- return {
94
- project: transaction.project,
95
- name: factory_1.factory.taskName.DeleteTransaction,
96
- status: factory_1.factory.taskStatus.Ready,
97
- runsAt: deleteAt,
98
- remainingNumberOfTries: 3,
99
- numberOfTried: 0,
100
- executionResults: [],
101
- data: {
102
- object: {
103
- specifyingMethod: factory_1.factory.action.update.deleteAction.ObjectAsTransactionSpecifyingMethod.Id,
104
- id: transaction.id,
105
- object: {
106
- order: transaction.object.order
107
- },
108
- project: transaction.project,
109
- startDate: transaction.startDate,
110
- typeOf: transaction.typeOf,
111
- ...(transaction.endDate !== undefined) ? { endDate: transaction.endDate } : undefined
112
- }
113
- }
114
- };
115
- });
116
- break;
117
- default:
118
- throw new factory_1.factory.errors.NotImplemented(`${transactionTypeOf} not implemented`);
119
- }
120
- if (deleteTransactionTasks.length > 0) {
121
- await repos.task.saveMany(deleteTransactionTasks, { emitImmediately: true });
122
- }
123
- }
124
- };
125
- }
126
23
  function deleteTransactionById(params) {
127
24
  return async (repos) => {
128
25
  if (typeof params.object.specifyingMethod === 'string'
@@ -133,7 +30,7 @@ function deleteTransactionById(params) {
133
30
  if (typeof deletingTransactionId !== 'string' || deletingTransactionId.length === 0) {
134
31
  throw new factory_1.factory.errors.ArgumentNull('object.id');
135
32
  }
136
- let deletingOrderNumberByTask;
33
+ // let deletingOrderNumberByTask: string | undefined;
137
34
  let transaction;
138
35
  if (params.object.typeOf === factory_1.factory.transactionType.PlaceOrder) {
139
36
  transaction = (await repos.placeOrder.findPlaceOrderTransactions({
@@ -141,7 +38,7 @@ function deleteTransactionById(params) {
141
38
  typeOf: params.object.typeOf,
142
39
  inclusion: ['typeOf', 'project', 'status']
143
40
  })).shift();
144
- deletingOrderNumberByTask = params.object.object.orderNumber;
41
+ // deletingOrderNumberByTask = params.object.object.orderNumber;
145
42
  }
146
43
  else if (params.object.typeOf === factory_1.factory.transactionType.ReturnOrder) {
147
44
  transaction = (await repos.returnOrder.findReturnOrderTransactions({
@@ -191,18 +88,15 @@ function deleteTransactionById(params) {
191
88
  case factory_1.factory.transactionStatusType.Expired:
192
89
  break;
193
90
  case factory_1.factory.transactionStatusType.Confirmed: {
194
- // 削除対象の注文番号についてはタスクを参照する(2026-06-15~)
195
- // const deletingOrder = transaction.result?.order;
196
- // if (typeof deletingOrder?.orderNumber === 'string') {
91
+ // identifierによる削除に変更(2026-06-28~)
92
+ // if (typeof deletingOrderNumberByTask === 'string') {
197
93
  // await deleteOrder({
198
- // object: deletingOrder
94
+ // object: { orderNumber: deletingOrderNumberByTask }
199
95
  // })(repos);
200
96
  // }
201
- if (typeof deletingOrderNumberByTask === 'string') {
202
- await (0, deleteOrder_1.deleteOrder)({
203
- object: { orderNumber: deletingOrderNumberByTask }
204
- })(repos);
205
- }
97
+ await (0, deleteOrder_1.deleteOrder)({
98
+ object: { identifier: transaction.id }
99
+ })(repos);
206
100
  break;
207
101
  }
208
102
  default:
@@ -177,7 +177,10 @@ function confirm(params, options) {
177
177
  await repos.placeOrder.confirmPlaceOrder({
178
178
  typeOf: transaction.typeOf,
179
179
  id: transaction.id,
180
- object: { orderDate: params.result.order.orderDate },
180
+ object: {
181
+ orderDate: params.result.order.orderDate,
182
+ orderNumber
183
+ },
181
184
  result: result,
182
185
  potentialActions: potentialActions
183
186
  });
@@ -1,4 +1,4 @@
1
- import type { OrderInTransactionRepo } from '../../../repo/orderInTransaction';
1
+ import type { OrderInTransactionRepo, IOrderInTransaction } from '../../../repo/orderInTransaction';
2
2
  import type { OrderNumberRepo } from '../../../repo/orderNumber';
3
3
  import type { ProjectRepo } from '../../../repo/project';
4
4
  import type { PlaceOrderRepo } from '../../../repo/transaction/placeOrder';
@@ -16,6 +16,9 @@ declare function issueOrderNumberIfNotExist(params: {
16
16
  object: {
17
17
  orderDate: Date;
18
18
  };
19
+ creatingOrderInTransaction: Pick<IOrderInTransaction, 'broker' | 'seller' | 'customer'>;
20
+ }, options: {
21
+ saveOrderNumberInPlaceOrderInProgress: boolean;
19
22
  }): (repos: {
20
23
  project: ProjectRepo;
21
24
  placeOrder: PlaceOrderRepo;