@chevre/domain 25.0.0-alpha.23 → 25.0.0-alpha.24

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.
@@ -66,18 +66,6 @@ export declare class MessageRepo {
66
66
  deleteDatePublishedPassedCertainPeriod(params: {
67
67
  $lt: Date;
68
68
  }): Promise<void>;
69
- deleteByMainEntityOrderNumber(params: {
70
- project: {
71
- id: string;
72
- };
73
- mainEntity: {
74
- orderNumber: string;
75
- };
76
- }): Promise<{
77
- n?: number;
78
- ok?: number;
79
- deletedCount?: number;
80
- } | null>;
81
69
  unsetUnnecessaryFields(params: {
82
70
  filter: any;
83
71
  $unset: any;
@@ -173,22 +173,31 @@ class MessageRepo {
173
173
  .exec();
174
174
  }
175
175
  }
176
- async deleteByMainEntityOrderNumber(params) {
177
- return this.messageModel.deleteMany({
178
- 'project.id': { $eq: params.project.id },
179
- 'mainEntity.orderNumber': { $exists: true, $eq: params.mainEntity.orderNumber }
180
- })
181
- .exec()
182
- .then((result) => {
183
- return {
184
- // n: result?.n,
185
- // opTime: result.opTime,
186
- // ok: result?.ok,
187
- // operationTime,
188
- deletedCount: result?.deletedCount
189
- };
190
- });
191
- }
176
+ // public async deleteByMainEntityOrderNumber(params: {
177
+ // project: { id: string };
178
+ // mainEntity: { orderNumber: string };
179
+ // }): Promise<{
180
+ // n?: number;
181
+ // // opTime: result.opTime,
182
+ // ok?: number;
183
+ // // operationTime,
184
+ // deletedCount?: number;
185
+ // } | null> {
186
+ // return this.messageModel.deleteMany({
187
+ // 'project.id': { $eq: params.project.id },
188
+ // 'mainEntity.orderNumber': { $exists: true, $eq: params.mainEntity.orderNumber }
189
+ // })
190
+ // .exec()
191
+ // .then((result) => {
192
+ // return {
193
+ // // n: result?.n,
194
+ // // opTime: result.opTime,
195
+ // // ok: result?.ok,
196
+ // // operationTime,
197
+ // deletedCount: result?.deletedCount
198
+ // };
199
+ // });
200
+ // }
192
201
  async unsetUnnecessaryFields(params) {
193
202
  return this.messageModel.updateMany(params.filter, { $unset: params.$unset }, { timestamps: false })
194
203
  .exec();
@@ -31,12 +31,6 @@ interface IOnTaskStatusChanged {
31
31
  interface IOnEventChanged {
32
32
  informEvent2agg?: factory.project.IInformParams[];
33
33
  }
34
- interface IOnTransactionStatusChanged {
35
- /**
36
- * AggService通知先
37
- */
38
- informTransaction?: factory.project.IInformParams[];
39
- }
40
34
  export interface IStorageSettings {
41
35
  /**
42
36
  * 取引保管期間(Confirmed)
@@ -235,7 +229,6 @@ export interface ISetting {
235
229
  onResourceUpdated?: {
236
230
  informResource?: factory.project.IInformParams[];
237
231
  };
238
- onTransactionStatusChanged?: IOnTransactionStatusChanged;
239
232
  orderNumber?: IOrderNumberSetting;
240
233
  project: {
241
234
  id: string;
@@ -16,7 +16,7 @@ const schemaDefinition = {
16
16
  onReservationStatusChanged: mongoose_1.SchemaTypes.Mixed,
17
17
  onTaskStatusChanged: mongoose_1.SchemaTypes.Mixed,
18
18
  onResourceUpdated: mongoose_1.SchemaTypes.Mixed,
19
- onTransactionStatusChanged: mongoose_1.SchemaTypes.Mixed,
19
+ // onTransactionStatusChanged: SchemaTypes.Mixed, // discontinue(2026-06-29~)
20
20
  orderNumber: mongoose_1.SchemaTypes.Mixed,
21
21
  quota: mongoose_1.SchemaTypes.Mixed,
22
22
  serviceOutputIdentifier: mongoose_1.SchemaTypes.Mixed,
@@ -1,7 +1,7 @@
1
1
  import type { Connection, FilterQuery } from 'mongoose';
2
2
  import { ISetting, IStorageSettings } from './mongoose/schemas/setting';
3
3
  type IKeyOfProjection = Exclude<keyof ISetting, 'jwt' | 'project' | 'waiter' | 'integration'>;
4
- type IGlobalSetting = Pick<ISetting, 'defaultSenderEmail' | 'onEventChanged' | 'onOrderStatusChanged' | 'onReservationStatusChanged' | 'onResourceUpdated' | 'onTaskStatusChanged' | 'onTransactionStatusChanged' | 'orderNumber' | 'quota' | 'serviceOutputIdentifier' | 'storage' | 'transactionNumber' | 'triggerWebhook' | 'useInformResourceTypes' | 'useMongo4confirmationNumberFrom' | 'useMongo4orderNumberFrom' | 'useMongo4transactionNumberFrom' | 'useMongoAsStockHolder' | 'useMongoAsStockHolderProjects' | 'userPoolIdNew' | 'userPoolIdOld'>;
4
+ type IGlobalSetting = Pick<ISetting, 'defaultSenderEmail' | 'onEventChanged' | 'onOrderStatusChanged' | 'onReservationStatusChanged' | 'onResourceUpdated' | 'onTaskStatusChanged' | 'orderNumber' | 'quota' | 'serviceOutputIdentifier' | 'storage' | 'transactionNumber' | 'triggerWebhook' | 'useInformResourceTypes' | 'useMongo4confirmationNumberFrom' | 'useMongo4orderNumberFrom' | 'useMongo4transactionNumberFrom' | 'useMongoAsStockHolder' | 'useMongoAsStockHolderProjects' | 'userPoolIdNew' | 'userPoolIdOld'>;
5
5
  export { IGlobalSetting as ISetting };
6
6
  /**
7
7
  * 設定リポジトリ
@@ -38,7 +38,7 @@ 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 message_1 = require("../../repo/message");
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");
@@ -56,7 +56,7 @@ function call(data) {
56
56
  accountingReport: new accountingReport_1.AccountingReportRepo(connection),
57
57
  action: new action_1.ActionRepo(connection),
58
58
  assetTransaction: new assetTransaction_1.AssetTransactionRepo(connection),
59
- message: new message_1.MessageRepo(connection),
59
+ // message: new MessageRepo(connection),
60
60
  note: new note_1.NoteRepo(connection),
61
61
  order: new order_1.OrderRepo(connection),
62
62
  reservation: new reservation_1.ReservationRepo(connection),
@@ -3,7 +3,6 @@ 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 { MessageRepo } from '../../repo/message';
7
6
  import type { NoteRepo } from '../../repo/note';
8
7
  import type { OrderRepo } from '../../repo/order';
9
8
  import type { ReservationRepo } from '../../repo/reservation';
@@ -15,7 +14,6 @@ interface IDeleteTransactionRepos {
15
14
  accountingReport: AccountingReportRepo;
16
15
  action: ActionRepo;
17
16
  assetTransaction: AssetTransactionRepo;
18
- message: MessageRepo;
19
17
  note: NoteRepo;
20
18
  order: OrderRepo;
21
19
  reservation: ReservationRepo;
@@ -69,7 +69,7 @@ function deleteTransactionById(params) {
69
69
  let deleteCancelReservationTransactionResult;
70
70
  let deletedReservationNumbers = [];
71
71
  let deleteActionResult;
72
- let deleteMessagessResult;
72
+ // let deleteMessagessResult: IDeleteResult | undefined;
73
73
  const action = await repos.action.start(actionAttributes);
74
74
  try {
75
75
  const transactionTypeOf = transaction.typeOf;
@@ -127,11 +127,12 @@ function deleteTransactionById(params) {
127
127
  ]
128
128
  }
129
129
  });
130
- // messages削除(2024-05-01~)
131
- const deleteMessagesByPlaceOrderResult = await deleteMessagesByPlaceOrder({
132
- transaction: params.object
133
- })(repos);
134
- deleteMessagessResult = deleteMessagesByPlaceOrderResult.deleteResult;
130
+ // メッセージはcronで定期削除するため取引削除における連動は廃止(2026-06-29~)
131
+ // // messages削除(2024-05-01~)
132
+ // const deleteMessagesByPlaceOrderResult = await deleteMessagesByPlaceOrder({
133
+ // transaction: params.object
134
+ // })(repos);
135
+ // deleteMessagessResult = deleteMessagesByPlaceOrderResult.deleteResult;
135
136
  // 取引削除
136
137
  await repos.transaction.findByIdAndDelete({ id: transaction.id });
137
138
  break;
@@ -164,7 +165,7 @@ function deleteTransactionById(params) {
164
165
  deleteCancelReservationTransactionResult,
165
166
  deletedReservationNumbers,
166
167
  deleteActionResult,
167
- ...(deleteMessagessResult !== undefined) ? { deleteMessagessResult } : undefined
168
+ // ...(deleteMessagessResult !== undefined) ? { deleteMessagessResult } : undefined
168
169
  };
169
170
  await repos.action.completeWithVoid({ typeOf: action.typeOf, id: action.id, result: actionResult });
170
171
  };
@@ -277,24 +278,30 @@ function deletePayTransactionsByPlaceOrder(params) {
277
278
  return { deletePayTransactionResult, deleteRefundResult, payTransactionNumbers };
278
279
  };
279
280
  }
280
- function deleteMessagesByPlaceOrder(params) {
281
- return async (repos) => {
282
- let deleteResult;
283
- if (params.transaction.typeOf === factory_1.factory.transactionType.PlaceOrder
284
- && params.transaction.specifyingMethod === factory_1.factory.action.update.deleteAction.ObjectAsTransactionSpecifyingMethod.Id) {
285
- const orderNumber = params.transaction.object.orderNumber;
286
- if (typeof orderNumber === 'string' && orderNumber.length > 0) {
287
- const deleteReservationsResult = await repos.message.deleteByMainEntityOrderNumber({
288
- project: { id: params.transaction.project.id },
289
- mainEntity: { orderNumber }
290
- });
291
- deleteResult = {
292
- n: deleteReservationsResult?.n,
293
- ok: deleteReservationsResult?.ok,
294
- deletedCount: deleteReservationsResult?.deletedCount
295
- };
296
- }
297
- }
298
- return { deleteResult };
299
- };
300
- }
281
+ // function deleteMessagesByPlaceOrder(params: {
282
+ // transaction: factory.task.deleteTransaction.IObject;
283
+ // }) {
284
+ // return async (repos: {
285
+ // message: MessageRepo;
286
+ // }): Promise<{
287
+ // deleteResult?: IDeleteResult;
288
+ // }> => {
289
+ // let deleteResult: IDeleteResult | undefined;
290
+ // if (params.transaction.typeOf === factory.transactionType.PlaceOrder
291
+ // && params.transaction.specifyingMethod === factory.action.update.deleteAction.ObjectAsTransactionSpecifyingMethod.Id) {
292
+ // const orderNumber = params.transaction.object.orderNumber;
293
+ // if (typeof orderNumber === 'string' && orderNumber.length > 0) {
294
+ // const deleteReservationsResult = await repos.message.deleteByMainEntityOrderNumber({
295
+ // project: { id: params.transaction.project.id },
296
+ // mainEntity: { orderNumber }
297
+ // });
298
+ // deleteResult = {
299
+ // n: deleteReservationsResult?.n,
300
+ // ok: deleteReservationsResult?.ok,
301
+ // deletedCount: deleteReservationsResult?.deletedCount
302
+ // };
303
+ // }
304
+ // }
305
+ // return { deleteResult };
306
+ // };
307
+ // }
@@ -1,12 +1,11 @@
1
1
  import { factory } from '../../../../factory';
2
2
  import type { ISetting } from '../../../../repo/setting';
3
- type IPlaceOrderPotentialTask = factory.task.IAttributes<factory.taskName.PlaceOrder> | factory.task.IAttributes<factory.taskName.TriggerWebhook> | factory.task.IAttributes<factory.taskName.DeleteTransaction> | factory.task.IAttributes<factory.taskName.VoidPayTransaction> | factory.task.IAttributes<factory.taskName.VoidReserveTransaction>;
3
+ type IPlaceOrderPotentialTask = factory.task.IAttributes<factory.taskName.PlaceOrder> | factory.task.IAttributes<factory.taskName.DeleteTransaction> | factory.task.IAttributes<factory.taskName.VoidPayTransaction> | factory.task.IAttributes<factory.taskName.VoidReserveTransaction>;
4
4
  /**
5
5
  * 取引のタスクを作成する
6
6
  */
7
7
  export declare function createTasks(params: {
8
8
  transaction: Pick<factory.transaction.ITransaction<factory.transactionType.PlaceOrder>, 'endDate' | 'id' | 'object' | 'project' | 'seller' | 'startDate' | 'status' | 'typeOf'>;
9
9
  runsAt: Date;
10
- optimizeRedundantTasks: boolean;
11
- }, setting: Pick<ISetting, 'onTransactionStatusChanged' | 'storage'> | null): IPlaceOrderPotentialTask[];
10
+ }, setting: Pick<ISetting, 'storage'> | null): IPlaceOrderPotentialTask[];
12
11
  export {};
@@ -9,53 +9,52 @@ const factory_1 = require("../../../../factory");
9
9
  /**
10
10
  * 取引のタスクを作成する
11
11
  */
12
- function createTasks(params, setting
13
- // settings: Settings
14
- ) {
12
+ function createTasks(params, setting) {
15
13
  const taskAttributes = [];
16
14
  const transaction = params.transaction;
17
15
  const taskRunsAt = params.runsAt;
18
- const informTransaction = setting?.onTransactionStatusChanged?.informTransaction;
19
- const transactionWebhookUrls = (Array.isArray(informTransaction)) ? informTransaction : [];
20
- const triggerWebhookTaskAttributes = [];
21
- transactionWebhookUrls.forEach(({ recipient }) => {
22
- if (typeof recipient?.url === 'string') {
23
- const informObject = {
24
- id: transaction.id,
25
- typeOf: transaction.typeOf,
26
- project: transaction.project,
27
- seller: transaction.seller,
28
- startDate: transaction.startDate,
29
- status: transaction.status,
30
- ...(transaction.endDate !== undefined) ? { endDate: transaction.endDate } : undefined
31
- };
32
- const data = {
33
- object: informObject,
34
- recipient: {
35
- id: (typeof recipient?.id === 'string') ? recipient.id : '',
36
- name: recipient?.name,
37
- typeOf: factory_1.factory.creativeWorkType.WebApplication
38
- // url: recipient.url // discontinue(2025-02-13~)
39
- },
40
- target: {
41
- httpMethod: 'POST',
42
- encodingType: factory_1.factory.encodingFormat.Application.json,
43
- typeOf: 'EntryPoint',
44
- urlTemplate: recipient.url
45
- }
46
- };
47
- triggerWebhookTaskAttributes.push({
48
- project: transaction.project,
49
- name: factory_1.factory.taskName.TriggerWebhook,
50
- status: factory_1.factory.taskStatus.Ready,
51
- runsAt: taskRunsAt,
52
- remainingNumberOfTries: 3,
53
- numberOfTried: 0,
54
- executionResults: [],
55
- data
56
- });
57
- }
58
- });
16
+ // 取引通知は廃止(2026-06-29~)
17
+ // const informTransaction = setting?.onTransactionStatusChanged?.informTransaction;
18
+ // const transactionWebhookUrls = (Array.isArray(informTransaction)) ? informTransaction : [];
19
+ // const triggerWebhookTaskAttributes: factory.task.IAttributes<factory.taskName.TriggerWebhook>[] = [];
20
+ // transactionWebhookUrls.forEach(({ recipient }) => {
21
+ // if (typeof recipient?.url === 'string') {
22
+ // const informObject: factory.notification.transaction.IPlaceOrderAsNotification = {
23
+ // id: transaction.id,
24
+ // typeOf: transaction.typeOf,
25
+ // project: transaction.project,
26
+ // seller: transaction.seller,
27
+ // startDate: transaction.startDate,
28
+ // status: transaction.status,
29
+ // ...(transaction.endDate !== undefined) ? { endDate: transaction.endDate } : undefined
30
+ // };
31
+ // const data: factory.task.triggerWebhook.IInformAnyResourceAction = {
32
+ // object: informObject,
33
+ // recipient: {
34
+ // id: (typeof recipient?.id === 'string') ? recipient.id : '',
35
+ // name: recipient?.name,
36
+ // typeOf: factory.creativeWorkType.WebApplication
37
+ // // url: recipient.url // discontinue(2025-02-13~)
38
+ // },
39
+ // target: {
40
+ // httpMethod: 'POST',
41
+ // encodingType: factory.encodingFormat.Application.json,
42
+ // typeOf: 'EntryPoint',
43
+ // urlTemplate: recipient.url
44
+ // }
45
+ // };
46
+ // triggerWebhookTaskAttributes.push({
47
+ // project: transaction.project,
48
+ // name: factory.taskName.TriggerWebhook,
49
+ // status: factory.taskStatus.Ready,
50
+ // runsAt: taskRunsAt,
51
+ // remainingNumberOfTries: 3,
52
+ // numberOfTried: 0,
53
+ // executionResults: [],
54
+ // data
55
+ // });
56
+ // }
57
+ // });
59
58
  const confirmedStoragePeriodInDays = setting?.storage?.transactionConfirmedInDays;
60
59
  const canceledStoragePeriodInDays = setting?.storage?.transactionCanceledInDays;
61
60
  if (typeof confirmedStoragePeriodInDays !== 'number') {
@@ -140,7 +139,7 @@ function createTasks(params, setting
140
139
  purpose: { typeOf: transaction.typeOf, id: transaction.id }
141
140
  }
142
141
  };
143
- taskAttributes.push(...triggerWebhookTaskAttributes, deleteTransactionTask);
142
+ taskAttributes.push(deleteTransactionTask);
144
143
  switch (transaction.status) {
145
144
  case factory_1.factory.transactionStatusType.Confirmed: {
146
145
  taskAttributes.push(voidReserveTaskAttributes, voidPaymentTaskAttributes);
@@ -182,15 +181,7 @@ function createTasks(params, setting
182
181
  taskAttributes.push(voidReserveTaskAttributes, voidPaymentTaskAttributes);
183
182
  break;
184
183
  case factory_1.factory.transactionStatusType.Expired:
185
- // optimizeRedundantTasks(2025-03-)
186
- if (params.optimizeRedundantTasks === true) {
187
- if (typeof params.transaction.object.orderNumber === 'string') {
188
- taskAttributes.push(voidReserveTaskAttributes, voidPaymentTaskAttributes);
189
- }
190
- }
191
- else {
192
- taskAttributes.push(voidReserveTaskAttributes, voidPaymentTaskAttributes);
193
- }
184
+ taskAttributes.push(voidReserveTaskAttributes, voidPaymentTaskAttributes);
194
185
  break;
195
186
  default:
196
187
  throw new factory_1.factory.errors.NotImplemented(`Transaction status "${transaction.status}" not implemented.`);
@@ -16,9 +16,5 @@ declare function exportTasksById(params: {
16
16
  * タスク実行日時バッファ
17
17
  */
18
18
  runsTasksAfterInSeconds?: number;
19
- /**
20
- * support optimizeRedundantTasks(2025-03-11~)
21
- */
22
- optimizeRedundantTasks: boolean;
23
19
  }): ITaskAndTransactionOperation<void>;
24
20
  export { IExportTasksByIdRepos, exportTasksById };
@@ -26,11 +26,10 @@ function exportTasksById(params) {
26
26
  .toDate();
27
27
  }
28
28
  // search settings
29
- const setting = await repos.setting.findOne({ project: { id: { $eq: '*' } } }, ['onTransactionStatusChanged', 'storage']);
29
+ const setting = await repos.setting.findOne({ project: { id: { $eq: '*' } } }, ['storage']);
30
30
  const taskAttributes = (0, factory_2.createTasks)({
31
31
  transaction,
32
- runsAt: taskRunsAt,
33
- optimizeRedundantTasks: params.optimizeRedundantTasks === true
32
+ runsAt: taskRunsAt
34
33
  }, setting
35
34
  // settings
36
35
  );
@@ -28,10 +28,6 @@ export declare function exportOneTransactionTasksIfExists(params: {
28
28
  * タスク実行日時バッファ
29
29
  */
30
30
  runsTasksAfterInSeconds?: number;
31
- /**
32
- * support optimizeRedundantTasks(2025-03-11~)
33
- */
34
- optimizeRedundantTasks: boolean;
35
31
  status?: {
36
32
  $eq?: factory.transactionStatusType;
37
33
  };
@@ -65,7 +65,7 @@ function exportOneTransactionTasksIfExists(params) {
65
65
  case factory_1.factory.transactionType.PlaceOrder:
66
66
  await PlaceOrderTransactionService.exportTasksById({
67
67
  id: transaction.id,
68
- optimizeRedundantTasks: params.optimizeRedundantTasks === true,
68
+ // optimizeRedundantTasks: params.optimizeRedundantTasks === true,
69
69
  ...(typeof params.runsTasksAfterInSeconds === 'number')
70
70
  ? { runsTasksAfterInSeconds: params.runsTasksAfterInSeconds }
71
71
  : undefined
package/package.json CHANGED
@@ -11,7 +11,7 @@
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": "9.2.0",
14
+ "@chevre/factory": "9.3.0",
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",
@@ -91,5 +91,5 @@
91
91
  "postversion": "git push origin --tags",
92
92
  "prepublishOnly": "npm run clean && npm run build"
93
93
  },
94
- "version": "25.0.0-alpha.23"
94
+ "version": "25.0.0-alpha.24"
95
95
  }