@digital8/lighting-illusions-ts-sdk 0.0.374 → 0.0.375

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.
Files changed (50) hide show
  1. package/.openapi-generator/FILES +10 -6
  2. package/README.md +7 -5
  3. package/dist/apis/ProductApi.d.ts +3 -3
  4. package/dist/apis/ProductApi.js +1 -1
  5. package/dist/models/AssetResource.d.ts +12 -0
  6. package/dist/models/AssetResource.js +8 -0
  7. package/dist/models/GetAllProductChildRequest.d.ts +7 -11
  8. package/dist/models/GetAllProductChildRequest.js +7 -11
  9. package/dist/models/PaginatedProductChildSiteDetailsListResourceResponse.d.ts +40 -0
  10. package/dist/models/PaginatedProductChildSiteDetailsListResourceResponse.js +57 -0
  11. package/dist/models/ProductChildResource.d.ts +3 -2
  12. package/dist/models/ProductChildResource.js +3 -2
  13. package/dist/models/ProductChildSiteDetailResource.d.ts +88 -0
  14. package/dist/models/ProductChildSiteDetailResource.js +89 -0
  15. package/dist/models/ProductChildSiteDetailResourceArrayResponse.d.ts +33 -0
  16. package/dist/models/ProductChildSiteDetailResourceArrayResponse.js +50 -0
  17. package/dist/models/ProductChildSiteDetailsListResource.d.ts +100 -0
  18. package/dist/models/ProductChildSiteDetailsListResource.js +97 -0
  19. package/dist/models/ProductChildSiteDetailsListResourceArrayResponse.d.ts +33 -0
  20. package/dist/models/ProductChildSiteDetailsListResourceArrayResponse.js +50 -0
  21. package/dist/models/index.d.ts +5 -3
  22. package/dist/models/index.js +5 -3
  23. package/docs/AssetResource.md +4 -0
  24. package/docs/{PaginatedProductChildLiteResourceResponse.md → PaginatedProductChildSiteDetailsListResourceResponse.md} +5 -5
  25. package/docs/ProductApi.md +2 -2
  26. package/docs/ProductChildResource.md +1 -1
  27. package/docs/ProductChildSiteDetailResource.md +52 -0
  28. package/docs/{ProductChildLiteResourceArrayResponse.md → ProductChildSiteDetailResourceArrayResponse.md} +5 -5
  29. package/docs/{ProductChildLiteResource.md → ProductChildSiteDetailsListResource.md} +16 -4
  30. package/docs/ProductChildSiteDetailsListResourceArrayResponse.md +34 -0
  31. package/package.json +1 -1
  32. package/src/apis/ProductApi.ts +6 -6
  33. package/src/models/AssetResource.ts +18 -0
  34. package/src/models/GetAllProductChildRequest.ts +7 -11
  35. package/src/models/PaginatedProductChildSiteDetailsListResourceResponse.ts +90 -0
  36. package/src/models/ProductChildResource.ts +11 -4
  37. package/src/models/ProductChildSiteDetailResource.ts +162 -0
  38. package/src/models/ProductChildSiteDetailResourceArrayResponse.ts +73 -0
  39. package/src/models/ProductChildSiteDetailsListResource.ts +180 -0
  40. package/src/models/ProductChildSiteDetailsListResourceArrayResponse.ts +73 -0
  41. package/src/models/index.ts +5 -3
  42. package/dist/models/PaginatedProductChildLiteResourceResponse.d.ts +0 -40
  43. package/dist/models/PaginatedProductChildLiteResourceResponse.js +0 -57
  44. package/dist/models/ProductChildLiteResource.d.ts +0 -63
  45. package/dist/models/ProductChildLiteResource.js +0 -72
  46. package/dist/models/ProductChildLiteResourceArrayResponse.d.ts +0 -33
  47. package/dist/models/ProductChildLiteResourceArrayResponse.js +0 -50
  48. package/src/models/PaginatedProductChildLiteResourceResponse.ts +0 -90
  49. package/src/models/ProductChildLiteResource.ts +0 -119
  50. package/src/models/ProductChildLiteResourceArrayResponse.ts +0 -73
@@ -69,6 +69,18 @@ export interface AssetResource {
69
69
  * @memberof AssetResource
70
70
  */
71
71
  assetFileId: number;
72
+ /**
73
+ *
74
+ * @type {boolean}
75
+ * @memberof AssetResource
76
+ */
77
+ isThumbnail: boolean;
78
+ /**
79
+ *
80
+ * @type {boolean}
81
+ * @memberof AssetResource
82
+ */
83
+ isLifestyle: boolean;
72
84
  /**
73
85
  *
74
86
  * @type {Array<OverlayTemplateLiteResource>}
@@ -88,6 +100,8 @@ export function instanceOfAssetResource(value: object): value is AssetResource {
88
100
  if (!('altText' in value) || value['altText'] === undefined) return false;
89
101
  if (!('index' in value) || value['index'] === undefined) return false;
90
102
  if (!('assetFileId' in value) || value['assetFileId'] === undefined) return false;
103
+ if (!('isThumbnail' in value) || value['isThumbnail'] === undefined) return false;
104
+ if (!('isLifestyle' in value) || value['isLifestyle'] === undefined) return false;
91
105
  if (!('overlayTemplates' in value) || value['overlayTemplates'] === undefined) return false;
92
106
  return true;
93
107
  }
@@ -109,6 +123,8 @@ export function AssetResourceFromJSONTyped(json: any, ignoreDiscriminator: boole
109
123
  'altText': json['altText'],
110
124
  'index': json['index'],
111
125
  'assetFileId': json['assetFileId'],
126
+ 'isThumbnail': json['isThumbnail'],
127
+ 'isLifestyle': json['isLifestyle'],
112
128
  'overlayTemplates': (json['overlayTemplates'] == null ? null : (json['overlayTemplates'] as Array<any>).map(OverlayTemplateLiteResourceFromJSON)),
113
129
  };
114
130
  }
@@ -131,6 +147,8 @@ export function AssetResourceToJSONTyped(value?: AssetResource | null, ignoreDis
131
147
  'altText': value['altText'],
132
148
  'index': value['index'],
133
149
  'assetFileId': value['assetFileId'],
150
+ 'isThumbnail': value['isThumbnail'],
151
+ 'isLifestyle': value['isLifestyle'],
134
152
  'overlayTemplates': (value['overlayTemplates'] == null ? null : (value['overlayTemplates'] as Array<any>).map(OverlayTemplateLiteResourceToJSON)),
135
153
  };
136
154
  }
@@ -57,18 +57,14 @@ export interface GetAllProductChildRequest {
57
57
  */
58
58
  export const GetAllProductChildRequestSortByEnum = {
59
59
  Id: 'id',
60
- Name: 'name',
60
+ ProductChildName: 'productChild.name',
61
61
  ParentName: 'parent.name',
62
- SiteDetailsName: 'siteDetails.name',
63
- SiteDetailsSlug: 'siteDetails.slug',
64
- Sku: 'sku',
65
- Model: 'model',
66
- NetsuiteId: 'netsuite_id',
67
- OmnisendId: 'omnisend_id',
68
- NewArrivalStartDate: 'new_arrival_start_date',
69
- NewArrivalEndDate: 'new_arrival_end_date',
70
- CreatedAt: 'created_at',
71
- UpdatedAt: 'updated_at'
62
+ Name: 'name',
63
+ Slug: 'slug',
64
+ ProductChildSku: 'productChild.sku',
65
+ ProductChildModel: 'productChild.model',
66
+ ProductChildNetsuiteId: 'productChild.netsuite_id',
67
+ ProductChildOmnisendId: 'productChild.omnisend_id'
72
68
  } as const;
73
69
  export type GetAllProductChildRequestSortByEnum = typeof GetAllProductChildRequestSortByEnum[keyof typeof GetAllProductChildRequestSortByEnum];
74
70
 
@@ -0,0 +1,90 @@
1
+ /* tslint:disable */
2
+ /* eslint-disable */
3
+ /**
4
+ * My API
5
+ * API documentation for my Laravel app
6
+ *
7
+ * The version of the OpenAPI document: 1.0.0
8
+ *
9
+ *
10
+ * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).
11
+ * https://openapi-generator.tech
12
+ * Do not edit the class manually.
13
+ */
14
+
15
+ import { mapValues } from '../runtime';
16
+ import type { PagingMetadata } from './PagingMetadata';
17
+ import {
18
+ PagingMetadataFromJSON,
19
+ PagingMetadataFromJSONTyped,
20
+ PagingMetadataToJSON,
21
+ PagingMetadataToJSONTyped,
22
+ } from './PagingMetadata';
23
+ import type { ProductChildSiteDetailsListResource } from './ProductChildSiteDetailsListResource';
24
+ import {
25
+ ProductChildSiteDetailsListResourceFromJSON,
26
+ ProductChildSiteDetailsListResourceFromJSONTyped,
27
+ ProductChildSiteDetailsListResourceToJSON,
28
+ ProductChildSiteDetailsListResourceToJSONTyped,
29
+ } from './ProductChildSiteDetailsListResource';
30
+
31
+ /**
32
+ *
33
+ * @export
34
+ * @interface PaginatedProductChildSiteDetailsListResourceResponse
35
+ */
36
+ export interface PaginatedProductChildSiteDetailsListResourceResponse {
37
+ /**
38
+ *
39
+ * @type {Array<ProductChildSiteDetailsListResource>}
40
+ * @memberof PaginatedProductChildSiteDetailsListResourceResponse
41
+ */
42
+ data: Array<ProductChildSiteDetailsListResource>;
43
+ /**
44
+ *
45
+ * @type {PagingMetadata}
46
+ * @memberof PaginatedProductChildSiteDetailsListResourceResponse
47
+ */
48
+ meta: PagingMetadata;
49
+ }
50
+
51
+ /**
52
+ * Check if a given object implements the PaginatedProductChildSiteDetailsListResourceResponse interface.
53
+ */
54
+ export function instanceOfPaginatedProductChildSiteDetailsListResourceResponse(value: object): value is PaginatedProductChildSiteDetailsListResourceResponse {
55
+ if (!('data' in value) || value['data'] === undefined) return false;
56
+ if (!('meta' in value) || value['meta'] === undefined) return false;
57
+ return true;
58
+ }
59
+
60
+ export function PaginatedProductChildSiteDetailsListResourceResponseFromJSON(json: any): PaginatedProductChildSiteDetailsListResourceResponse {
61
+ return PaginatedProductChildSiteDetailsListResourceResponseFromJSONTyped(json, false);
62
+ }
63
+
64
+ export function PaginatedProductChildSiteDetailsListResourceResponseFromJSONTyped(json: any, ignoreDiscriminator: boolean): PaginatedProductChildSiteDetailsListResourceResponse {
65
+ if (json == null) {
66
+ return json;
67
+ }
68
+ return {
69
+
70
+ 'data': ((json['data'] as Array<any>).map(ProductChildSiteDetailsListResourceFromJSON)),
71
+ 'meta': PagingMetadataFromJSON(json['meta']),
72
+ };
73
+ }
74
+
75
+ export function PaginatedProductChildSiteDetailsListResourceResponseToJSON(json: any): PaginatedProductChildSiteDetailsListResourceResponse {
76
+ return PaginatedProductChildSiteDetailsListResourceResponseToJSONTyped(json, false);
77
+ }
78
+
79
+ export function PaginatedProductChildSiteDetailsListResourceResponseToJSONTyped(value?: PaginatedProductChildSiteDetailsListResourceResponse | null, ignoreDiscriminator: boolean = false): any {
80
+ if (value == null) {
81
+ return value;
82
+ }
83
+
84
+ return {
85
+
86
+ 'data': ((value['data'] as Array<any>).map(ProductChildSiteDetailsListResourceToJSON)),
87
+ 'meta': PagingMetadataToJSON(value['meta']),
88
+ };
89
+ }
90
+
@@ -13,6 +13,13 @@
13
13
  */
14
14
 
15
15
  import { mapValues } from '../runtime';
16
+ import type { ProductChildSiteDetailResource } from './ProductChildSiteDetailResource';
17
+ import {
18
+ ProductChildSiteDetailResourceFromJSON,
19
+ ProductChildSiteDetailResourceFromJSONTyped,
20
+ ProductChildSiteDetailResourceToJSON,
21
+ ProductChildSiteDetailResourceToJSONTyped,
22
+ } from './ProductChildSiteDetailResource';
16
23
  import type { ModelAttributeResource } from './ModelAttributeResource';
17
24
  import {
18
25
  ModelAttributeResourceFromJSON,
@@ -169,10 +176,10 @@ export interface ProductChildResource {
169
176
  tags: object;
170
177
  /**
171
178
  *
172
- * @type {object}
179
+ * @type {Array<ProductChildSiteDetailResource>}
173
180
  * @memberof ProductChildResource
174
181
  */
175
- siteDetails: object;
182
+ siteDetails: Array<ProductChildSiteDetailResource> | null;
176
183
  /**
177
184
  *
178
185
  * @type {Array<ProductChildRelationResource>}
@@ -266,7 +273,7 @@ export function ProductChildResourceFromJSONTyped(json: any, ignoreDiscriminator
266
273
  'omnisendId': json['omnisendId'],
267
274
  'isDisabled': json['isDisabled'] == null ? undefined : json['isDisabled'],
268
275
  'tags': json['tags'],
269
- 'siteDetails': json['siteDetails'],
276
+ 'siteDetails': (json['siteDetails'] == null ? null : (json['siteDetails'] as Array<any>).map(ProductChildSiteDetailResourceFromJSON)),
270
277
  'accessories': (json['accessories'] == null ? null : (json['accessories'] as Array<any>).map(ProductChildRelationResourceFromJSON)),
271
278
  'compatibleProducts': (json['compatibleProducts'] == null ? null : (json['compatibleProducts'] as Array<any>).map(ProductChildRelationResourceFromJSON)),
272
279
  'assets': (json['assets'] == null ? null : (json['assets'] as Array<any>).map(AssetResourceFromJSON)),
@@ -307,7 +314,7 @@ export function ProductChildResourceToJSONTyped(value?: ProductChildResource | n
307
314
  'omnisendId': value['omnisendId'],
308
315
  'isDisabled': value['isDisabled'],
309
316
  'tags': value['tags'],
310
- 'siteDetails': value['siteDetails'],
317
+ 'siteDetails': (value['siteDetails'] == null ? null : (value['siteDetails'] as Array<any>).map(ProductChildSiteDetailResourceToJSON)),
311
318
  'accessories': (value['accessories'] == null ? null : (value['accessories'] as Array<any>).map(ProductChildRelationResourceToJSON)),
312
319
  'compatibleProducts': (value['compatibleProducts'] == null ? null : (value['compatibleProducts'] as Array<any>).map(ProductChildRelationResourceToJSON)),
313
320
  'assets': (value['assets'] == null ? null : (value['assets'] as Array<any>).map(AssetResourceToJSON)),
@@ -0,0 +1,162 @@
1
+ /* tslint:disable */
2
+ /* eslint-disable */
3
+ /**
4
+ * My API
5
+ * API documentation for my Laravel app
6
+ *
7
+ * The version of the OpenAPI document: 1.0.0
8
+ *
9
+ *
10
+ * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).
11
+ * https://openapi-generator.tech
12
+ * Do not edit the class manually.
13
+ */
14
+
15
+ import { mapValues } from '../runtime';
16
+ import type { SiteLiteResource } from './SiteLiteResource';
17
+ import {
18
+ SiteLiteResourceFromJSON,
19
+ SiteLiteResourceFromJSONTyped,
20
+ SiteLiteResourceToJSON,
21
+ SiteLiteResourceToJSONTyped,
22
+ } from './SiteLiteResource';
23
+ import type { SEOResource } from './SEOResource';
24
+ import {
25
+ SEOResourceFromJSON,
26
+ SEOResourceFromJSONTyped,
27
+ SEOResourceToJSON,
28
+ SEOResourceToJSONTyped,
29
+ } from './SEOResource';
30
+
31
+ /**
32
+ *
33
+ * @export
34
+ * @interface ProductChildSiteDetailResource
35
+ */
36
+ export interface ProductChildSiteDetailResource {
37
+ /**
38
+ *
39
+ * @type {number}
40
+ * @memberof ProductChildSiteDetailResource
41
+ */
42
+ id: number;
43
+ /**
44
+ *
45
+ * @type {SiteLiteResource}
46
+ * @memberof ProductChildSiteDetailResource
47
+ */
48
+ site: SiteLiteResource | null;
49
+ /**
50
+ *
51
+ * @type {string}
52
+ * @memberof ProductChildSiteDetailResource
53
+ */
54
+ name: string;
55
+ /**
56
+ *
57
+ * @type {string}
58
+ * @memberof ProductChildSiteDetailResource
59
+ */
60
+ slug: string;
61
+ /**
62
+ *
63
+ * @type {string}
64
+ * @memberof ProductChildSiteDetailResource
65
+ */
66
+ description: string;
67
+ /**
68
+ *
69
+ * @type {string}
70
+ * @memberof ProductChildSiteDetailResource
71
+ */
72
+ displayName: string;
73
+ /**
74
+ *
75
+ * @type {number}
76
+ * @memberof ProductChildSiteDetailResource
77
+ */
78
+ rrpPrice: number;
79
+ /**
80
+ *
81
+ * @type {number}
82
+ * @memberof ProductChildSiteDetailResource
83
+ */
84
+ salePrice: number;
85
+ /**
86
+ *
87
+ * @type {boolean}
88
+ * @memberof ProductChildSiteDetailResource
89
+ */
90
+ isDisabled: boolean;
91
+ /**
92
+ *
93
+ * @type {SEOResource}
94
+ * @memberof ProductChildSiteDetailResource
95
+ */
96
+ seo: SEOResource | null;
97
+ }
98
+
99
+ /**
100
+ * Check if a given object implements the ProductChildSiteDetailResource interface.
101
+ */
102
+ export function instanceOfProductChildSiteDetailResource(value: object): value is ProductChildSiteDetailResource {
103
+ if (!('id' in value) || value['id'] === undefined) return false;
104
+ if (!('site' in value) || value['site'] === undefined) return false;
105
+ if (!('name' in value) || value['name'] === undefined) return false;
106
+ if (!('slug' in value) || value['slug'] === undefined) return false;
107
+ if (!('description' in value) || value['description'] === undefined) return false;
108
+ if (!('displayName' in value) || value['displayName'] === undefined) return false;
109
+ if (!('rrpPrice' in value) || value['rrpPrice'] === undefined) return false;
110
+ if (!('salePrice' in value) || value['salePrice'] === undefined) return false;
111
+ if (!('isDisabled' in value) || value['isDisabled'] === undefined) return false;
112
+ if (!('seo' in value) || value['seo'] === undefined) return false;
113
+ return true;
114
+ }
115
+
116
+ export function ProductChildSiteDetailResourceFromJSON(json: any): ProductChildSiteDetailResource {
117
+ return ProductChildSiteDetailResourceFromJSONTyped(json, false);
118
+ }
119
+
120
+ export function ProductChildSiteDetailResourceFromJSONTyped(json: any, ignoreDiscriminator: boolean): ProductChildSiteDetailResource {
121
+ if (json == null) {
122
+ return json;
123
+ }
124
+ return {
125
+
126
+ 'id': json['id'],
127
+ 'site': SiteLiteResourceFromJSON(json['site']),
128
+ 'name': json['name'],
129
+ 'slug': json['slug'],
130
+ 'description': json['description'],
131
+ 'displayName': json['displayName'],
132
+ 'rrpPrice': json['rrpPrice'],
133
+ 'salePrice': json['salePrice'],
134
+ 'isDisabled': json['isDisabled'],
135
+ 'seo': SEOResourceFromJSON(json['seo']),
136
+ };
137
+ }
138
+
139
+ export function ProductChildSiteDetailResourceToJSON(json: any): ProductChildSiteDetailResource {
140
+ return ProductChildSiteDetailResourceToJSONTyped(json, false);
141
+ }
142
+
143
+ export function ProductChildSiteDetailResourceToJSONTyped(value?: ProductChildSiteDetailResource | null, ignoreDiscriminator: boolean = false): any {
144
+ if (value == null) {
145
+ return value;
146
+ }
147
+
148
+ return {
149
+
150
+ 'id': value['id'],
151
+ 'site': SiteLiteResourceToJSON(value['site']),
152
+ 'name': value['name'],
153
+ 'slug': value['slug'],
154
+ 'description': value['description'],
155
+ 'displayName': value['displayName'],
156
+ 'rrpPrice': value['rrpPrice'],
157
+ 'salePrice': value['salePrice'],
158
+ 'isDisabled': value['isDisabled'],
159
+ 'seo': SEOResourceToJSON(value['seo']),
160
+ };
161
+ }
162
+
@@ -0,0 +1,73 @@
1
+ /* tslint:disable */
2
+ /* eslint-disable */
3
+ /**
4
+ * My API
5
+ * API documentation for my Laravel app
6
+ *
7
+ * The version of the OpenAPI document: 1.0.0
8
+ *
9
+ *
10
+ * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).
11
+ * https://openapi-generator.tech
12
+ * Do not edit the class manually.
13
+ */
14
+
15
+ import { mapValues } from '../runtime';
16
+ import type { ProductChildSiteDetailResource } from './ProductChildSiteDetailResource';
17
+ import {
18
+ ProductChildSiteDetailResourceFromJSON,
19
+ ProductChildSiteDetailResourceFromJSONTyped,
20
+ ProductChildSiteDetailResourceToJSON,
21
+ ProductChildSiteDetailResourceToJSONTyped,
22
+ } from './ProductChildSiteDetailResource';
23
+
24
+ /**
25
+ *
26
+ * @export
27
+ * @interface ProductChildSiteDetailResourceArrayResponse
28
+ */
29
+ export interface ProductChildSiteDetailResourceArrayResponse {
30
+ /**
31
+ *
32
+ * @type {Array<ProductChildSiteDetailResource>}
33
+ * @memberof ProductChildSiteDetailResourceArrayResponse
34
+ */
35
+ data?: Array<ProductChildSiteDetailResource>;
36
+ }
37
+
38
+ /**
39
+ * Check if a given object implements the ProductChildSiteDetailResourceArrayResponse interface.
40
+ */
41
+ export function instanceOfProductChildSiteDetailResourceArrayResponse(value: object): value is ProductChildSiteDetailResourceArrayResponse {
42
+ return true;
43
+ }
44
+
45
+ export function ProductChildSiteDetailResourceArrayResponseFromJSON(json: any): ProductChildSiteDetailResourceArrayResponse {
46
+ return ProductChildSiteDetailResourceArrayResponseFromJSONTyped(json, false);
47
+ }
48
+
49
+ export function ProductChildSiteDetailResourceArrayResponseFromJSONTyped(json: any, ignoreDiscriminator: boolean): ProductChildSiteDetailResourceArrayResponse {
50
+ if (json == null) {
51
+ return json;
52
+ }
53
+ return {
54
+
55
+ 'data': json['data'] == null ? undefined : ((json['data'] as Array<any>).map(ProductChildSiteDetailResourceFromJSON)),
56
+ };
57
+ }
58
+
59
+ export function ProductChildSiteDetailResourceArrayResponseToJSON(json: any): ProductChildSiteDetailResourceArrayResponse {
60
+ return ProductChildSiteDetailResourceArrayResponseToJSONTyped(json, false);
61
+ }
62
+
63
+ export function ProductChildSiteDetailResourceArrayResponseToJSONTyped(value?: ProductChildSiteDetailResourceArrayResponse | null, ignoreDiscriminator: boolean = false): any {
64
+ if (value == null) {
65
+ return value;
66
+ }
67
+
68
+ return {
69
+
70
+ 'data': value['data'] == null ? undefined : ((value['data'] as Array<any>).map(ProductChildSiteDetailResourceToJSON)),
71
+ };
72
+ }
73
+
@@ -0,0 +1,180 @@
1
+ /* tslint:disable */
2
+ /* eslint-disable */
3
+ /**
4
+ * My API
5
+ * API documentation for my Laravel app
6
+ *
7
+ * The version of the OpenAPI document: 1.0.0
8
+ *
9
+ *
10
+ * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).
11
+ * https://openapi-generator.tech
12
+ * Do not edit the class manually.
13
+ */
14
+
15
+ import { mapValues } from '../runtime';
16
+ import type { SiteLiteResource } from './SiteLiteResource';
17
+ import {
18
+ SiteLiteResourceFromJSON,
19
+ SiteLiteResourceFromJSONTyped,
20
+ SiteLiteResourceToJSON,
21
+ SiteLiteResourceToJSONTyped,
22
+ } from './SiteLiteResource';
23
+ import type { AssetResource } from './AssetResource';
24
+ import {
25
+ AssetResourceFromJSON,
26
+ AssetResourceFromJSONTyped,
27
+ AssetResourceToJSON,
28
+ AssetResourceToJSONTyped,
29
+ } from './AssetResource';
30
+
31
+ /**
32
+ *
33
+ * @export
34
+ * @interface ProductChildSiteDetailsListResource
35
+ */
36
+ export interface ProductChildSiteDetailsListResource {
37
+ /**
38
+ *
39
+ * @type {number}
40
+ * @memberof ProductChildSiteDetailsListResource
41
+ */
42
+ id: number;
43
+ /**
44
+ *
45
+ * @type {string}
46
+ * @memberof ProductChildSiteDetailsListResource
47
+ */
48
+ parentName: string;
49
+ /**
50
+ *
51
+ * @type {string}
52
+ * @memberof ProductChildSiteDetailsListResource
53
+ */
54
+ name: string;
55
+ /**
56
+ *
57
+ * @type {string}
58
+ * @memberof ProductChildSiteDetailsListResource
59
+ */
60
+ modelNumber: string;
61
+ /**
62
+ *
63
+ * @type {number}
64
+ * @memberof ProductChildSiteDetailsListResource
65
+ */
66
+ sku: number;
67
+ /**
68
+ *
69
+ * @type {number}
70
+ * @memberof ProductChildSiteDetailsListResource
71
+ */
72
+ stock: number;
73
+ /**
74
+ *
75
+ * @type {number}
76
+ * @memberof ProductChildSiteDetailsListResource
77
+ */
78
+ netsuiteId: number;
79
+ /**
80
+ *
81
+ * @type {AssetResource}
82
+ * @memberof ProductChildSiteDetailsListResource
83
+ */
84
+ thumbnail: AssetResource | null;
85
+ /**
86
+ *
87
+ * @type {SiteLiteResource}
88
+ * @memberof ProductChildSiteDetailsListResource
89
+ */
90
+ site: SiteLiteResource | null;
91
+ /**
92
+ *
93
+ * @type {number}
94
+ * @memberof ProductChildSiteDetailsListResource
95
+ */
96
+ rrpPrice: number;
97
+ /**
98
+ *
99
+ * @type {number}
100
+ * @memberof ProductChildSiteDetailsListResource
101
+ */
102
+ salePrice: number;
103
+ /**
104
+ *
105
+ * @type {string}
106
+ * @memberof ProductChildSiteDetailsListResource
107
+ */
108
+ slug: string;
109
+ }
110
+
111
+ /**
112
+ * Check if a given object implements the ProductChildSiteDetailsListResource interface.
113
+ */
114
+ export function instanceOfProductChildSiteDetailsListResource(value: object): value is ProductChildSiteDetailsListResource {
115
+ if (!('id' in value) || value['id'] === undefined) return false;
116
+ if (!('parentName' in value) || value['parentName'] === undefined) return false;
117
+ if (!('name' in value) || value['name'] === undefined) return false;
118
+ if (!('modelNumber' in value) || value['modelNumber'] === undefined) return false;
119
+ if (!('sku' in value) || value['sku'] === undefined) return false;
120
+ if (!('stock' in value) || value['stock'] === undefined) return false;
121
+ if (!('netsuiteId' in value) || value['netsuiteId'] === undefined) return false;
122
+ if (!('thumbnail' in value) || value['thumbnail'] === undefined) return false;
123
+ if (!('site' in value) || value['site'] === undefined) return false;
124
+ if (!('rrpPrice' in value) || value['rrpPrice'] === undefined) return false;
125
+ if (!('salePrice' in value) || value['salePrice'] === undefined) return false;
126
+ if (!('slug' in value) || value['slug'] === undefined) return false;
127
+ return true;
128
+ }
129
+
130
+ export function ProductChildSiteDetailsListResourceFromJSON(json: any): ProductChildSiteDetailsListResource {
131
+ return ProductChildSiteDetailsListResourceFromJSONTyped(json, false);
132
+ }
133
+
134
+ export function ProductChildSiteDetailsListResourceFromJSONTyped(json: any, ignoreDiscriminator: boolean): ProductChildSiteDetailsListResource {
135
+ if (json == null) {
136
+ return json;
137
+ }
138
+ return {
139
+
140
+ 'id': json['id'],
141
+ 'parentName': json['parentName'],
142
+ 'name': json['name'],
143
+ 'modelNumber': json['modelNumber'],
144
+ 'sku': json['sku'],
145
+ 'stock': json['stock'],
146
+ 'netsuiteId': json['netsuiteId'],
147
+ 'thumbnail': AssetResourceFromJSON(json['thumbnail']),
148
+ 'site': SiteLiteResourceFromJSON(json['site']),
149
+ 'rrpPrice': json['rrpPrice'],
150
+ 'salePrice': json['salePrice'],
151
+ 'slug': json['slug'],
152
+ };
153
+ }
154
+
155
+ export function ProductChildSiteDetailsListResourceToJSON(json: any): ProductChildSiteDetailsListResource {
156
+ return ProductChildSiteDetailsListResourceToJSONTyped(json, false);
157
+ }
158
+
159
+ export function ProductChildSiteDetailsListResourceToJSONTyped(value?: ProductChildSiteDetailsListResource | null, ignoreDiscriminator: boolean = false): any {
160
+ if (value == null) {
161
+ return value;
162
+ }
163
+
164
+ return {
165
+
166
+ 'id': value['id'],
167
+ 'parentName': value['parentName'],
168
+ 'name': value['name'],
169
+ 'modelNumber': value['modelNumber'],
170
+ 'sku': value['sku'],
171
+ 'stock': value['stock'],
172
+ 'netsuiteId': value['netsuiteId'],
173
+ 'thumbnail': AssetResourceToJSON(value['thumbnail']),
174
+ 'site': SiteLiteResourceToJSON(value['site']),
175
+ 'rrpPrice': value['rrpPrice'],
176
+ 'salePrice': value['salePrice'],
177
+ 'slug': value['slug'],
178
+ };
179
+ }
180
+