@managespace/sdk 0.1.49 → 0.1.51

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 (120) hide show
  1. package/dist/extensibility/functions/project/billing.d.ts +1 -3
  2. package/dist/extensibility/functions/project/billing.d.ts.map +1 -1
  3. package/dist/extensibility/functions/project/billing.js +2 -2
  4. package/dist/generated/apis/default-api.d.ts +124 -13
  5. package/dist/generated/apis/default-api.d.ts.map +1 -1
  6. package/dist/generated/apis/default-api.js +409 -40
  7. package/dist/generated/models/apply-batch-rule-dto.d.ts +41 -0
  8. package/dist/generated/models/apply-batch-rule-dto.d.ts.map +1 -0
  9. package/dist/generated/models/apply-batch-rule-dto.js +55 -0
  10. package/dist/generated/models/apply-change-result-dto.d.ts +59 -0
  11. package/dist/generated/models/apply-change-result-dto.d.ts.map +1 -0
  12. package/dist/generated/models/apply-change-result-dto.js +68 -0
  13. package/dist/generated/models/apply-pending-changes-dto.d.ts +33 -0
  14. package/dist/generated/models/apply-pending-changes-dto.d.ts.map +1 -0
  15. package/dist/generated/models/apply-pending-changes-dto.js +51 -0
  16. package/dist/generated/models/apply-pending-changes-response-dto.d.ts +52 -0
  17. package/dist/generated/models/apply-pending-changes-response-dto.d.ts.map +1 -0
  18. package/dist/generated/models/apply-pending-changes-response-dto.js +64 -0
  19. package/dist/generated/models/apply-rule-to-customer-dto.d.ts +58 -0
  20. package/dist/generated/models/apply-rule-to-customer-dto.d.ts.map +1 -0
  21. package/dist/generated/models/apply-rule-to-customer-dto.js +60 -0
  22. package/dist/generated/models/batch-rate-change-response-dto.d.ts +76 -0
  23. package/dist/generated/models/batch-rate-change-response-dto.d.ts.map +1 -0
  24. package/dist/generated/models/batch-rate-change-response-dto.js +80 -0
  25. package/dist/generated/models/create-pricing-rule-dto.d.ts +98 -0
  26. package/dist/generated/models/create-pricing-rule-dto.d.ts.map +1 -0
  27. package/dist/generated/models/create-pricing-rule-dto.js +88 -0
  28. package/dist/generated/models/customer-selection-dto.d.ts +40 -0
  29. package/dist/generated/models/customer-selection-dto.d.ts.map +1 -0
  30. package/dist/generated/models/customer-selection-dto.js +56 -0
  31. package/dist/generated/models/customer-subscriptions-dto.d.ts +40 -0
  32. package/dist/generated/models/customer-subscriptions-dto.d.ts.map +1 -0
  33. package/dist/generated/models/customer-subscriptions-dto.js +56 -0
  34. package/dist/generated/models/delete-pending-rate-changes-dto.d.ts +51 -0
  35. package/dist/generated/models/delete-pending-rate-changes-dto.d.ts.map +1 -0
  36. package/dist/generated/models/delete-pending-rate-changes-dto.js +55 -0
  37. package/dist/generated/models/exclusion-dto.d.ts +51 -0
  38. package/dist/generated/models/exclusion-dto.d.ts.map +1 -0
  39. package/dist/generated/models/exclusion-dto.js +63 -0
  40. package/dist/generated/models/get-pending-rate-changes200-response.d.ts +41 -0
  41. package/dist/generated/models/get-pending-rate-changes200-response.d.ts.map +1 -0
  42. package/dist/generated/models/get-pending-rate-changes200-response.js +55 -0
  43. package/dist/generated/models/get-pricing-rules200-response.d.ts +41 -0
  44. package/dist/generated/models/get-pricing-rules200-response.d.ts.map +1 -0
  45. package/dist/generated/models/get-pricing-rules200-response.js +55 -0
  46. package/dist/generated/models/impact-summary-dto.d.ts +45 -0
  47. package/dist/generated/models/impact-summary-dto.d.ts.map +1 -0
  48. package/dist/generated/models/impact-summary-dto.js +59 -0
  49. package/dist/generated/models/index.d.ts +23 -1
  50. package/dist/generated/models/index.d.ts.map +1 -1
  51. package/dist/generated/models/index.js +23 -1
  52. package/dist/generated/models/matching-tenant-dto.d.ts +87 -0
  53. package/dist/generated/models/matching-tenant-dto.d.ts.map +1 -0
  54. package/dist/generated/models/matching-tenant-dto.js +87 -0
  55. package/dist/generated/models/matching-tenants-response-dto.d.ts +47 -0
  56. package/dist/generated/models/matching-tenants-response-dto.d.ts.map +1 -0
  57. package/dist/generated/models/matching-tenants-response-dto.js +61 -0
  58. package/dist/generated/models/pending-rate-change.d.ts +166 -0
  59. package/dist/generated/models/pending-rate-change.d.ts.map +1 -0
  60. package/dist/generated/models/pending-rate-change.js +138 -0
  61. package/dist/generated/models/pricing-rule.d.ts +124 -0
  62. package/dist/generated/models/pricing-rule.d.ts.map +1 -0
  63. package/dist/generated/models/pricing-rule.js +110 -0
  64. package/dist/generated/models/rate-change-detail-dto.d.ts +81 -0
  65. package/dist/generated/models/rate-change-detail-dto.d.ts.map +1 -0
  66. package/dist/generated/models/rate-change-detail-dto.js +83 -0
  67. package/dist/generated/models/rate-change-response-dto.d.ts +88 -0
  68. package/dist/generated/models/rate-change-response-dto.d.ts.map +1 -0
  69. package/dist/generated/models/rate-change-response-dto.js +88 -0
  70. package/dist/generated/models/recurrence-pattern-dto.d.ts +49 -0
  71. package/dist/generated/models/recurrence-pattern-dto.d.ts.map +1 -0
  72. package/dist/generated/models/recurrence-pattern-dto.js +64 -0
  73. package/dist/generated/models/subscription-charge-selection-dto.d.ts +39 -0
  74. package/dist/generated/models/subscription-charge-selection-dto.d.ts.map +1 -0
  75. package/dist/generated/models/subscription-charge-selection-dto.js +55 -0
  76. package/dist/generated/models/subscription-charges-dto.d.ts +39 -0
  77. package/dist/generated/models/subscription-charges-dto.d.ts.map +1 -0
  78. package/dist/generated/models/subscription-charges-dto.js +55 -0
  79. package/dist/generated/models/tenant-selection-criteria.d.ts +39 -0
  80. package/dist/generated/models/tenant-selection-criteria.d.ts.map +1 -0
  81. package/dist/generated/models/tenant-selection-criteria.js +51 -0
  82. package/dist/generated/models/update-pending-rate-change-dto.d.ts +60 -0
  83. package/dist/generated/models/update-pending-rate-change-dto.d.ts.map +1 -0
  84. package/dist/generated/models/update-pending-rate-change-dto.js +63 -0
  85. package/package.deploy.json +2 -2
  86. package/package.json +2 -2
  87. package/src/extensibility/functions/project/billing.ts +1 -3
  88. package/src/generated/.openapi-generator/FILES +23 -1
  89. package/src/generated/apis/default-api.ts +715 -86
  90. package/src/generated/models/app +0 -0
  91. package/src/generated/models/apply-batch-rule-dto.ts +89 -0
  92. package/src/generated/models/apply-change-result-dto.ts +103 -0
  93. package/src/generated/models/apply-pending-changes-dto.ts +66 -0
  94. package/src/generated/models/apply-pending-changes-response-dto.ts +101 -0
  95. package/src/generated/models/apply-rule-to-customer-dto.ts +106 -0
  96. package/src/generated/models/batch-rate-change-response-dto.ts +137 -0
  97. package/src/generated/models/create-pricing-rule-dto.ts +161 -0
  98. package/src/generated/models/customer-selection-dto.ts +83 -0
  99. package/src/generated/models/customer-subscriptions-dto.ts +83 -0
  100. package/src/generated/models/delete-pending-rate-changes-dto.ts +89 -0
  101. package/src/generated/models/exclusion-dto.ts +93 -0
  102. package/src/generated/models/get-pending-rate-changes200-response.ts +89 -0
  103. package/src/generated/models/get-pricing-rules200-response.ts +89 -0
  104. package/src/generated/models/impact-summary-dto.ts +84 -0
  105. package/src/generated/models/index.ts +23 -1
  106. package/src/generated/models/matching-tenant-dto.ts +147 -0
  107. package/src/generated/models/matching-tenants-response-dto.ts +99 -0
  108. package/src/generated/models/pending-rate-change.ts +271 -0
  109. package/src/generated/models/pricing-rule.ts +208 -0
  110. package/src/generated/models/rate-change-detail-dto.ts +138 -0
  111. package/src/generated/models/rate-change-response-dto.ts +155 -0
  112. package/src/generated/models/recurrence-pattern-dto.ts +88 -0
  113. package/src/generated/models/subscription-charge-selection-dto.ts +75 -0
  114. package/src/generated/models/subscription-charges-dto.ts +75 -0
  115. package/src/generated/models/tenant-selection-criteria.ts +73 -0
  116. package/src/generated/models/update-pending-rate-change-dto.ts +101 -0
  117. package/dist/generated/models/preview-subscription.d.ts +0 -34
  118. package/dist/generated/models/preview-subscription.d.ts.map +0 -1
  119. package/dist/generated/models/preview-subscription.js +0 -50
  120. package/src/generated/models/preview-subscription.ts +0 -73
@@ -0,0 +1,271 @@
1
+ /* tslint:disable */
2
+ /* eslint-disable */
3
+ /**
4
+ * ManageSpace API
5
+ * ManageSpace API Documentation
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 { PricingRule } from './pricing-rule';
17
+ import {
18
+ PricingRuleFromJSON,
19
+ PricingRuleFromJSONTyped,
20
+ PricingRuleToJSON,
21
+ PricingRuleToJSONTyped,
22
+ } from './pricing-rule';
23
+
24
+ /**
25
+ *
26
+ * @export
27
+ * @interface PendingRateChange
28
+ */
29
+ export interface PendingRateChange {
30
+ /**
31
+ * Pending Rate Change ID
32
+ * @type {string}
33
+ * @memberof PendingRateChange
34
+ */
35
+ id: string;
36
+ /**
37
+ * ID of the pricing rule that created this change
38
+ * @type {string}
39
+ * @memberof PendingRateChange
40
+ */
41
+ ruleId: string;
42
+ /**
43
+ * ID of the tenant
44
+ * @type {string}
45
+ * @memberof PendingRateChange
46
+ */
47
+ tenantId: string;
48
+ /**
49
+ * ID of the unit if applicable
50
+ * @type {string}
51
+ * @memberof PendingRateChange
52
+ */
53
+ unitId: string | null;
54
+ /**
55
+ * ID of the subscription
56
+ * @type {string}
57
+ * @memberof PendingRateChange
58
+ */
59
+ subscriptionId: string | null;
60
+ /**
61
+ * Name of the customer
62
+ * @type {string}
63
+ * @memberof PendingRateChange
64
+ */
65
+ customerName: string;
66
+ /**
67
+ * Unit number if applicable
68
+ * @type {string}
69
+ * @memberof PendingRateChange
70
+ */
71
+ unitNumber: string | null;
72
+ /**
73
+ * Current rate
74
+ * @type {number}
75
+ * @memberof PendingRateChange
76
+ */
77
+ currentRate: number;
78
+ /**
79
+ * New rate after change
80
+ * @type {number}
81
+ * @memberof PendingRateChange
82
+ */
83
+ newRate: number;
84
+ /**
85
+ * Date when change takes effect
86
+ * @type {Date}
87
+ * @memberof PendingRateChange
88
+ */
89
+ effectiveDate: Date;
90
+ /**
91
+ * Whether this change was manually overridden
92
+ * @type {boolean}
93
+ * @memberof PendingRateChange
94
+ */
95
+ isOverridden: boolean;
96
+ /**
97
+ * Status of the change
98
+ * @type {string}
99
+ * @memberof PendingRateChange
100
+ */
101
+ status: string;
102
+ /**
103
+ * Name of the rule that created this change
104
+ * @type {string}
105
+ * @memberof PendingRateChange
106
+ */
107
+ ruleName: string;
108
+ /**
109
+ * Site ID
110
+ * @type {string}
111
+ * @memberof PendingRateChange
112
+ */
113
+ siteId: string;
114
+ /**
115
+ * Organization ID
116
+ * @type {string}
117
+ * @memberof PendingRateChange
118
+ */
119
+ orgId: string;
120
+ /**
121
+ * When the record was created
122
+ * @type {Date}
123
+ * @memberof PendingRateChange
124
+ */
125
+ createdAt: Date;
126
+ /**
127
+ * When the record was last updated
128
+ * @type {Date}
129
+ * @memberof PendingRateChange
130
+ */
131
+ updatedAt: Date | null;
132
+ /**
133
+ * When the change was applied
134
+ * @type {Date}
135
+ * @memberof PendingRateChange
136
+ */
137
+ appliedAt: Date | null;
138
+ /**
139
+ * When the change was cancelled
140
+ * @type {Date}
141
+ * @memberof PendingRateChange
142
+ */
143
+ cancelledAt: Date | null;
144
+ /**
145
+ * ID of the change
146
+ * @type {string}
147
+ * @memberof PendingRateChange
148
+ */
149
+ chargeId: string | null;
150
+ /**
151
+ *
152
+ * @type {string}
153
+ * @memberof PendingRateChange
154
+ */
155
+ chargeName: string | null;
156
+ /**
157
+ *
158
+ * @type {string}
159
+ * @memberof PendingRateChange
160
+ */
161
+ productName: string | null;
162
+ /**
163
+ *
164
+ * @type {PricingRule}
165
+ * @memberof PendingRateChange
166
+ */
167
+ rule?: PricingRule;
168
+ }
169
+
170
+ /**
171
+ * Check if a given object implements the PendingRateChange interface.
172
+ */
173
+ export function instanceOfPendingRateChange(value: object): value is PendingRateChange {
174
+ if (!('id' in value) || value['id'] === undefined) return false;
175
+ if (!('ruleId' in value) || value['ruleId'] === undefined) return false;
176
+ if (!('tenantId' in value) || value['tenantId'] === undefined) return false;
177
+ if (!('unitId' in value) || value['unitId'] === undefined) return false;
178
+ if (!('subscriptionId' in value) || value['subscriptionId'] === undefined) return false;
179
+ if (!('customerName' in value) || value['customerName'] === undefined) return false;
180
+ if (!('unitNumber' in value) || value['unitNumber'] === undefined) return false;
181
+ if (!('currentRate' in value) || value['currentRate'] === undefined) return false;
182
+ if (!('newRate' in value) || value['newRate'] === undefined) return false;
183
+ if (!('effectiveDate' in value) || value['effectiveDate'] === undefined) return false;
184
+ if (!('isOverridden' in value) || value['isOverridden'] === undefined) return false;
185
+ if (!('status' in value) || value['status'] === undefined) return false;
186
+ if (!('ruleName' in value) || value['ruleName'] === undefined) return false;
187
+ if (!('siteId' in value) || value['siteId'] === undefined) return false;
188
+ if (!('orgId' in value) || value['orgId'] === undefined) return false;
189
+ if (!('createdAt' in value) || value['createdAt'] === undefined) return false;
190
+ if (!('updatedAt' in value) || value['updatedAt'] === undefined) return false;
191
+ if (!('appliedAt' in value) || value['appliedAt'] === undefined) return false;
192
+ if (!('cancelledAt' in value) || value['cancelledAt'] === undefined) return false;
193
+ if (!('chargeId' in value) || value['chargeId'] === undefined) return false;
194
+ if (!('chargeName' in value) || value['chargeName'] === undefined) return false;
195
+ if (!('productName' in value) || value['productName'] === undefined) return false;
196
+ return true;
197
+ }
198
+
199
+ export function PendingRateChangeFromJSON(json: any): PendingRateChange {
200
+ return PendingRateChangeFromJSONTyped(json, false);
201
+ }
202
+
203
+ export function PendingRateChangeFromJSONTyped(json: any, ignoreDiscriminator: boolean): PendingRateChange {
204
+ if (json == null) {
205
+ return json;
206
+ }
207
+ return {
208
+
209
+ 'id': json['id'],
210
+ 'ruleId': json['ruleId'],
211
+ 'tenantId': json['tenantId'],
212
+ 'unitId': json['unitId'],
213
+ 'subscriptionId': json['subscriptionId'],
214
+ 'customerName': json['customerName'],
215
+ 'unitNumber': json['unitNumber'],
216
+ 'currentRate': json['currentRate'],
217
+ 'newRate': json['newRate'],
218
+ 'effectiveDate': (new Date(json['effectiveDate'])),
219
+ 'isOverridden': json['isOverridden'],
220
+ 'status': json['status'],
221
+ 'ruleName': json['ruleName'],
222
+ 'siteId': json['siteId'],
223
+ 'orgId': json['orgId'],
224
+ 'createdAt': (new Date(json['createdAt'])),
225
+ 'updatedAt': (json['updatedAt'] == null ? null : new Date(json['updatedAt'])),
226
+ 'appliedAt': (json['appliedAt'] == null ? null : new Date(json['appliedAt'])),
227
+ 'cancelledAt': (json['cancelledAt'] == null ? null : new Date(json['cancelledAt'])),
228
+ 'chargeId': json['chargeId'],
229
+ 'chargeName': json['chargeName'],
230
+ 'productName': json['productName'],
231
+ 'rule': json['rule'] == null ? undefined : PricingRuleFromJSON(json['rule']),
232
+ };
233
+ }
234
+
235
+ export function PendingRateChangeToJSON(json: any): PendingRateChange {
236
+ return PendingRateChangeToJSONTyped(json, false);
237
+ }
238
+
239
+ export function PendingRateChangeToJSONTyped(value?: PendingRateChange | null, ignoreDiscriminator: boolean = false): any {
240
+ if (value == null) {
241
+ return value;
242
+ }
243
+
244
+ return {
245
+
246
+ 'id': value['id'],
247
+ 'ruleId': value['ruleId'],
248
+ 'tenantId': value['tenantId'],
249
+ 'unitId': value['unitId'],
250
+ 'subscriptionId': value['subscriptionId'],
251
+ 'customerName': value['customerName'],
252
+ 'unitNumber': value['unitNumber'],
253
+ 'currentRate': value['currentRate'],
254
+ 'newRate': value['newRate'],
255
+ 'effectiveDate': ((value['effectiveDate']).toISOString()),
256
+ 'isOverridden': value['isOverridden'],
257
+ 'status': value['status'],
258
+ 'ruleName': value['ruleName'],
259
+ 'siteId': value['siteId'],
260
+ 'orgId': value['orgId'],
261
+ 'createdAt': ((value['createdAt']).toISOString()),
262
+ 'updatedAt': (value['updatedAt'] == null ? null : (value['updatedAt'] as any).toISOString()),
263
+ 'appliedAt': (value['appliedAt'] == null ? null : (value['appliedAt'] as any).toISOString()),
264
+ 'cancelledAt': (value['cancelledAt'] == null ? null : (value['cancelledAt'] as any).toISOString()),
265
+ 'chargeId': value['chargeId'],
266
+ 'chargeName': value['chargeName'],
267
+ 'productName': value['productName'],
268
+ 'rule': PricingRuleToJSON(value['rule']),
269
+ };
270
+ }
271
+
@@ -0,0 +1,208 @@
1
+ /* tslint:disable */
2
+ /* eslint-disable */
3
+ /**
4
+ * ManageSpace API
5
+ * ManageSpace API Documentation
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 { PendingRateChange } from './pending-rate-change';
17
+ import {
18
+ PendingRateChangeFromJSON,
19
+ PendingRateChangeFromJSONTyped,
20
+ PendingRateChangeToJSON,
21
+ PendingRateChangeToJSONTyped,
22
+ } from './pending-rate-change';
23
+
24
+ /**
25
+ *
26
+ * @export
27
+ * @interface PricingRule
28
+ */
29
+ export interface PricingRule {
30
+ /**
31
+ * Pricing Rule ID
32
+ * @type {string}
33
+ * @memberof PricingRule
34
+ */
35
+ id: string;
36
+ /**
37
+ * Name of the rule
38
+ * @type {string}
39
+ * @memberof PricingRule
40
+ */
41
+ name: string;
42
+ /**
43
+ * Date when the rule takes effect
44
+ * @type {Date}
45
+ * @memberof PricingRule
46
+ */
47
+ effectiveDate: Date;
48
+ /**
49
+ * Type of change (percentage or fixed)
50
+ * @type {string}
51
+ * @memberof PricingRule
52
+ */
53
+ changeType: string;
54
+ /**
55
+ * Amount of change (percentage or fixed amount)
56
+ * @type {number}
57
+ * @memberof PricingRule
58
+ */
59
+ changeAmount: number;
60
+ /**
61
+ * Criteria for selecting tenants
62
+ * @type {object}
63
+ * @memberof PricingRule
64
+ */
65
+ selectionCriteria: object | null;
66
+ /**
67
+ * Whether the rule is recurring
68
+ * @type {boolean}
69
+ * @memberof PricingRule
70
+ */
71
+ isRecurring: boolean;
72
+ /**
73
+ * Recurrence pattern if rule is recurring
74
+ * @type {object}
75
+ * @memberof PricingRule
76
+ */
77
+ recurrencePattern: object | null;
78
+ /**
79
+ * Status of the rule
80
+ * @type {string}
81
+ * @memberof PricingRule
82
+ */
83
+ status: string;
84
+ /**
85
+ * Site ID
86
+ * @type {string}
87
+ * @memberof PricingRule
88
+ */
89
+ siteId: string;
90
+ /**
91
+ * Organization ID
92
+ * @type {string}
93
+ * @memberof PricingRule
94
+ */
95
+ orgId: string;
96
+ /**
97
+ * When the record was created
98
+ * @type {Date}
99
+ * @memberof PricingRule
100
+ */
101
+ createdAt: Date;
102
+ /**
103
+ * When the record was last updated
104
+ * @type {Date}
105
+ * @memberof PricingRule
106
+ */
107
+ updatedAt: Date | null;
108
+ /**
109
+ *
110
+ * @type {Array<PendingRateChange>}
111
+ * @memberof PricingRule
112
+ */
113
+ pendingChanges?: Array<PendingRateChange>;
114
+ /**
115
+ *
116
+ * @type {string}
117
+ * @memberof PricingRule
118
+ */
119
+ applicationType: string | null;
120
+ /**
121
+ *
122
+ * @type {number}
123
+ * @memberof PricingRule
124
+ */
125
+ billingCyclesDelay: number | null;
126
+ }
127
+
128
+ /**
129
+ * Check if a given object implements the PricingRule interface.
130
+ */
131
+ export function instanceOfPricingRule(value: object): value is PricingRule {
132
+ if (!('id' in value) || value['id'] === undefined) return false;
133
+ if (!('name' in value) || value['name'] === undefined) return false;
134
+ if (!('effectiveDate' in value) || value['effectiveDate'] === undefined) return false;
135
+ if (!('changeType' in value) || value['changeType'] === undefined) return false;
136
+ if (!('changeAmount' in value) || value['changeAmount'] === undefined) return false;
137
+ if (!('selectionCriteria' in value) || value['selectionCriteria'] === undefined) return false;
138
+ if (!('isRecurring' in value) || value['isRecurring'] === undefined) return false;
139
+ if (!('recurrencePattern' in value) || value['recurrencePattern'] === undefined) return false;
140
+ if (!('status' in value) || value['status'] === undefined) return false;
141
+ if (!('siteId' in value) || value['siteId'] === undefined) return false;
142
+ if (!('orgId' in value) || value['orgId'] === undefined) return false;
143
+ if (!('createdAt' in value) || value['createdAt'] === undefined) return false;
144
+ if (!('updatedAt' in value) || value['updatedAt'] === undefined) return false;
145
+ if (!('applicationType' in value) || value['applicationType'] === undefined) return false;
146
+ if (!('billingCyclesDelay' in value) || value['billingCyclesDelay'] === undefined) return false;
147
+ return true;
148
+ }
149
+
150
+ export function PricingRuleFromJSON(json: any): PricingRule {
151
+ return PricingRuleFromJSONTyped(json, false);
152
+ }
153
+
154
+ export function PricingRuleFromJSONTyped(json: any, ignoreDiscriminator: boolean): PricingRule {
155
+ if (json == null) {
156
+ return json;
157
+ }
158
+ return {
159
+
160
+ 'id': json['id'],
161
+ 'name': json['name'],
162
+ 'effectiveDate': (new Date(json['effectiveDate'])),
163
+ 'changeType': json['changeType'],
164
+ 'changeAmount': json['changeAmount'],
165
+ 'selectionCriteria': json['selectionCriteria'],
166
+ 'isRecurring': json['isRecurring'],
167
+ 'recurrencePattern': json['recurrencePattern'],
168
+ 'status': json['status'],
169
+ 'siteId': json['siteId'],
170
+ 'orgId': json['orgId'],
171
+ 'createdAt': (new Date(json['createdAt'])),
172
+ 'updatedAt': (json['updatedAt'] == null ? null : new Date(json['updatedAt'])),
173
+ 'pendingChanges': json['pendingChanges'] == null ? undefined : ((json['pendingChanges'] as Array<any>).map(PendingRateChangeFromJSON)),
174
+ 'applicationType': json['applicationType'],
175
+ 'billingCyclesDelay': json['billingCyclesDelay'],
176
+ };
177
+ }
178
+
179
+ export function PricingRuleToJSON(json: any): PricingRule {
180
+ return PricingRuleToJSONTyped(json, false);
181
+ }
182
+
183
+ export function PricingRuleToJSONTyped(value?: PricingRule | null, ignoreDiscriminator: boolean = false): any {
184
+ if (value == null) {
185
+ return value;
186
+ }
187
+
188
+ return {
189
+
190
+ 'id': value['id'],
191
+ 'name': value['name'],
192
+ 'effectiveDate': ((value['effectiveDate']).toISOString()),
193
+ 'changeType': value['changeType'],
194
+ 'changeAmount': value['changeAmount'],
195
+ 'selectionCriteria': value['selectionCriteria'],
196
+ 'isRecurring': value['isRecurring'],
197
+ 'recurrencePattern': value['recurrencePattern'],
198
+ 'status': value['status'],
199
+ 'siteId': value['siteId'],
200
+ 'orgId': value['orgId'],
201
+ 'createdAt': ((value['createdAt']).toISOString()),
202
+ 'updatedAt': (value['updatedAt'] == null ? null : (value['updatedAt'] as any).toISOString()),
203
+ 'pendingChanges': value['pendingChanges'] == null ? undefined : ((value['pendingChanges'] as Array<any>).map(PendingRateChangeToJSON)),
204
+ 'applicationType': value['applicationType'],
205
+ 'billingCyclesDelay': value['billingCyclesDelay'],
206
+ };
207
+ }
208
+
@@ -0,0 +1,138 @@
1
+ /* tslint:disable */
2
+ /* eslint-disable */
3
+ /**
4
+ * ManageSpace API
5
+ * ManageSpace API Documentation
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 RateChangeDetailDto
20
+ */
21
+ export interface RateChangeDetailDto {
22
+ /**
23
+ * Subscription ID
24
+ * @type {string}
25
+ * @memberof RateChangeDetailDto
26
+ */
27
+ subscriptionId: string;
28
+ /**
29
+ * Charge ID
30
+ * @type {string}
31
+ * @memberof RateChangeDetailDto
32
+ */
33
+ chargeId: string;
34
+ /**
35
+ * Charge name/description
36
+ * @type {string}
37
+ * @memberof RateChangeDetailDto
38
+ */
39
+ description: string;
40
+ /**
41
+ * Product name
42
+ * @type {string}
43
+ * @memberof RateChangeDetailDto
44
+ */
45
+ productName: string;
46
+ /**
47
+ * Current rate before the change
48
+ * @type {number}
49
+ * @memberof RateChangeDetailDto
50
+ */
51
+ currentRate: number;
52
+ /**
53
+ * New rate after the change
54
+ * @type {number}
55
+ * @memberof RateChangeDetailDto
56
+ */
57
+ newRate: number;
58
+ /**
59
+ * Percentage change between current and new rate
60
+ * @type {number}
61
+ * @memberof RateChangeDetailDto
62
+ */
63
+ percentageChange: number;
64
+ /**
65
+ * Date when the rate change will take effect
66
+ * @type {string}
67
+ * @memberof RateChangeDetailDto
68
+ */
69
+ effectiveDate: string;
70
+ /**
71
+ * Whether this is an exclusion from standard rule
72
+ * @type {boolean}
73
+ * @memberof RateChangeDetailDto
74
+ */
75
+ isExclusion: boolean;
76
+ }
77
+
78
+ /**
79
+ * Check if a given object implements the RateChangeDetailDto interface.
80
+ */
81
+ export function instanceOfRateChangeDetailDto(value: object): value is RateChangeDetailDto {
82
+ if (!('subscriptionId' in value) || value['subscriptionId'] === undefined) return false;
83
+ if (!('chargeId' in value) || value['chargeId'] === undefined) return false;
84
+ if (!('description' in value) || value['description'] === undefined) return false;
85
+ if (!('productName' in value) || value['productName'] === undefined) return false;
86
+ if (!('currentRate' in value) || value['currentRate'] === undefined) return false;
87
+ if (!('newRate' in value) || value['newRate'] === undefined) return false;
88
+ if (!('percentageChange' in value) || value['percentageChange'] === undefined) return false;
89
+ if (!('effectiveDate' in value) || value['effectiveDate'] === undefined) return false;
90
+ if (!('isExclusion' in value) || value['isExclusion'] === undefined) return false;
91
+ return true;
92
+ }
93
+
94
+ export function RateChangeDetailDtoFromJSON(json: any): RateChangeDetailDto {
95
+ return RateChangeDetailDtoFromJSONTyped(json, false);
96
+ }
97
+
98
+ export function RateChangeDetailDtoFromJSONTyped(json: any, ignoreDiscriminator: boolean): RateChangeDetailDto {
99
+ if (json == null) {
100
+ return json;
101
+ }
102
+ return {
103
+
104
+ 'subscriptionId': json['subscriptionId'],
105
+ 'chargeId': json['chargeId'],
106
+ 'description': json['description'],
107
+ 'productName': json['productName'],
108
+ 'currentRate': json['currentRate'],
109
+ 'newRate': json['newRate'],
110
+ 'percentageChange': json['percentageChange'],
111
+ 'effectiveDate': json['effectiveDate'],
112
+ 'isExclusion': json['isExclusion'],
113
+ };
114
+ }
115
+
116
+ export function RateChangeDetailDtoToJSON(json: any): RateChangeDetailDto {
117
+ return RateChangeDetailDtoToJSONTyped(json, false);
118
+ }
119
+
120
+ export function RateChangeDetailDtoToJSONTyped(value?: RateChangeDetailDto | null, ignoreDiscriminator: boolean = false): any {
121
+ if (value == null) {
122
+ return value;
123
+ }
124
+
125
+ return {
126
+
127
+ 'subscriptionId': value['subscriptionId'],
128
+ 'chargeId': value['chargeId'],
129
+ 'description': value['description'],
130
+ 'productName': value['productName'],
131
+ 'currentRate': value['currentRate'],
132
+ 'newRate': value['newRate'],
133
+ 'percentageChange': value['percentageChange'],
134
+ 'effectiveDate': value['effectiveDate'],
135
+ 'isExclusion': value['isExclusion'],
136
+ };
137
+ }
138
+