tsarr 1.1.3 → 1.3.0

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 (194) hide show
  1. package/README.md +1 -1
  2. package/dist/clients/lidarr.d.ts +10 -10
  3. package/dist/clients/lidarr.d.ts.map +1 -1
  4. package/dist/clients/lidarr.js +1183 -246
  5. package/dist/clients/prowlarr.d.ts +5 -5
  6. package/dist/clients/prowlarr.d.ts.map +1 -1
  7. package/dist/clients/prowlarr.js +825 -177
  8. package/dist/clients/radarr.d.ts +23 -23
  9. package/dist/clients/radarr.d.ts.map +1 -1
  10. package/dist/clients/radarr.js +1817 -347
  11. package/dist/clients/readarr.d.ts +5 -5
  12. package/dist/clients/readarr.d.ts.map +1 -1
  13. package/dist/clients/readarr.js +877 -192
  14. package/dist/clients/sonarr.d.ts +36 -17
  15. package/dist/clients/sonarr.d.ts.map +1 -1
  16. package/dist/clients/sonarr.js +855 -191
  17. package/dist/core/response.d.ts +1 -1
  18. package/dist/core/response.d.ts.map +1 -1
  19. package/dist/generated/lidarr/client/client.gen.d.ts +3 -0
  20. package/dist/generated/lidarr/client/client.gen.d.ts.map +1 -0
  21. package/dist/generated/lidarr/client/index.d.ts +8 -0
  22. package/dist/generated/lidarr/client/index.d.ts.map +1 -0
  23. package/dist/generated/lidarr/client/types.gen.d.ts +125 -0
  24. package/dist/generated/lidarr/client/types.gen.d.ts.map +1 -0
  25. package/dist/generated/lidarr/client/utils.gen.d.ts +39 -0
  26. package/dist/generated/lidarr/client/utils.gen.d.ts.map +1 -0
  27. package/dist/generated/lidarr/client.gen.d.ts +13 -0
  28. package/dist/generated/lidarr/client.gen.d.ts.map +1 -0
  29. package/dist/generated/lidarr/core/auth.gen.d.ts +19 -0
  30. package/dist/generated/lidarr/core/auth.gen.d.ts.map +1 -0
  31. package/dist/generated/lidarr/core/bodySerializer.gen.d.ts +18 -0
  32. package/dist/generated/lidarr/core/bodySerializer.gen.d.ts.map +1 -0
  33. package/dist/generated/lidarr/core/params.gen.d.ts +34 -0
  34. package/dist/generated/lidarr/core/params.gen.d.ts.map +1 -0
  35. package/dist/generated/lidarr/core/pathSerializer.gen.d.ts +34 -0
  36. package/dist/generated/lidarr/core/pathSerializer.gen.d.ts.map +1 -0
  37. package/dist/generated/lidarr/core/serverSentEvents.gen.d.ts +72 -0
  38. package/dist/generated/lidarr/core/serverSentEvents.gen.d.ts.map +1 -0
  39. package/dist/generated/lidarr/core/types.gen.d.ts +79 -0
  40. package/dist/generated/lidarr/core/types.gen.d.ts.map +1 -0
  41. package/dist/generated/lidarr/core/utils.gen.d.ts +15 -0
  42. package/dist/generated/lidarr/core/utils.gen.d.ts.map +1 -0
  43. package/dist/generated/lidarr/index.d.ts +1 -2
  44. package/dist/generated/lidarr/index.d.ts.map +1 -1
  45. package/dist/generated/lidarr/sdk.gen.d.ts +252 -0
  46. package/dist/generated/lidarr/sdk.gen.d.ts.map +1 -0
  47. package/dist/generated/lidarr/types.gen.d.ts +3117 -1056
  48. package/dist/generated/lidarr/types.gen.d.ts.map +1 -1
  49. package/dist/generated/prowlarr/client/client.gen.d.ts +3 -0
  50. package/dist/generated/prowlarr/client/client.gen.d.ts.map +1 -0
  51. package/dist/generated/prowlarr/client/index.d.ts +8 -0
  52. package/dist/generated/prowlarr/client/index.d.ts.map +1 -0
  53. package/dist/generated/prowlarr/client/types.gen.d.ts +125 -0
  54. package/dist/generated/prowlarr/client/types.gen.d.ts.map +1 -0
  55. package/dist/generated/prowlarr/client/utils.gen.d.ts +39 -0
  56. package/dist/generated/prowlarr/client/utils.gen.d.ts.map +1 -0
  57. package/dist/generated/prowlarr/client.gen.d.ts +13 -0
  58. package/dist/generated/prowlarr/client.gen.d.ts.map +1 -0
  59. package/dist/generated/prowlarr/core/auth.gen.d.ts +19 -0
  60. package/dist/generated/prowlarr/core/auth.gen.d.ts.map +1 -0
  61. package/dist/generated/prowlarr/core/bodySerializer.gen.d.ts +18 -0
  62. package/dist/generated/prowlarr/core/bodySerializer.gen.d.ts.map +1 -0
  63. package/dist/generated/prowlarr/core/params.gen.d.ts +34 -0
  64. package/dist/generated/prowlarr/core/params.gen.d.ts.map +1 -0
  65. package/dist/generated/prowlarr/core/pathSerializer.gen.d.ts +34 -0
  66. package/dist/generated/prowlarr/core/pathSerializer.gen.d.ts.map +1 -0
  67. package/dist/generated/prowlarr/core/serverSentEvents.gen.d.ts +72 -0
  68. package/dist/generated/prowlarr/core/serverSentEvents.gen.d.ts.map +1 -0
  69. package/dist/generated/prowlarr/core/types.gen.d.ts +79 -0
  70. package/dist/generated/prowlarr/core/types.gen.d.ts.map +1 -0
  71. package/dist/generated/prowlarr/core/utils.gen.d.ts +15 -0
  72. package/dist/generated/prowlarr/core/utils.gen.d.ts.map +1 -0
  73. package/dist/generated/prowlarr/index.d.ts +1 -2
  74. package/dist/generated/prowlarr/index.d.ts.map +1 -1
  75. package/dist/generated/prowlarr/sdk.gen.d.ts +145 -0
  76. package/dist/generated/prowlarr/sdk.gen.d.ts.map +1 -0
  77. package/dist/generated/prowlarr/types.gen.d.ts +1747 -592
  78. package/dist/generated/prowlarr/types.gen.d.ts.map +1 -1
  79. package/dist/generated/radarr/client/client.gen.d.ts +3 -0
  80. package/dist/generated/radarr/client/client.gen.d.ts.map +1 -0
  81. package/dist/generated/radarr/client/index.d.ts +8 -0
  82. package/dist/generated/radarr/client/index.d.ts.map +1 -0
  83. package/dist/generated/radarr/client/types.gen.d.ts +125 -0
  84. package/dist/generated/radarr/client/types.gen.d.ts.map +1 -0
  85. package/dist/generated/radarr/client/utils.gen.d.ts +39 -0
  86. package/dist/generated/radarr/client/utils.gen.d.ts.map +1 -0
  87. package/dist/generated/radarr/client.gen.d.ts +13 -0
  88. package/dist/generated/radarr/client.gen.d.ts.map +1 -0
  89. package/dist/generated/radarr/core/auth.gen.d.ts +19 -0
  90. package/dist/generated/radarr/core/auth.gen.d.ts.map +1 -0
  91. package/dist/generated/radarr/core/bodySerializer.gen.d.ts +18 -0
  92. package/dist/generated/radarr/core/bodySerializer.gen.d.ts.map +1 -0
  93. package/dist/generated/radarr/core/params.gen.d.ts +34 -0
  94. package/dist/generated/radarr/core/params.gen.d.ts.map +1 -0
  95. package/dist/generated/radarr/core/pathSerializer.gen.d.ts +34 -0
  96. package/dist/generated/radarr/core/pathSerializer.gen.d.ts.map +1 -0
  97. package/dist/generated/radarr/core/serverSentEvents.gen.d.ts +72 -0
  98. package/dist/generated/radarr/core/serverSentEvents.gen.d.ts.map +1 -0
  99. package/dist/generated/radarr/core/types.gen.d.ts +79 -0
  100. package/dist/generated/radarr/core/types.gen.d.ts.map +1 -0
  101. package/dist/generated/radarr/core/utils.gen.d.ts +15 -0
  102. package/dist/generated/radarr/core/utils.gen.d.ts.map +1 -0
  103. package/dist/generated/radarr/index.d.ts +1 -2
  104. package/dist/generated/radarr/index.d.ts.map +1 -1
  105. package/dist/generated/radarr/sdk.gen.d.ts +260 -0
  106. package/dist/generated/radarr/sdk.gen.d.ts.map +1 -0
  107. package/dist/generated/radarr/types.gen.d.ts +3066 -1064
  108. package/dist/generated/radarr/types.gen.d.ts.map +1 -1
  109. package/dist/generated/readarr/client/client.gen.d.ts +3 -0
  110. package/dist/generated/readarr/client/client.gen.d.ts.map +1 -0
  111. package/dist/generated/readarr/client/index.d.ts +8 -0
  112. package/dist/generated/readarr/client/index.d.ts.map +1 -0
  113. package/dist/generated/readarr/client/types.gen.d.ts +125 -0
  114. package/dist/generated/readarr/client/types.gen.d.ts.map +1 -0
  115. package/dist/generated/readarr/client/utils.gen.d.ts +39 -0
  116. package/dist/generated/readarr/client/utils.gen.d.ts.map +1 -0
  117. package/dist/generated/readarr/client.gen.d.ts +13 -0
  118. package/dist/generated/readarr/client.gen.d.ts.map +1 -0
  119. package/dist/generated/readarr/core/auth.gen.d.ts +19 -0
  120. package/dist/generated/readarr/core/auth.gen.d.ts.map +1 -0
  121. package/dist/generated/readarr/core/bodySerializer.gen.d.ts +18 -0
  122. package/dist/generated/readarr/core/bodySerializer.gen.d.ts.map +1 -0
  123. package/dist/generated/readarr/core/params.gen.d.ts +34 -0
  124. package/dist/generated/readarr/core/params.gen.d.ts.map +1 -0
  125. package/dist/generated/readarr/core/pathSerializer.gen.d.ts +34 -0
  126. package/dist/generated/readarr/core/pathSerializer.gen.d.ts.map +1 -0
  127. package/dist/generated/readarr/core/serverSentEvents.gen.d.ts +72 -0
  128. package/dist/generated/readarr/core/serverSentEvents.gen.d.ts.map +1 -0
  129. package/dist/generated/readarr/core/types.gen.d.ts +79 -0
  130. package/dist/generated/readarr/core/types.gen.d.ts.map +1 -0
  131. package/dist/generated/readarr/core/utils.gen.d.ts +15 -0
  132. package/dist/generated/readarr/core/utils.gen.d.ts.map +1 -0
  133. package/dist/generated/readarr/index.d.ts +1 -2
  134. package/dist/generated/readarr/index.d.ts.map +1 -1
  135. package/dist/generated/readarr/sdk.gen.d.ts +250 -0
  136. package/dist/generated/readarr/sdk.gen.d.ts.map +1 -0
  137. package/dist/generated/readarr/types.gen.d.ts +3219 -1142
  138. package/dist/generated/readarr/types.gen.d.ts.map +1 -1
  139. package/dist/generated/sonarr/client/client.gen.d.ts +3 -0
  140. package/dist/generated/sonarr/client/client.gen.d.ts.map +1 -0
  141. package/dist/generated/sonarr/client/index.d.ts +8 -0
  142. package/dist/generated/sonarr/client/index.d.ts.map +1 -0
  143. package/dist/generated/sonarr/client/types.gen.d.ts +125 -0
  144. package/dist/generated/sonarr/client/types.gen.d.ts.map +1 -0
  145. package/dist/generated/sonarr/client/utils.gen.d.ts +39 -0
  146. package/dist/generated/sonarr/client/utils.gen.d.ts.map +1 -0
  147. package/dist/generated/sonarr/client.gen.d.ts +13 -0
  148. package/dist/generated/sonarr/client.gen.d.ts.map +1 -0
  149. package/dist/generated/sonarr/core/auth.gen.d.ts +19 -0
  150. package/dist/generated/sonarr/core/auth.gen.d.ts.map +1 -0
  151. package/dist/generated/sonarr/core/bodySerializer.gen.d.ts +18 -0
  152. package/dist/generated/sonarr/core/bodySerializer.gen.d.ts.map +1 -0
  153. package/dist/generated/sonarr/core/params.gen.d.ts +34 -0
  154. package/dist/generated/sonarr/core/params.gen.d.ts.map +1 -0
  155. package/dist/generated/sonarr/core/pathSerializer.gen.d.ts +34 -0
  156. package/dist/generated/sonarr/core/pathSerializer.gen.d.ts.map +1 -0
  157. package/dist/generated/sonarr/core/serverSentEvents.gen.d.ts +72 -0
  158. package/dist/generated/sonarr/core/serverSentEvents.gen.d.ts.map +1 -0
  159. package/dist/generated/sonarr/core/types.gen.d.ts +79 -0
  160. package/dist/generated/sonarr/core/types.gen.d.ts.map +1 -0
  161. package/dist/generated/sonarr/core/utils.gen.d.ts +15 -0
  162. package/dist/generated/sonarr/core/utils.gen.d.ts.map +1 -0
  163. package/dist/generated/sonarr/index.d.ts +1 -2
  164. package/dist/generated/sonarr/index.d.ts.map +1 -1
  165. package/dist/generated/sonarr/sdk.gen.d.ts +37 -0
  166. package/dist/generated/sonarr/sdk.gen.d.ts.map +1 -0
  167. package/dist/generated/sonarr/types.gen.d.ts +349 -107
  168. package/dist/generated/sonarr/types.gen.d.ts.map +1 -1
  169. package/dist/index.d.ts +8 -8
  170. package/dist/index.d.ts.map +1 -1
  171. package/dist/index.js +21 -1
  172. package/dist/tsarr-1.3.0.tgz +0 -0
  173. package/package.json +40 -43
  174. package/dist/generated/lidarr/schemas.gen.d.ts +0 -4584
  175. package/dist/generated/lidarr/schemas.gen.d.ts.map +0 -1
  176. package/dist/generated/lidarr/services.gen.d.ts +0 -242
  177. package/dist/generated/lidarr/services.gen.d.ts.map +0 -1
  178. package/dist/generated/prowlarr/schemas.gen.d.ts +0 -2151
  179. package/dist/generated/prowlarr/schemas.gen.d.ts.map +0 -1
  180. package/dist/generated/prowlarr/services.gen.d.ts +0 -135
  181. package/dist/generated/prowlarr/services.gen.d.ts.map +0 -1
  182. package/dist/generated/radarr/schemas.gen.d.ts +0 -4402
  183. package/dist/generated/radarr/schemas.gen.d.ts.map +0 -1
  184. package/dist/generated/radarr/services.gen.d.ts +0 -250
  185. package/dist/generated/radarr/services.gen.d.ts.map +0 -1
  186. package/dist/generated/readarr/schemas.gen.d.ts +0 -5250
  187. package/dist/generated/readarr/schemas.gen.d.ts.map +0 -1
  188. package/dist/generated/readarr/services.gen.d.ts +0 -240
  189. package/dist/generated/readarr/services.gen.d.ts.map +0 -1
  190. package/dist/generated/sonarr/schemas.gen.d.ts +0 -612
  191. package/dist/generated/sonarr/schemas.gen.d.ts.map +0 -1
  192. package/dist/generated/sonarr/services.gen.d.ts +0 -27
  193. package/dist/generated/sonarr/services.gen.d.ts.map +0 -1
  194. package/dist/tsarr-1.1.3.tgz +0 -0
@@ -49,17 +49,162 @@ function createServarrClient(config) {
49
49
  };
50
50
  }
51
51
 
52
- // node_modules/@hey-api/client-fetch/dist/index.js
53
- var T = /\{[^{}]+\}/g;
54
- var h = ({ allowReserved: i, name: n, value: e }) => {
55
- if (e == null)
56
- return "";
57
- if (typeof e == "object")
58
- throw new Error("Deeply-nested arrays/objects aren’t supported. Provide your own `querySerializer()` to handle these.");
59
- return `${n}=${i ? e : encodeURIComponent(e)}`;
52
+ // src/generated/sonarr/core/bodySerializer.gen.ts
53
+ var jsonBodySerializer = {
54
+ bodySerializer: (body) => JSON.stringify(body, (_key, value) => typeof value === "bigint" ? value.toString() : value)
60
55
  };
61
- var U = (i) => {
62
- switch (i) {
56
+
57
+ // src/generated/sonarr/core/serverSentEvents.gen.ts
58
+ var createSseClient = ({
59
+ onRequest,
60
+ onSseError,
61
+ onSseEvent,
62
+ responseTransformer,
63
+ responseValidator,
64
+ sseDefaultRetryDelay,
65
+ sseMaxRetryAttempts,
66
+ sseMaxRetryDelay,
67
+ sseSleepFn,
68
+ url,
69
+ ...options
70
+ }) => {
71
+ let lastEventId;
72
+ const sleep = sseSleepFn ?? ((ms) => new Promise((resolve) => setTimeout(resolve, ms)));
73
+ const createStream = async function* () {
74
+ let retryDelay = sseDefaultRetryDelay ?? 3000;
75
+ let attempt = 0;
76
+ const signal = options.signal ?? new AbortController().signal;
77
+ while (true) {
78
+ if (signal.aborted)
79
+ break;
80
+ attempt++;
81
+ const headers = options.headers instanceof Headers ? options.headers : new Headers(options.headers);
82
+ if (lastEventId !== undefined) {
83
+ headers.set("Last-Event-ID", lastEventId);
84
+ }
85
+ try {
86
+ const requestInit = {
87
+ redirect: "follow",
88
+ ...options,
89
+ body: options.serializedBody,
90
+ headers,
91
+ signal
92
+ };
93
+ let request = new Request(url, requestInit);
94
+ if (onRequest) {
95
+ request = await onRequest(url, requestInit);
96
+ }
97
+ const _fetch = options.fetch ?? globalThis.fetch;
98
+ const response = await _fetch(request);
99
+ if (!response.ok)
100
+ throw new Error(`SSE failed: ${response.status} ${response.statusText}`);
101
+ if (!response.body)
102
+ throw new Error("No body in SSE response");
103
+ const reader = response.body.pipeThrough(new TextDecoderStream).getReader();
104
+ let buffer = "";
105
+ const abortHandler = () => {
106
+ try {
107
+ reader.cancel();
108
+ } catch {}
109
+ };
110
+ signal.addEventListener("abort", abortHandler);
111
+ try {
112
+ while (true) {
113
+ const { done, value } = await reader.read();
114
+ if (done)
115
+ break;
116
+ buffer += value;
117
+ const chunks = buffer.split(`
118
+
119
+ `);
120
+ buffer = chunks.pop() ?? "";
121
+ for (const chunk of chunks) {
122
+ const lines = chunk.split(`
123
+ `);
124
+ const dataLines = [];
125
+ let eventName;
126
+ for (const line of lines) {
127
+ if (line.startsWith("data:")) {
128
+ dataLines.push(line.replace(/^data:\s*/, ""));
129
+ } else if (line.startsWith("event:")) {
130
+ eventName = line.replace(/^event:\s*/, "");
131
+ } else if (line.startsWith("id:")) {
132
+ lastEventId = line.replace(/^id:\s*/, "");
133
+ } else if (line.startsWith("retry:")) {
134
+ const parsed = Number.parseInt(line.replace(/^retry:\s*/, ""), 10);
135
+ if (!Number.isNaN(parsed)) {
136
+ retryDelay = parsed;
137
+ }
138
+ }
139
+ }
140
+ let data;
141
+ let parsedJson = false;
142
+ if (dataLines.length) {
143
+ const rawData = dataLines.join(`
144
+ `);
145
+ try {
146
+ data = JSON.parse(rawData);
147
+ parsedJson = true;
148
+ } catch {
149
+ data = rawData;
150
+ }
151
+ }
152
+ if (parsedJson) {
153
+ if (responseValidator) {
154
+ await responseValidator(data);
155
+ }
156
+ if (responseTransformer) {
157
+ data = await responseTransformer(data);
158
+ }
159
+ }
160
+ onSseEvent?.({
161
+ data,
162
+ event: eventName,
163
+ id: lastEventId,
164
+ retry: retryDelay
165
+ });
166
+ if (dataLines.length) {
167
+ yield data;
168
+ }
169
+ }
170
+ }
171
+ } finally {
172
+ signal.removeEventListener("abort", abortHandler);
173
+ reader.releaseLock();
174
+ }
175
+ break;
176
+ } catch (error) {
177
+ onSseError?.(error);
178
+ if (sseMaxRetryAttempts !== undefined && attempt >= sseMaxRetryAttempts) {
179
+ break;
180
+ }
181
+ const backoff = Math.min(retryDelay * 2 ** (attempt - 1), sseMaxRetryDelay ?? 30000);
182
+ await sleep(backoff);
183
+ }
184
+ }
185
+ };
186
+ const stream = createStream();
187
+ return { stream };
188
+ };
189
+
190
+ // src/generated/sonarr/core/auth.gen.ts
191
+ var getAuthToken = async (auth, callback) => {
192
+ const token = typeof callback === "function" ? await callback(auth) : callback;
193
+ if (!token) {
194
+ return;
195
+ }
196
+ if (auth.scheme === "bearer") {
197
+ return `Bearer ${token}`;
198
+ }
199
+ if (auth.scheme === "basic") {
200
+ return `Basic ${btoa(token)}`;
201
+ }
202
+ return token;
203
+ };
204
+
205
+ // src/generated/sonarr/core/pathSerializer.gen.ts
206
+ var separatorArrayExplode = (style) => {
207
+ switch (style) {
63
208
  case "label":
64
209
  return ".";
65
210
  case "matrix":
@@ -70,8 +215,8 @@ var U = (i) => {
70
215
  return "&";
71
216
  }
72
217
  };
73
- var $ = (i) => {
74
- switch (i) {
218
+ var separatorArrayNoExplode = (style) => {
219
+ switch (style) {
75
220
  case "form":
76
221
  return ",";
77
222
  case "pipeDelimited":
@@ -82,8 +227,8 @@ var $ = (i) => {
82
227
  return ",";
83
228
  }
84
229
  };
85
- var D = (i) => {
86
- switch (i) {
230
+ var separatorObjectExplode = (style) => {
231
+ switch (style) {
87
232
  case "label":
88
233
  return ".";
89
234
  case "matrix":
@@ -94,132 +239,317 @@ var D = (i) => {
94
239
  return "&";
95
240
  }
96
241
  };
97
- var j = ({ allowReserved: i, explode: n, name: e, style: a, value: o }) => {
98
- if (!n) {
99
- let r = (i ? o : o.map((c) => encodeURIComponent(c))).join($(a));
100
- switch (a) {
242
+ var serializeArrayParam = ({
243
+ allowReserved,
244
+ explode,
245
+ name,
246
+ style,
247
+ value
248
+ }) => {
249
+ if (!explode) {
250
+ const joinedValues2 = (allowReserved ? value : value.map((v) => encodeURIComponent(v))).join(separatorArrayNoExplode(style));
251
+ switch (style) {
101
252
  case "label":
102
- return `.${r}`;
253
+ return `.${joinedValues2}`;
103
254
  case "matrix":
104
- return `;${e}=${r}`;
255
+ return `;${name}=${joinedValues2}`;
105
256
  case "simple":
106
- return r;
257
+ return joinedValues2;
107
258
  default:
108
- return `${e}=${r}`;
259
+ return `${name}=${joinedValues2}`;
109
260
  }
110
261
  }
111
- let s = U(a), t = o.map((r) => a === "label" || a === "simple" ? i ? r : encodeURIComponent(r) : h({ allowReserved: i, name: e, value: r })).join(s);
112
- return a === "label" || a === "matrix" ? s + t : t;
262
+ const separator = separatorArrayExplode(style);
263
+ const joinedValues = value.map((v) => {
264
+ if (style === "label" || style === "simple") {
265
+ return allowReserved ? v : encodeURIComponent(v);
266
+ }
267
+ return serializePrimitiveParam({
268
+ allowReserved,
269
+ name,
270
+ value: v
271
+ });
272
+ }).join(separator);
273
+ return style === "label" || style === "matrix" ? separator + joinedValues : joinedValues;
274
+ };
275
+ var serializePrimitiveParam = ({
276
+ allowReserved,
277
+ name,
278
+ value
279
+ }) => {
280
+ if (value === undefined || value === null) {
281
+ return "";
282
+ }
283
+ if (typeof value === "object") {
284
+ throw new Error("Deeply-nested arrays/objects aren’t supported. Provide your own `querySerializer()` to handle these.");
285
+ }
286
+ return `${name}=${allowReserved ? value : encodeURIComponent(value)}`;
113
287
  };
114
- var C = ({ allowReserved: i, explode: n, name: e, style: a, value: o }) => {
115
- if (o instanceof Date)
116
- return `${e}=${o.toISOString()}`;
117
- if (a !== "deepObject" && !n) {
118
- let r = [];
119
- Object.entries(o).forEach(([u, l]) => {
120
- r = [...r, u, i ? l : encodeURIComponent(l)];
288
+ var serializeObjectParam = ({
289
+ allowReserved,
290
+ explode,
291
+ name,
292
+ style,
293
+ value,
294
+ valueOnly
295
+ }) => {
296
+ if (value instanceof Date) {
297
+ return valueOnly ? value.toISOString() : `${name}=${value.toISOString()}`;
298
+ }
299
+ if (style !== "deepObject" && !explode) {
300
+ let values = [];
301
+ Object.entries(value).forEach(([key, v]) => {
302
+ values = [
303
+ ...values,
304
+ key,
305
+ allowReserved ? v : encodeURIComponent(v)
306
+ ];
121
307
  });
122
- let c = r.join(",");
123
- switch (a) {
308
+ const joinedValues2 = values.join(",");
309
+ switch (style) {
124
310
  case "form":
125
- return `${e}=${c}`;
311
+ return `${name}=${joinedValues2}`;
126
312
  case "label":
127
- return `.${c}`;
313
+ return `.${joinedValues2}`;
128
314
  case "matrix":
129
- return `;${e}=${c}`;
315
+ return `;${name}=${joinedValues2}`;
130
316
  default:
131
- return c;
317
+ return joinedValues2;
132
318
  }
133
319
  }
134
- let s = D(a), t = Object.entries(o).map(([r, c]) => h({ allowReserved: i, name: a === "deepObject" ? `${e}[${r}]` : r, value: c })).join(s);
135
- return a === "label" || a === "matrix" ? s + t : t;
136
- };
137
- var _ = ({ path: i, url: n }) => {
138
- let e = n, a = n.match(T);
139
- if (a)
140
- for (let o of a) {
141
- let s = false, t = o.substring(1, o.length - 1), r = "simple";
142
- t.endsWith("*") && (s = true, t = t.substring(0, t.length - 1)), t.startsWith(".") ? (t = t.substring(1), r = "label") : t.startsWith(";") && (t = t.substring(1), r = "matrix");
143
- let c = i[t];
144
- if (c == null)
320
+ const separator = separatorObjectExplode(style);
321
+ const joinedValues = Object.entries(value).map(([key, v]) => serializePrimitiveParam({
322
+ allowReserved,
323
+ name: style === "deepObject" ? `${name}[${key}]` : key,
324
+ value: v
325
+ })).join(separator);
326
+ return style === "label" || style === "matrix" ? separator + joinedValues : joinedValues;
327
+ };
328
+
329
+ // src/generated/sonarr/core/utils.gen.ts
330
+ var PATH_PARAM_RE = /\{[^{}]+\}/g;
331
+ var defaultPathSerializer = ({ path, url: _url }) => {
332
+ let url = _url;
333
+ const matches = _url.match(PATH_PARAM_RE);
334
+ if (matches) {
335
+ for (const match of matches) {
336
+ let explode = false;
337
+ let name = match.substring(1, match.length - 1);
338
+ let style = "simple";
339
+ if (name.endsWith("*")) {
340
+ explode = true;
341
+ name = name.substring(0, name.length - 1);
342
+ }
343
+ if (name.startsWith(".")) {
344
+ name = name.substring(1);
345
+ style = "label";
346
+ } else if (name.startsWith(";")) {
347
+ name = name.substring(1);
348
+ style = "matrix";
349
+ }
350
+ const value = path[name];
351
+ if (value === undefined || value === null) {
145
352
  continue;
146
- if (Array.isArray(c)) {
147
- e = e.replace(o, j({ explode: s, name: t, style: r, value: c }));
353
+ }
354
+ if (Array.isArray(value)) {
355
+ url = url.replace(match, serializeArrayParam({ explode, name, style, value }));
148
356
  continue;
149
357
  }
150
- if (typeof c == "object") {
151
- e = e.replace(o, C({ explode: s, name: t, style: r, value: c }));
358
+ if (typeof value === "object") {
359
+ url = url.replace(match, serializeObjectParam({
360
+ explode,
361
+ name,
362
+ style,
363
+ value,
364
+ valueOnly: true
365
+ }));
152
366
  continue;
153
367
  }
154
- if (r === "matrix") {
155
- e = e.replace(o, `;${h({ name: t, value: c })}`);
368
+ if (style === "matrix") {
369
+ url = url.replace(match, `;${serializePrimitiveParam({
370
+ name,
371
+ value
372
+ })}`);
156
373
  continue;
157
374
  }
158
- let u = encodeURIComponent(r === "label" ? `.${c}` : c);
159
- e = e.replace(o, u);
375
+ const replaceValue = encodeURIComponent(style === "label" ? `.${value}` : value);
376
+ url = url.replace(match, replaceValue);
160
377
  }
161
- return e;
162
- };
163
- var b = ({ allowReserved: i, array: n, object: e } = {}) => (o) => {
164
- let s = [];
165
- if (o && typeof o == "object")
166
- for (let t in o) {
167
- let r = o[t];
168
- if (r != null) {
169
- if (Array.isArray(r)) {
170
- s = [...s, j({ allowReserved: i, explode: true, name: t, style: "form", value: r, ...n })];
378
+ }
379
+ return url;
380
+ };
381
+ var getUrl = ({
382
+ baseUrl,
383
+ path,
384
+ query,
385
+ querySerializer,
386
+ url: _url
387
+ }) => {
388
+ const pathUrl = _url.startsWith("/") ? _url : `/${_url}`;
389
+ let url = (baseUrl ?? "") + pathUrl;
390
+ if (path) {
391
+ url = defaultPathSerializer({ path, url });
392
+ }
393
+ let search = query ? querySerializer(query) : "";
394
+ if (search.startsWith("?")) {
395
+ search = search.substring(1);
396
+ }
397
+ if (search) {
398
+ url += `?${search}`;
399
+ }
400
+ return url;
401
+ };
402
+
403
+ // src/generated/sonarr/client/utils.gen.ts
404
+ var createQuerySerializer = ({
405
+ allowReserved,
406
+ array,
407
+ object
408
+ } = {}) => {
409
+ const querySerializer = (queryParams) => {
410
+ const search = [];
411
+ if (queryParams && typeof queryParams === "object") {
412
+ for (const name in queryParams) {
413
+ const value = queryParams[name];
414
+ if (value === undefined || value === null) {
171
415
  continue;
172
416
  }
173
- if (typeof r == "object") {
174
- s = [...s, C({ allowReserved: i, explode: true, name: t, style: "deepObject", value: r, ...e })];
175
- continue;
417
+ if (Array.isArray(value)) {
418
+ const serializedArray = serializeArrayParam({
419
+ allowReserved,
420
+ explode: true,
421
+ name,
422
+ style: "form",
423
+ value,
424
+ ...array
425
+ });
426
+ if (serializedArray)
427
+ search.push(serializedArray);
428
+ } else if (typeof value === "object") {
429
+ const serializedObject = serializeObjectParam({
430
+ allowReserved,
431
+ explode: true,
432
+ name,
433
+ style: "deepObject",
434
+ value,
435
+ ...object
436
+ });
437
+ if (serializedObject)
438
+ search.push(serializedObject);
439
+ } else {
440
+ const serializedPrimitive = serializePrimitiveParam({
441
+ allowReserved,
442
+ name,
443
+ value
444
+ });
445
+ if (serializedPrimitive)
446
+ search.push(serializedPrimitive);
176
447
  }
177
- s = [...s, h({ allowReserved: i, name: t, value: r })];
178
448
  }
179
449
  }
180
- return s.join("&");
450
+ return search.join("&");
451
+ };
452
+ return querySerializer;
181
453
  };
182
- var A = (i) => {
183
- if (!i)
454
+ var getParseAs = (contentType) => {
455
+ if (!contentType) {
456
+ return "stream";
457
+ }
458
+ const cleanContent = contentType.split(";")[0]?.trim();
459
+ if (!cleanContent) {
184
460
  return;
185
- let n = i.split(";")[0].trim();
186
- if (n.startsWith("application/json") || n.endsWith("+json"))
461
+ }
462
+ if (cleanContent.startsWith("application/json") || cleanContent.endsWith("+json")) {
187
463
  return "json";
188
- if (n === "multipart/form-data")
464
+ }
465
+ if (cleanContent === "multipart/form-data") {
189
466
  return "formData";
190
- if (["application/", "audio/", "image/", "video/"].some((e) => n.startsWith(e)))
467
+ }
468
+ if (["application/", "audio/", "image/", "video/"].some((type) => cleanContent.startsWith(type))) {
191
469
  return "blob";
192
- if (n.startsWith("text/"))
470
+ }
471
+ if (cleanContent.startsWith("text/")) {
193
472
  return "text";
473
+ }
474
+ return;
194
475
  };
195
- var w = ({ baseUrl: i, path: n, query: e, querySerializer: a, url: o }) => {
196
- let s = o.startsWith("/") ? o : `/${o}`, t = i + s;
197
- n && (t = _({ path: n, url: t }));
198
- let r = e ? a(e) : "";
199
- return r.startsWith("?") && (r = r.substring(1)), r && (t += `?${r}`), t;
476
+ var checkForExistence = (options, name) => {
477
+ if (!name) {
478
+ return false;
479
+ }
480
+ if (options.headers.has(name) || options.query?.[name] || options.headers.get("Cookie")?.includes(`${name}=`)) {
481
+ return true;
482
+ }
483
+ return false;
200
484
  };
201
- var R = (i, n) => {
202
- let e = { ...i, ...n };
203
- return e.baseUrl?.endsWith("/") && (e.baseUrl = e.baseUrl.substring(0, e.baseUrl.length - 1)), e.headers = O(i.headers, n.headers), e;
485
+ var setAuthParams = async ({
486
+ security,
487
+ ...options
488
+ }) => {
489
+ for (const auth of security) {
490
+ if (checkForExistence(options, auth.name)) {
491
+ continue;
492
+ }
493
+ const token = await getAuthToken(auth, options.auth);
494
+ if (!token) {
495
+ continue;
496
+ }
497
+ const name = auth.name ?? "Authorization";
498
+ switch (auth.in) {
499
+ case "query":
500
+ if (!options.query) {
501
+ options.query = {};
502
+ }
503
+ options.query[name] = token;
504
+ break;
505
+ case "cookie":
506
+ options.headers.append("Cookie", `${name}=${token}`);
507
+ break;
508
+ case "header":
509
+ default:
510
+ options.headers.set(name, token);
511
+ break;
512
+ }
513
+ }
204
514
  };
205
- var O = (...i) => {
206
- let n = new Headers;
207
- for (let e of i) {
208
- if (!e || typeof e != "object")
515
+ var buildUrl = (options) => getUrl({
516
+ baseUrl: options.baseUrl,
517
+ path: options.path,
518
+ query: options.query,
519
+ querySerializer: typeof options.querySerializer === "function" ? options.querySerializer : createQuerySerializer(options.querySerializer),
520
+ url: options.url
521
+ });
522
+ var mergeConfigs = (a, b) => {
523
+ const config = { ...a, ...b };
524
+ if (config.baseUrl?.endsWith("/")) {
525
+ config.baseUrl = config.baseUrl.substring(0, config.baseUrl.length - 1);
526
+ }
527
+ config.headers = mergeHeaders(a.headers, b.headers);
528
+ return config;
529
+ };
530
+ var mergeHeaders = (...headers) => {
531
+ const mergedHeaders = new Headers;
532
+ for (const header of headers) {
533
+ if (!header || typeof header !== "object") {
209
534
  continue;
210
- let a = e instanceof Headers ? e.entries() : Object.entries(e);
211
- for (let [o, s] of a)
212
- if (s === null)
213
- n.delete(o);
214
- else if (Array.isArray(s))
215
- for (let t of s)
216
- n.append(o, t);
217
- else
218
- s !== undefined && n.set(o, typeof s == "object" ? JSON.stringify(s) : s);
219
- }
220
- return n;
221
- };
222
- var y = class {
535
+ }
536
+ const iterator = header instanceof Headers ? header.entries() : Object.entries(header);
537
+ for (const [key, value] of iterator) {
538
+ if (value === null) {
539
+ mergedHeaders.delete(key);
540
+ } else if (Array.isArray(value)) {
541
+ for (const v of value) {
542
+ mergedHeaders.append(key, v);
543
+ }
544
+ } else if (value !== undefined) {
545
+ mergedHeaders.set(key, typeof value === "object" ? JSON.stringify(value) : value);
546
+ }
547
+ }
548
+ }
549
+ return mergedHeaders;
550
+ };
551
+
552
+ class Interceptors {
223
553
  _fns;
224
554
  constructor() {
225
555
  this._fns = [];
@@ -227,133 +557,460 @@ var y = class {
227
557
  clear() {
228
558
  this._fns = [];
229
559
  }
230
- exists(n) {
231
- return this._fns.indexOf(n) !== -1;
232
- }
233
- eject(n) {
234
- let e = this._fns.indexOf(n);
235
- e !== -1 && (this._fns = [...this._fns.slice(0, e), ...this._fns.slice(e + 1)]);
236
- }
237
- use(n) {
238
- this._fns = [...this._fns, n];
239
- }
240
- };
241
- var P = () => ({ error: new y, request: new y, response: new y });
242
- var E = { bodySerializer: (i) => JSON.stringify(i) };
243
- var W = b({ allowReserved: false, array: { explode: true, style: "form" }, object: { explode: true, style: "deepObject" } });
244
- var B = { "Content-Type": "application/json" };
245
- var x = (i = {}) => ({ ...E, baseUrl: "", fetch: globalThis.fetch, headers: B, parseAs: "auto", querySerializer: W, ...i });
246
- var J = (i = {}) => {
247
- let n = R(x(), i), e = () => ({ ...n }), a = (t) => (n = R(n, t), e()), o = P(), s = async (t) => {
248
- let r = { ...n, ...t, headers: O(n.headers, t.headers) };
249
- r.body && r.bodySerializer && (r.body = r.bodySerializer(r.body)), r.body || r.headers.delete("Content-Type");
250
- let c = w({ baseUrl: r.baseUrl ?? "", path: r.path, query: r.query, querySerializer: typeof r.querySerializer == "function" ? r.querySerializer : b(r.querySerializer), url: r.url }), u = { redirect: "follow", ...r }, l = new Request(c, u);
251
- for (let f of o.request._fns)
252
- l = await f(l, r);
253
- let I = r.fetch, p = await I(l);
254
- for (let f of o.response._fns)
255
- p = await f(p, l, r);
256
- let g = { request: l, response: p };
257
- if (p.ok) {
258
- if (p.status === 204 || p.headers.get("Content-Length") === "0")
259
- return { data: {}, ...g };
260
- if (r.parseAs === "stream")
261
- return { data: p.body, ...g };
262
- let f = (r.parseAs === "auto" ? A(p.headers.get("Content-Type")) : r.parseAs) ?? "json", S = await p[f]();
263
- return f === "json" && r.responseTransformer && (S = await r.responseTransformer(S)), { data: S, ...g };
560
+ getInterceptorIndex(id) {
561
+ if (typeof id === "number") {
562
+ return this._fns[id] ? id : -1;
563
+ } else {
564
+ return this._fns.indexOf(id);
264
565
  }
265
- let m = await p.text();
566
+ }
567
+ exists(id) {
568
+ const index = this.getInterceptorIndex(id);
569
+ return !!this._fns[index];
570
+ }
571
+ eject(id) {
572
+ const index = this.getInterceptorIndex(id);
573
+ if (this._fns[index]) {
574
+ this._fns[index] = null;
575
+ }
576
+ }
577
+ update(id, fn) {
578
+ const index = this.getInterceptorIndex(id);
579
+ if (this._fns[index]) {
580
+ this._fns[index] = fn;
581
+ return id;
582
+ } else {
583
+ return false;
584
+ }
585
+ }
586
+ use(fn) {
587
+ this._fns = [...this._fns, fn];
588
+ return this._fns.length - 1;
589
+ }
590
+ }
591
+ var createInterceptors = () => ({
592
+ error: new Interceptors,
593
+ request: new Interceptors,
594
+ response: new Interceptors
595
+ });
596
+ var defaultQuerySerializer = createQuerySerializer({
597
+ allowReserved: false,
598
+ array: {
599
+ explode: true,
600
+ style: "form"
601
+ },
602
+ object: {
603
+ explode: true,
604
+ style: "deepObject"
605
+ }
606
+ });
607
+ var defaultHeaders = {
608
+ "Content-Type": "application/json"
609
+ };
610
+ var createConfig = (override = {}) => ({
611
+ ...jsonBodySerializer,
612
+ headers: defaultHeaders,
613
+ parseAs: "auto",
614
+ querySerializer: defaultQuerySerializer,
615
+ ...override
616
+ });
617
+
618
+ // src/generated/sonarr/client/client.gen.ts
619
+ var createClient = (config = {}) => {
620
+ let _config = mergeConfigs(createConfig(), config);
621
+ const getConfig = () => ({ ..._config });
622
+ const setConfig = (config2) => {
623
+ _config = mergeConfigs(_config, config2);
624
+ return getConfig();
625
+ };
626
+ const interceptors = createInterceptors();
627
+ const beforeRequest = async (options) => {
628
+ const opts = {
629
+ ..._config,
630
+ ...options,
631
+ fetch: options.fetch ?? _config.fetch ?? globalThis.fetch,
632
+ headers: mergeHeaders(_config.headers, options.headers),
633
+ serializedBody: undefined
634
+ };
635
+ if (opts.security) {
636
+ await setAuthParams({
637
+ ...opts,
638
+ security: opts.security
639
+ });
640
+ }
641
+ if (opts.requestValidator) {
642
+ await opts.requestValidator(opts);
643
+ }
644
+ if (opts.body && opts.bodySerializer) {
645
+ opts.serializedBody = opts.bodySerializer(opts.body);
646
+ }
647
+ if (opts.serializedBody === undefined || opts.serializedBody === "") {
648
+ opts.headers.delete("Content-Type");
649
+ }
650
+ const url = buildUrl(opts);
651
+ return { opts, url };
652
+ };
653
+ const request = async (options) => {
654
+ const { opts, url } = await beforeRequest(options);
655
+ const requestInit = {
656
+ redirect: "follow",
657
+ ...opts,
658
+ body: opts.serializedBody
659
+ };
660
+ let request2 = new Request(url, requestInit);
661
+ for (const fn of interceptors.request._fns) {
662
+ if (fn) {
663
+ request2 = await fn(request2, opts);
664
+ }
665
+ }
666
+ const _fetch = opts.fetch;
667
+ let response = await _fetch(request2);
668
+ for (const fn of interceptors.response._fns) {
669
+ if (fn) {
670
+ response = await fn(response, request2, opts);
671
+ }
672
+ }
673
+ const result = {
674
+ request: request2,
675
+ response
676
+ };
677
+ if (response.ok) {
678
+ const parseAs = (opts.parseAs === "auto" ? getParseAs(response.headers.get("Content-Type")) : opts.parseAs) ?? "json";
679
+ if (response.status === 204 || response.headers.get("Content-Length") === "0") {
680
+ let emptyData;
681
+ switch (parseAs) {
682
+ case "arrayBuffer":
683
+ case "blob":
684
+ case "text":
685
+ emptyData = await response[parseAs]();
686
+ break;
687
+ case "formData":
688
+ emptyData = new FormData;
689
+ break;
690
+ case "stream":
691
+ emptyData = response.body;
692
+ break;
693
+ case "json":
694
+ default:
695
+ emptyData = {};
696
+ break;
697
+ }
698
+ return opts.responseStyle === "data" ? emptyData : {
699
+ data: emptyData,
700
+ ...result
701
+ };
702
+ }
703
+ let data;
704
+ switch (parseAs) {
705
+ case "arrayBuffer":
706
+ case "blob":
707
+ case "formData":
708
+ case "json":
709
+ case "text":
710
+ data = await response[parseAs]();
711
+ break;
712
+ case "stream":
713
+ return opts.responseStyle === "data" ? response.body : {
714
+ data: response.body,
715
+ ...result
716
+ };
717
+ }
718
+ if (parseAs === "json") {
719
+ if (opts.responseValidator) {
720
+ await opts.responseValidator(data);
721
+ }
722
+ if (opts.responseTransformer) {
723
+ data = await opts.responseTransformer(data);
724
+ }
725
+ }
726
+ return opts.responseStyle === "data" ? data : {
727
+ data,
728
+ ...result
729
+ };
730
+ }
731
+ const textError = await response.text();
732
+ let jsonError;
266
733
  try {
267
- m = JSON.parse(m);
734
+ jsonError = JSON.parse(textError);
268
735
  } catch {}
269
- let d = m;
270
- for (let f of o.error._fns)
271
- d = await f(m, p, l, r);
272
- if (d = d || {}, r.throwOnError)
273
- throw d;
274
- return { error: d, ...g };
736
+ const error = jsonError ?? textError;
737
+ let finalError = error;
738
+ for (const fn of interceptors.error._fns) {
739
+ if (fn) {
740
+ finalError = await fn(error, response, request2, opts);
741
+ }
742
+ }
743
+ finalError = finalError || {};
744
+ if (opts.throwOnError) {
745
+ throw finalError;
746
+ }
747
+ return opts.responseStyle === "data" ? undefined : {
748
+ error: finalError,
749
+ ...result
750
+ };
751
+ };
752
+ const makeMethodFn = (method) => (options) => request({ ...options, method });
753
+ const makeSseFn = (method) => async (options) => {
754
+ const { opts, url } = await beforeRequest(options);
755
+ return createSseClient({
756
+ ...opts,
757
+ body: opts.body,
758
+ headers: opts.headers,
759
+ method,
760
+ onRequest: async (url2, init) => {
761
+ let request2 = new Request(url2, init);
762
+ for (const fn of interceptors.request._fns) {
763
+ if (fn) {
764
+ request2 = await fn(request2, opts);
765
+ }
766
+ }
767
+ return request2;
768
+ },
769
+ url
770
+ });
771
+ };
772
+ return {
773
+ buildUrl,
774
+ connect: makeMethodFn("CONNECT"),
775
+ delete: makeMethodFn("DELETE"),
776
+ get: makeMethodFn("GET"),
777
+ getConfig,
778
+ head: makeMethodFn("HEAD"),
779
+ interceptors,
780
+ options: makeMethodFn("OPTIONS"),
781
+ patch: makeMethodFn("PATCH"),
782
+ post: makeMethodFn("POST"),
783
+ put: makeMethodFn("PUT"),
784
+ request,
785
+ setConfig,
786
+ sse: {
787
+ connect: makeSseFn("CONNECT"),
788
+ delete: makeSseFn("DELETE"),
789
+ get: makeSseFn("GET"),
790
+ head: makeSseFn("HEAD"),
791
+ options: makeSseFn("OPTIONS"),
792
+ patch: makeSseFn("PATCH"),
793
+ post: makeSseFn("POST"),
794
+ put: makeSseFn("PUT"),
795
+ trace: makeSseFn("TRACE")
796
+ },
797
+ trace: makeMethodFn("TRACE")
275
798
  };
276
- return { connect: (t) => s({ ...t, method: "CONNECT" }), delete: (t) => s({ ...t, method: "DELETE" }), get: (t) => s({ ...t, method: "GET" }), getConfig: e, head: (t) => s({ ...t, method: "HEAD" }), interceptors: o, options: (t) => s({ ...t, method: "OPTIONS" }), patch: (t) => s({ ...t, method: "PATCH" }), post: (t) => s({ ...t, method: "POST" }), put: (t) => s({ ...t, method: "PUT" }), request: s, setConfig: a, trace: (t) => s({ ...t, method: "TRACE" }) };
277
799
  };
800
+ // src/generated/sonarr/client.gen.ts
801
+ var client = createClient(createConfig());
278
802
 
279
- // src/generated/sonarr/services.gen.ts
280
- var client = J(x());
803
+ // src/generated/sonarr/sdk.gen.ts
281
804
  var getApi = (options) => {
282
805
  return (options?.client ?? client).get({
283
- ...options,
284
- url: "/api"
806
+ security: [
807
+ {
808
+ name: "X-Api-Key",
809
+ type: "apiKey"
810
+ },
811
+ {
812
+ in: "query",
813
+ name: "apikey",
814
+ type: "apiKey"
815
+ }
816
+ ],
817
+ url: "/api",
818
+ ...options
285
819
  });
286
820
  };
287
821
  var getApiV5Log = (options) => {
288
822
  return (options?.client ?? client).get({
289
- ...options,
290
- url: "/api/v5/log"
823
+ security: [
824
+ {
825
+ name: "X-Api-Key",
826
+ type: "apiKey"
827
+ },
828
+ {
829
+ in: "query",
830
+ name: "apikey",
831
+ type: "apiKey"
832
+ }
833
+ ],
834
+ url: "/api/v5/log",
835
+ ...options
291
836
  });
292
837
  };
293
838
  var getApiV5Series = (options) => {
294
839
  return (options?.client ?? client).get({
295
- ...options,
296
- url: "/api/v5/series"
840
+ security: [
841
+ {
842
+ name: "X-Api-Key",
843
+ type: "apiKey"
844
+ },
845
+ {
846
+ in: "query",
847
+ name: "apikey",
848
+ type: "apiKey"
849
+ }
850
+ ],
851
+ url: "/api/v5/series",
852
+ ...options
297
853
  });
298
854
  };
299
855
  var postApiV5Series = (options) => {
300
856
  return (options?.client ?? client).post({
857
+ security: [
858
+ {
859
+ name: "X-Api-Key",
860
+ type: "apiKey"
861
+ },
862
+ {
863
+ in: "query",
864
+ name: "apikey",
865
+ type: "apiKey"
866
+ }
867
+ ],
868
+ url: "/api/v5/series",
301
869
  ...options,
302
- url: "/api/v5/series"
870
+ headers: {
871
+ "Content-Type": "application/json",
872
+ ...options?.headers
873
+ }
303
874
  });
304
875
  };
305
- var getApiV5SeriesById = (options) => {
306
- return (options?.client ?? client).get({
307
- ...options,
308
- url: "/api/v5/series/{id}"
876
+ var deleteApiV5SeriesById = (options) => {
877
+ return (options.client ?? client).delete({
878
+ security: [
879
+ {
880
+ name: "X-Api-Key",
881
+ type: "apiKey"
882
+ },
883
+ {
884
+ in: "query",
885
+ name: "apikey",
886
+ type: "apiKey"
887
+ }
888
+ ],
889
+ url: "/api/v5/series/{id}",
890
+ ...options
309
891
  });
310
892
  };
311
- var putApiV5SeriesById = (options) => {
312
- return (options?.client ?? client).put({
313
- ...options,
314
- url: "/api/v5/series/{id}"
893
+ var getApiV5SeriesById = (options) => {
894
+ return (options.client ?? client).get({
895
+ security: [
896
+ {
897
+ name: "X-Api-Key",
898
+ type: "apiKey"
899
+ },
900
+ {
901
+ in: "query",
902
+ name: "apikey",
903
+ type: "apiKey"
904
+ }
905
+ ],
906
+ url: "/api/v5/series/{id}",
907
+ ...options
315
908
  });
316
909
  };
317
- var deleteApiV5SeriesById = (options) => {
318
- return (options?.client ?? client).delete({
910
+ var putApiV5SeriesById = (options) => {
911
+ return (options.client ?? client).put({
912
+ security: [
913
+ {
914
+ name: "X-Api-Key",
915
+ type: "apiKey"
916
+ },
917
+ {
918
+ in: "query",
919
+ name: "apikey",
920
+ type: "apiKey"
921
+ }
922
+ ],
923
+ url: "/api/v5/series/{id}",
319
924
  ...options,
320
- url: "/api/v5/series/{id}"
925
+ headers: {
926
+ "Content-Type": "application/json",
927
+ ...options.headers
928
+ }
321
929
  });
322
930
  };
323
931
  var getApiV5SeriesByIdFolder = (options) => {
324
- return (options?.client ?? client).get({
325
- ...options,
326
- url: "/api/v5/series/{id}/folder"
932
+ return (options.client ?? client).get({
933
+ security: [
934
+ {
935
+ name: "X-Api-Key",
936
+ type: "apiKey"
937
+ },
938
+ {
939
+ in: "query",
940
+ name: "apikey",
941
+ type: "apiKey"
942
+ }
943
+ ],
944
+ url: "/api/v5/series/{id}/folder",
945
+ ...options
327
946
  });
328
947
  };
329
948
  var getApiV5SeriesLookup = (options) => {
330
949
  return (options?.client ?? client).get({
331
- ...options,
332
- url: "/api/v5/series/lookup"
950
+ security: [
951
+ {
952
+ name: "X-Api-Key",
953
+ type: "apiKey"
954
+ },
955
+ {
956
+ in: "query",
957
+ name: "apikey",
958
+ type: "apiKey"
959
+ }
960
+ ],
961
+ url: "/api/v5/series/lookup",
962
+ ...options
333
963
  });
334
964
  };
335
965
  var getApiV5Update = (options) => {
336
966
  return (options?.client ?? client).get({
337
- ...options,
338
- url: "/api/v5/update"
967
+ security: [
968
+ {
969
+ name: "X-Api-Key",
970
+ type: "apiKey"
971
+ },
972
+ {
973
+ in: "query",
974
+ name: "apikey",
975
+ type: "apiKey"
976
+ }
977
+ ],
978
+ url: "/api/v5/update",
979
+ ...options
339
980
  });
340
981
  };
341
982
  var getApiV5SettingsUpdate = (options) => {
342
983
  return (options?.client ?? client).get({
343
- ...options,
344
- url: "/api/v5/settings/update"
345
- });
346
- };
347
- var putApiV5SettingsUpdate = (options) => {
348
- return (options?.client ?? client).put({
349
- ...options,
350
- url: "/api/v5/settings/update"
984
+ security: [
985
+ {
986
+ name: "X-Api-Key",
987
+ type: "apiKey"
988
+ },
989
+ {
990
+ in: "query",
991
+ name: "apikey",
992
+ type: "apiKey"
993
+ }
994
+ ],
995
+ url: "/api/v5/settings/update",
996
+ ...options
351
997
  });
352
998
  };
353
999
  var getApiV5SettingsUpdateById = (options) => {
354
- return (options?.client ?? client).get({
355
- ...options,
356
- url: "/api/v5/settings/update/{id}"
1000
+ return (options.client ?? client).get({
1001
+ security: [
1002
+ {
1003
+ name: "X-Api-Key",
1004
+ type: "apiKey"
1005
+ },
1006
+ {
1007
+ in: "query",
1008
+ name: "apikey",
1009
+ type: "apiKey"
1010
+ }
1011
+ ],
1012
+ url: "/api/v5/settings/update/{id}",
1013
+ ...options
357
1014
  });
358
1015
  };
359
1016
 
@@ -370,6 +1027,20 @@ class SonarrClient {
370
1027
  async getApi() {
371
1028
  return getApi();
372
1029
  }
1030
+ async getSystemStatus() {
1031
+ return client.get({
1032
+ url: "/api/v3/system/status",
1033
+ headers: this.clientConfig.getHeaders(),
1034
+ baseUrl: this.clientConfig.getBaseUrl()
1035
+ });
1036
+ }
1037
+ async getHealth() {
1038
+ return client.get({
1039
+ url: "/api/v3/health",
1040
+ headers: this.clientConfig.getHeaders(),
1041
+ baseUrl: this.clientConfig.getBaseUrl()
1042
+ });
1043
+ }
373
1044
  async getSeries() {
374
1045
  return getApiV5Series();
375
1046
  }
@@ -411,19 +1082,12 @@ class SonarrClient {
411
1082
  async getUpdateSettings() {
412
1083
  return getApiV5SettingsUpdate();
413
1084
  }
414
- async updateSettings(settings) {
415
- return putApiV5SettingsUpdate({ body: settings });
416
- }
417
1085
  async getUpdateSetting(id) {
418
1086
  return getApiV5SettingsUpdateById({ path: { id } });
419
1087
  }
420
1088
  updateConfig(newConfig) {
421
1089
  const updatedConfig = { ...this.clientConfig.config, ...newConfig };
422
1090
  this.clientConfig = createServarrClient(updatedConfig);
423
- client.setConfig({
424
- baseUrl: this.clientConfig.getBaseUrl(),
425
- headers: this.clientConfig.getHeaders()
426
- });
427
1091
  return this.clientConfig.config;
428
1092
  }
429
1093
  }