@chevre/factory 8.2.0-alpha.1 → 8.2.0-alpha.10

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,11 +1,12 @@
1
1
  import type { COAFactory } from '@coasystems/factory';
2
2
  import { IParticipantAsWebApplication, IAction as IBaseAction } from '../../action';
3
3
  import { ActionType } from '../../actionType';
4
- import { IAcceptedTicketOfferItemOffered, IAcceptedTicketOfferWithoutDetail as IAcceptedOfferWithoutDetail4chevre } from '../../assetTransaction/reserve';
4
+ import { IItemOfferedServiceOutput, IAcceptedTicketOfferItemOffered, IAcceptedTicketOfferWithoutDetail as IAcceptedOfferWithoutDetail4chevre } from '../../assetTransaction/reserve';
5
5
  import { AssetTransactionType } from '../../assetTransactionType';
6
6
  import { IOffer } from '../../offer';
7
7
  import { OfferType } from '../../offerType';
8
8
  import { ITicketPriceSpecification } from '../../order';
9
+ import { IPropertyValue } from '../../propertyValue';
9
10
  import { IRecipe, IUpdTmpReserveSeatArgs, IUpdTmpReserveSeatResult } from '../../recipe/acceptCOAOffer';
10
11
  import { TransactionType } from '../../transactionType';
11
12
  import { IAttributes as IBaseAttributes } from '../accept';
@@ -166,7 +167,11 @@ export type IAcceptedOffer4COA = Pick<IAcceptedOfferWithoutDetail4chevre, 'id' |
166
167
  * 単価オファーコード
167
168
  */
168
169
  identifier: string;
169
- itemOffered: IAcceptedTicketOfferItemOffered;
170
+ itemOffered: {
171
+ serviceOutput?: IItemOfferedServiceOutput & {
172
+ additionalProperty?: IPropertyValue<string>[];
173
+ };
174
+ };
170
175
  ticketInfo: ICOATicketInfoWithDetails;
171
176
  /**
172
177
  * COAイベントでは、priceSpecificationで価格を表現しきれないので、numberとしてのpriceが必要
@@ -123,24 +123,17 @@ export type ITokenizedProgramMembershipUsed = string;
123
123
  */
124
124
  export type IAcceptedProgramMembershipUsed = IPermitIssuedThroughFaceToFace | IPermitIssuedThroughMembershipService | IProgramMembershipUsedAsTicket | ITokenizedProgramMembershipUsed;
125
125
  export type IAcceptedSubReservation = ISubReservation4eventReservation;
126
+ /**
127
+ * 予約取引開始前の指定予約属性
128
+ */
126
129
  export interface IEventReservatonAsItemOfferedServiceOutput {
127
130
  typeOf: ReservationType.EventReservation;
128
- /**
129
- * 追加特性
130
- */
131
- additionalProperty?: IPropertyValue<string>[];
132
131
  /**
133
132
  * 予約追加テキスト
134
133
  */
135
134
  additionalTicketText?: string;
136
135
  programMembershipUsed?: IAcceptedProgramMembershipUsed;
137
136
  reservedTicket?: {
138
- /**
139
- * チケット識別子
140
- * 指定された場合、決済カードの対象チケット識別子と関連付けされます
141
- * /^[0-9a-zA-Z]{8,16}$/
142
- */
143
- identifier?: string;
144
137
  issuedBy?: Pick<ITicketIssuedBy, 'name' | 'typeOf'>;
145
138
  typeOf: TicketType;
146
139
  /**
@@ -152,14 +145,12 @@ export interface IEventReservatonAsItemOfferedServiceOutput {
152
145
  }
153
146
  export type IItemOfferedServiceOutput = IEventReservatonAsItemOfferedServiceOutput;
154
147
  /**
155
- * 受け入れられたオファーのアイテム
148
+ * 予約取引開始前の指定オファーのアイテム
156
149
  */
157
150
  export interface IAcceptedTicketOfferItemOffered {
158
- pointAward?: never;
159
151
  serviceOutput?: IItemOfferedServiceOutput;
160
152
  }
161
153
  export interface IAcceptedTicketOfferItemOffered4object {
162
- pointAward?: never;
163
154
  serviceOutput: {
164
155
  id: string;
165
156
  };
@@ -209,7 +200,7 @@ export type IMultipleAcceptedAppliesToMovieTicket = {
209
200
  */
210
201
  export type IAcceptedAppliesToMovieTicket = ISingleAcceptedAppliesToMovieTicket | IMultipleAcceptedAppliesToMovieTicket;
211
202
  /**
212
- * 受け入れられたチケットオファー(詳細なし)
203
+ * 予約取引開始前の指定チケットオファー(詳細なし)
213
204
  */
214
205
  export interface IAcceptedTicketOfferWithoutDetail {
215
206
  /**
@@ -327,6 +318,9 @@ export interface IEventOfferTokenPayload {
327
318
  * トークンの中身については @see IEventOfferTokenPayload
328
319
  */
329
320
  export type IEventOfferToken = string;
321
+ /**
322
+ * 予約取引開始前の指定オブジェクト
323
+ */
330
324
  export interface IObjectWithoutDetail {
331
325
  acceptedOffer?: IAcceptedTicketOfferWithoutDetail[];
332
326
  broker?: IBroker;
@@ -360,11 +354,12 @@ export type IMovieTicketTypeChargePriceComponent = Pick<IMovieTicketTypeChargeSp
360
354
  export type IUnitPriceComponent = Pick<IUnitPriceOfferPriceSpecification, 'accounting' | 'appliesToMovieTicket' | 'appliesToAddOn' | 'name' | 'price' | 'priceCurrency' | 'referenceQuantity' | 'typeOf' | 'valueAddedTaxIncluded'>;
361
355
  export type ITicketPriceComponent = ICategoryChargePriceComponent | IMovieTicketTypeChargePriceComponent | IUnitPriceComponent;
362
356
  export type IPrice = Pick<ICompoundPriceSpecification<ITicketPriceComponent>, 'priceComponent' | 'priceCurrency' | 'typeOf' | 'valueAddedTaxIncluded'>;
363
- export type IEventReservationAsSubReservation = Pick<IEventReservation, 'additionalProperty' | 'additionalTicketText' | 'id' | 'programMembershipUsed' | 'subReservation' | 'typeOf'> & {
357
+ export type IEventReservationAsSubReservation = Pick<IEventReservation, 'additionalTicketText' | 'id' | 'programMembershipUsed' | 'subReservation' | 'typeOf'> & {
364
358
  numSeats?: number;
365
359
  price?: IPrice;
366
360
  priceCurrency?: PriceCurrency;
367
361
  reservedTicket: ISubReservationReservedTicket;
362
+ additionalProperty?: never;
368
363
  };
369
364
  export type IObjectSubReservation = IEventReservationAsSubReservation;
370
365
  export type IServiceTypeOfIssuedThrough = Pick<IServiceType, 'codeValue' | 'inCodeSet' | 'typeOf'>;
@@ -200,10 +200,11 @@ export type IEventReservation = Pick<IRawReservation, 'additionalProperty' | 'ad
200
200
  /**
201
201
  * COAの場合の予約
202
202
  */
203
- export type ICOAEventReservation = Pick<IRawReservation, 'additionalProperty' | 'additionalTicketText' | 'id' | 'programMembershipUsed' | 'reservationNumber' | 'typeOf'> & {
203
+ export type ICOAEventReservation = Pick<IRawReservation, 'additionalTicketText' | 'id' | 'programMembershipUsed' | 'reservationNumber' | 'typeOf'> & {
204
204
  issuedThrough: ICOAIssuedThrough;
205
205
  reservationFor: ICOAEventAsReservationFor;
206
206
  reservedTicket: ICOAReservedTicket;
207
+ additionalProperty?: IPropertyValue<string>[];
207
208
  };
208
209
  /**
209
210
  * オファー提供アイテムとしての予約
@@ -532,14 +533,7 @@ export interface IAcceptedOffersSearchConditions {
532
533
  * 予約番号
533
534
  */
534
535
  reservationNumbers?: string[];
535
- reservedTicket?: {
536
- /**
537
- * 予約チケット識別子
538
- */
539
- identifier?: {
540
- $eq?: string;
541
- };
542
- };
536
+ reservedTicket?: never;
543
537
  };
544
538
  serialNumber?: {
545
539
  $eq?: string;
@@ -618,7 +612,7 @@ export interface ISearchConditions {
618
612
  */
619
613
  paymentMethods?: IPaymentMethodsSearchConditions;
620
614
  /**
621
- * 注文アイテム条件
615
+ * 注文オファー条件
622
616
  */
623
617
  acceptedOffers?: IAcceptedOffersSearchConditions;
624
618
  }
@@ -16,11 +16,14 @@ export interface IMovieTicketServiceOutput {
16
16
  reservedTicket: {
17
17
  /**
18
18
  * チケット識別子
19
- * 指定された場合、予約のチケット識別子と関連付けされます
20
- * /^[0-9a-zA-Z]{8,16}$/
19
+ * 予約のチケット識別子と関連付けされる
20
+ * 指定は不可
21
21
  */
22
22
  identifier?: string;
23
- ticketedSeat: ISeat;
23
+ /**
24
+ * 決済カードと関連付ける座席
25
+ */
26
+ ticketedSeat: Pick<ISeat, 'seatNumber' | 'seatRow' | 'seatSection' | 'typeOf'>;
24
27
  };
25
28
  }
26
29
  /**
@@ -27,24 +27,12 @@ export interface IOffer extends Pick<IBaseOffer, 'typeOf' | 'eligibleQuantity'>
27
27
  * イベント開始後の販売猶予期間
28
28
  */
29
29
  availabilityEndsGraceTime: IAvailabilityEndsGraceTime;
30
- /**
31
- * イベント開始前の販売猶予期間(POS)
32
- */
33
- availabilityStartsGraceTimeOnPOS?: never;
34
- /**
35
- * イベント開始後の販売猶予期間(POS)
36
- */
37
- availabilityEndsGraceTimeOnPOS?: never;
38
30
  }
39
31
  /**
40
32
  * 施設の操作するPoints-of-Sales
41
33
  */
42
34
  export interface IPOS {
43
- /**
44
- * コード
45
- * @deprecated Use branchCode(2023-09-27~)
46
- */
47
- id: string;
35
+ id?: never;
48
36
  /**
49
37
  * コード
50
38
  */
@@ -67,10 +55,6 @@ export type IParentOrganization = Pick<ISeller, 'typeOf' | 'id'> & {
67
55
  export interface IPlace extends Pick<IBasePlace, 'additionalProperty' | 'branchCode' | 'name' | 'project' | 'telephone' | 'typeOf' | 'url'> {
68
56
  typeOf: PlaceType.MovieTheater;
69
57
  id: string;
70
- /**
71
- * ルーム数
72
- */
73
- screenCount?: number;
74
58
  /**
75
59
  * 施設コード
76
60
  */
@@ -75,7 +75,7 @@ export interface IReservation extends IBaseReservation {
75
75
  numSeats?: never;
76
76
  }
77
77
  export interface IReservationForSearchConditions {
78
- typeOf?: EventType;
78
+ typeOf?: never;
79
79
  id?: string | {
80
80
  $eq?: string;
81
81
  };
@@ -145,11 +145,11 @@ export interface IReservedTicketSearchConditions {
145
145
  }
146
146
  export interface IStringSearchConditions {
147
147
  $eq?: string;
148
- $ne?: string;
149
148
  $in?: string[];
150
- $nin?: string[];
151
- $options?: string;
152
149
  $regex?: string;
150
+ $ne?: never;
151
+ $nin?: never;
152
+ $options?: never;
153
153
  }
154
154
  /**
155
155
  * ソート条件
@@ -207,8 +207,6 @@ export interface ISearchConditions {
207
207
  reservationStatuses?: IAvailableReservationStatusType[];
208
208
  bookingFrom?: Date;
209
209
  bookingThrough?: Date;
210
- modifiedFrom?: Date;
211
- modifiedThrough?: Date;
212
210
  /**
213
211
  * 予約チケット
214
212
  */
@@ -1,14 +1,2 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- // public async lockIfNotLimitExceeded
4
- // reservationCount<=nであれば$push+$incする
5
- // public async lock
6
- // [reservationFor.id+seatNumber+seatSection][reservationNumber][subReservation.id]にunique indexを作成した上で$push+$incする
7
- // public async unlock
8
- // [id]あるいは[seatNumber+seatSection]でreservations.subReservationsから$pull+$incする
9
- // public async countUnavailableOffers
10
- // reservationCountを返す
11
- // public async getHolder
12
- // [id]あるいは[seatNumber+seatSection]でreservationNumberを返す
13
- // public async searchHolders
14
- // [id]あるいは[seatNumber+seatSection]のリストでreservationNumberのリストを返す
@@ -79,7 +79,7 @@ export interface ITicket {
79
79
  /**
80
80
  * チケット識別子
81
81
  */
82
- identifier?: string;
82
+ identifier: string;
83
83
  /**
84
84
  * The organization issuing the ticket or permit.
85
85
  */
@@ -199,5 +199,5 @@ export interface IReservation {
199
199
  * 出席(入場)済かどうか
200
200
  */
201
201
  attended?: boolean;
202
- additionalProperty?: IPropertyValue<string>[];
202
+ additionalProperty?: never;
203
203
  }
@@ -4,12 +4,28 @@ import { SortType } from './sortType';
4
4
  export interface ICredentialsCreditCard {
5
5
  siteId: string;
6
6
  sitePass: string;
7
+ /**
8
+ * CreditCardIFでは決済承認レート制限はなし
9
+ */
10
+ rateLimit?: never;
7
11
  }
8
12
  export interface ICredentialsMovieTicket {
9
13
  authorizeServerDomain: string;
10
14
  clientId: string;
11
15
  clientSecret: string;
16
+ /**
17
+ * 着券取消IFを使用するかどうか
18
+ * add(2024-04-27~)
19
+ */
12
20
  useSeatInfoSyncCancel?: boolean;
21
+ /**
22
+ * 決済承認レート制限(paymentServiceのIDごと)設定
23
+ * 2026-05-27~
24
+ */
25
+ rateLimit?: {
26
+ threshold: number;
27
+ unitInSeconds: number;
28
+ };
13
29
  }
14
30
  export interface IServiceChannelCreditCard {
15
31
  credentials: ICredentialsCreditCard;
@@ -1,9 +1,8 @@
1
- import type { passport } from '@waiter/factory';
2
1
  import { IAttributes as ISendEmailMessageActionAttributes } from '../action/transfer/send/message/email';
3
2
  import { IExtendId } from '../autoGenerated';
4
3
  import { IClientUser } from '../clientUser';
5
4
  import { CreativeWorkType } from '../creativeWorkType';
6
- import { ICustomer as IOrderCustomer, IBroker, IIdentifier as IOrderIdentifier, ISeller as IOrderSeller, IOrder } from '../order';
5
+ import { ICustomer as IOrderCustomer, IBroker, ISeller as IOrderSeller, IOrder } from '../order';
7
6
  import { IProject } from '../project';
8
7
  import { IAgent as IBaseAgent, IPassportBeforeStart, ISeller as IBaseSeller, ISearchConditions as IBaseSearchConditions, ISendEmailMessageParams, IStartParams as IBaseStartParams, IAttributes as IBaseAttributes } from '../transaction';
9
8
  import { TransactionType } from '../transactionType';
@@ -19,7 +18,7 @@ export type IAgent = IBaseAgent & {
19
18
  * 外部メンバーシップトークン
20
19
  */
21
20
  memberOfToken?: string;
22
- memberOfPayload?: IMemberOfPayload;
21
+ memberOfPayload?: never;
23
22
  };
24
23
  export type ICustomerInObject = Pick<IOrderCustomer, 'id' | 'identifier' | 'typeOf'>;
25
24
  export interface IPaymentMethodByPaymentUrl {
@@ -30,10 +29,12 @@ export interface IPaymentMethodByPaymentUrl {
30
29
  paymentMethodId: string;
31
30
  }
32
31
  export interface IObject {
33
- clientUser?: Omit<IClientUser, 'scope' | 'scopes'>;
34
32
  broker?: Pick<IBroker, 'id' | 'typeOf'>;
35
33
  customer?: ICustomerInObject;
36
- identifier?: IOrderIdentifier;
34
+ /**
35
+ * passportによって決定するカスタマータイプ
36
+ */
37
+ customerType?: string;
37
38
  /**
38
39
  * 確認番号
39
40
  */
@@ -42,19 +43,16 @@ export interface IObject {
42
43
  * 注文番号
43
44
  */
44
45
  orderNumber?: string;
45
- /**
46
- * 注文名称
47
- */
48
- name?: string;
49
46
  /**
50
47
  * 決済URLでの決済情報
51
48
  */
52
49
  paymentMethods?: IPaymentMethodByPaymentUrl;
53
- /**
54
- * WAITER許可証
55
- */
56
- passport?: passport.IPassport;
50
+ name?: never;
51
+ identifier?: never;
52
+ clientUser?: never;
53
+ passport?: never;
57
54
  }
55
+ export type IClientUserBeforeStart = Pick<IClientUser, 'aud' | 'client_id' | 'exp' | 'iat' | 'iss' | 'jti' | 'sub' | 'token_use' | 'username'>;
58
56
  export interface IStartParamsWithoutDetail {
59
57
  project: Pick<IProject, 'id' | 'typeOf'>;
60
58
  agent: IAgent;
@@ -62,13 +60,10 @@ export interface IStartParamsWithoutDetail {
62
60
  id: string;
63
61
  };
64
62
  object: {
65
- clientUser?: Omit<IClientUser, 'scope' | 'scopes'>;
63
+ clientUser?: IClientUserBeforeStart;
66
64
  customer?: ICustomerInObject;
67
65
  passport?: IPassportBeforeStart;
68
- /**
69
- * 注文名称
70
- */
71
- name?: string;
66
+ name?: never;
72
67
  };
73
68
  }
74
69
  export type ISeller = IBaseSeller & Pick<IOrderSeller, 'additionalProperty'>;
@@ -108,14 +103,8 @@ export interface IPotentialActionsParams {
108
103
  * 取引結果の注文パラメータ
109
104
  */
110
105
  export interface IResultOrderParams {
111
- /**
112
- * 注文識別子指定
113
- */
114
- identifier?: IOrderIdentifier;
115
- /**
116
- * 注文確認URLのカスタム指定
117
- */
118
- url?: string;
106
+ identifier?: never;
107
+ url?: never;
119
108
  }
120
109
  /**
121
110
  * 取引結果パラメータ
@@ -143,7 +132,10 @@ export interface IConfirmParams {
143
132
  */
144
133
  result?: IResultParams;
145
134
  }
146
- export type IOrderAsResult = Pick<IOrder, 'confirmationNumber' | 'identifier' | 'orderDate' | 'orderNumber' | 'orderStatus' | 'price' | 'priceCurrency' | 'typeOf' | 'url'>;
135
+ export type IOrderAsResult = Pick<IOrder, 'confirmationNumber' | 'orderDate' | 'orderNumber' | 'orderStatus' | 'price' | 'priceCurrency' | 'typeOf'> & {
136
+ identifier?: never;
137
+ url?: never;
138
+ };
147
139
  export interface IAuthorizeActionAsResult {
148
140
  id: string;
149
141
  }
@@ -17,10 +17,6 @@ export { IOfferMerchantReturnPolicy, IOfferMerchantReturnPolicySearchConditions,
17
17
  export interface IItemOffered {
18
18
  typeOf: ProductType;
19
19
  serviceOutput?: never;
20
- /**
21
- * 特典
22
- */
23
- pointAward?: never;
24
20
  }
25
21
  /**
26
22
  * 単価オファーの価格仕様
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@chevre/factory",
3
- "version": "8.2.0-alpha.1",
3
+ "version": "8.2.0-alpha.10",
4
4
  "main": "./lib/index.js",
5
5
  "types": "./lib/index.d.ts",
6
6
  "files": [