@chevre/factory 4.396.0-alpha.5 → 4.396.0-alpha.7

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.
@@ -6,7 +6,7 @@ import { IOffer } from '../../../offer';
6
6
  import * as OrderFactory from '../../../order';
7
7
  import { IIssuedThroughAsProduct, IPermit } from '../../../permit';
8
8
  import { PriceCurrency } from '../../../priceCurrency';
9
- import { IProduct, IServiceOutput as IProductServiceOutput, ITicketPriceSpecification } from '../../../product';
9
+ import { IMembershipProduct, IPaymentCardProduct, IServiceOutput as IProductServiceOutput, ITicketPriceSpecification } from '../../../product';
10
10
  import { ISeller } from '../../../seller';
11
11
  import { TransactionType } from '../../../transactionType';
12
12
  import * as AuthorizeActionFactory from '../../authorize';
@@ -16,7 +16,7 @@ export type IRecipient = ActionFactory.IParticipantAsWebApplication | ActionFact
16
16
  export type IPermitIssuedByProduct = Omit<IPermit, 'issuedThrough'> & {
17
17
  issuedThrough?: IIssuedThroughAsProduct;
18
18
  };
19
- export type IItemOffered = Pick<IProduct, 'typeOf' | 'id' | 'name'> & {
19
+ export type IItemOffered = Pick<IMembershipProduct | IPaymentCardProduct, 'typeOf' | 'id' | 'name'> & {
20
20
  serviceOutput: IProductServiceOutput & IPermitIssuedByProduct;
21
21
  pointAward?: IPointAward;
22
22
  };
@@ -5,7 +5,7 @@ import { AssetTransactionType } from '../assetTransactionType';
5
5
  import { IExtendId } from '../autoGenerated';
6
6
  import { OfferType } from '../offerType';
7
7
  import { IIssuedThroughAsProduct, IPermit } from '../permit';
8
- import { IProduct } from '../product';
8
+ import { IMembershipProduct, IPaymentCardProduct } from '../product';
9
9
  export import IAgent = AssetTransactionFactory.IAgent;
10
10
  export type IStartParamsWithoutDetail = AssetTransactionFactory.IStartParams<AssetTransactionType.RegisterService, IAgent, undefined, IObjectWithoutDetail>;
11
11
  /**
@@ -66,7 +66,7 @@ export interface IAcceptedOfferWithoutDetail {
66
66
  id: string;
67
67
  itemOffered: IAcceptedItemOffered;
68
68
  }
69
- export interface IItemOffered extends Pick<IProduct, 'id' | 'serviceOutput' | 'typeOf'> {
69
+ export interface IItemOffered extends Pick<IMembershipProduct | IPaymentCardProduct, 'id' | 'typeOf'> {
70
70
  serviceOutput: IServiceOutput;
71
71
  pointAward?: IPointAward;
72
72
  }
@@ -3,14 +3,14 @@ import { IMember, IMemberOfRole } from './iam';
3
3
  import { IInvoice } from './invoice';
4
4
  import { IOrder } from './order';
5
5
  import { OrganizationType } from './organizationType';
6
- import { IOwnershipInfo, IPermitAsGood, IPermitIssuedThroughAsFaceToFace, IPermitIssuedThroughAsProduct } from './ownershipInfo';
6
+ import { IOwnershipInfo, IPermitAsGood, IPermitIssuedThroughAsCreditCard, IPermitIssuedThroughAsFaceToFace, IPermitIssuedThroughAsProduct } from './ownershipInfo';
7
7
  import { PersonType } from './personType';
8
8
  import { IProject } from './project';
9
9
  import { PaymentServiceType } from './service/paymentService';
10
10
  import { SortType } from './sortType';
11
11
  import { TransactionType } from './transactionType';
12
12
  export type IOrderAsObject = Pick<IOrder, 'orderNumber' | 'typeOf'>;
13
- export type IPermitIssuedThroughOfObjectTypeOfGood = Pick<IPermitIssuedThroughAsFaceToFace, 'typeOf'> | Pick<IPermitIssuedThroughAsProduct, 'id' | 'typeOf'>;
13
+ export type IPermitIssuedThroughOfObjectTypeOfGood = Pick<IPermitIssuedThroughAsFaceToFace, 'typeOf'> | Pick<IPermitIssuedThroughAsCreditCard, 'id' | 'typeOf'> | Pick<IPermitIssuedThroughAsProduct, 'id' | 'typeOf'>;
14
14
  export type IPermitAsObjectTypeOfGood = Pick<IPermitAsGood, 'identifier' | 'typeOf'> & {
15
15
  issuedThrough?: IPermitIssuedThroughOfObjectTypeOfGood;
16
16
  };
package/lib/offer.d.ts CHANGED
@@ -7,7 +7,7 @@ import { OrganizationType } from './organizationType';
7
7
  import { PriceCurrency } from './priceCurrency';
8
8
  import { IPriceSpecification } from './priceSpecification';
9
9
  import { PriceSpecificationType } from './priceSpecificationType';
10
- import { IProduct } from './product';
10
+ import { IAddOnProduct } from './product';
11
11
  import { IProject } from './project';
12
12
  import { IPropertyValue } from './propertyValue';
13
13
  import { IQuantitativeValue } from './quantitativeValue';
@@ -64,7 +64,7 @@ export interface IAvailableAtOrFrom {
64
64
  */
65
65
  id: string;
66
66
  }
67
- export type IItemOffered4addOn = Pick<IProduct, 'description' | 'id' | 'name' | 'productID' | 'typeOf'>;
67
+ export type IItemOffered4addOn = Pick<IAddOnProduct, 'description' | 'id' | 'name' | 'productID' | 'typeOf'>;
68
68
  /**
69
69
  * アドオン
70
70
  */
package/lib/order.d.ts CHANGED
@@ -17,7 +17,7 @@ import { PersonType } from './personType';
17
17
  import { PlaceType } from './placeType';
18
18
  import { PriceCurrency } from './priceCurrency';
19
19
  import { IPriceSpecification as ICompoundPriceSpecification } from './priceSpecification/compoundPriceSpecification';
20
- import { IProduct, ProductType } from './product';
20
+ import { IMembershipProduct, IPaymentCardProduct, ProductType } from './product';
21
21
  import { IPropertyValue } from './propertyValue';
22
22
  import { IProgramMembershipUsedSearchConditions, ITicket, ITicketType } from './reservation';
23
23
  import * as BusReservationFactory from './reservation/busReservation';
@@ -241,7 +241,7 @@ export interface ITransportationAsOrderedItem {
241
241
  serviceType?: EventReservationFactory.IServiceTypeOfIssuedThrough;
242
242
  id: string;
243
243
  }
244
- export type IProductAsOrderedItem = Pick<IProduct, 'serviceType' | 'typeOf'> & {
244
+ export type IProductAsOrderedItem = Pick<IMembershipProduct | IPaymentCardProduct, 'serviceType' | 'typeOf'> & {
245
245
  id: string;
246
246
  };
247
247
  /**
@@ -50,8 +50,9 @@ export interface IEventReservationAsGood {
50
50
  */
51
51
  export type IReservation = IBusReservationAsGood | IEventReservationAsGood;
52
52
  export type IPermitIssuedThroughAsFaceToFace = Pick<PermitFactory.IIssuedThroughAsFaceToFace, 'typeOf'>;
53
- export type IPermitIssuedThroughAsProduct = Pick<PermitFactory.IIssuedThroughAsProduct, 'id' | 'typeOf' | 'serviceType'> | Pick<PermitFactory.IIssuedThroughAsCreditCard, 'id' | 'typeOf' | 'serviceType'>;
54
- export type IPermitIssuedThrough = IPermitIssuedThroughAsFaceToFace | IPermitIssuedThroughAsProduct;
53
+ export type IPermitIssuedThroughAsCreditCard = Pick<PermitFactory.IIssuedThroughAsCreditCard, 'id' | 'typeOf'>;
54
+ export type IPermitIssuedThroughAsProduct = Pick<PermitFactory.IIssuedThroughAsProduct, 'id' | 'typeOf' | 'serviceType'>;
55
+ export type IPermitIssuedThrough = IPermitIssuedThroughAsFaceToFace | IPermitIssuedThroughAsCreditCard | IPermitIssuedThroughAsProduct;
55
56
  export type IPermitAsGood = Pick<PermitFactory.IPermit, 'identifier' | 'typeOf' | 'name' | 'validFor'> & {
56
57
  identifier: string;
57
58
  issuedThrough?: IPermitIssuedThrough;
package/lib/permit.d.ts CHANGED
@@ -1,26 +1,37 @@
1
1
  import { IAccount } from './account';
2
2
  import { IMonetaryAmount } from './monetaryAmount';
3
3
  import { IOrganization } from './organization';
4
- import { IProduct, ProductType } from './product';
4
+ import { IMembershipProduct, IPaymentCardProduct } from './product';
5
5
  import { IProject } from './project';
6
6
  import { IPropertyValue } from './propertyValue';
7
- import { PaymentServiceType } from './service/paymentService';
7
+ import { IService as IPaymentService, PaymentServiceType } from './service/paymentService';
8
8
  export declare enum PermitType {
9
9
  Permit = "Permit"
10
10
  }
11
+ /**
12
+ * メンバーシップ出力決済サービス(対面決済IF)
13
+ */
11
14
  export interface IIssuedThroughAsFaceToFace {
12
15
  typeOf: PaymentServiceType.FaceToFace;
13
16
  }
14
- export type IIssuedThroughAsCreditCard = Pick<IProduct, 'id' | 'serviceType'> & {
17
+ /**
18
+ * メンバーシップ出力決済サービス(クレジットカードIF)
19
+ */
20
+ export type IIssuedThroughAsCreditCard = Pick<IPaymentService, 'id'> & {
15
21
  /**
16
22
  * 決済サービスID
17
23
  */
18
24
  id: string;
25
+ serviceType?: never;
19
26
  typeOf: PaymentServiceType.CreditCard;
20
27
  };
21
- export type IIssuedThroughAsProduct = Pick<IProduct, 'id' | 'serviceType' | 'typeOf'> & {
28
+ /**
29
+ * メンバーシップあるいはペイメントカード出力プロダクト
30
+ */
31
+ export type IIssuedThroughAsProduct = Pick<IMembershipProduct, 'id' | 'serviceType' | 'typeOf'> & {
32
+ id: string;
33
+ } | Pick<IPaymentCardProduct, 'id' | 'serviceType' | 'typeOf'> & {
22
34
  id: string;
23
- typeOf: ProductType.MembershipService | ProductType.PaymentCard;
24
35
  };
25
36
  export type IIssuedThrough = IIssuedThroughAsFaceToFace | IIssuedThroughAsCreditCard | IIssuedThroughAsProduct;
26
37
  export type IPaymentAccount = Pick<IAccount, 'accountNumber' | 'typeOf'>;
@@ -1,7 +1,7 @@
1
1
  import { OfferType } from '../offerType';
2
2
  import { IPriceSpecification as BaseSpecification } from '../priceSpecification';
3
3
  import { PriceSpecificationType } from '../priceSpecificationType';
4
- import { IProduct } from '../product';
4
+ import { IAddOnProduct } from '../product';
5
5
  import { IQuantitativeValue } from '../quantitativeValue';
6
6
  import { UnitCode } from '../unitCode';
7
7
  import { IAppliesToMovieTicket as IMovieTicketTypeChargeSpecAppliesToMovieTicket } from './movieTicketTypeChargeSpecification';
@@ -12,7 +12,7 @@ export type IAppliesToMovieTicket = Pick<IMovieTicketTypeChargeSpecAppliesToMovi
12
12
  identifier?: string;
13
13
  };
14
14
  export type IReferenceQuantity = Pick<IQuantitativeValue<UnitCode>, 'typeOf' | 'value' | 'unitCode' | 'minValue'>;
15
- export type IAppliesToAddOnItemOffered = Pick<IProduct, 'id' | 'name' | 'productID' | 'typeOf'>;
15
+ export type IAppliesToAddOnItemOffered = Pick<IAddOnProduct, 'id' | 'name' | 'productID' | 'typeOf'>;
16
16
  export interface IAppliesToAddOn {
17
17
  typeOf: OfferType.Offer;
18
18
  id?: string;
package/lib/product.d.ts CHANGED
@@ -59,33 +59,37 @@ export type IServiceOutput = Pick<IPermit, 'typeOf'> & {
59
59
  };
60
60
  /**
61
61
  * 外部サービス認証情報
62
- * typeOf: PaymentCardの場合のみ
63
62
  */
64
63
  export interface ICredentials {
65
64
  authorizeServerDomain?: string;
66
65
  clientId?: string;
67
66
  clientSecret?: string;
68
67
  }
68
+ export interface INoCredentials {
69
+ authorizeServerDomain?: never;
70
+ clientId?: never;
71
+ clientSecret?: never;
72
+ }
69
73
  export interface IAvailableChannel {
70
74
  typeOf: 'ServiceChannel';
71
75
  serviceUrl?: string;
72
76
  credentials?: ICredentials;
73
77
  }
78
+ export interface INoAvailableChannel {
79
+ typeOf: 'ServiceChannel';
80
+ serviceUrl?: never;
81
+ credentials?: INoCredentials;
82
+ }
74
83
  export type IServiceType = Pick<ICategoryCode, 'codeValue' | 'inCodeSet' | 'typeOf'>;
75
84
  export type IOffer = Pick<IBaseOffer, 'typeOf' | 'priceCurrency' | 'availabilityEnds' | 'availabilityStarts' | 'validFrom' | 'validThrough'> & {
76
85
  seller?: {
77
86
  id?: string;
78
87
  };
79
88
  };
80
- /**
81
- * product
82
- * {@link https://schema.org/Product}
83
- */
84
- export interface IProduct extends Pick<IThing, 'name' | 'description'> {
89
+ export interface ICommonAttributes extends Pick<IThing, 'name' | 'description'> {
85
90
  project: Pick<IProject, 'id' | 'typeOf'>;
86
91
  typeOf: ProductType;
87
92
  id?: string;
88
- availableChannel?: IAvailableChannel;
89
93
  /**
90
94
  * 説明
91
95
  */
@@ -103,18 +107,68 @@ export interface IProduct extends Pick<IThing, 'name' | 'description'> {
103
107
  * プロジェクト内でユニークなプロダクトコード
104
108
  */
105
109
  productID: string;
110
+ additionalProperty?: IPropertyValue<string>[];
111
+ potentialAction?: never;
112
+ }
113
+ /**
114
+ * 興行などのプロダクト
115
+ */
116
+ export interface IEventServiceProduct extends ICommonAttributes {
117
+ typeOf: ProductType.EventService | ProductType.Transportation;
118
+ availableChannel?: INoAvailableChannel;
119
+ serviceOutput?: never;
120
+ /**
121
+ * The type of service being offered, e.g. veterans' benefits, emergency relief, etc.
122
+ * 興行区分
123
+ */
124
+ serviceType?: IServiceType;
125
+ }
126
+ /**
127
+ * アドオンプロダクト
128
+ */
129
+ export interface IAddOnProduct extends ICommonAttributes {
130
+ typeOf: ProductType.Product;
131
+ availableChannel?: INoAvailableChannel;
132
+ serviceOutput?: never;
133
+ serviceType?: never;
134
+ }
135
+ /**
136
+ * メンバーシッププロダクト
137
+ */
138
+ export interface IMembershipProduct extends ICommonAttributes {
139
+ typeOf: ProductType.MembershipService;
140
+ availableChannel?: IAvailableChannel;
106
141
  /**
107
142
  * The tangible thing generated by the service, e.g. a passport, permit, etc.
108
143
  */
109
144
  serviceOutput?: IServiceOutput;
110
145
  /**
111
146
  * The type of service being offered, e.g. veterans' benefits, emergency relief, etc.
112
- * サービスタイプ(興行区分、メンバーシップ区分、決済方法区分)
147
+ * メンバーシップ区分
113
148
  */
114
149
  serviceType?: IServiceType;
115
- additionalProperty?: IPropertyValue<string>[];
116
- potentialAction?: never;
117
150
  }
151
+ /**
152
+ * ペイメントカードプロダクト
153
+ */
154
+ export interface IPaymentCardProduct extends ICommonAttributes {
155
+ typeOf: ProductType.PaymentCard;
156
+ availableChannel?: IAvailableChannel;
157
+ /**
158
+ * The tangible thing generated by the service, e.g. a passport, permit, etc.
159
+ */
160
+ serviceOutput?: IServiceOutput;
161
+ /**
162
+ * The type of service being offered, e.g. veterans' benefits, emergency relief, etc.
163
+ * 決済方法区分
164
+ */
165
+ serviceType?: IServiceType;
166
+ }
167
+ /**
168
+ * プロダクト
169
+ * {@link https://schema.org/Product}
170
+ */
171
+ export type IProduct = IEventServiceProduct | IAddOnProduct | IMembershipProduct | IPaymentCardProduct;
118
172
  export interface IHasOfferCatalogOnCreate {
119
173
  /**
120
174
  * IDを指定する場合
@@ -213,6 +267,12 @@ export interface ISearchConditions {
213
267
  $eq?: string;
214
268
  };
215
269
  };
270
+ additionalPropertyMatch?: {
271
+ /**
272
+ * 一致する名称の追加特性がひとつでも存在する
273
+ */
274
+ nameEq?: string;
275
+ };
216
276
  }
217
277
  /**
218
278
  * サービスアウトプット検索条件
@@ -6,7 +6,7 @@ import { OfferType } from './offerType';
6
6
  import { IAmount as IPermitAmount, IDepositAmount, IPaymentAmount } from './permit';
7
7
  import { IAccounting } from './priceSpecification';
8
8
  import { IPriceSpecification as IUnitPriceSpecification } from './priceSpecification/unitPriceSpecification';
9
- import { IProduct, ProductType } from './product';
9
+ import { IAddOnProduct, ProductType } from './product';
10
10
  import { SortType } from './sortType';
11
11
  import { IOfferMerchantReturnPolicy, IOfferMerchantReturnPolicySearchConditions, IOfferMerchantReturnPolicySortOrder } from './unitPriceOffer/merchantReturnPolicy';
12
12
  export type IHasMerchantReturnPolicy = (Pick<IOfferMerchantReturnPolicy, 'typeOf' | 'id' | 'identifier' | 'name'> & {
@@ -42,7 +42,7 @@ export interface IItemOffered {
42
42
  * 単価オファーの価格仕様
43
43
  */
44
44
  export type IUnitPriceOfferPriceSpecification = Pick<IUnitPriceSpecification, 'accounting' | 'appliesToMovieTicket' | 'eligibleQuantity' | 'eligibleTransactionVolume' | 'name' | 'price' | 'priceCurrency' | 'referenceQuantity' | 'typeOf' | 'valueAddedTaxIncluded'>;
45
- export type IAddOnItemOffered = Pick<IProduct, 'typeOf' | 'id' | 'name'>;
45
+ export type IAddOnItemOffered = Pick<IAddOnProduct, 'typeOf' | 'id' | 'name'>;
46
46
  export interface IAddOn4unitPriceOffer extends Pick<IAddOn, 'typeOf' | 'priceCurrency'> {
47
47
  itemOffered: IAddOnItemOffered;
48
48
  }
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@chevre/factory",
3
- "version": "4.396.0-alpha.5",
3
+ "version": "4.396.0-alpha.7",
4
4
  "description": "Chevre Factory Library for Javascript",
5
5
  "main": "./lib/index.js",
6
6
  "types": "./lib/index.d.ts",