@digital8/lighting-illusions-ts-sdk 0.0.2179 → 0.0.2180

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 (89) hide show
  1. package/.openapi-generator/FILES +32 -0
  2. package/README.md +23 -2
  3. package/dist/apis/CouponsApi.d.ts +116 -0
  4. package/dist/apis/CouponsApi.js +440 -0
  5. package/dist/apis/index.d.ts +1 -0
  6. package/dist/apis/index.js +1 -0
  7. package/dist/models/AddressResource.d.ts +1 -1
  8. package/dist/models/AddressResource.js +3 -1
  9. package/dist/models/CouponListResource.d.ts +87 -0
  10. package/dist/models/CouponListResource.js +82 -0
  11. package/dist/models/CouponListResourceArrayResponse.d.ts +33 -0
  12. package/dist/models/CouponListResourceArrayResponse.js +50 -0
  13. package/dist/models/CouponLiteResource.d.ts +44 -0
  14. package/dist/models/CouponLiteResource.js +57 -0
  15. package/dist/models/CouponLiteResourceArrayResponse.d.ts +33 -0
  16. package/dist/models/CouponLiteResourceArrayResponse.js +50 -0
  17. package/dist/models/CouponResource.d.ts +166 -0
  18. package/dist/models/CouponResource.js +135 -0
  19. package/dist/models/CouponResourceArrayResponse.d.ts +33 -0
  20. package/dist/models/CouponResourceArrayResponse.js +50 -0
  21. package/dist/models/CouponType.d.ts +26 -0
  22. package/dist/models/CouponType.js +52 -0
  23. package/dist/models/CreateCouponRequest.d.ts +134 -0
  24. package/dist/models/CreateCouponRequest.js +114 -0
  25. package/dist/models/CreateCouponRequestCouponablesInner.d.ts +48 -0
  26. package/dist/models/CreateCouponRequestCouponablesInner.js +61 -0
  27. package/dist/models/OrderFulfillmentResource.d.ts +1 -1
  28. package/dist/models/OrderFulfillmentResource.js +3 -1
  29. package/dist/models/PaginatedCouponListResourceResponse.d.ts +40 -0
  30. package/dist/models/PaginatedCouponListResourceResponse.js +57 -0
  31. package/dist/models/PaginatedCouponLiteResourceResponse.d.ts +40 -0
  32. package/dist/models/PaginatedCouponLiteResourceResponse.js +57 -0
  33. package/dist/models/PaginatedCouponResourceResponse.d.ts +40 -0
  34. package/dist/models/PaginatedCouponResourceResponse.js +57 -0
  35. package/dist/models/SearchAllCouponsRequest.d.ts +101 -0
  36. package/dist/models/SearchAllCouponsRequest.js +85 -0
  37. package/dist/models/SearchCouponsRequest.d.ts +137 -0
  38. package/dist/models/SearchCouponsRequest.js +97 -0
  39. package/dist/models/StoreFrontendResource.d.ts +1 -1
  40. package/dist/models/StoreFrontendResource.js +1 -3
  41. package/dist/models/StoreResource.d.ts +1 -1
  42. package/dist/models/StoreResource.js +1 -3
  43. package/dist/models/StoreSpecialDateResource.d.ts +2 -2
  44. package/dist/models/StoreSpecialDateResource.js +1 -3
  45. package/dist/models/UpdateCouponRequest.d.ts +128 -0
  46. package/dist/models/UpdateCouponRequest.js +110 -0
  47. package/dist/models/index.d.ts +15 -0
  48. package/dist/models/index.js +15 -0
  49. package/docs/CouponListResource.md +52 -0
  50. package/docs/CouponListResourceArrayResponse.md +34 -0
  51. package/docs/CouponLiteResource.md +38 -0
  52. package/docs/CouponLiteResourceArrayResponse.md +34 -0
  53. package/docs/CouponResource.md +78 -0
  54. package/docs/CouponResourceArrayResponse.md +34 -0
  55. package/docs/CouponType.md +32 -0
  56. package/docs/CouponsApi.md +407 -0
  57. package/docs/CreateCouponRequest.md +62 -0
  58. package/docs/CreateCouponRequestCouponablesInner.md +36 -0
  59. package/docs/PaginatedCouponListResourceResponse.md +36 -0
  60. package/docs/PaginatedCouponLiteResourceResponse.md +36 -0
  61. package/docs/PaginatedCouponResourceResponse.md +36 -0
  62. package/docs/SearchAllCouponsRequest.md +50 -0
  63. package/docs/SearchCouponsRequest.md +62 -0
  64. package/docs/StoreSpecialDateResource.md +1 -1
  65. package/docs/UpdateCouponRequest.md +60 -0
  66. package/package.json +1 -1
  67. package/src/apis/CouponsApi.ts +345 -0
  68. package/src/apis/index.ts +1 -0
  69. package/src/models/AddressResource.ts +3 -2
  70. package/src/models/CouponListResource.ts +152 -0
  71. package/src/models/CouponListResourceArrayResponse.ts +73 -0
  72. package/src/models/CouponLiteResource.ts +83 -0
  73. package/src/models/CouponLiteResourceArrayResponse.ts +73 -0
  74. package/src/models/CouponResource.ts +276 -0
  75. package/src/models/CouponResourceArrayResponse.ts +73 -0
  76. package/src/models/CouponType.ts +54 -0
  77. package/src/models/CreateCouponRequest.ts +216 -0
  78. package/src/models/CreateCouponRequestCouponablesInner.ts +86 -0
  79. package/src/models/OrderFulfillmentResource.ts +3 -2
  80. package/src/models/PaginatedCouponListResourceResponse.ts +90 -0
  81. package/src/models/PaginatedCouponLiteResourceResponse.ts +90 -0
  82. package/src/models/PaginatedCouponResourceResponse.ts +90 -0
  83. package/src/models/SearchAllCouponsRequest.ts +154 -0
  84. package/src/models/SearchCouponsRequest.ts +202 -0
  85. package/src/models/StoreFrontendResource.ts +2 -3
  86. package/src/models/StoreResource.ts +2 -3
  87. package/src/models/StoreSpecialDateResource.ts +3 -4
  88. package/src/models/UpdateCouponRequest.ts +207 -0
  89. package/src/models/index.ts +15 -0
@@ -0,0 +1,154 @@
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
+ /**
17
+ *
18
+ * @export
19
+ * @interface SearchAllCouponsRequest
20
+ */
21
+ export interface SearchAllCouponsRequest {
22
+ /**
23
+ *
24
+ * @type {string}
25
+ * @memberof SearchAllCouponsRequest
26
+ */
27
+ search?: string | null;
28
+ /**
29
+ *
30
+ * @type {SearchAllCouponsRequestSortByEnum}
31
+ * @memberof SearchAllCouponsRequest
32
+ */
33
+ sortBy?: SearchAllCouponsRequestSortByEnum;
34
+ /**
35
+ *
36
+ * @type {SearchAllCouponsRequestSortDirectionEnum}
37
+ * @memberof SearchAllCouponsRequest
38
+ */
39
+ sortDirection?: SearchAllCouponsRequestSortDirectionEnum;
40
+ /**
41
+ *
42
+ * @type {number}
43
+ * @memberof SearchAllCouponsRequest
44
+ */
45
+ relatedId?: number;
46
+ /**
47
+ *
48
+ * @type {string}
49
+ * @memberof SearchAllCouponsRequest
50
+ */
51
+ relatedType?: string;
52
+ /**
53
+ *
54
+ * @type {boolean}
55
+ * @memberof SearchAllCouponsRequest
56
+ */
57
+ includesRelations?: boolean;
58
+ /**
59
+ *
60
+ * @type {Array<string>}
61
+ * @memberof SearchAllCouponsRequest
62
+ */
63
+ type?: Array<string>;
64
+ /**
65
+ *
66
+ * @type {Array<string>}
67
+ * @memberof SearchAllCouponsRequest
68
+ */
69
+ siteId?: Array<string>;
70
+ /**
71
+ *
72
+ * @type {Array<string>}
73
+ * @memberof SearchAllCouponsRequest
74
+ */
75
+ isAbandonedCart?: Array<string>;
76
+ }
77
+
78
+
79
+ /**
80
+ * @export
81
+ */
82
+ export const SearchAllCouponsRequestSortByEnum = {
83
+ Id: 'id',
84
+ Name: 'name',
85
+ Code: 'code',
86
+ Type: 'type',
87
+ StartDate: 'start_date',
88
+ EndDate: 'end_date',
89
+ CreatedAt: 'created_at'
90
+ } as const;
91
+ export type SearchAllCouponsRequestSortByEnum = typeof SearchAllCouponsRequestSortByEnum[keyof typeof SearchAllCouponsRequestSortByEnum];
92
+
93
+ /**
94
+ * @export
95
+ */
96
+ export const SearchAllCouponsRequestSortDirectionEnum = {
97
+ Asc: 'asc',
98
+ Desc: 'desc'
99
+ } as const;
100
+ export type SearchAllCouponsRequestSortDirectionEnum = typeof SearchAllCouponsRequestSortDirectionEnum[keyof typeof SearchAllCouponsRequestSortDirectionEnum];
101
+
102
+
103
+ /**
104
+ * Check if a given object implements the SearchAllCouponsRequest interface.
105
+ */
106
+ export function instanceOfSearchAllCouponsRequest(value: object): value is SearchAllCouponsRequest {
107
+ return true;
108
+ }
109
+
110
+ export function SearchAllCouponsRequestFromJSON(json: any): SearchAllCouponsRequest {
111
+ return SearchAllCouponsRequestFromJSONTyped(json, false);
112
+ }
113
+
114
+ export function SearchAllCouponsRequestFromJSONTyped(json: any, ignoreDiscriminator: boolean): SearchAllCouponsRequest {
115
+ if (json == null) {
116
+ return json;
117
+ }
118
+ return {
119
+
120
+ 'search': json['search'] == null ? undefined : json['search'],
121
+ 'sortBy': json['sortBy'] == null ? undefined : json['sortBy'],
122
+ 'sortDirection': json['sortDirection'] == null ? undefined : json['sortDirection'],
123
+ 'relatedId': json['related_id'] == null ? undefined : json['related_id'],
124
+ 'relatedType': json['related_type'] == null ? undefined : json['related_type'],
125
+ 'includesRelations': json['includes_relations'] == null ? undefined : json['includes_relations'],
126
+ 'type': json['type'] == null ? undefined : json['type'],
127
+ 'siteId': json['site_id'] == null ? undefined : json['site_id'],
128
+ 'isAbandonedCart': json['is_abandoned_cart'] == null ? undefined : json['is_abandoned_cart'],
129
+ };
130
+ }
131
+
132
+ export function SearchAllCouponsRequestToJSON(json: any): SearchAllCouponsRequest {
133
+ return SearchAllCouponsRequestToJSONTyped(json, false);
134
+ }
135
+
136
+ export function SearchAllCouponsRequestToJSONTyped(value?: SearchAllCouponsRequest | null, ignoreDiscriminator: boolean = false): any {
137
+ if (value == null) {
138
+ return value;
139
+ }
140
+
141
+ return {
142
+
143
+ 'search': value['search'],
144
+ 'sortBy': value['sortBy'],
145
+ 'sortDirection': value['sortDirection'],
146
+ 'related_id': value['relatedId'],
147
+ 'related_type': value['relatedType'],
148
+ 'includes_relations': value['includesRelations'],
149
+ 'type': value['type'],
150
+ 'site_id': value['siteId'],
151
+ 'is_abandoned_cart': value['isAbandonedCart'],
152
+ };
153
+ }
154
+
@@ -0,0 +1,202 @@
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
+ /**
17
+ *
18
+ * @export
19
+ * @interface SearchCouponsRequest
20
+ */
21
+ export interface SearchCouponsRequest {
22
+ /**
23
+ *
24
+ * @type {string}
25
+ * @memberof SearchCouponsRequest
26
+ */
27
+ search?: string | null;
28
+ /**
29
+ *
30
+ * @type {SearchCouponsRequestSortByEnum}
31
+ * @memberof SearchCouponsRequest
32
+ */
33
+ sortBy?: SearchCouponsRequestSortByEnum;
34
+ /**
35
+ *
36
+ * @type {SearchCouponsRequestSortDirectionEnum}
37
+ * @memberof SearchCouponsRequest
38
+ */
39
+ sortDirection?: SearchCouponsRequestSortDirectionEnum;
40
+ /**
41
+ *
42
+ * @type {number}
43
+ * @memberof SearchCouponsRequest
44
+ */
45
+ perPage?: number;
46
+ /**
47
+ *
48
+ * @type {number}
49
+ * @memberof SearchCouponsRequest
50
+ */
51
+ page?: number;
52
+ /**
53
+ *
54
+ * @type {Array<string>}
55
+ * @memberof SearchCouponsRequest
56
+ */
57
+ type?: Array<string>;
58
+ /**
59
+ *
60
+ * @type {Array<string>}
61
+ * @memberof SearchCouponsRequest
62
+ */
63
+ siteId?: Array<string>;
64
+ /**
65
+ *
66
+ * @type {Array<string>}
67
+ * @memberof SearchCouponsRequest
68
+ */
69
+ isAbandonedCart?: Array<string>;
70
+ /**
71
+ *
72
+ * @type {Date}
73
+ * @memberof SearchCouponsRequest
74
+ */
75
+ beforeStartDate?: Date;
76
+ /**
77
+ *
78
+ * @type {Date}
79
+ * @memberof SearchCouponsRequest
80
+ */
81
+ afterStartDate?: Date;
82
+ /**
83
+ *
84
+ * @type {Date}
85
+ * @memberof SearchCouponsRequest
86
+ */
87
+ beforeEndDate?: Date;
88
+ /**
89
+ *
90
+ * @type {Date}
91
+ * @memberof SearchCouponsRequest
92
+ */
93
+ afterEndDate?: Date;
94
+ /**
95
+ *
96
+ * @type {number}
97
+ * @memberof SearchCouponsRequest
98
+ */
99
+ relatedId?: number;
100
+ /**
101
+ *
102
+ * @type {string}
103
+ * @memberof SearchCouponsRequest
104
+ */
105
+ relatedType?: string;
106
+ /**
107
+ *
108
+ * @type {boolean}
109
+ * @memberof SearchCouponsRequest
110
+ */
111
+ includesRelations?: boolean;
112
+ }
113
+
114
+
115
+ /**
116
+ * @export
117
+ */
118
+ export const SearchCouponsRequestSortByEnum = {
119
+ Id: 'id',
120
+ Name: 'name',
121
+ Code: 'code',
122
+ Type: 'type',
123
+ StartDate: 'start_date',
124
+ EndDate: 'end_date',
125
+ CreatedAt: 'created_at'
126
+ } as const;
127
+ export type SearchCouponsRequestSortByEnum = typeof SearchCouponsRequestSortByEnum[keyof typeof SearchCouponsRequestSortByEnum];
128
+
129
+ /**
130
+ * @export
131
+ */
132
+ export const SearchCouponsRequestSortDirectionEnum = {
133
+ Asc: 'asc',
134
+ Desc: 'desc'
135
+ } as const;
136
+ export type SearchCouponsRequestSortDirectionEnum = typeof SearchCouponsRequestSortDirectionEnum[keyof typeof SearchCouponsRequestSortDirectionEnum];
137
+
138
+
139
+ /**
140
+ * Check if a given object implements the SearchCouponsRequest interface.
141
+ */
142
+ export function instanceOfSearchCouponsRequest(value: object): value is SearchCouponsRequest {
143
+ return true;
144
+ }
145
+
146
+ export function SearchCouponsRequestFromJSON(json: any): SearchCouponsRequest {
147
+ return SearchCouponsRequestFromJSONTyped(json, false);
148
+ }
149
+
150
+ export function SearchCouponsRequestFromJSONTyped(json: any, ignoreDiscriminator: boolean): SearchCouponsRequest {
151
+ if (json == null) {
152
+ return json;
153
+ }
154
+ return {
155
+
156
+ 'search': json['search'] == null ? undefined : json['search'],
157
+ 'sortBy': json['sortBy'] == null ? undefined : json['sortBy'],
158
+ 'sortDirection': json['sortDirection'] == null ? undefined : json['sortDirection'],
159
+ 'perPage': json['per_page'] == null ? undefined : json['per_page'],
160
+ 'page': json['page'] == null ? undefined : json['page'],
161
+ 'type': json['type'] == null ? undefined : json['type'],
162
+ 'siteId': json['site_id'] == null ? undefined : json['site_id'],
163
+ 'isAbandonedCart': json['is_abandoned_cart'] == null ? undefined : json['is_abandoned_cart'],
164
+ 'beforeStartDate': json['before_start_date'] == null ? undefined : (new Date(json['before_start_date'])),
165
+ 'afterStartDate': json['after_start_date'] == null ? undefined : (new Date(json['after_start_date'])),
166
+ 'beforeEndDate': json['before_end_date'] == null ? undefined : (new Date(json['before_end_date'])),
167
+ 'afterEndDate': json['after_end_date'] == null ? undefined : (new Date(json['after_end_date'])),
168
+ 'relatedId': json['related_id'] == null ? undefined : json['related_id'],
169
+ 'relatedType': json['related_type'] == null ? undefined : json['related_type'],
170
+ 'includesRelations': json['includes_relations'] == null ? undefined : json['includes_relations'],
171
+ };
172
+ }
173
+
174
+ export function SearchCouponsRequestToJSON(json: any): SearchCouponsRequest {
175
+ return SearchCouponsRequestToJSONTyped(json, false);
176
+ }
177
+
178
+ export function SearchCouponsRequestToJSONTyped(value?: SearchCouponsRequest | null, ignoreDiscriminator: boolean = false): any {
179
+ if (value == null) {
180
+ return value;
181
+ }
182
+
183
+ return {
184
+
185
+ 'search': value['search'],
186
+ 'sortBy': value['sortBy'],
187
+ 'sortDirection': value['sortDirection'],
188
+ 'per_page': value['perPage'],
189
+ 'page': value['page'],
190
+ 'type': value['type'],
191
+ 'site_id': value['siteId'],
192
+ 'is_abandoned_cart': value['isAbandonedCart'],
193
+ 'before_start_date': value['beforeStartDate'] == null ? value['beforeStartDate'] : value['beforeStartDate'].toISOString(),
194
+ 'after_start_date': value['afterStartDate'] == null ? value['afterStartDate'] : value['afterStartDate'].toISOString(),
195
+ 'before_end_date': value['beforeEndDate'] == null ? value['beforeEndDate'] : value['beforeEndDate'].toISOString(),
196
+ 'after_end_date': value['afterEndDate'] == null ? value['afterEndDate'] : value['afterEndDate'].toISOString(),
197
+ 'related_id': value['relatedId'],
198
+ 'related_type': value['relatedType'],
199
+ 'includes_relations': value['includesRelations'],
200
+ };
201
+ }
202
+
@@ -48,7 +48,7 @@ export interface StoreFrontendResource {
48
48
  * @type {string}
49
49
  * @memberof StoreFrontendResource
50
50
  */
51
- website: string;
51
+ website?: string | null;
52
52
  /**
53
53
  *
54
54
  * @type {string}
@@ -106,7 +106,6 @@ export function instanceOfStoreFrontendResource(value: object): value is StoreFr
106
106
  if (!('siteId' in value) || value['siteId'] === undefined) return false;
107
107
  if (!('name' in value) || value['name'] === undefined) return false;
108
108
  if (!('email' in value) || value['email'] === undefined) return false;
109
- if (!('website' in value) || value['website'] === undefined) return false;
110
109
  if (!('phone' in value) || value['phone'] === undefined) return false;
111
110
  if (!('latitude' in value) || value['latitude'] === undefined) return false;
112
111
  if (!('longitude' in value) || value['longitude'] === undefined) return false;
@@ -130,7 +129,7 @@ export function StoreFrontendResourceFromJSONTyped(json: any, ignoreDiscriminato
130
129
  'siteId': json['siteId'],
131
130
  'name': json['name'],
132
131
  'email': json['email'],
133
- 'website': json['website'],
132
+ 'website': json['website'] == null ? undefined : json['website'],
134
133
  'phone': json['phone'],
135
134
  'address': json['address'] == null ? undefined : json['address'],
136
135
  'latitude': json['latitude'],
@@ -101,7 +101,7 @@ export interface StoreResource {
101
101
  * @type {string}
102
102
  * @memberof StoreResource
103
103
  */
104
- website: string;
104
+ website?: string | null;
105
105
  /**
106
106
  *
107
107
  * @type {number}
@@ -151,7 +151,6 @@ export function instanceOfStoreResource(value: object): value is StoreResource {
151
151
  if (!('latitude' in value) || value['latitude'] === undefined) return false;
152
152
  if (!('tagLine' in value) || value['tagLine'] === undefined) return false;
153
153
  if (!('email' in value) || value['email'] === undefined) return false;
154
- if (!('website' in value) || value['website'] === undefined) return false;
155
154
  if (!('netsuiteId' in value) || value['netsuiteId'] === undefined) return false;
156
155
  if (!('displayNetsuiteId' in value) || value['displayNetsuiteId'] === undefined) return false;
157
156
  if (!('suppliers' in value) || value['suppliers'] === undefined) return false;
@@ -178,7 +177,7 @@ export function StoreResourceFromJSONTyped(json: any, ignoreDiscriminator: boole
178
177
  'latitude': json['latitude'],
179
178
  'tagLine': json['tagLine'],
180
179
  'email': json['email'],
181
- 'website': json['website'],
180
+ 'website': json['website'] == null ? undefined : json['website'],
182
181
  'netsuiteId': json['netsuiteId'],
183
182
  'displayNetsuiteId': json['displayNetsuiteId'],
184
183
  'openingHours': json['openingHours'] == null ? undefined : json['openingHours'],
@@ -39,10 +39,10 @@ export interface StoreSpecialDateResource {
39
39
  hours: string;
40
40
  /**
41
41
  *
42
- * @type {object}
42
+ * @type {string}
43
43
  * @memberof StoreSpecialDateResource
44
44
  */
45
- date: object;
45
+ date?: string | null;
46
46
  /**
47
47
  *
48
48
  * @type {boolean}
@@ -69,7 +69,6 @@ export interface StoreSpecialDateResource {
69
69
  export function instanceOfStoreSpecialDateResource(value: object): value is StoreSpecialDateResource {
70
70
  if (!('name' in value) || value['name'] === undefined) return false;
71
71
  if (!('hours' in value) || value['hours'] === undefined) return false;
72
- if (!('date' in value) || value['date'] === undefined) return false;
73
72
  if (!('closed' in value) || value['closed'] === undefined) return false;
74
73
  if (!('displayStartDate' in value) || value['displayStartDate'] === undefined) return false;
75
74
  if (!('displayEndDate' in value) || value['displayEndDate'] === undefined) return false;
@@ -89,7 +88,7 @@ export function StoreSpecialDateResourceFromJSONTyped(json: any, ignoreDiscrimin
89
88
  'id': json['id'] == null ? undefined : json['id'],
90
89
  'name': json['name'],
91
90
  'hours': json['hours'],
92
- 'date': json['date'],
91
+ 'date': json['date'] == null ? undefined : json['date'],
93
92
  'closed': json['closed'],
94
93
  'displayStartDate': json['displayStartDate'],
95
94
  'displayEndDate': json['displayEndDate'],
@@ -0,0 +1,207 @@
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 { CreateCouponRequestCouponablesInner } from './CreateCouponRequestCouponablesInner';
17
+ import {
18
+ CreateCouponRequestCouponablesInnerFromJSON,
19
+ CreateCouponRequestCouponablesInnerFromJSONTyped,
20
+ CreateCouponRequestCouponablesInnerToJSON,
21
+ CreateCouponRequestCouponablesInnerToJSONTyped,
22
+ } from './CreateCouponRequestCouponablesInner';
23
+
24
+ /**
25
+ *
26
+ * @export
27
+ * @interface UpdateCouponRequest
28
+ */
29
+ export interface UpdateCouponRequest {
30
+ /**
31
+ *
32
+ * @type {string}
33
+ * @memberof UpdateCouponRequest
34
+ */
35
+ name: string;
36
+ /**
37
+ *
38
+ * @type {string}
39
+ * @memberof UpdateCouponRequest
40
+ */
41
+ code: string;
42
+ /**
43
+ *
44
+ * @type {UpdateCouponRequestTypeEnum}
45
+ * @memberof UpdateCouponRequest
46
+ */
47
+ type: UpdateCouponRequestTypeEnum;
48
+ /**
49
+ *
50
+ * @type {UpdateCouponRequestDiscountTypeEnum}
51
+ * @memberof UpdateCouponRequest
52
+ */
53
+ discountType: UpdateCouponRequestDiscountTypeEnum;
54
+ /**
55
+ *
56
+ * @type {number}
57
+ * @memberof UpdateCouponRequest
58
+ */
59
+ discountAmount: number;
60
+ /**
61
+ *
62
+ * @type {number}
63
+ * @memberof UpdateCouponRequest
64
+ */
65
+ minAmount: number;
66
+ /**
67
+ *
68
+ * @type {number}
69
+ * @memberof UpdateCouponRequest
70
+ */
71
+ minProducts: number;
72
+ /**
73
+ *
74
+ * @type {number}
75
+ * @memberof UpdateCouponRequest
76
+ */
77
+ totalUseLimit: number;
78
+ /**
79
+ *
80
+ * @type {number}
81
+ * @memberof UpdateCouponRequest
82
+ */
83
+ customerUseLimit: number;
84
+ /**
85
+ *
86
+ * @type {Date}
87
+ * @memberof UpdateCouponRequest
88
+ */
89
+ startDate?: Date | null;
90
+ /**
91
+ *
92
+ * @type {Date}
93
+ * @memberof UpdateCouponRequest
94
+ */
95
+ endDate?: Date | null;
96
+ /**
97
+ *
98
+ * @type {boolean}
99
+ * @memberof UpdateCouponRequest
100
+ */
101
+ isForAllProducts?: boolean;
102
+ /**
103
+ *
104
+ * @type {boolean}
105
+ * @memberof UpdateCouponRequest
106
+ */
107
+ isForAllCustomers?: boolean;
108
+ /**
109
+ *
110
+ * @type {Array<CreateCouponRequestCouponablesInner>}
111
+ * @memberof UpdateCouponRequest
112
+ */
113
+ couponables?: Array<CreateCouponRequestCouponablesInner>;
114
+ }
115
+
116
+
117
+ /**
118
+ * @export
119
+ */
120
+ export const UpdateCouponRequestTypeEnum = {
121
+ Subtotal: 'subtotal',
122
+ Product: 'product',
123
+ Shipping: 'shipping'
124
+ } as const;
125
+ export type UpdateCouponRequestTypeEnum = typeof UpdateCouponRequestTypeEnum[keyof typeof UpdateCouponRequestTypeEnum];
126
+
127
+ /**
128
+ * @export
129
+ */
130
+ export const UpdateCouponRequestDiscountTypeEnum = {
131
+ Dollar: '$',
132
+ Percent: '%'
133
+ } as const;
134
+ export type UpdateCouponRequestDiscountTypeEnum = typeof UpdateCouponRequestDiscountTypeEnum[keyof typeof UpdateCouponRequestDiscountTypeEnum];
135
+
136
+
137
+ /**
138
+ * Check if a given object implements the UpdateCouponRequest interface.
139
+ */
140
+ export function instanceOfUpdateCouponRequest(value: object): value is UpdateCouponRequest {
141
+ if (!('name' in value) || value['name'] === undefined) return false;
142
+ if (!('code' in value) || value['code'] === undefined) return false;
143
+ if (!('type' in value) || value['type'] === undefined) return false;
144
+ if (!('discountType' in value) || value['discountType'] === undefined) return false;
145
+ if (!('discountAmount' in value) || value['discountAmount'] === undefined) return false;
146
+ if (!('minAmount' in value) || value['minAmount'] === undefined) return false;
147
+ if (!('minProducts' in value) || value['minProducts'] === undefined) return false;
148
+ if (!('totalUseLimit' in value) || value['totalUseLimit'] === undefined) return false;
149
+ if (!('customerUseLimit' in value) || value['customerUseLimit'] === undefined) return false;
150
+ return true;
151
+ }
152
+
153
+ export function UpdateCouponRequestFromJSON(json: any): UpdateCouponRequest {
154
+ return UpdateCouponRequestFromJSONTyped(json, false);
155
+ }
156
+
157
+ export function UpdateCouponRequestFromJSONTyped(json: any, ignoreDiscriminator: boolean): UpdateCouponRequest {
158
+ if (json == null) {
159
+ return json;
160
+ }
161
+ return {
162
+
163
+ 'name': json['name'],
164
+ 'code': json['code'],
165
+ 'type': json['type'],
166
+ 'discountType': json['discount_type'],
167
+ 'discountAmount': json['discount_amount'],
168
+ 'minAmount': json['min_amount'],
169
+ 'minProducts': json['min_products'],
170
+ 'totalUseLimit': json['total_use_limit'],
171
+ 'customerUseLimit': json['customer_use_limit'],
172
+ 'startDate': json['start_date'] == null ? undefined : (new Date(json['start_date'])),
173
+ 'endDate': json['end_date'] == null ? undefined : (new Date(json['end_date'])),
174
+ 'isForAllProducts': json['is_for_all_products'] == null ? undefined : json['is_for_all_products'],
175
+ 'isForAllCustomers': json['is_for_all_customers'] == null ? undefined : json['is_for_all_customers'],
176
+ 'couponables': json['couponables'] == null ? undefined : ((json['couponables'] as Array<any>).map(CreateCouponRequestCouponablesInnerFromJSON)),
177
+ };
178
+ }
179
+
180
+ export function UpdateCouponRequestToJSON(json: any): UpdateCouponRequest {
181
+ return UpdateCouponRequestToJSONTyped(json, false);
182
+ }
183
+
184
+ export function UpdateCouponRequestToJSONTyped(value?: UpdateCouponRequest | null, ignoreDiscriminator: boolean = false): any {
185
+ if (value == null) {
186
+ return value;
187
+ }
188
+
189
+ return {
190
+
191
+ 'name': value['name'],
192
+ 'code': value['code'],
193
+ 'type': value['type'],
194
+ 'discount_type': value['discountType'],
195
+ 'discount_amount': value['discountAmount'],
196
+ 'min_amount': value['minAmount'],
197
+ 'min_products': value['minProducts'],
198
+ 'total_use_limit': value['totalUseLimit'],
199
+ 'customer_use_limit': value['customerUseLimit'],
200
+ 'start_date': value['startDate'] == null ? value['startDate'] : value['startDate'].toISOString(),
201
+ 'end_date': value['endDate'] == null ? value['endDate'] : value['endDate'].toISOString(),
202
+ 'is_for_all_products': value['isForAllProducts'],
203
+ 'is_for_all_customers': value['isForAllCustomers'],
204
+ 'couponables': value['couponables'] == null ? undefined : ((value['couponables'] as Array<any>).map(CreateCouponRequestCouponablesInnerToJSON)),
205
+ };
206
+ }
207
+