@chevre/domain 24.0.0-alpha.16 → 24.0.0-alpha.17

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.
@@ -1,28 +1,12 @@
1
1
  import { factory as surfrockFactory } from '@surfrock/sdk';
2
- import { Connection, FilterQuery, UpdateQuery } from 'mongoose';
2
+ import { FilterQuery, UpdateQuery } from 'mongoose';
3
3
  import * as factory from '../factory';
4
+ import { IKeyOfProjection, ActionProcessRepo } from './action/actionProcess';
4
5
  export type IAction4transaction<T extends factory.actionType.AcceptAction | factory.actionType.AuthorizeAction> = T extends factory.actionType.AcceptAction ? factory.action.accept.coaOffer.IAction | factory.action.accept.pay.IAction : T extends factory.actionType.AuthorizeAction ? (factory.action.authorize.offer.eventService.IAction | factory.action.authorize.offer.moneyTransfer.IAction | factory.action.authorize.offer.product.IAction | factory.action.authorize.paymentMethod.any.IAction) : never;
5
6
  export type IAction<T extends factory.actionType> = T extends factory.actionType.OrderAction ? factory.action.trade.order.IAction : T extends factory.actionType.AcceptAction ? IAction4transaction<factory.actionType.AcceptAction> : T extends factory.actionType.AuthorizeAction ? factory.action.authorize.IAction<factory.action.authorize.IAttributes<any, any>> : T extends factory.actionType.CheckAction ? (factory.action.check.paymentMethod.movieTicket.IAction | factory.action.check.thing.IAction) : T extends factory.actionType.CreateAction ? factory.action.create.IAction : T extends factory.actionType.MoneyTransfer ? factory.action.transfer.moneyTransfer.IAction : T extends factory.actionType.AddAction ? factory.action.update.add.IAction : T extends factory.actionType.ReplaceAction ? factory.action.update.replace.IAction : T extends factory.actionType.UpdateAction ? factory.action.update.update.IAction : T extends factory.actionType.InformAction ? factory.action.interact.inform.IAction<factory.action.interact.inform.IAttributes<factory.action.interact.inform.IObject>> & {
6
7
  error?: any;
7
8
  purpose?: never;
8
9
  } : factory.action.IAction<factory.action.IAttributes<T, any, any>>;
9
- interface IAggregationByStatus {
10
- actionCount: number;
11
- avgDuration: number;
12
- maxDuration: number;
13
- minDuration: number;
14
- percentilesDuration: {
15
- name: string;
16
- value: number;
17
- }[];
18
- }
19
- interface IStatus {
20
- status: factory.actionStatusType;
21
- aggregation: IAggregationByStatus;
22
- }
23
- interface IAggregateAction {
24
- statuses: IStatus[];
25
- }
26
10
  export interface ICancelActionAction {
27
11
  typeOf: factory.actionType.CancelAction;
28
12
  agent: factory.action.IParticipantAsPerson | factory.action.IParticipantAsProject | factory.action.IParticipantAsWebApplication;
@@ -46,72 +30,15 @@ export type IRecipeAsActionAttributes = Pick<factory.recipe.IRecipe, 'project' |
46
30
  export type IMinimizedPurchaseNumberAuthResult = Pick<factory.action.check.paymentMethod.movieTicket.IPurchaseNumberAuthResult, 'mkknmiNumSum' | 'resultInfo' | 'ykknmiNumSum'> & {
47
31
  knyknrNoInfoOut: Omit<factory.action.check.paymentMethod.movieTicket.IPurchaseNumberInfo, 'ykknInfo' | 'mkknInfo'>[] | null;
48
32
  };
49
- type IKeyOfProjection = keyof IAction<factory.actionType> | keyof IAction<factory.actionType.AuthorizeAction> | keyof IAction<factory.actionType.MoneyTransfer> | keyof IAction<factory.actionType.ReplaceAction> | 'identifier';
50
33
  /**
51
34
  * アクションリポジトリ
52
35
  */
53
- export declare class ActionRepo {
54
- private readonly actionModel;
55
- private readonly actionRecipeModel;
56
- constructor(connection: Connection);
36
+ export declare class ActionRepo extends ActionProcessRepo<factory.action.IAction<factory.action.IAttributes<factory.actionType, any, any>>> {
57
37
  static CREATE_MONGO_CONDITIONS(params: factory.action.ISearchConditions): any[];
58
38
  /**
59
39
  * アクション検索
60
40
  */
61
41
  search<T extends factory.actionType>(params: factory.action.ISearchConditions, inclusion: IKeyOfProjection[]): Promise<IAction<T>[]>;
62
- /**
63
- * アクション開始
64
- */
65
- start<T extends factory.actionType>(attributes: factory.action.IAttributes<T, any, any>, options?: {
66
- recipe?: IRecipeAsActionAttributes;
67
- }): Promise<Pick<IAction<T>, 'id' | 'typeOf' | 'startDate'>>;
68
- completeWithVoid(params: {
69
- typeOf: factory.actionType;
70
- id: string;
71
- result: any;
72
- recipe?: IRecipeAsActionAttributes;
73
- }): Promise<void>;
74
- /**
75
- * アクション取消
76
- */
77
- cancelWithVoid(params: {
78
- typeOf: factory.actionType.AcceptAction | factory.actionType.AuthorizeAction;
79
- id: string;
80
- cancelAction?: Pick<ICancelActionAction, 'agent' | 'sameAs' | 'startTime'>;
81
- }): Promise<void>;
82
- /**
83
- * アクション失敗
84
- */
85
- giveUp(params: {
86
- typeOf: factory.actionType;
87
- id: string;
88
- error: Error | Error[];
89
- recipe?: IRecipeAsActionAttributes;
90
- }): Promise<void>;
91
- /**
92
- * アクション再開
93
- */
94
- reStart(params: {
95
- typeOf: factory.actionType;
96
- id: string;
97
- recipe?: IRecipeAsActionAttributes;
98
- }): Promise<void>;
99
- /**
100
- * 一定期間ActiveActionStatusのアクションをFailedActionStatusにする
101
- */
102
- giveUpStartDatePassedCertainPeriod(params: {
103
- id?: {
104
- $eq?: string;
105
- };
106
- error: any;
107
- startDate: {
108
- $lt: Date;
109
- };
110
- }): Promise<any>;
111
- findById<T extends factory.actionType>(params: {
112
- typeOf: T;
113
- id: string;
114
- }, inclusion?: IKeyOfProjection[], exclusion?: IKeyOfProjection[]): Promise<IAction<T>>;
115
42
  findPayAction(params: {
116
43
  project: {
117
44
  id: string;
@@ -173,11 +100,6 @@ export declare class ActionRepo {
173
100
  id: string;
174
101
  };
175
102
  }): Promise<void>;
176
- reCompleteAuthorizeEventOfferAction(params: {
177
- id: string;
178
- object: factory.action.authorize.offer.eventService.IObject;
179
- result: factory.action.authorize.offer.eventService.IResult;
180
- }): Promise<void>;
181
103
  updateById(params: {
182
104
  id: string;
183
105
  update: any;
@@ -252,15 +174,6 @@ export declare class ActionRepo {
252
174
  }): Promise<{
253
175
  deletedCount?: number;
254
176
  } | null>;
255
- saveActionWithEndDate(savingAction: Omit<factory.action.authorize.invoice.IAction, 'id'>): Promise<import("mongoose").UpdateWriteOpResult>;
256
- findRecipeByAction<T extends factory.recipe.RecipeCategory>(params: {
257
- project: {
258
- id: string;
259
- };
260
- recipeFor: {
261
- id: string;
262
- };
263
- }): Promise<Pick<IActionRecipe<T>, 'step' | 'recipeCategory'> | null>;
264
177
  findIMinimizedPurchaseNumberAuthResultByCheckMovieTicketRecipe(params: {
265
178
  project: {
266
179
  id: string;
@@ -269,76 +182,6 @@ export declare class ActionRepo {
269
182
  id: string;
270
183
  };
271
184
  }): Promise<IMinimizedPurchaseNumberAuthResult | undefined>;
272
- aggregateAuthorizeEventServiceOfferAction(params: {
273
- project?: {
274
- id?: {
275
- $ne?: string;
276
- };
277
- };
278
- startFrom: Date;
279
- startThrough: Date;
280
- typeOf: factory.actionType;
281
- }): Promise<IAggregateAction>;
282
- aggregateAuthorizePaymentAction(params: {
283
- project?: {
284
- id?: {
285
- $ne?: string;
286
- };
287
- };
288
- startFrom: Date;
289
- startThrough: Date;
290
- typeOf: factory.actionType;
291
- }): Promise<IAggregateAction>;
292
- aggregateAuthorizeOrderAction(params: {
293
- project?: {
294
- id?: {
295
- $ne?: string;
296
- };
297
- };
298
- startFrom: Date;
299
- startThrough: Date;
300
- typeOf: factory.actionType;
301
- }): Promise<IAggregateAction>;
302
- aggregateCancelReservationAction(params: {
303
- project?: {
304
- id?: {
305
- $ne?: string;
306
- };
307
- };
308
- startFrom: Date;
309
- startThrough: Date;
310
- }): Promise<IAggregateAction>;
311
- /**
312
- * アクションタイプによる汎用的な集計
313
- */
314
- aggregateByTypeOf(params: {
315
- project?: {
316
- id?: {
317
- $ne?: string;
318
- };
319
- };
320
- startFrom: Date;
321
- startThrough: Date;
322
- typeOf: factory.actionType;
323
- }): Promise<IAggregateAction>;
324
- aggregateCheckMovieTicketAction(params: {
325
- project?: {
326
- id?: {
327
- $ne?: string;
328
- };
329
- };
330
- startFrom: Date;
331
- startThrough: Date;
332
- }): Promise<IAggregateAction>;
333
- aggregatePayMovieTicketAction(params: {
334
- project?: {
335
- id?: {
336
- $ne?: string;
337
- };
338
- };
339
- startFrom: Date;
340
- startThrough: Date;
341
- }): Promise<IAggregateAction>;
342
185
  getCursor(conditions: any, projection: any): import("mongoose").Cursor<import("mongoose").Document<unknown, {}, Omit<import("@chevre/factory/lib/action").IAction<import("@chevre/factory/lib/action").IAttributes<factory.actionType, any, any>>, "id"> & {
343
186
  identifier?: string;
344
187
  }> & Omit<import("@chevre/factory/lib/action").IAction<import("@chevre/factory/lib/action").IAttributes<factory.actionType, any, any>>, "id"> & {
@@ -356,7 +199,4 @@ export declare class ActionRepo {
356
199
  filter: FilterQuery<factory.action.IAction<factory.action.IAttributes<factory.actionType, any, any>>>;
357
200
  $unset: any;
358
201
  }): Promise<import("mongoose").UpdateWriteOpResult>;
359
- private agggregateByStatus;
360
- private upsertRecipe;
361
202
  }
362
- export {};