@cloudcommerce/api 0.0.108 → 0.0.110

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.
package/lib/types.d.ts CHANGED
@@ -42,8 +42,11 @@ declare type BaseListResultMeta = {
42
42
  fields: Array<string>;
43
43
  };
44
44
  declare type ListEndpoint<TResource extends Resource> = TResource | `${TResource}?${string}`;
45
+ declare type ListResultDocs<Document extends any> = Array<Partial<Document> & {
46
+ _id: ResourceId;
47
+ }>;
45
48
  declare type ResourceListResult<TEndpoint extends ResourceOpQuery> = {
46
- result: TEndpoint extends ListEndpoint<'products'> ? Products[] : TEndpoint extends ListEndpoint<'categories'> ? Categories[] : TEndpoint extends ListEndpoint<'brands'> ? Brands[] : TEndpoint extends ListEndpoint<'collections'> ? Collections[] : TEndpoint extends ListEndpoint<'grids'> ? Grids[] : TEndpoint extends ListEndpoint<'carts'> ? Carts[] : TEndpoint extends ListEndpoint<'orders'> ? Orders[] : TEndpoint extends ListEndpoint<'customers'> ? Customers[] : TEndpoint extends ListEndpoint<'stores'> ? Stores[] : TEndpoint extends ListEndpoint<'applications'> ? Applications[] : TEndpoint extends ListEndpoint<'authentications'> ? Authentications[] : never;
49
+ result: TEndpoint extends ListEndpoint<'products'> ? ListResultDocs<Products> : TEndpoint extends ListEndpoint<'categories'> ? ListResultDocs<Categories> : TEndpoint extends ListEndpoint<'brands'> ? ListResultDocs<Brands> : TEndpoint extends ListEndpoint<'collections'> ? ListResultDocs<Collections> : TEndpoint extends ListEndpoint<'grids'> ? ListResultDocs<Grids> : TEndpoint extends ListEndpoint<'carts'> ? ListResultDocs<Carts> : TEndpoint extends ListEndpoint<'orders'> ? ListResultDocs<Orders> : TEndpoint extends ListEndpoint<'customers'> ? ListResultDocs<Customers> : TEndpoint extends ListEndpoint<'stores'> ? ListResultDocs<Stores> : TEndpoint extends ListEndpoint<'applications'> ? ListResultDocs<Applications> : TEndpoint extends ListEndpoint<'authentications'> ? ListResultDocs<Authentications> : never;
47
50
  meta: BaseListResultMeta & {
48
51
  count?: number;
49
52
  sort: Array<{
@@ -92,8 +95,19 @@ declare type ResponseBody<TConfig extends Config> = TConfig['method'] extends 'p
92
95
  _id: ResourceId;
93
96
  } : TConfig['method'] extends 'put' | 'patch' | 'delete' ? null : TConfig['endpoint'] extends `${string}/${ResourceId}/${string}` ? any : TConfig['endpoint'] extends `products/${ResourceId}` ? Products : TConfig['endpoint'] extends `categories/${ResourceId}` ? Categories : TConfig['endpoint'] extends `brands/${ResourceId}` ? Brands : TConfig['endpoint'] extends `collections/${ResourceId}` ? Collections : TConfig['endpoint'] extends `grids/${ResourceId}` ? Grids : TConfig['endpoint'] extends `carts/${ResourceId}` ? Carts : TConfig['endpoint'] extends `orders/${ResourceId}` ? Orders : TConfig['endpoint'] extends `customers/${ResourceId}` ? Customers : TConfig['endpoint'] extends `stores/${ResourceId}` ? Stores : TConfig['endpoint'] extends `applications/${ResourceId}` ? Applications : TConfig['endpoint'] extends `authentications/${ResourceId}` ? Authentications : TConfig['endpoint'] extends ResourceOpQuery ? ResourceListResult<TConfig['endpoint']> : TConfig['endpoint'] extends EventsEndpoint ? EventsResult<TConfig['endpoint']> : any;
94
97
  declare type DocSchema<Document extends any> = Omit<Document, '_id' | 'store_id' | 'store_ids' | 'created_at' | 'updated_at'>;
98
+ declare type CustomerSet = DocSchema<Customers>;
99
+ declare type OrderSet = DocSchema<Orders>;
100
+ declare type CartSet = DocSchema<Carts>;
101
+ declare type ProductSet = DocSchema<Products>;
102
+ declare type CategorySet = DocSchema<Categories>;
103
+ declare type BrandSet = DocSchema<Brands>;
104
+ declare type CollectionSet = DocSchema<Collections>;
105
+ declare type GridSet = DocSchema<Grids>;
106
+ declare type StoreSet = DocSchema<Stores>;
107
+ declare type ApplicationSet = DocSchema<Applications>;
108
+ declare type AuthenticationSet = DocSchema<Authentications>;
95
109
  declare type SetDocEndpoint<TResource extends Resource> = TResource | `${TResource}/${ResourceId}`;
96
- declare type RequestBody<TConfig extends Config> = TConfig['method'] extends undefined | 'get' | 'delete' ? undefined : TConfig['method'] extends 'patch' ? any : TConfig['endpoint'] extends SetDocEndpoint<'products'> ? DocSchema<Products> : TConfig['endpoint'] extends SetDocEndpoint<'categories'> ? DocSchema<Categories> : TConfig['endpoint'] extends SetDocEndpoint<'brands'> ? DocSchema<Brands> : TConfig['endpoint'] extends SetDocEndpoint<'collections'> ? DocSchema<Collections> : TConfig['endpoint'] extends SetDocEndpoint<'grids'> ? DocSchema<Grids> : TConfig['endpoint'] extends SetDocEndpoint<'carts'> ? DocSchema<Carts> : TConfig['endpoint'] extends SetDocEndpoint<'orders'> ? DocSchema<Orders> : TConfig['endpoint'] extends SetDocEndpoint<'customers'> ? DocSchema<Customers> : TConfig['endpoint'] extends SetDocEndpoint<'stores'> ? DocSchema<Stores> : TConfig['endpoint'] extends SetDocEndpoint<'applications'> ? DocSchema<Applications> : TConfig['endpoint'] extends SetDocEndpoint<'authentications'> ? DocSchema<Authentications> : any;
110
+ declare type RequestBody<TConfig extends Config> = TConfig['method'] extends undefined | 'get' | 'delete' ? undefined : TConfig['method'] extends 'patch' ? any : TConfig['endpoint'] extends SetDocEndpoint<'products'> ? ProductSet : TConfig['endpoint'] extends SetDocEndpoint<'categories'> ? CategorySet : TConfig['endpoint'] extends SetDocEndpoint<'brands'> ? BrandSet : TConfig['endpoint'] extends SetDocEndpoint<'collections'> ? CollectionSet : TConfig['endpoint'] extends SetDocEndpoint<'grids'> ? GridSet : TConfig['endpoint'] extends SetDocEndpoint<'carts'> ? CartSet : TConfig['endpoint'] extends SetDocEndpoint<'orders'> ? OrderSet : TConfig['endpoint'] extends SetDocEndpoint<'customers'> ? CustomerSet : TConfig['endpoint'] extends SetDocEndpoint<'stores'> ? StoreSet : TConfig['endpoint'] extends SetDocEndpoint<'applications'> ? ApplicationSet : TConfig['endpoint'] extends SetDocEndpoint<'authentications'> ? AuthenticationSet : any;
97
111
  declare type ErrorBody = {
98
112
  status: number;
99
113
  error_code: number;
@@ -104,4 +118,4 @@ declare type ErrorBody = {
104
118
  };
105
119
  more_info?: string;
106
120
  };
107
- export type { Products, Categories, Brands, Collections, Grids, Carts, Orders, Customers, Stores, Applications, Authentications, Resource, ResourceId, ResourceAndId, ResourceOpQuery, Endpoint, Method, Config, ResourceListResult, EventsResult, ResponseBody, RequestBody, ErrorBody, };
121
+ export type { Products, Categories, Brands, Collections, Grids, Carts, Orders, Customers, Stores, Applications, Authentications, ProductSet, CategorySet, BrandSet, CollectionSet, GridSet, CartSet, OrderSet, CustomerSet, StoreSet, ApplicationSet, AuthenticationSet, Resource, ResourceId, ResourceAndId, ResourceOpQuery, Endpoint, Method, Config, ResourceListResult, EventsResult, ResponseBody, RequestBody, ErrorBody, };
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "@cloudcommerce/api",
3
3
  "type": "module",
4
- "version": "0.0.108",
4
+ "version": "0.0.110",
5
5
  "description": "E-Com Plus Cloud Commerce APIs client/adapter",
6
6
  "main": "lib/api.js",
7
7
  "types": "lib/api.d.ts",
package/src/types.ts CHANGED
@@ -73,20 +73,20 @@ type BaseListResultMeta = {
73
73
  };
74
74
 
75
75
  type ListEndpoint<TResource extends Resource> = TResource | `${TResource}?${string}`;
76
-
76
+ type ListResultDocs<Document extends any> = Array<Partial<Document> & { _id: ResourceId }>;
77
77
  type ResourceListResult<TEndpoint extends ResourceOpQuery> = {
78
78
  result:
79
- TEndpoint extends ListEndpoint<'products'> ? Products[] :
80
- TEndpoint extends ListEndpoint<'categories'> ? Categories[] :
81
- TEndpoint extends ListEndpoint<'brands'> ? Brands[] :
82
- TEndpoint extends ListEndpoint<'collections'> ? Collections[] :
83
- TEndpoint extends ListEndpoint<'grids'> ? Grids[] :
84
- TEndpoint extends ListEndpoint<'carts'> ? Carts[] :
85
- TEndpoint extends ListEndpoint<'orders'> ? Orders[] :
86
- TEndpoint extends ListEndpoint<'customers'> ? Customers[] :
87
- TEndpoint extends ListEndpoint<'stores'> ? Stores[] :
88
- TEndpoint extends ListEndpoint<'applications'> ? Applications[] :
89
- TEndpoint extends ListEndpoint<'authentications'> ? Authentications[] :
79
+ TEndpoint extends ListEndpoint<'products'> ? ListResultDocs<Products> :
80
+ TEndpoint extends ListEndpoint<'categories'> ? ListResultDocs<Categories> :
81
+ TEndpoint extends ListEndpoint<'brands'> ? ListResultDocs<Brands> :
82
+ TEndpoint extends ListEndpoint<'collections'> ? ListResultDocs<Collections> :
83
+ TEndpoint extends ListEndpoint<'grids'> ? ListResultDocs<Grids> :
84
+ TEndpoint extends ListEndpoint<'carts'> ? ListResultDocs<Carts> :
85
+ TEndpoint extends ListEndpoint<'orders'> ? ListResultDocs<Orders> :
86
+ TEndpoint extends ListEndpoint<'customers'> ? ListResultDocs<Customers> :
87
+ TEndpoint extends ListEndpoint<'stores'> ? ListResultDocs<Stores> :
88
+ TEndpoint extends ListEndpoint<'applications'> ? ListResultDocs<Applications> :
89
+ TEndpoint extends ListEndpoint<'authentications'> ? ListResultDocs<Authentications> :
90
90
  never,
91
91
  meta: BaseListResultMeta & {
92
92
  count?: number,
@@ -154,6 +154,17 @@ type ResponseBody<TConfig extends Config> =
154
154
 
155
155
  type DocSchema<Document extends any> =
156
156
  Omit<Document, '_id' | 'store_id' | 'store_ids' | 'created_at' | 'updated_at'>;
157
+ type CustomerSet = DocSchema<Customers>;
158
+ type OrderSet = DocSchema<Orders>;
159
+ type CartSet = DocSchema<Carts>;
160
+ type ProductSet = DocSchema<Products>;
161
+ type CategorySet = DocSchema<Categories>;
162
+ type BrandSet = DocSchema<Brands>;
163
+ type CollectionSet = DocSchema<Collections>;
164
+ type GridSet = DocSchema<Grids>;
165
+ type StoreSet = DocSchema<Stores>;
166
+ type ApplicationSet = DocSchema<Applications>;
167
+ type AuthenticationSet = DocSchema<Authentications>;
157
168
 
158
169
  type SetDocEndpoint<TResource extends Resource> = TResource | `${TResource}/${ResourceId}`;
159
170
 
@@ -161,17 +172,17 @@ type RequestBody<TConfig extends Config> =
161
172
  TConfig['method'] extends undefined | 'get' | 'delete' ? undefined :
162
173
  TConfig['method'] extends 'patch' ? any : // TODO: partial body
163
174
  // method: 'post' | 'put'
164
- TConfig['endpoint'] extends SetDocEndpoint<'products'> ? DocSchema<Products> :
165
- TConfig['endpoint'] extends SetDocEndpoint<'categories'> ? DocSchema<Categories> :
166
- TConfig['endpoint'] extends SetDocEndpoint<'brands'> ? DocSchema<Brands> :
167
- TConfig['endpoint'] extends SetDocEndpoint<'collections'> ? DocSchema<Collections> :
168
- TConfig['endpoint'] extends SetDocEndpoint<'grids'> ? DocSchema<Grids> :
169
- TConfig['endpoint'] extends SetDocEndpoint<'carts'> ? DocSchema<Carts> :
170
- TConfig['endpoint'] extends SetDocEndpoint<'orders'> ? DocSchema<Orders> :
171
- TConfig['endpoint'] extends SetDocEndpoint<'customers'> ? DocSchema<Customers> :
172
- TConfig['endpoint'] extends SetDocEndpoint<'stores'> ? DocSchema<Stores> :
173
- TConfig['endpoint'] extends SetDocEndpoint<'applications'> ? DocSchema<Applications> :
174
- TConfig['endpoint'] extends SetDocEndpoint<'authentications'> ? DocSchema<Authentications> :
175
+ TConfig['endpoint'] extends SetDocEndpoint<'products'> ? ProductSet :
176
+ TConfig['endpoint'] extends SetDocEndpoint<'categories'> ? CategorySet :
177
+ TConfig['endpoint'] extends SetDocEndpoint<'brands'> ? BrandSet :
178
+ TConfig['endpoint'] extends SetDocEndpoint<'collections'> ? CollectionSet :
179
+ TConfig['endpoint'] extends SetDocEndpoint<'grids'> ? GridSet :
180
+ TConfig['endpoint'] extends SetDocEndpoint<'carts'> ? CartSet :
181
+ TConfig['endpoint'] extends SetDocEndpoint<'orders'> ? OrderSet :
182
+ TConfig['endpoint'] extends SetDocEndpoint<'customers'> ? CustomerSet :
183
+ TConfig['endpoint'] extends SetDocEndpoint<'stores'> ? StoreSet :
184
+ TConfig['endpoint'] extends SetDocEndpoint<'applications'> ? ApplicationSet :
185
+ TConfig['endpoint'] extends SetDocEndpoint<'authentications'> ? AuthenticationSet :
175
186
  any;
176
187
 
177
188
  type ErrorBody = {
@@ -197,6 +208,17 @@ export type {
197
208
  Stores,
198
209
  Applications,
199
210
  Authentications,
211
+ ProductSet,
212
+ CategorySet,
213
+ BrandSet,
214
+ CollectionSet,
215
+ GridSet,
216
+ CartSet,
217
+ OrderSet,
218
+ CustomerSet,
219
+ StoreSet,
220
+ ApplicationSet,
221
+ AuthenticationSet,
200
222
  Resource,
201
223
  ResourceId,
202
224
  ResourceAndId,