@hostafrica/ha-sdk-typescript 1.1.4 → 1.1.5

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 (139) hide show
  1. package/dist/apis/BillingApi.d.ts +45 -0
  2. package/dist/apis/BillingApi.js +122 -0
  3. package/dist/apis/DNSApi.d.ts +8 -8
  4. package/dist/apis/DNSApi.js +8 -8
  5. package/dist/apis/index.d.ts +1 -0
  6. package/dist/apis/index.js +1 -0
  7. package/dist/esm/apis/BillingApi.d.ts +45 -0
  8. package/dist/esm/apis/BillingApi.js +118 -0
  9. package/dist/esm/apis/DNSApi.d.ts +8 -8
  10. package/dist/esm/apis/DNSApi.js +8 -8
  11. package/dist/esm/apis/index.d.ts +1 -0
  12. package/dist/esm/apis/index.js +1 -0
  13. package/dist/esm/models/AddDnsRecordRequestContent.d.ts +22 -3
  14. package/dist/esm/models/AddDnsRecordRequestContent.js +8 -3
  15. package/dist/esm/models/DeleteDnsRecordRequestContent.d.ts +22 -3
  16. package/dist/esm/models/DeleteDnsRecordRequestContent.js +8 -3
  17. package/dist/esm/models/DnsBackend.d.ts +28 -0
  18. package/dist/esm/models/DnsBackend.js +46 -0
  19. package/dist/esm/models/DnsRecordMutationRecord.d.ts +3 -2
  20. package/dist/esm/models/DnsZoneInfo.d.ts +7 -0
  21. package/dist/esm/models/DnsZoneInfo.js +3 -0
  22. package/dist/esm/models/EditDnsRecordRequestContent.d.ts +22 -3
  23. package/dist/esm/models/EditDnsRecordRequestContent.js +8 -3
  24. package/dist/esm/models/GetDnsZoneDetailsRequestContent.d.ts +7 -0
  25. package/dist/esm/models/GetDnsZoneDetailsRequestContent.js +3 -0
  26. package/dist/esm/models/GetInvoiceDetailsRequestContent.d.ts +32 -0
  27. package/dist/esm/models/GetInvoiceDetailsRequestContent.js +43 -0
  28. package/dist/esm/models/GetInvoiceDetailsResponseContent.d.ts +40 -0
  29. package/dist/esm/models/GetInvoiceDetailsResponseContent.js +49 -0
  30. package/dist/esm/models/GetInvoiceDetailsResponseData.d.ts +40 -0
  31. package/dist/esm/models/GetInvoiceDetailsResponseData.js +47 -0
  32. package/dist/esm/models/InvoiceDetails.d.ts +143 -0
  33. package/dist/esm/models/InvoiceDetails.js +112 -0
  34. package/dist/esm/models/InvoiceIssuedTo.d.ts +69 -0
  35. package/dist/esm/models/InvoiceIssuedTo.js +66 -0
  36. package/dist/esm/models/InvoiceIssuedToTax.d.ts +44 -0
  37. package/dist/esm/models/InvoiceIssuedToTax.js +51 -0
  38. package/dist/esm/models/InvoiceItem.d.ts +56 -0
  39. package/dist/esm/models/InvoiceItem.js +59 -0
  40. package/dist/esm/models/InvoiceSummary.d.ts +98 -0
  41. package/dist/esm/models/InvoiceSummary.js +83 -0
  42. package/dist/esm/models/InvoiceTransaction.d.ts +74 -0
  43. package/dist/esm/models/InvoiceTransaction.js +57 -0
  44. package/dist/esm/models/ListInvoicesResponseContent.d.ts +40 -0
  45. package/dist/esm/models/ListInvoicesResponseContent.js +49 -0
  46. package/dist/esm/models/ListInvoicesResponseData.d.ts +39 -0
  47. package/dist/esm/models/ListInvoicesResponseData.js +48 -0
  48. package/dist/esm/models/SelcomMetadata.d.ts +56 -0
  49. package/dist/esm/models/SelcomMetadata.js +59 -0
  50. package/dist/esm/models/index.d.ts +13 -0
  51. package/dist/esm/models/index.js +13 -0
  52. package/dist/esm/retryablePaths.js +2 -0
  53. package/dist/models/AddDnsRecordRequestContent.d.ts +22 -3
  54. package/dist/models/AddDnsRecordRequestContent.js +8 -3
  55. package/dist/models/DeleteDnsRecordRequestContent.d.ts +22 -3
  56. package/dist/models/DeleteDnsRecordRequestContent.js +8 -3
  57. package/dist/models/DnsBackend.d.ts +28 -0
  58. package/dist/models/DnsBackend.js +54 -0
  59. package/dist/models/DnsRecordMutationRecord.d.ts +3 -2
  60. package/dist/models/DnsZoneInfo.d.ts +7 -0
  61. package/dist/models/DnsZoneInfo.js +3 -0
  62. package/dist/models/EditDnsRecordRequestContent.d.ts +22 -3
  63. package/dist/models/EditDnsRecordRequestContent.js +8 -3
  64. package/dist/models/GetDnsZoneDetailsRequestContent.d.ts +7 -0
  65. package/dist/models/GetDnsZoneDetailsRequestContent.js +3 -0
  66. package/dist/models/GetInvoiceDetailsRequestContent.d.ts +32 -0
  67. package/dist/models/GetInvoiceDetailsRequestContent.js +50 -0
  68. package/dist/models/GetInvoiceDetailsResponseContent.d.ts +40 -0
  69. package/dist/models/GetInvoiceDetailsResponseContent.js +56 -0
  70. package/dist/models/GetInvoiceDetailsResponseData.d.ts +40 -0
  71. package/dist/models/GetInvoiceDetailsResponseData.js +54 -0
  72. package/dist/models/InvoiceDetails.d.ts +143 -0
  73. package/dist/models/InvoiceDetails.js +119 -0
  74. package/dist/models/InvoiceIssuedTo.d.ts +69 -0
  75. package/dist/models/InvoiceIssuedTo.js +73 -0
  76. package/dist/models/InvoiceIssuedToTax.d.ts +44 -0
  77. package/dist/models/InvoiceIssuedToTax.js +58 -0
  78. package/dist/models/InvoiceItem.d.ts +56 -0
  79. package/dist/models/InvoiceItem.js +66 -0
  80. package/dist/models/InvoiceSummary.d.ts +98 -0
  81. package/dist/models/InvoiceSummary.js +90 -0
  82. package/dist/models/InvoiceTransaction.d.ts +74 -0
  83. package/dist/models/InvoiceTransaction.js +64 -0
  84. package/dist/models/ListInvoicesResponseContent.d.ts +40 -0
  85. package/dist/models/ListInvoicesResponseContent.js +56 -0
  86. package/dist/models/ListInvoicesResponseData.d.ts +39 -0
  87. package/dist/models/ListInvoicesResponseData.js +55 -0
  88. package/dist/models/SelcomMetadata.d.ts +56 -0
  89. package/dist/models/SelcomMetadata.js +66 -0
  90. package/dist/models/index.d.ts +13 -0
  91. package/dist/models/index.js +13 -0
  92. package/dist/retryablePaths.js +2 -0
  93. package/dist.zip +0 -0
  94. package/docs/AddDnsRecordRequestContent.md +6 -0
  95. package/docs/BillingApi.md +159 -0
  96. package/docs/DNSApi.md +4 -4
  97. package/docs/DeleteDnsRecordRequestContent.md +6 -0
  98. package/docs/DnsBackend.md +33 -0
  99. package/docs/DnsRecordMutationRecord.md +1 -1
  100. package/docs/DnsZoneInfo.md +2 -0
  101. package/docs/EditDnsRecordRequestContent.md +6 -0
  102. package/docs/GetDnsZoneDetailsRequestContent.md +2 -0
  103. package/docs/GetInvoiceDetailsRequestContent.md +34 -0
  104. package/docs/GetInvoiceDetailsResponseContent.md +36 -0
  105. package/docs/GetInvoiceDetailsResponseData.md +37 -0
  106. package/docs/InvoiceDetails.md +71 -0
  107. package/docs/InvoiceIssuedTo.md +47 -0
  108. package/docs/InvoiceIssuedToTax.md +39 -0
  109. package/docs/InvoiceItem.md +43 -0
  110. package/docs/InvoiceSummary.md +57 -0
  111. package/docs/InvoiceTransaction.md +49 -0
  112. package/docs/ListInvoicesResponseContent.md +36 -0
  113. package/docs/ListInvoicesResponseData.md +37 -0
  114. package/docs/SelcomMetadata.md +43 -0
  115. package/package.json +1 -1
  116. package/src/apis/BillingApi.ts +164 -0
  117. package/src/apis/DNSApi.ts +8 -8
  118. package/src/apis/index.ts +1 -0
  119. package/src/models/AddDnsRecordRequestContent.ts +37 -5
  120. package/src/models/DeleteDnsRecordRequestContent.ts +37 -5
  121. package/src/models/DnsBackend.ts +56 -0
  122. package/src/models/DnsRecordMutationRecord.ts +3 -2
  123. package/src/models/DnsZoneInfo.ts +17 -0
  124. package/src/models/EditDnsRecordRequestContent.ts +37 -5
  125. package/src/models/GetDnsZoneDetailsRequestContent.ts +18 -0
  126. package/src/models/GetInvoiceDetailsRequestContent.ts +66 -0
  127. package/src/models/GetInvoiceDetailsResponseContent.ts +92 -0
  128. package/src/models/GetInvoiceDetailsResponseData.ts +89 -0
  129. package/src/models/InvoiceDetails.ts +247 -0
  130. package/src/models/InvoiceIssuedTo.ts +127 -0
  131. package/src/models/InvoiceIssuedToTax.ts +84 -0
  132. package/src/models/InvoiceItem.ts +102 -0
  133. package/src/models/InvoiceSummary.ts +163 -0
  134. package/src/models/InvoiceTransaction.ts +122 -0
  135. package/src/models/ListInvoicesResponseContent.ts +92 -0
  136. package/src/models/ListInvoicesResponseData.ts +83 -0
  137. package/src/models/SelcomMetadata.ts +102 -0
  138. package/src/models/index.ts +13 -0
  139. package/src/retryablePaths.ts +2 -0
@@ -0,0 +1,247 @@
1
+ /* tslint:disable */
2
+ /* eslint-disable */
3
+ /**
4
+ * HostAfricaApi
5
+ * HostAfrica API
6
+ *
7
+ * The version of the OpenAPI document: 1.1.0 - 2026-07-16
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.js';
16
+ import type { InvoiceItem } from './InvoiceItem.js';
17
+ import {
18
+ InvoiceItemFromJSON,
19
+ InvoiceItemFromJSONTyped,
20
+ InvoiceItemToJSON,
21
+ InvoiceItemToJSONTyped,
22
+ } from './InvoiceItem.js';
23
+ import type { InvoiceTransaction } from './InvoiceTransaction.js';
24
+ import {
25
+ InvoiceTransactionFromJSON,
26
+ InvoiceTransactionFromJSONTyped,
27
+ InvoiceTransactionToJSON,
28
+ InvoiceTransactionToJSONTyped,
29
+ } from './InvoiceTransaction.js';
30
+ import type { InvoiceIssuedTo } from './InvoiceIssuedTo.js';
31
+ import {
32
+ InvoiceIssuedToFromJSON,
33
+ InvoiceIssuedToFromJSONTyped,
34
+ InvoiceIssuedToToJSON,
35
+ InvoiceIssuedToToJSONTyped,
36
+ } from './InvoiceIssuedTo.js';
37
+
38
+ /**
39
+ * Full invoice details
40
+ * @export
41
+ * @interface InvoiceDetails
42
+ */
43
+ export interface InvoiceDetails {
44
+ /**
45
+ * Unique invoice identifier - must be sent as a string
46
+ * @type {string}
47
+ * @memberof InvoiceDetails
48
+ */
49
+ invoiceId: string;
50
+ /**
51
+ * Human-readable invoice number when assigned
52
+ * @type {string}
53
+ * @memberof InvoiceDetails
54
+ */
55
+ invoiceNumber: string;
56
+ /**
57
+ *
58
+ * @type {InvoiceIssuedTo}
59
+ * @memberof InvoiceDetails
60
+ */
61
+ issuedTo: InvoiceIssuedTo;
62
+ /**
63
+ * Invoice issue date (ISO 8601)
64
+ * @type {string}
65
+ * @memberof InvoiceDetails
66
+ */
67
+ date: string;
68
+ /**
69
+ * Invoice due date (ISO 8601)
70
+ * @type {string}
71
+ * @memberof InvoiceDetails
72
+ */
73
+ dueDate: string;
74
+ /**
75
+ * Date the invoice was paid (ISO 8601), if paid
76
+ * @type {string}
77
+ * @memberof InvoiceDetails
78
+ */
79
+ datePaid?: string;
80
+ /**
81
+ * Invoice subtotal excluding tax as a decimal string
82
+ * @type {string}
83
+ * @memberof InvoiceDetails
84
+ */
85
+ subtotal: string;
86
+ /**
87
+ * Credit applied as a decimal string
88
+ * @type {string}
89
+ * @memberof InvoiceDetails
90
+ */
91
+ credit: string;
92
+ /**
93
+ * Primary tax amount as a decimal string
94
+ * @type {string}
95
+ * @memberof InvoiceDetails
96
+ */
97
+ tax: string;
98
+ /**
99
+ * Secondary tax amount as a decimal string. Omitted when a second tax is not configured.
100
+ * @type {string}
101
+ * @memberof InvoiceDetails
102
+ */
103
+ tax2?: string;
104
+ /**
105
+ * Invoice total including tax as a decimal string
106
+ * @type {string}
107
+ * @memberof InvoiceDetails
108
+ */
109
+ total: string;
110
+ /**
111
+ * Primary tax rate as a decimal string
112
+ * @type {string}
113
+ * @memberof InvoiceDetails
114
+ */
115
+ taxRate: string;
116
+ /**
117
+ * Secondary tax rate as a decimal string. Omitted when a second tax is not configured.
118
+ * @type {string}
119
+ * @memberof InvoiceDetails
120
+ */
121
+ taxRate2?: string;
122
+ /**
123
+ * Invoice status (e.g. Paid, Unpaid, Cancelled, Refunded)
124
+ * @type {string}
125
+ * @memberof InvoiceDetails
126
+ */
127
+ status: string;
128
+ /**
129
+ * Payment method identifier
130
+ * @type {string}
131
+ * @memberof InvoiceDetails
132
+ */
133
+ paymentMethod: string;
134
+ /**
135
+ * Amount still due as a decimal string
136
+ * @type {string}
137
+ * @memberof InvoiceDetails
138
+ */
139
+ totalDue: string;
140
+ /**
141
+ * Invoice notes
142
+ * @type {string}
143
+ * @memberof InvoiceDetails
144
+ */
145
+ notes: string;
146
+ /**
147
+ * Invoice line items
148
+ * @type {Array<InvoiceItem>}
149
+ * @memberof InvoiceDetails
150
+ */
151
+ items: Array<InvoiceItem>;
152
+ /**
153
+ * Payment and refund transactions on the invoice
154
+ * @type {Array<InvoiceTransaction>}
155
+ * @memberof InvoiceDetails
156
+ */
157
+ transactions: Array<InvoiceTransaction>;
158
+ }
159
+
160
+ /**
161
+ * Check if a given object implements the InvoiceDetails interface.
162
+ */
163
+ export function instanceOfInvoiceDetails(value: object): value is InvoiceDetails {
164
+ if (!('invoiceId' in value) || value['invoiceId'] === undefined) return false;
165
+ if (!('invoiceNumber' in value) || value['invoiceNumber'] === undefined) return false;
166
+ if (!('issuedTo' in value) || value['issuedTo'] === undefined) return false;
167
+ if (!('date' in value) || value['date'] === undefined) return false;
168
+ if (!('dueDate' in value) || value['dueDate'] === undefined) return false;
169
+ if (!('subtotal' in value) || value['subtotal'] === undefined) return false;
170
+ if (!('credit' in value) || value['credit'] === undefined) return false;
171
+ if (!('tax' in value) || value['tax'] === undefined) return false;
172
+ if (!('total' in value) || value['total'] === undefined) return false;
173
+ if (!('taxRate' in value) || value['taxRate'] === undefined) return false;
174
+ if (!('status' in value) || value['status'] === undefined) return false;
175
+ if (!('paymentMethod' in value) || value['paymentMethod'] === undefined) return false;
176
+ if (!('totalDue' in value) || value['totalDue'] === undefined) return false;
177
+ if (!('notes' in value) || value['notes'] === undefined) return false;
178
+ if (!('items' in value) || value['items'] === undefined) return false;
179
+ if (!('transactions' in value) || value['transactions'] === undefined) return false;
180
+ return true;
181
+ }
182
+
183
+ export function InvoiceDetailsFromJSON(json: any): InvoiceDetails {
184
+ return InvoiceDetailsFromJSONTyped(json, false);
185
+ }
186
+
187
+ export function InvoiceDetailsFromJSONTyped(json: any, ignoreDiscriminator: boolean): InvoiceDetails {
188
+ if (json == null) {
189
+ return json;
190
+ }
191
+ return {
192
+
193
+ 'invoiceId': json['invoice_id'],
194
+ 'invoiceNumber': json['invoice_number'],
195
+ 'issuedTo': InvoiceIssuedToFromJSON(json['issued_to']),
196
+ 'date': json['date'],
197
+ 'dueDate': json['due_date'],
198
+ 'datePaid': json['date_paid'] == null ? undefined : json['date_paid'],
199
+ 'subtotal': json['subtotal'],
200
+ 'credit': json['credit'],
201
+ 'tax': json['tax'],
202
+ 'tax2': json['tax2'] == null ? undefined : json['tax2'],
203
+ 'total': json['total'],
204
+ 'taxRate': json['tax_rate'],
205
+ 'taxRate2': json['tax_rate2'] == null ? undefined : json['tax_rate2'],
206
+ 'status': json['status'],
207
+ 'paymentMethod': json['payment_method'],
208
+ 'totalDue': json['total_due'],
209
+ 'notes': json['notes'],
210
+ 'items': ((json['items'] as Array<any>).map(InvoiceItemFromJSON)),
211
+ 'transactions': ((json['transactions'] as Array<any>).map(InvoiceTransactionFromJSON)),
212
+ };
213
+ }
214
+
215
+ export function InvoiceDetailsToJSON(json: any): InvoiceDetails {
216
+ return InvoiceDetailsToJSONTyped(json, false);
217
+ }
218
+
219
+ export function InvoiceDetailsToJSONTyped(value?: InvoiceDetails | null, ignoreDiscriminator: boolean = false): any {
220
+ if (value == null) {
221
+ return value;
222
+ }
223
+
224
+ return {
225
+
226
+ 'invoice_id': value['invoiceId'],
227
+ 'invoice_number': value['invoiceNumber'],
228
+ 'issued_to': InvoiceIssuedToToJSON(value['issuedTo']),
229
+ 'date': value['date'],
230
+ 'due_date': value['dueDate'],
231
+ 'date_paid': value['datePaid'],
232
+ 'subtotal': value['subtotal'],
233
+ 'credit': value['credit'],
234
+ 'tax': value['tax'],
235
+ 'tax2': value['tax2'],
236
+ 'total': value['total'],
237
+ 'tax_rate': value['taxRate'],
238
+ 'tax_rate2': value['taxRate2'],
239
+ 'status': value['status'],
240
+ 'payment_method': value['paymentMethod'],
241
+ 'total_due': value['totalDue'],
242
+ 'notes': value['notes'],
243
+ 'items': ((value['items'] as Array<any>).map(InvoiceItemToJSON)),
244
+ 'transactions': ((value['transactions'] as Array<any>).map(InvoiceTransactionToJSON)),
245
+ };
246
+ }
247
+
@@ -0,0 +1,127 @@
1
+ /* tslint:disable */
2
+ /* eslint-disable */
3
+ /**
4
+ * HostAfricaApi
5
+ * HostAfrica API
6
+ *
7
+ * The version of the OpenAPI document: 1.1.0 - 2026-07-16
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.js';
16
+ import type { InvoiceIssuedToTax } from './InvoiceIssuedToTax.js';
17
+ import {
18
+ InvoiceIssuedToTaxFromJSON,
19
+ InvoiceIssuedToTaxFromJSONTyped,
20
+ InvoiceIssuedToTaxToJSON,
21
+ InvoiceIssuedToTaxToJSONTyped,
22
+ } from './InvoiceIssuedToTax.js';
23
+
24
+ /**
25
+ * Recipient / billed-to details on an invoice
26
+ * @export
27
+ * @interface InvoiceIssuedTo
28
+ */
29
+ export interface InvoiceIssuedTo {
30
+ /**
31
+ * Company name on the invoice
32
+ * @type {string}
33
+ * @memberof InvoiceIssuedTo
34
+ */
35
+ companyName: string;
36
+ /**
37
+ * Full name of the billed contact
38
+ * @type {string}
39
+ * @memberof InvoiceIssuedTo
40
+ */
41
+ fullName: string;
42
+ /**
43
+ * Street address
44
+ * @type {string}
45
+ * @memberof InvoiceIssuedTo
46
+ */
47
+ address: string;
48
+ /**
49
+ * City, state/province, and postal code
50
+ * @type {string}
51
+ * @memberof InvoiceIssuedTo
52
+ */
53
+ cityStateZip: string;
54
+ /**
55
+ * ISO country code
56
+ * @type {string}
57
+ * @memberof InvoiceIssuedTo
58
+ */
59
+ country: string;
60
+ /**
61
+ * Country display name
62
+ * @type {string}
63
+ * @memberof InvoiceIssuedTo
64
+ */
65
+ countryName: string;
66
+ /**
67
+ *
68
+ * @type {InvoiceIssuedToTax}
69
+ * @memberof InvoiceIssuedTo
70
+ */
71
+ tax?: InvoiceIssuedToTax;
72
+ }
73
+
74
+ /**
75
+ * Check if a given object implements the InvoiceIssuedTo interface.
76
+ */
77
+ export function instanceOfInvoiceIssuedTo(value: object): value is InvoiceIssuedTo {
78
+ if (!('companyName' in value) || value['companyName'] === undefined) return false;
79
+ if (!('fullName' in value) || value['fullName'] === undefined) return false;
80
+ if (!('address' in value) || value['address'] === undefined) return false;
81
+ if (!('cityStateZip' in value) || value['cityStateZip'] === undefined) return false;
82
+ if (!('country' in value) || value['country'] === undefined) return false;
83
+ if (!('countryName' in value) || value['countryName'] === undefined) return false;
84
+ return true;
85
+ }
86
+
87
+ export function InvoiceIssuedToFromJSON(json: any): InvoiceIssuedTo {
88
+ return InvoiceIssuedToFromJSONTyped(json, false);
89
+ }
90
+
91
+ export function InvoiceIssuedToFromJSONTyped(json: any, ignoreDiscriminator: boolean): InvoiceIssuedTo {
92
+ if (json == null) {
93
+ return json;
94
+ }
95
+ return {
96
+
97
+ 'companyName': json['company_name'],
98
+ 'fullName': json['full_name'],
99
+ 'address': json['address'],
100
+ 'cityStateZip': json['city_state_zip'],
101
+ 'country': json['country'],
102
+ 'countryName': json['country_name'],
103
+ 'tax': json['tax'] == null ? undefined : InvoiceIssuedToTaxFromJSON(json['tax']),
104
+ };
105
+ }
106
+
107
+ export function InvoiceIssuedToToJSON(json: any): InvoiceIssuedTo {
108
+ return InvoiceIssuedToToJSONTyped(json, false);
109
+ }
110
+
111
+ export function InvoiceIssuedToToJSONTyped(value?: InvoiceIssuedTo | null, ignoreDiscriminator: boolean = false): any {
112
+ if (value == null) {
113
+ return value;
114
+ }
115
+
116
+ return {
117
+
118
+ 'company_name': value['companyName'],
119
+ 'full_name': value['fullName'],
120
+ 'address': value['address'],
121
+ 'city_state_zip': value['cityStateZip'],
122
+ 'country': value['country'],
123
+ 'country_name': value['countryName'],
124
+ 'tax': InvoiceIssuedToTaxToJSON(value['tax']),
125
+ };
126
+ }
127
+
@@ -0,0 +1,84 @@
1
+ /* tslint:disable */
2
+ /* eslint-disable */
3
+ /**
4
+ * HostAfricaApi
5
+ * HostAfrica API
6
+ *
7
+ * The version of the OpenAPI document: 1.1.0 - 2026-07-16
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.js';
16
+ /**
17
+ * Tax applied to the invoice recipient
18
+ * @export
19
+ * @interface InvoiceIssuedToTax
20
+ */
21
+ export interface InvoiceIssuedToTax {
22
+ /**
23
+ * Tax name or region label (e.g. SA)
24
+ * @type {string}
25
+ * @memberof InvoiceIssuedToTax
26
+ */
27
+ name: string;
28
+ /**
29
+ * Tax rate percentage
30
+ * @type {number}
31
+ * @memberof InvoiceIssuedToTax
32
+ */
33
+ rate: number;
34
+ /**
35
+ * Tax level
36
+ * @type {number}
37
+ * @memberof InvoiceIssuedToTax
38
+ */
39
+ level: number;
40
+ }
41
+
42
+ /**
43
+ * Check if a given object implements the InvoiceIssuedToTax interface.
44
+ */
45
+ export function instanceOfInvoiceIssuedToTax(value: object): value is InvoiceIssuedToTax {
46
+ if (!('name' in value) || value['name'] === undefined) return false;
47
+ if (!('rate' in value) || value['rate'] === undefined) return false;
48
+ if (!('level' in value) || value['level'] === undefined) return false;
49
+ return true;
50
+ }
51
+
52
+ export function InvoiceIssuedToTaxFromJSON(json: any): InvoiceIssuedToTax {
53
+ return InvoiceIssuedToTaxFromJSONTyped(json, false);
54
+ }
55
+
56
+ export function InvoiceIssuedToTaxFromJSONTyped(json: any, ignoreDiscriminator: boolean): InvoiceIssuedToTax {
57
+ if (json == null) {
58
+ return json;
59
+ }
60
+ return {
61
+
62
+ 'name': json['name'],
63
+ 'rate': json['rate'],
64
+ 'level': json['level'],
65
+ };
66
+ }
67
+
68
+ export function InvoiceIssuedToTaxToJSON(json: any): InvoiceIssuedToTax {
69
+ return InvoiceIssuedToTaxToJSONTyped(json, false);
70
+ }
71
+
72
+ export function InvoiceIssuedToTaxToJSONTyped(value?: InvoiceIssuedToTax | null, ignoreDiscriminator: boolean = false): any {
73
+ if (value == null) {
74
+ return value;
75
+ }
76
+
77
+ return {
78
+
79
+ 'name': value['name'],
80
+ 'rate': value['rate'],
81
+ 'level': value['level'],
82
+ };
83
+ }
84
+
@@ -0,0 +1,102 @@
1
+ /* tslint:disable */
2
+ /* eslint-disable */
3
+ /**
4
+ * HostAfricaApi
5
+ * HostAfrica API
6
+ *
7
+ * The version of the OpenAPI document: 1.1.0 - 2026-07-16
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.js';
16
+ /**
17
+ * A single invoice line item
18
+ * @export
19
+ * @interface InvoiceItem
20
+ */
21
+ export interface InvoiceItem {
22
+ /**
23
+ * Line item identifier
24
+ * @type {number}
25
+ * @memberof InvoiceItem
26
+ */
27
+ id: number;
28
+ /**
29
+ * Line item type (e.g. Hosting)
30
+ * @type {string}
31
+ * @memberof InvoiceItem
32
+ */
33
+ type: string;
34
+ /**
35
+ * Line item description
36
+ * @type {string}
37
+ * @memberof InvoiceItem
38
+ */
39
+ description: string;
40
+ /**
41
+ * Line item amount as a decimal string
42
+ * @type {string}
43
+ * @memberof InvoiceItem
44
+ */
45
+ amount: string;
46
+ /**
47
+ * Whether the line item is taxed (1 = taxed, 0 = not taxed)
48
+ * @type {number}
49
+ * @memberof InvoiceItem
50
+ */
51
+ taxed: number;
52
+ }
53
+
54
+ /**
55
+ * Check if a given object implements the InvoiceItem interface.
56
+ */
57
+ export function instanceOfInvoiceItem(value: object): value is InvoiceItem {
58
+ if (!('id' in value) || value['id'] === undefined) return false;
59
+ if (!('type' in value) || value['type'] === undefined) return false;
60
+ if (!('description' in value) || value['description'] === undefined) return false;
61
+ if (!('amount' in value) || value['amount'] === undefined) return false;
62
+ if (!('taxed' in value) || value['taxed'] === undefined) return false;
63
+ return true;
64
+ }
65
+
66
+ export function InvoiceItemFromJSON(json: any): InvoiceItem {
67
+ return InvoiceItemFromJSONTyped(json, false);
68
+ }
69
+
70
+ export function InvoiceItemFromJSONTyped(json: any, ignoreDiscriminator: boolean): InvoiceItem {
71
+ if (json == null) {
72
+ return json;
73
+ }
74
+ return {
75
+
76
+ 'id': json['id'],
77
+ 'type': json['type'],
78
+ 'description': json['description'],
79
+ 'amount': json['amount'],
80
+ 'taxed': json['taxed'],
81
+ };
82
+ }
83
+
84
+ export function InvoiceItemToJSON(json: any): InvoiceItem {
85
+ return InvoiceItemToJSONTyped(json, false);
86
+ }
87
+
88
+ export function InvoiceItemToJSONTyped(value?: InvoiceItem | null, ignoreDiscriminator: boolean = false): any {
89
+ if (value == null) {
90
+ return value;
91
+ }
92
+
93
+ return {
94
+
95
+ 'id': value['id'],
96
+ 'type': value['type'],
97
+ 'description': value['description'],
98
+ 'amount': value['amount'],
99
+ 'taxed': value['taxed'],
100
+ };
101
+ }
102
+