@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
@@ -20,6 +20,13 @@ import {
20
20
  DnsRecordMutationRecordToJSON,
21
21
  DnsRecordMutationRecordToJSONTyped,
22
22
  } from './DnsRecordMutationRecord.js';
23
+ import type { DnsBackend } from './DnsBackend.js';
24
+ import {
25
+ DnsBackendFromJSON,
26
+ DnsBackendFromJSONTyped,
27
+ DnsBackendToJSON,
28
+ DnsBackendToJSONTyped,
29
+ } from './DnsBackend.js';
23
30
 
24
31
  /**
25
32
  *
@@ -28,17 +35,35 @@ import {
28
35
  */
29
36
  export interface AddDnsRecordRequestContent {
30
37
  /**
31
- * DNS zone domain name (FQDN); optional when zone_id is provided
38
+ * DNS zone domain name (FQDN); optional for dns_manager when zone_id is provided. Not forwarded on DirectAdmin mutations.
32
39
  * @type {string}
33
40
  * @memberof AddDnsRecordRequestContent
34
41
  */
35
42
  domainName?: string;
36
43
  /**
37
- * DNS zone identifier from list-dns-zones or get-dns-zone-details
44
+ * DNS zone identifier from list-dns-zones or get-dns-zone-details; required for dns_manager / legacy callers
38
45
  * @type {string}
39
46
  * @memberof AddDnsRecordRequestContent
40
47
  */
41
- zoneId: string;
48
+ zoneId?: string;
49
+ /**
50
+ * WHMCS domain id from list-dns-zones; required when backend is directadmin
51
+ * @type {string}
52
+ * @memberof AddDnsRecordRequestContent
53
+ */
54
+ domainId?: string;
55
+ /**
56
+ * Optional WHMCS hosting service id from list-dns-zones hosting_id. Not forwarded on DirectAdmin mutations.
57
+ * @type {number}
58
+ * @memberof AddDnsRecordRequestContent
59
+ */
60
+ serviceId?: number;
61
+ /**
62
+ *
63
+ * @type {DnsBackend}
64
+ * @memberof AddDnsRecordRequestContent
65
+ */
66
+ backend?: DnsBackend;
42
67
  /**
43
68
  *
44
69
  * @type {DnsRecordMutationRecord}
@@ -47,11 +72,12 @@ export interface AddDnsRecordRequestContent {
47
72
  record: DnsRecordMutationRecord;
48
73
  }
49
74
 
75
+
76
+
50
77
  /**
51
78
  * Check if a given object implements the AddDnsRecordRequestContent interface.
52
79
  */
53
80
  export function instanceOfAddDnsRecordRequestContent(value: object): value is AddDnsRecordRequestContent {
54
- if (!('zoneId' in value) || value['zoneId'] === undefined) return false;
55
81
  if (!('record' in value) || value['record'] === undefined) return false;
56
82
  return true;
57
83
  }
@@ -67,7 +93,10 @@ export function AddDnsRecordRequestContentFromJSONTyped(json: any, ignoreDiscrim
67
93
  return {
68
94
 
69
95
  'domainName': json['domain_name'] == null ? undefined : json['domain_name'],
70
- 'zoneId': json['zone_id'],
96
+ 'zoneId': json['zone_id'] == null ? undefined : json['zone_id'],
97
+ 'domainId': json['domain_id'] == null ? undefined : json['domain_id'],
98
+ 'serviceId': json['service_id'] == null ? undefined : json['service_id'],
99
+ 'backend': json['backend'] == null ? undefined : DnsBackendFromJSON(json['backend']),
71
100
  'record': DnsRecordMutationRecordFromJSON(json['record']),
72
101
  };
73
102
  }
@@ -85,6 +114,9 @@ export function AddDnsRecordRequestContentToJSONTyped(value?: AddDnsRecordReques
85
114
 
86
115
  'domain_name': value['domainName'],
87
116
  'zone_id': value['zoneId'],
117
+ 'domain_id': value['domainId'],
118
+ 'service_id': value['serviceId'],
119
+ 'backend': DnsBackendToJSON(value['backend']),
88
120
  'record': DnsRecordMutationRecordToJSON(value['record']),
89
121
  };
90
122
  }
@@ -20,6 +20,13 @@ import {
20
20
  DnsRecordMutationRecordToJSON,
21
21
  DnsRecordMutationRecordToJSONTyped,
22
22
  } from './DnsRecordMutationRecord.js';
23
+ import type { DnsBackend } from './DnsBackend.js';
24
+ import {
25
+ DnsBackendFromJSON,
26
+ DnsBackendFromJSONTyped,
27
+ DnsBackendToJSON,
28
+ DnsBackendToJSONTyped,
29
+ } from './DnsBackend.js';
23
30
 
24
31
  /**
25
32
  *
@@ -28,17 +35,35 @@ import {
28
35
  */
29
36
  export interface DeleteDnsRecordRequestContent {
30
37
  /**
31
- * DNS zone domain name (FQDN); optional when zone_id is provided
38
+ * DNS zone domain name (FQDN); optional for dns_manager when zone_id is provided. Not forwarded on DirectAdmin mutations.
32
39
  * @type {string}
33
40
  * @memberof DeleteDnsRecordRequestContent
34
41
  */
35
42
  domainName?: string;
36
43
  /**
37
- * DNS zone identifier from list-dns-zones or get-dns-zone-details
44
+ * DNS zone identifier from list-dns-zones or get-dns-zone-details; required for dns_manager / legacy callers
38
45
  * @type {string}
39
46
  * @memberof DeleteDnsRecordRequestContent
40
47
  */
41
- zoneId: string;
48
+ zoneId?: string;
49
+ /**
50
+ * WHMCS domain id from list-dns-zones; required when backend is directadmin
51
+ * @type {string}
52
+ * @memberof DeleteDnsRecordRequestContent
53
+ */
54
+ domainId?: string;
55
+ /**
56
+ * Optional WHMCS hosting service id from list-dns-zones hosting_id. Not forwarded on DirectAdmin mutations.
57
+ * @type {number}
58
+ * @memberof DeleteDnsRecordRequestContent
59
+ */
60
+ serviceId?: number;
61
+ /**
62
+ *
63
+ * @type {DnsBackend}
64
+ * @memberof DeleteDnsRecordRequestContent
65
+ */
66
+ backend?: DnsBackend;
42
67
  /**
43
68
  *
44
69
  * @type {DnsRecordMutationRecord}
@@ -47,11 +72,12 @@ export interface DeleteDnsRecordRequestContent {
47
72
  record: DnsRecordMutationRecord;
48
73
  }
49
74
 
75
+
76
+
50
77
  /**
51
78
  * Check if a given object implements the DeleteDnsRecordRequestContent interface.
52
79
  */
53
80
  export function instanceOfDeleteDnsRecordRequestContent(value: object): value is DeleteDnsRecordRequestContent {
54
- if (!('zoneId' in value) || value['zoneId'] === undefined) return false;
55
81
  if (!('record' in value) || value['record'] === undefined) return false;
56
82
  return true;
57
83
  }
@@ -67,7 +93,10 @@ export function DeleteDnsRecordRequestContentFromJSONTyped(json: any, ignoreDisc
67
93
  return {
68
94
 
69
95
  'domainName': json['domain_name'] == null ? undefined : json['domain_name'],
70
- 'zoneId': json['zone_id'],
96
+ 'zoneId': json['zone_id'] == null ? undefined : json['zone_id'],
97
+ 'domainId': json['domain_id'] == null ? undefined : json['domain_id'],
98
+ 'serviceId': json['service_id'] == null ? undefined : json['service_id'],
99
+ 'backend': json['backend'] == null ? undefined : DnsBackendFromJSON(json['backend']),
71
100
  'record': DnsRecordMutationRecordFromJSON(json['record']),
72
101
  };
73
102
  }
@@ -85,6 +114,9 @@ export function DeleteDnsRecordRequestContentToJSONTyped(value?: DeleteDnsRecord
85
114
 
86
115
  'domain_name': value['domainName'],
87
116
  'zone_id': value['zoneId'],
117
+ 'domain_id': value['domainId'],
118
+ 'service_id': value['serviceId'],
119
+ 'backend': DnsBackendToJSON(value['backend']),
88
120
  'record': DnsRecordMutationRecordToJSON(value['record']),
89
121
  };
90
122
  }
@@ -0,0 +1,56 @@
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
+
16
+ /**
17
+ * Upstream DNS management backend for a zone.
18
+ *
19
+ * - `dns_manager` — WHMCS DNS Manager
20
+ * - `directadmin` — DirectAdmin DNS
21
+ * @export
22
+ */
23
+ export const DnsBackend = {
24
+ DnsManager: 'dns_manager',
25
+ Directadmin: 'directadmin'
26
+ } as const;
27
+ export type DnsBackend = typeof DnsBackend[keyof typeof DnsBackend];
28
+
29
+
30
+ export function instanceOfDnsBackend(value: any): boolean {
31
+ for (const key in DnsBackend) {
32
+ if (Object.prototype.hasOwnProperty.call(DnsBackend, key)) {
33
+ if (DnsBackend[key as keyof typeof DnsBackend] === value) {
34
+ return true;
35
+ }
36
+ }
37
+ }
38
+ return false;
39
+ }
40
+
41
+ export function DnsBackendFromJSON(json: any): DnsBackend {
42
+ return DnsBackendFromJSONTyped(json, false);
43
+ }
44
+
45
+ export function DnsBackendFromJSONTyped(json: any, ignoreDiscriminator: boolean): DnsBackend {
46
+ return json as DnsBackend;
47
+ }
48
+
49
+ export function DnsBackendToJSON(value?: DnsBackend | null): any {
50
+ return value as any;
51
+ }
52
+
53
+ export function DnsBackendToJSONTyped(value: any, ignoreDiscriminator: boolean): DnsBackend {
54
+ return value as DnsBackend;
55
+ }
56
+
@@ -17,13 +17,14 @@ import { mapValues } from '../runtime.js';
17
17
  * DNS record fields for add, edit, or delete via DNSManager.
18
18
  *
19
19
  * See `DnsRecordInfo` for how `content` and structured fields map to upstream record data.
20
- * Delete requires only `id`, `name`, and `type`.
20
+ * Delete requires only `id`, `name`, and `type`. For edit and delete, `id` must be the
21
+ * numeric zone line from get-dns-zone-details (a positive integer string).
21
22
  * @export
22
23
  * @interface DnsRecordMutationRecord
23
24
  */
24
25
  export interface DnsRecordMutationRecord {
25
26
  /**
26
- * Record line/id from get-dns-zone-details; required for edit and delete
27
+ * Record line from get-dns-zone-details (positive integer string); required for edit and delete
27
28
  * @type {string}
28
29
  * @memberof DnsRecordMutationRecord
29
30
  */
@@ -20,6 +20,13 @@ import {
20
20
  DomainHostingLinkToJSON,
21
21
  DomainHostingLinkToJSONTyped,
22
22
  } from './DomainHostingLink.js';
23
+ import type { DnsBackend } from './DnsBackend.js';
24
+ import {
25
+ DnsBackendFromJSON,
26
+ DnsBackendFromJSONTyped,
27
+ DnsBackendToJSON,
28
+ DnsBackendToJSONTyped,
29
+ } from './DnsBackend.js';
23
30
 
24
31
  /**
25
32
  * A DNS zone owned by the authenticated client
@@ -81,8 +88,16 @@ export interface DnsZoneInfo {
81
88
  * @memberof DnsZoneInfo
82
89
  */
83
90
  hasDnsManagerZone: boolean;
91
+ /**
92
+ *
93
+ * @type {DnsBackend}
94
+ * @memberof DnsZoneInfo
95
+ */
96
+ backend?: DnsBackend;
84
97
  }
85
98
 
99
+
100
+
86
101
  /**
87
102
  * Check if a given object implements the DnsZoneInfo interface.
88
103
  */
@@ -110,6 +125,7 @@ export function DnsZoneInfoFromJSONTyped(json: any, ignoreDiscriminator: boolean
110
125
  'packageName': json['package_name'] == null ? undefined : json['package_name'],
111
126
  'hasHosting': json['has_hosting'] == null ? undefined : DomainHostingLinkFromJSON(json['has_hosting']),
112
127
  'hasDnsManagerZone': json['has_dns_manager_zone'],
128
+ 'backend': json['backend'] == null ? undefined : DnsBackendFromJSON(json['backend']),
113
129
  };
114
130
  }
115
131
 
@@ -133,6 +149,7 @@ export function DnsZoneInfoToJSONTyped(value?: DnsZoneInfo | null, ignoreDiscrim
133
149
  'package_name': value['packageName'],
134
150
  'has_hosting': DomainHostingLinkToJSON(value['hasHosting']),
135
151
  'has_dns_manager_zone': value['hasDnsManagerZone'],
152
+ 'backend': DnsBackendToJSON(value['backend']),
136
153
  };
137
154
  }
138
155
 
@@ -20,6 +20,13 @@ import {
20
20
  DnsRecordMutationRecordToJSON,
21
21
  DnsRecordMutationRecordToJSONTyped,
22
22
  } from './DnsRecordMutationRecord.js';
23
+ import type { DnsBackend } from './DnsBackend.js';
24
+ import {
25
+ DnsBackendFromJSON,
26
+ DnsBackendFromJSONTyped,
27
+ DnsBackendToJSON,
28
+ DnsBackendToJSONTyped,
29
+ } from './DnsBackend.js';
23
30
 
24
31
  /**
25
32
  *
@@ -28,17 +35,35 @@ import {
28
35
  */
29
36
  export interface EditDnsRecordRequestContent {
30
37
  /**
31
- * DNS zone domain name (FQDN); optional when zone_id is provided
38
+ * DNS zone domain name (FQDN); optional for dns_manager when zone_id is provided. Not forwarded on DirectAdmin mutations.
32
39
  * @type {string}
33
40
  * @memberof EditDnsRecordRequestContent
34
41
  */
35
42
  domainName?: string;
36
43
  /**
37
- * DNS zone identifier from list-dns-zones or get-dns-zone-details
44
+ * DNS zone identifier from list-dns-zones or get-dns-zone-details; required for dns_manager / legacy callers
38
45
  * @type {string}
39
46
  * @memberof EditDnsRecordRequestContent
40
47
  */
41
- zoneId: string;
48
+ zoneId?: string;
49
+ /**
50
+ * WHMCS domain id from list-dns-zones; required when backend is directadmin
51
+ * @type {string}
52
+ * @memberof EditDnsRecordRequestContent
53
+ */
54
+ domainId?: string;
55
+ /**
56
+ * Optional WHMCS hosting service id from list-dns-zones hosting_id. Not forwarded on DirectAdmin mutations.
57
+ * @type {number}
58
+ * @memberof EditDnsRecordRequestContent
59
+ */
60
+ serviceId?: number;
61
+ /**
62
+ *
63
+ * @type {DnsBackend}
64
+ * @memberof EditDnsRecordRequestContent
65
+ */
66
+ backend?: DnsBackend;
42
67
  /**
43
68
  *
44
69
  * @type {DnsRecordMutationRecord}
@@ -47,11 +72,12 @@ export interface EditDnsRecordRequestContent {
47
72
  record: DnsRecordMutationRecord;
48
73
  }
49
74
 
75
+
76
+
50
77
  /**
51
78
  * Check if a given object implements the EditDnsRecordRequestContent interface.
52
79
  */
53
80
  export function instanceOfEditDnsRecordRequestContent(value: object): value is EditDnsRecordRequestContent {
54
- if (!('zoneId' in value) || value['zoneId'] === undefined) return false;
55
81
  if (!('record' in value) || value['record'] === undefined) return false;
56
82
  return true;
57
83
  }
@@ -67,7 +93,10 @@ export function EditDnsRecordRequestContentFromJSONTyped(json: any, ignoreDiscri
67
93
  return {
68
94
 
69
95
  'domainName': json['domain_name'] == null ? undefined : json['domain_name'],
70
- 'zoneId': json['zone_id'],
96
+ 'zoneId': json['zone_id'] == null ? undefined : json['zone_id'],
97
+ 'domainId': json['domain_id'] == null ? undefined : json['domain_id'],
98
+ 'serviceId': json['service_id'] == null ? undefined : json['service_id'],
99
+ 'backend': json['backend'] == null ? undefined : DnsBackendFromJSON(json['backend']),
71
100
  'record': DnsRecordMutationRecordFromJSON(json['record']),
72
101
  };
73
102
  }
@@ -85,6 +114,9 @@ export function EditDnsRecordRequestContentToJSONTyped(value?: EditDnsRecordRequ
85
114
 
86
115
  'domain_name': value['domainName'],
87
116
  'zone_id': value['zoneId'],
117
+ 'domain_id': value['domainId'],
118
+ 'service_id': value['serviceId'],
119
+ 'backend': DnsBackendToJSON(value['backend']),
88
120
  'record': DnsRecordMutationRecordToJSON(value['record']),
89
121
  };
90
122
  }
@@ -13,6 +13,14 @@
13
13
  */
14
14
 
15
15
  import { mapValues } from '../runtime.js';
16
+ import type { DnsBackend } from './DnsBackend.js';
17
+ import {
18
+ DnsBackendFromJSON,
19
+ DnsBackendFromJSONTyped,
20
+ DnsBackendToJSON,
21
+ DnsBackendToJSONTyped,
22
+ } from './DnsBackend.js';
23
+
16
24
  /**
17
25
  *
18
26
  * @export
@@ -25,8 +33,16 @@ export interface GetDnsZoneDetailsRequestContent {
25
33
  * @memberof GetDnsZoneDetailsRequestContent
26
34
  */
27
35
  domainId: string;
36
+ /**
37
+ *
38
+ * @type {DnsBackend}
39
+ * @memberof GetDnsZoneDetailsRequestContent
40
+ */
41
+ backend?: DnsBackend;
28
42
  }
29
43
 
44
+
45
+
30
46
  /**
31
47
  * Check if a given object implements the GetDnsZoneDetailsRequestContent interface.
32
48
  */
@@ -46,6 +62,7 @@ export function GetDnsZoneDetailsRequestContentFromJSONTyped(json: any, ignoreDi
46
62
  return {
47
63
 
48
64
  'domainId': json['domain_id'],
65
+ 'backend': json['backend'] == null ? undefined : DnsBackendFromJSON(json['backend']),
49
66
  };
50
67
  }
51
68
 
@@ -61,6 +78,7 @@ export function GetDnsZoneDetailsRequestContentToJSONTyped(value?: GetDnsZoneDet
61
78
  return {
62
79
 
63
80
  'domain_id': value['domainId'],
81
+ 'backend': DnsBackendToJSON(value['backend']),
64
82
  };
65
83
  }
66
84
 
@@ -0,0 +1,66 @@
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
+ *
18
+ * @export
19
+ * @interface GetInvoiceDetailsRequestContent
20
+ */
21
+ export interface GetInvoiceDetailsRequestContent {
22
+ /**
23
+ * Invoice ID - must be sent as a string
24
+ * @type {string}
25
+ * @memberof GetInvoiceDetailsRequestContent
26
+ */
27
+ invoiceId: string;
28
+ }
29
+
30
+ /**
31
+ * Check if a given object implements the GetInvoiceDetailsRequestContent interface.
32
+ */
33
+ export function instanceOfGetInvoiceDetailsRequestContent(value: object): value is GetInvoiceDetailsRequestContent {
34
+ if (!('invoiceId' in value) || value['invoiceId'] === undefined) return false;
35
+ return true;
36
+ }
37
+
38
+ export function GetInvoiceDetailsRequestContentFromJSON(json: any): GetInvoiceDetailsRequestContent {
39
+ return GetInvoiceDetailsRequestContentFromJSONTyped(json, false);
40
+ }
41
+
42
+ export function GetInvoiceDetailsRequestContentFromJSONTyped(json: any, ignoreDiscriminator: boolean): GetInvoiceDetailsRequestContent {
43
+ if (json == null) {
44
+ return json;
45
+ }
46
+ return {
47
+
48
+ 'invoiceId': json['invoice_id'],
49
+ };
50
+ }
51
+
52
+ export function GetInvoiceDetailsRequestContentToJSON(json: any): GetInvoiceDetailsRequestContent {
53
+ return GetInvoiceDetailsRequestContentToJSONTyped(json, false);
54
+ }
55
+
56
+ export function GetInvoiceDetailsRequestContentToJSONTyped(value?: GetInvoiceDetailsRequestContent | null, ignoreDiscriminator: boolean = false): any {
57
+ if (value == null) {
58
+ return value;
59
+ }
60
+
61
+ return {
62
+
63
+ 'invoice_id': value['invoiceId'],
64
+ };
65
+ }
66
+
@@ -0,0 +1,92 @@
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 { OperationStatus } from './OperationStatus.js';
17
+ import {
18
+ OperationStatusFromJSON,
19
+ OperationStatusFromJSONTyped,
20
+ OperationStatusToJSON,
21
+ OperationStatusToJSONTyped,
22
+ } from './OperationStatus.js';
23
+ import type { GetInvoiceDetailsResponseData } from './GetInvoiceDetailsResponseData.js';
24
+ import {
25
+ GetInvoiceDetailsResponseDataFromJSON,
26
+ GetInvoiceDetailsResponseDataFromJSONTyped,
27
+ GetInvoiceDetailsResponseDataToJSON,
28
+ GetInvoiceDetailsResponseDataToJSONTyped,
29
+ } from './GetInvoiceDetailsResponseData.js';
30
+
31
+ /**
32
+ *
33
+ * @export
34
+ * @interface GetInvoiceDetailsResponseContent
35
+ */
36
+ export interface GetInvoiceDetailsResponseContent {
37
+ /**
38
+ *
39
+ * @type {OperationStatus}
40
+ * @memberof GetInvoiceDetailsResponseContent
41
+ */
42
+ status: OperationStatus;
43
+ /**
44
+ *
45
+ * @type {GetInvoiceDetailsResponseData}
46
+ * @memberof GetInvoiceDetailsResponseContent
47
+ */
48
+ data: GetInvoiceDetailsResponseData;
49
+ }
50
+
51
+
52
+
53
+ /**
54
+ * Check if a given object implements the GetInvoiceDetailsResponseContent interface.
55
+ */
56
+ export function instanceOfGetInvoiceDetailsResponseContent(value: object): value is GetInvoiceDetailsResponseContent {
57
+ if (!('status' in value) || value['status'] === undefined) return false;
58
+ if (!('data' in value) || value['data'] === undefined) return false;
59
+ return true;
60
+ }
61
+
62
+ export function GetInvoiceDetailsResponseContentFromJSON(json: any): GetInvoiceDetailsResponseContent {
63
+ return GetInvoiceDetailsResponseContentFromJSONTyped(json, false);
64
+ }
65
+
66
+ export function GetInvoiceDetailsResponseContentFromJSONTyped(json: any, ignoreDiscriminator: boolean): GetInvoiceDetailsResponseContent {
67
+ if (json == null) {
68
+ return json;
69
+ }
70
+ return {
71
+
72
+ 'status': OperationStatusFromJSON(json['status']),
73
+ 'data': GetInvoiceDetailsResponseDataFromJSON(json['data']),
74
+ };
75
+ }
76
+
77
+ export function GetInvoiceDetailsResponseContentToJSON(json: any): GetInvoiceDetailsResponseContent {
78
+ return GetInvoiceDetailsResponseContentToJSONTyped(json, false);
79
+ }
80
+
81
+ export function GetInvoiceDetailsResponseContentToJSONTyped(value?: GetInvoiceDetailsResponseContent | null, ignoreDiscriminator: boolean = false): any {
82
+ if (value == null) {
83
+ return value;
84
+ }
85
+
86
+ return {
87
+
88
+ 'status': OperationStatusToJSON(value['status']),
89
+ 'data': GetInvoiceDetailsResponseDataToJSON(value['data']),
90
+ };
91
+ }
92
+
@@ -0,0 +1,89 @@
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 { InvoiceDetails } from './InvoiceDetails.js';
17
+ import {
18
+ InvoiceDetailsFromJSON,
19
+ InvoiceDetailsFromJSONTyped,
20
+ InvoiceDetailsToJSON,
21
+ InvoiceDetailsToJSONTyped,
22
+ } from './InvoiceDetails.js';
23
+ import type { SelcomMetadata } from './SelcomMetadata.js';
24
+ import {
25
+ SelcomMetadataFromJSON,
26
+ SelcomMetadataFromJSONTyped,
27
+ SelcomMetadataToJSON,
28
+ SelcomMetadataToJSONTyped,
29
+ } from './SelcomMetadata.js';
30
+
31
+ /**
32
+ * Top-level data payload for the GetInvoiceDetails response
33
+ * @export
34
+ * @interface GetInvoiceDetailsResponseData
35
+ */
36
+ export interface GetInvoiceDetailsResponseData {
37
+ /**
38
+ *
39
+ * @type {InvoiceDetails}
40
+ * @memberof GetInvoiceDetailsResponseData
41
+ */
42
+ invoice: InvoiceDetails;
43
+ /**
44
+ *
45
+ * @type {SelcomMetadata}
46
+ * @memberof GetInvoiceDetailsResponseData
47
+ */
48
+ selcomMetadata?: SelcomMetadata;
49
+ }
50
+
51
+ /**
52
+ * Check if a given object implements the GetInvoiceDetailsResponseData interface.
53
+ */
54
+ export function instanceOfGetInvoiceDetailsResponseData(value: object): value is GetInvoiceDetailsResponseData {
55
+ if (!('invoice' in value) || value['invoice'] === undefined) return false;
56
+ return true;
57
+ }
58
+
59
+ export function GetInvoiceDetailsResponseDataFromJSON(json: any): GetInvoiceDetailsResponseData {
60
+ return GetInvoiceDetailsResponseDataFromJSONTyped(json, false);
61
+ }
62
+
63
+ export function GetInvoiceDetailsResponseDataFromJSONTyped(json: any, ignoreDiscriminator: boolean): GetInvoiceDetailsResponseData {
64
+ if (json == null) {
65
+ return json;
66
+ }
67
+ return {
68
+
69
+ 'invoice': InvoiceDetailsFromJSON(json['invoice']),
70
+ 'selcomMetadata': json['selcom_metadata'] == null ? undefined : SelcomMetadataFromJSON(json['selcom_metadata']),
71
+ };
72
+ }
73
+
74
+ export function GetInvoiceDetailsResponseDataToJSON(json: any): GetInvoiceDetailsResponseData {
75
+ return GetInvoiceDetailsResponseDataToJSONTyped(json, false);
76
+ }
77
+
78
+ export function GetInvoiceDetailsResponseDataToJSONTyped(value?: GetInvoiceDetailsResponseData | null, ignoreDiscriminator: boolean = false): any {
79
+ if (value == null) {
80
+ return value;
81
+ }
82
+
83
+ return {
84
+
85
+ 'invoice': InvoiceDetailsToJSON(value['invoice']),
86
+ 'selcom_metadata': SelcomMetadataToJSON(value['selcomMetadata']),
87
+ };
88
+ }
89
+