c4r-aggregator-client 1.0.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 (271) hide show
  1. package/.idea/misc.xml +6 -0
  2. package/.idea/modules.xml +8 -0
  3. package/.idea/ts.iml +9 -0
  4. package/.idea/vcs.xml +6 -0
  5. package/.openapi-generator/FILES +91 -0
  6. package/.openapi-generator/VERSION +1 -0
  7. package/.openapi-generator-ignore +23 -0
  8. package/README.md +174 -0
  9. package/dist/apis/AdminApi.d.ts +187 -0
  10. package/dist/apis/AdminApi.js +515 -0
  11. package/dist/apis/CatalogApi.d.ts +84 -0
  12. package/dist/apis/CatalogApi.js +191 -0
  13. package/dist/apis/MeetingsApi.d.ts +98 -0
  14. package/dist/apis/MeetingsApi.js +235 -0
  15. package/dist/apis/SourcesApi.d.ts +35 -0
  16. package/dist/apis/SourcesApi.js +73 -0
  17. package/dist/apis/index.d.ts +4 -0
  18. package/dist/apis/index.js +22 -0
  19. package/dist/esm/apis/AdminApi.d.ts +187 -0
  20. package/dist/esm/apis/AdminApi.js +511 -0
  21. package/dist/esm/apis/CatalogApi.d.ts +84 -0
  22. package/dist/esm/apis/CatalogApi.js +187 -0
  23. package/dist/esm/apis/MeetingsApi.d.ts +98 -0
  24. package/dist/esm/apis/MeetingsApi.js +231 -0
  25. package/dist/esm/apis/SourcesApi.d.ts +35 -0
  26. package/dist/esm/apis/SourcesApi.js +69 -0
  27. package/dist/esm/apis/index.d.ts +4 -0
  28. package/dist/esm/apis/index.js +6 -0
  29. package/dist/esm/index.d.ts +3 -0
  30. package/dist/esm/index.js +5 -0
  31. package/dist/esm/models/AdminSource.d.ts +190 -0
  32. package/dist/esm/models/AdminSource.js +112 -0
  33. package/dist/esm/models/AuthError.d.ts +32 -0
  34. package/dist/esm/models/AuthError.js +41 -0
  35. package/dist/esm/models/CreateSourceRequest.d.ts +76 -0
  36. package/dist/esm/models/CreateSourceRequest.js +64 -0
  37. package/dist/esm/models/CreateSourceResponse.d.ts +45 -0
  38. package/dist/esm/models/CreateSourceResponse.js +46 -0
  39. package/dist/esm/models/DedupCounters.d.ts +86 -0
  40. package/dist/esm/models/DedupCounters.js +59 -0
  41. package/dist/esm/models/DedupStats.d.ts +65 -0
  42. package/dist/esm/models/DedupStats.js +54 -0
  43. package/dist/esm/models/DedupStatsLatestRun.d.ts +60 -0
  44. package/dist/esm/models/DedupStatsLatestRun.js +56 -0
  45. package/dist/esm/models/DedupStatsRecentRunsInner.d.ts +45 -0
  46. package/dist/esm/models/DedupStatsRecentRunsInner.js +46 -0
  47. package/dist/esm/models/FeedValidationError.d.ts +54 -0
  48. package/dist/esm/models/FeedValidationError.js +54 -0
  49. package/dist/esm/models/IngestRun.d.ts +107 -0
  50. package/dist/esm/models/IngestRun.js +71 -0
  51. package/dist/esm/models/MapFeature.d.ts +46 -0
  52. package/dist/esm/models/MapFeature.js +47 -0
  53. package/dist/esm/models/MapFeatureCollection.d.ts +45 -0
  54. package/dist/esm/models/MapFeatureCollection.js +46 -0
  55. package/dist/esm/models/MapFeatureGeometry.d.ts +38 -0
  56. package/dist/esm/models/MapFeatureGeometry.js +43 -0
  57. package/dist/esm/models/MapFeatureProperties.d.ts +69 -0
  58. package/dist/esm/models/MapFeatureProperties.js +54 -0
  59. package/dist/esm/models/MapMeeting.d.ts +50 -0
  60. package/dist/esm/models/MapMeeting.js +47 -0
  61. package/dist/esm/models/Meeting.d.ts +272 -0
  62. package/dist/esm/models/Meeting.js +131 -0
  63. package/dist/esm/models/MeetingPage.d.ts +47 -0
  64. package/dist/esm/models/MeetingPage.js +48 -0
  65. package/dist/esm/models/MeetingPageLinks.d.ts +50 -0
  66. package/dist/esm/models/MeetingPageLinks.js +47 -0
  67. package/dist/esm/models/MeetingPageMeta.d.ts +50 -0
  68. package/dist/esm/models/MeetingPageMeta.js +47 -0
  69. package/dist/esm/models/MeetingType.d.ts +56 -0
  70. package/dist/esm/models/MeetingType.js +49 -0
  71. package/dist/esm/models/MeetingsFilterError.d.ts +44 -0
  72. package/dist/esm/models/MeetingsFilterError.js +45 -0
  73. package/dist/esm/models/Program.d.ts +44 -0
  74. package/dist/esm/models/Program.js +45 -0
  75. package/dist/esm/models/PublicSource.d.ts +113 -0
  76. package/dist/esm/models/PublicSource.js +80 -0
  77. package/dist/esm/models/SourceEnvelope.d.ts +33 -0
  78. package/dist/esm/models/SourceEnvelope.js +42 -0
  79. package/dist/esm/models/SourceRefreshResponse.d.ts +39 -0
  80. package/dist/esm/models/SourceRefreshResponse.js +44 -0
  81. package/dist/esm/models/Stats.d.ts +86 -0
  82. package/dist/esm/models/Stats.js +63 -0
  83. package/dist/esm/models/StatsGroups.d.ts +32 -0
  84. package/dist/esm/models/StatsGroups.js +41 -0
  85. package/dist/esm/models/StatsLocations.d.ts +38 -0
  86. package/dist/esm/models/StatsLocations.js +43 -0
  87. package/dist/esm/models/StatsMeetingTypes.d.ts +32 -0
  88. package/dist/esm/models/StatsMeetingTypes.js +41 -0
  89. package/dist/esm/models/StatsMeetings.d.ts +68 -0
  90. package/dist/esm/models/StatsMeetings.js +51 -0
  91. package/dist/esm/models/StatsProgramsBreakdownInner.d.ts +62 -0
  92. package/dist/esm/models/StatsProgramsBreakdownInner.js +51 -0
  93. package/dist/esm/models/StatsSources.d.ts +47 -0
  94. package/dist/esm/models/StatsSources.js +46 -0
  95. package/dist/esm/models/StatsSourcesTopByMeetingCountInner.d.ts +44 -0
  96. package/dist/esm/models/StatsSourcesTopByMeetingCountInner.js +45 -0
  97. package/dist/esm/models/StoreSourceValidationError.d.ts +23 -0
  98. package/dist/esm/models/StoreSourceValidationError.js +51 -0
  99. package/dist/esm/models/UpdateSourceRequest.d.ts +70 -0
  100. package/dist/esm/models/UpdateSourceRequest.js +58 -0
  101. package/dist/esm/models/ValidationError.d.ts +40 -0
  102. package/dist/esm/models/ValidationError.js +43 -0
  103. package/dist/esm/models/index.d.ts +36 -0
  104. package/dist/esm/models/index.js +38 -0
  105. package/dist/esm/runtime.d.ts +184 -0
  106. package/dist/esm/runtime.js +349 -0
  107. package/dist/index.d.ts +3 -0
  108. package/dist/index.js +21 -0
  109. package/dist/models/AdminSource.d.ts +190 -0
  110. package/dist/models/AdminSource.js +120 -0
  111. package/dist/models/AuthError.d.ts +32 -0
  112. package/dist/models/AuthError.js +48 -0
  113. package/dist/models/CreateSourceRequest.d.ts +76 -0
  114. package/dist/models/CreateSourceRequest.js +72 -0
  115. package/dist/models/CreateSourceResponse.d.ts +45 -0
  116. package/dist/models/CreateSourceResponse.js +53 -0
  117. package/dist/models/DedupCounters.d.ts +86 -0
  118. package/dist/models/DedupCounters.js +66 -0
  119. package/dist/models/DedupStats.d.ts +65 -0
  120. package/dist/models/DedupStats.js +61 -0
  121. package/dist/models/DedupStatsLatestRun.d.ts +60 -0
  122. package/dist/models/DedupStatsLatestRun.js +64 -0
  123. package/dist/models/DedupStatsRecentRunsInner.d.ts +45 -0
  124. package/dist/models/DedupStatsRecentRunsInner.js +53 -0
  125. package/dist/models/FeedValidationError.d.ts +54 -0
  126. package/dist/models/FeedValidationError.js +62 -0
  127. package/dist/models/IngestRun.d.ts +107 -0
  128. package/dist/models/IngestRun.js +79 -0
  129. package/dist/models/MapFeature.d.ts +46 -0
  130. package/dist/models/MapFeature.js +54 -0
  131. package/dist/models/MapFeatureCollection.d.ts +45 -0
  132. package/dist/models/MapFeatureCollection.js +53 -0
  133. package/dist/models/MapFeatureGeometry.d.ts +38 -0
  134. package/dist/models/MapFeatureGeometry.js +50 -0
  135. package/dist/models/MapFeatureProperties.d.ts +69 -0
  136. package/dist/models/MapFeatureProperties.js +61 -0
  137. package/dist/models/MapMeeting.d.ts +50 -0
  138. package/dist/models/MapMeeting.js +54 -0
  139. package/dist/models/Meeting.d.ts +272 -0
  140. package/dist/models/Meeting.js +139 -0
  141. package/dist/models/MeetingPage.d.ts +47 -0
  142. package/dist/models/MeetingPage.js +55 -0
  143. package/dist/models/MeetingPageLinks.d.ts +50 -0
  144. package/dist/models/MeetingPageLinks.js +54 -0
  145. package/dist/models/MeetingPageMeta.d.ts +50 -0
  146. package/dist/models/MeetingPageMeta.js +54 -0
  147. package/dist/models/MeetingType.d.ts +56 -0
  148. package/dist/models/MeetingType.js +56 -0
  149. package/dist/models/MeetingsFilterError.d.ts +44 -0
  150. package/dist/models/MeetingsFilterError.js +52 -0
  151. package/dist/models/Program.d.ts +44 -0
  152. package/dist/models/Program.js +52 -0
  153. package/dist/models/PublicSource.d.ts +113 -0
  154. package/dist/models/PublicSource.js +88 -0
  155. package/dist/models/SourceEnvelope.d.ts +33 -0
  156. package/dist/models/SourceEnvelope.js +49 -0
  157. package/dist/models/SourceRefreshResponse.d.ts +39 -0
  158. package/dist/models/SourceRefreshResponse.js +51 -0
  159. package/dist/models/Stats.d.ts +86 -0
  160. package/dist/models/Stats.js +70 -0
  161. package/dist/models/StatsGroups.d.ts +32 -0
  162. package/dist/models/StatsGroups.js +48 -0
  163. package/dist/models/StatsLocations.d.ts +38 -0
  164. package/dist/models/StatsLocations.js +50 -0
  165. package/dist/models/StatsMeetingTypes.d.ts +32 -0
  166. package/dist/models/StatsMeetingTypes.js +48 -0
  167. package/dist/models/StatsMeetings.d.ts +68 -0
  168. package/dist/models/StatsMeetings.js +58 -0
  169. package/dist/models/StatsProgramsBreakdownInner.d.ts +62 -0
  170. package/dist/models/StatsProgramsBreakdownInner.js +58 -0
  171. package/dist/models/StatsSources.d.ts +47 -0
  172. package/dist/models/StatsSources.js +53 -0
  173. package/dist/models/StatsSourcesTopByMeetingCountInner.d.ts +44 -0
  174. package/dist/models/StatsSourcesTopByMeetingCountInner.js +52 -0
  175. package/dist/models/StoreSourceValidationError.d.ts +23 -0
  176. package/dist/models/StoreSourceValidationError.js +57 -0
  177. package/dist/models/UpdateSourceRequest.d.ts +70 -0
  178. package/dist/models/UpdateSourceRequest.js +66 -0
  179. package/dist/models/ValidationError.d.ts +40 -0
  180. package/dist/models/ValidationError.js +50 -0
  181. package/dist/models/index.d.ts +36 -0
  182. package/dist/models/index.js +54 -0
  183. package/dist/runtime.d.ts +184 -0
  184. package/dist/runtime.js +365 -0
  185. package/docs/AdminApi.md +734 -0
  186. package/docs/AdminSource.md +77 -0
  187. package/docs/AuthError.md +34 -0
  188. package/docs/CatalogApi.md +270 -0
  189. package/docs/CreateSourceRequest.md +46 -0
  190. package/docs/CreateSourceResponse.md +38 -0
  191. package/docs/DedupCounters.md +53 -0
  192. package/docs/DedupStats.md +45 -0
  193. package/docs/DedupStatsLatestRun.md +41 -0
  194. package/docs/DedupStatsRecentRunsInner.md +39 -0
  195. package/docs/FeedValidationError.md +39 -0
  196. package/docs/IngestRun.md +57 -0
  197. package/docs/MapFeature.md +39 -0
  198. package/docs/MapFeatureCollection.md +39 -0
  199. package/docs/MapFeatureGeometry.md +37 -0
  200. package/docs/MapFeatureProperties.md +47 -0
  201. package/docs/MapMeeting.md +41 -0
  202. package/docs/Meeting.md +109 -0
  203. package/docs/MeetingPage.md +39 -0
  204. package/docs/MeetingPageLinks.md +41 -0
  205. package/docs/MeetingPageMeta.md +41 -0
  206. package/docs/MeetingType.md +42 -0
  207. package/docs/MeetingsApi.md +323 -0
  208. package/docs/MeetingsFilterError.md +39 -0
  209. package/docs/Program.md +38 -0
  210. package/docs/PublicSource.md +55 -0
  211. package/docs/SourceEnvelope.md +35 -0
  212. package/docs/SourceRefreshResponse.md +37 -0
  213. package/docs/SourcesApi.md +76 -0
  214. package/docs/Stats.md +51 -0
  215. package/docs/StatsGroups.md +35 -0
  216. package/docs/StatsLocations.md +37 -0
  217. package/docs/StatsMeetingTypes.md +35 -0
  218. package/docs/StatsMeetings.md +45 -0
  219. package/docs/StatsProgramsBreakdownInner.md +45 -0
  220. package/docs/StatsSources.md +39 -0
  221. package/docs/StatsSourcesTopByMeetingCountInner.md +39 -0
  222. package/docs/StoreSourceValidationError.md +41 -0
  223. package/docs/UpdateSourceRequest.md +44 -0
  224. package/docs/ValidationError.md +36 -0
  225. package/package.json +21 -0
  226. package/src/apis/AdminApi.ts +659 -0
  227. package/src/apis/CatalogApi.ts +220 -0
  228. package/src/apis/MeetingsApi.ts +305 -0
  229. package/src/apis/SourcesApi.ts +74 -0
  230. package/src/apis/index.ts +6 -0
  231. package/src/index.ts +5 -0
  232. package/src/models/AdminSource.ts +270 -0
  233. package/src/models/AuthError.ts +65 -0
  234. package/src/models/CreateSourceRequest.ts +126 -0
  235. package/src/models/CreateSourceResponse.ts +89 -0
  236. package/src/models/DedupCounters.ts +137 -0
  237. package/src/models/DedupStats.ts +127 -0
  238. package/src/models/DedupStatsLatestRun.ts +109 -0
  239. package/src/models/DedupStatsRecentRunsInner.ts +89 -0
  240. package/src/models/FeedValidationError.ts +94 -0
  241. package/src/models/IngestRun.ts +165 -0
  242. package/src/models/MapFeature.ts +96 -0
  243. package/src/models/MapFeatureCollection.ts +89 -0
  244. package/src/models/MapFeatureGeometry.ts +73 -0
  245. package/src/models/MapFeatureProperties.ts +121 -0
  246. package/src/models/MapMeeting.ts +89 -0
  247. package/src/models/Meeting.ts +383 -0
  248. package/src/models/MeetingPage.ts +103 -0
  249. package/src/models/MeetingPageLinks.ts +89 -0
  250. package/src/models/MeetingPageMeta.ts +89 -0
  251. package/src/models/MeetingType.ts +97 -0
  252. package/src/models/MeetingsFilterError.ts +81 -0
  253. package/src/models/Program.ts +81 -0
  254. package/src/models/PublicSource.ts +170 -0
  255. package/src/models/SourceEnvelope.ts +73 -0
  256. package/src/models/SourceRefreshResponse.ts +81 -0
  257. package/src/models/Stats.ts +172 -0
  258. package/src/models/StatsGroups.ts +65 -0
  259. package/src/models/StatsLocations.ts +73 -0
  260. package/src/models/StatsMeetingTypes.ts +65 -0
  261. package/src/models/StatsMeetings.ts +105 -0
  262. package/src/models/StatsProgramsBreakdownInner.ts +105 -0
  263. package/src/models/StatsSources.ts +89 -0
  264. package/src/models/StatsSourcesTopByMeetingCountInner.ts +81 -0
  265. package/src/models/StoreSourceValidationError.ts +76 -0
  266. package/src/models/UpdateSourceRequest.ts +116 -0
  267. package/src/models/ValidationError.ts +73 -0
  268. package/src/models/index.ts +38 -0
  269. package/src/runtime.ts +449 -0
  270. package/tsconfig.esm.json +7 -0
  271. package/tsconfig.json +16 -0
@@ -0,0 +1,659 @@
1
+ /* tslint:disable */
2
+ /* eslint-disable */
3
+ /**
4
+ * C4R Aggregator API
5
+ * Aggregator for public [12-Step Meeting List](https://wordpress.org/plugins/12-step-meeting-list/) WordPress feeds. Ingests registered sources on a schedule, normalizes duplicates across feeds, and exposes a unified read API whose responses follow the [Meeting Guide API spec](https://github.com/code4recovery/spec) for drop-in client compatibility. - **Public endpoints** return Meeting Guide-shape data. `/meetings` requires at least one filter (bounding box, radius, region, source, program, day, or type) and is cursor-paginated. - **Per-source and per-region feeds** return bare JSON arrays — safe drop-in replacements for the upstream TSML endpoint. - **Admin endpoints** under `/admin/_*` require a Sanctum bearer token.
6
+ *
7
+ * The version of the OpenAPI document: 1.0.0
8
+ *
9
+ *
10
+ * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).
11
+ * https://openapi-generator.tech
12
+ * Do not edit the class manually.
13
+ */
14
+
15
+ import * as runtime from '../runtime';
16
+ import {
17
+ type AdminSource,
18
+ AdminSourceFromJSON,
19
+ AdminSourceToJSON,
20
+ } from '../models/AdminSource';
21
+ import {
22
+ type AuthError,
23
+ AuthErrorFromJSON,
24
+ AuthErrorToJSON,
25
+ } from '../models/AuthError';
26
+ import {
27
+ type CreateSourceRequest,
28
+ CreateSourceRequestFromJSON,
29
+ CreateSourceRequestToJSON,
30
+ } from '../models/CreateSourceRequest';
31
+ import {
32
+ type CreateSourceResponse,
33
+ CreateSourceResponseFromJSON,
34
+ CreateSourceResponseToJSON,
35
+ } from '../models/CreateSourceResponse';
36
+ import {
37
+ type DedupStats,
38
+ DedupStatsFromJSON,
39
+ DedupStatsToJSON,
40
+ } from '../models/DedupStats';
41
+ import {
42
+ type IngestRun,
43
+ IngestRunFromJSON,
44
+ IngestRunToJSON,
45
+ } from '../models/IngestRun';
46
+ import {
47
+ type SourceEnvelope,
48
+ SourceEnvelopeFromJSON,
49
+ SourceEnvelopeToJSON,
50
+ } from '../models/SourceEnvelope';
51
+ import {
52
+ type SourceRefreshResponse,
53
+ SourceRefreshResponseFromJSON,
54
+ SourceRefreshResponseToJSON,
55
+ } from '../models/SourceRefreshResponse';
56
+ import {
57
+ type StoreSourceValidationError,
58
+ StoreSourceValidationErrorFromJSON,
59
+ StoreSourceValidationErrorToJSON,
60
+ } from '../models/StoreSourceValidationError';
61
+ import {
62
+ type UpdateSourceRequest,
63
+ UpdateSourceRequestFromJSON,
64
+ UpdateSourceRequestToJSON,
65
+ } from '../models/UpdateSourceRequest';
66
+
67
+ export interface AdminCreateSourceRequest {
68
+ createSourceRequest: CreateSourceRequest;
69
+ }
70
+
71
+ export interface AdminDeleteSourceRequest {
72
+ source: number;
73
+ }
74
+
75
+ export interface AdminGetSourceDedupStatsRequest {
76
+ source: number;
77
+ }
78
+
79
+ export interface AdminListSourceRunsRequest {
80
+ source: number;
81
+ limit?: number;
82
+ }
83
+
84
+ export interface AdminListSourcesRequest {
85
+ program?: string;
86
+ }
87
+
88
+ export interface AdminPauseSourceRequest {
89
+ source: number;
90
+ }
91
+
92
+ export interface AdminRefreshSourceRequest {
93
+ source: number;
94
+ }
95
+
96
+ export interface AdminRestoreSourceRequest {
97
+ source: number;
98
+ }
99
+
100
+ export interface AdminResumeSourceRequest {
101
+ source: number;
102
+ }
103
+
104
+ export interface AdminUpdateSourceRequest {
105
+ source: number;
106
+ updateSourceRequest?: UpdateSourceRequest;
107
+ }
108
+
109
+ /**
110
+ *
111
+ */
112
+ export class AdminApi extends runtime.BaseAPI {
113
+
114
+ /**
115
+ * Creates request options for adminCreateSource without sending the request
116
+ */
117
+ async adminCreateSourceRequestOpts(requestParameters: AdminCreateSourceRequest): Promise<runtime.RequestOpts> {
118
+ if (requestParameters['createSourceRequest'] == null) {
119
+ throw new runtime.RequiredError(
120
+ 'createSourceRequest',
121
+ 'Required parameter "createSourceRequest" was null or undefined when calling adminCreateSource().'
122
+ );
123
+ }
124
+
125
+ const queryParameters: any = {};
126
+
127
+ const headerParameters: runtime.HTTPHeaders = {};
128
+
129
+ headerParameters['Content-Type'] = 'application/json';
130
+
131
+ if (this.configuration && this.configuration.accessToken) {
132
+ const token = this.configuration.accessToken;
133
+ const tokenString = await token("bearerAuth", []);
134
+
135
+ if (tokenString) {
136
+ headerParameters["Authorization"] = `Bearer ${tokenString}`;
137
+ }
138
+ }
139
+
140
+ let urlPath = `/api/v1/admin/sources`;
141
+
142
+ return {
143
+ path: urlPath,
144
+ method: 'POST',
145
+ headers: headerParameters,
146
+ query: queryParameters,
147
+ body: CreateSourceRequestToJSON(requestParameters['createSourceRequest']),
148
+ };
149
+ }
150
+
151
+ /**
152
+ * Synchronously fetches the upstream feed and validates it has at least one meeting with `slug`, `day`, and `time`. If valid, persists the source in `pending` state and returns a 10-row preview. If invalid, returns 422 with the error type.
153
+ * Register a new feed
154
+ */
155
+ async adminCreateSourceRaw(requestParameters: AdminCreateSourceRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<runtime.ApiResponse<CreateSourceResponse>> {
156
+ const requestOptions = await this.adminCreateSourceRequestOpts(requestParameters);
157
+ const response = await this.request(requestOptions, initOverrides);
158
+
159
+ return new runtime.JSONApiResponse(response, (jsonValue) => CreateSourceResponseFromJSON(jsonValue));
160
+ }
161
+
162
+ /**
163
+ * Synchronously fetches the upstream feed and validates it has at least one meeting with `slug`, `day`, and `time`. If valid, persists the source in `pending` state and returns a 10-row preview. If invalid, returns 422 with the error type.
164
+ * Register a new feed
165
+ */
166
+ async adminCreateSource(requestParameters: AdminCreateSourceRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<CreateSourceResponse> {
167
+ const response = await this.adminCreateSourceRaw(requestParameters, initOverrides);
168
+ return await response.value();
169
+ }
170
+
171
+ /**
172
+ * Creates request options for adminDeleteSource without sending the request
173
+ */
174
+ async adminDeleteSourceRequestOpts(requestParameters: AdminDeleteSourceRequest): Promise<runtime.RequestOpts> {
175
+ if (requestParameters['source'] == null) {
176
+ throw new runtime.RequiredError(
177
+ 'source',
178
+ 'Required parameter "source" was null or undefined when calling adminDeleteSource().'
179
+ );
180
+ }
181
+
182
+ const queryParameters: any = {};
183
+
184
+ const headerParameters: runtime.HTTPHeaders = {};
185
+
186
+ if (this.configuration && this.configuration.accessToken) {
187
+ const token = this.configuration.accessToken;
188
+ const tokenString = await token("bearerAuth", []);
189
+
190
+ if (tokenString) {
191
+ headerParameters["Authorization"] = `Bearer ${tokenString}`;
192
+ }
193
+ }
194
+
195
+ let urlPath = `/api/v1/admin/sources/{source}`;
196
+ urlPath = urlPath.replace('{source}', encodeURIComponent(String(requestParameters['source'])));
197
+
198
+ return {
199
+ path: urlPath,
200
+ method: 'DELETE',
201
+ headers: headerParameters,
202
+ query: queryParameters,
203
+ };
204
+ }
205
+
206
+ /**
207
+ * Stops future fetches and marks meetings for stale-sweep. Reversible via `/restore` within 30 days.
208
+ * Soft-delete a source
209
+ */
210
+ async adminDeleteSourceRaw(requestParameters: AdminDeleteSourceRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<runtime.ApiResponse<SourceEnvelope>> {
211
+ const requestOptions = await this.adminDeleteSourceRequestOpts(requestParameters);
212
+ const response = await this.request(requestOptions, initOverrides);
213
+
214
+ return new runtime.JSONApiResponse(response, (jsonValue) => SourceEnvelopeFromJSON(jsonValue));
215
+ }
216
+
217
+ /**
218
+ * Stops future fetches and marks meetings for stale-sweep. Reversible via `/restore` within 30 days.
219
+ * Soft-delete a source
220
+ */
221
+ async adminDeleteSource(requestParameters: AdminDeleteSourceRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<SourceEnvelope> {
222
+ const response = await this.adminDeleteSourceRaw(requestParameters, initOverrides);
223
+ return await response.value();
224
+ }
225
+
226
+ /**
227
+ * Creates request options for adminGetSourceDedupStats without sending the request
228
+ */
229
+ async adminGetSourceDedupStatsRequestOpts(requestParameters: AdminGetSourceDedupStatsRequest): Promise<runtime.RequestOpts> {
230
+ if (requestParameters['source'] == null) {
231
+ throw new runtime.RequiredError(
232
+ 'source',
233
+ 'Required parameter "source" was null or undefined when calling adminGetSourceDedupStats().'
234
+ );
235
+ }
236
+
237
+ const queryParameters: any = {};
238
+
239
+ const headerParameters: runtime.HTTPHeaders = {};
240
+
241
+ if (this.configuration && this.configuration.accessToken) {
242
+ const token = this.configuration.accessToken;
243
+ const tokenString = await token("bearerAuth", []);
244
+
245
+ if (tokenString) {
246
+ headerParameters["Authorization"] = `Bearer ${tokenString}`;
247
+ }
248
+ }
249
+
250
+ let urlPath = `/api/v1/admin/sources/{source}/dedup-stats`;
251
+ urlPath = urlPath.replace('{source}', encodeURIComponent(String(requestParameters['source'])));
252
+
253
+ return {
254
+ path: urlPath,
255
+ method: 'GET',
256
+ headers: headerParameters,
257
+ query: queryParameters,
258
+ };
259
+ }
260
+
261
+ /**
262
+ * Per-layer dedup counters (locations / groups / meetings / types). Returns aggregate totals across every ingest run for this source, plus the counters from the most recent run and the last 10 runs.
263
+ * Deduplication counters for a source
264
+ */
265
+ async adminGetSourceDedupStatsRaw(requestParameters: AdminGetSourceDedupStatsRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<runtime.ApiResponse<DedupStats>> {
266
+ const requestOptions = await this.adminGetSourceDedupStatsRequestOpts(requestParameters);
267
+ const response = await this.request(requestOptions, initOverrides);
268
+
269
+ return new runtime.JSONApiResponse(response, (jsonValue) => DedupStatsFromJSON(jsonValue));
270
+ }
271
+
272
+ /**
273
+ * Per-layer dedup counters (locations / groups / meetings / types). Returns aggregate totals across every ingest run for this source, plus the counters from the most recent run and the last 10 runs.
274
+ * Deduplication counters for a source
275
+ */
276
+ async adminGetSourceDedupStats(requestParameters: AdminGetSourceDedupStatsRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<DedupStats> {
277
+ const response = await this.adminGetSourceDedupStatsRaw(requestParameters, initOverrides);
278
+ return await response.value();
279
+ }
280
+
281
+ /**
282
+ * Creates request options for adminListSourceRuns without sending the request
283
+ */
284
+ async adminListSourceRunsRequestOpts(requestParameters: AdminListSourceRunsRequest): Promise<runtime.RequestOpts> {
285
+ if (requestParameters['source'] == null) {
286
+ throw new runtime.RequiredError(
287
+ 'source',
288
+ 'Required parameter "source" was null or undefined when calling adminListSourceRuns().'
289
+ );
290
+ }
291
+
292
+ const queryParameters: any = {};
293
+
294
+ if (requestParameters['limit'] != null) {
295
+ queryParameters['limit'] = requestParameters['limit'];
296
+ }
297
+
298
+ const headerParameters: runtime.HTTPHeaders = {};
299
+
300
+ if (this.configuration && this.configuration.accessToken) {
301
+ const token = this.configuration.accessToken;
302
+ const tokenString = await token("bearerAuth", []);
303
+
304
+ if (tokenString) {
305
+ headerParameters["Authorization"] = `Bearer ${tokenString}`;
306
+ }
307
+ }
308
+
309
+ let urlPath = `/api/v1/admin/sources/{source}/runs`;
310
+ urlPath = urlPath.replace('{source}', encodeURIComponent(String(requestParameters['source'])));
311
+
312
+ return {
313
+ path: urlPath,
314
+ method: 'GET',
315
+ headers: headerParameters,
316
+ query: queryParameters,
317
+ };
318
+ }
319
+
320
+ /**
321
+ * Recent ingest runs for a source
322
+ */
323
+ async adminListSourceRunsRaw(requestParameters: AdminListSourceRunsRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<runtime.ApiResponse<Array<IngestRun>>> {
324
+ const requestOptions = await this.adminListSourceRunsRequestOpts(requestParameters);
325
+ const response = await this.request(requestOptions, initOverrides);
326
+
327
+ return new runtime.JSONApiResponse(response, (jsonValue) => jsonValue.map(IngestRunFromJSON));
328
+ }
329
+
330
+ /**
331
+ * Recent ingest runs for a source
332
+ */
333
+ async adminListSourceRuns(requestParameters: AdminListSourceRunsRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<Array<IngestRun>> {
334
+ const response = await this.adminListSourceRunsRaw(requestParameters, initOverrides);
335
+ return await response.value();
336
+ }
337
+
338
+ /**
339
+ * Creates request options for adminListSources without sending the request
340
+ */
341
+ async adminListSourcesRequestOpts(requestParameters: AdminListSourcesRequest): Promise<runtime.RequestOpts> {
342
+ const queryParameters: any = {};
343
+
344
+ if (requestParameters['program'] != null) {
345
+ queryParameters['program'] = requestParameters['program'];
346
+ }
347
+
348
+ const headerParameters: runtime.HTTPHeaders = {};
349
+
350
+ if (this.configuration && this.configuration.accessToken) {
351
+ const token = this.configuration.accessToken;
352
+ const tokenString = await token("bearerAuth", []);
353
+
354
+ if (tokenString) {
355
+ headerParameters["Authorization"] = `Bearer ${tokenString}`;
356
+ }
357
+ }
358
+
359
+ let urlPath = `/api/v1/admin/sources`;
360
+
361
+ return {
362
+ path: urlPath,
363
+ method: 'GET',
364
+ headers: headerParameters,
365
+ query: queryParameters,
366
+ };
367
+ }
368
+
369
+ /**
370
+ * Returns every source (including soft-deleted). Filter by `program` to scope to one program; unknown codes return an empty array.
371
+ * Admin source list with operational metadata
372
+ */
373
+ async adminListSourcesRaw(requestParameters: AdminListSourcesRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<runtime.ApiResponse<Array<AdminSource>>> {
374
+ const requestOptions = await this.adminListSourcesRequestOpts(requestParameters);
375
+ const response = await this.request(requestOptions, initOverrides);
376
+
377
+ return new runtime.JSONApiResponse(response, (jsonValue) => jsonValue.map(AdminSourceFromJSON));
378
+ }
379
+
380
+ /**
381
+ * Returns every source (including soft-deleted). Filter by `program` to scope to one program; unknown codes return an empty array.
382
+ * Admin source list with operational metadata
383
+ */
384
+ async adminListSources(requestParameters: AdminListSourcesRequest = {}, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<Array<AdminSource>> {
385
+ const response = await this.adminListSourcesRaw(requestParameters, initOverrides);
386
+ return await response.value();
387
+ }
388
+
389
+ /**
390
+ * Creates request options for adminPauseSource without sending the request
391
+ */
392
+ async adminPauseSourceRequestOpts(requestParameters: AdminPauseSourceRequest): Promise<runtime.RequestOpts> {
393
+ if (requestParameters['source'] == null) {
394
+ throw new runtime.RequiredError(
395
+ 'source',
396
+ 'Required parameter "source" was null or undefined when calling adminPauseSource().'
397
+ );
398
+ }
399
+
400
+ const queryParameters: any = {};
401
+
402
+ const headerParameters: runtime.HTTPHeaders = {};
403
+
404
+ if (this.configuration && this.configuration.accessToken) {
405
+ const token = this.configuration.accessToken;
406
+ const tokenString = await token("bearerAuth", []);
407
+
408
+ if (tokenString) {
409
+ headerParameters["Authorization"] = `Bearer ${tokenString}`;
410
+ }
411
+ }
412
+
413
+ let urlPath = `/api/v1/admin/sources/{source}/pause`;
414
+ urlPath = urlPath.replace('{source}', encodeURIComponent(String(requestParameters['source'])));
415
+
416
+ return {
417
+ path: urlPath,
418
+ method: 'POST',
419
+ headers: headerParameters,
420
+ query: queryParameters,
421
+ };
422
+ }
423
+
424
+ /**
425
+ * Meetings remain visible; fetches stop. Use for known temporary upstream outages.
426
+ * Pause ingestion (manual operator action)
427
+ */
428
+ async adminPauseSourceRaw(requestParameters: AdminPauseSourceRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<runtime.ApiResponse<SourceEnvelope>> {
429
+ const requestOptions = await this.adminPauseSourceRequestOpts(requestParameters);
430
+ const response = await this.request(requestOptions, initOverrides);
431
+
432
+ return new runtime.JSONApiResponse(response, (jsonValue) => SourceEnvelopeFromJSON(jsonValue));
433
+ }
434
+
435
+ /**
436
+ * Meetings remain visible; fetches stop. Use for known temporary upstream outages.
437
+ * Pause ingestion (manual operator action)
438
+ */
439
+ async adminPauseSource(requestParameters: AdminPauseSourceRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<SourceEnvelope> {
440
+ const response = await this.adminPauseSourceRaw(requestParameters, initOverrides);
441
+ return await response.value();
442
+ }
443
+
444
+ /**
445
+ * Creates request options for adminRefreshSource without sending the request
446
+ */
447
+ async adminRefreshSourceRequestOpts(requestParameters: AdminRefreshSourceRequest): Promise<runtime.RequestOpts> {
448
+ if (requestParameters['source'] == null) {
449
+ throw new runtime.RequiredError(
450
+ 'source',
451
+ 'Required parameter "source" was null or undefined when calling adminRefreshSource().'
452
+ );
453
+ }
454
+
455
+ const queryParameters: any = {};
456
+
457
+ const headerParameters: runtime.HTTPHeaders = {};
458
+
459
+ if (this.configuration && this.configuration.accessToken) {
460
+ const token = this.configuration.accessToken;
461
+ const tokenString = await token("bearerAuth", []);
462
+
463
+ if (tokenString) {
464
+ headerParameters["Authorization"] = `Bearer ${tokenString}`;
465
+ }
466
+ }
467
+
468
+ let urlPath = `/api/v1/admin/sources/{source}/refresh`;
469
+ urlPath = urlPath.replace('{source}', encodeURIComponent(String(requestParameters['source'])));
470
+
471
+ return {
472
+ path: urlPath,
473
+ method: 'POST',
474
+ headers: headerParameters,
475
+ query: queryParameters,
476
+ };
477
+ }
478
+
479
+ /**
480
+ * Force-dispatch an immediate ingest job
481
+ */
482
+ async adminRefreshSourceRaw(requestParameters: AdminRefreshSourceRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<runtime.ApiResponse<SourceRefreshResponse>> {
483
+ const requestOptions = await this.adminRefreshSourceRequestOpts(requestParameters);
484
+ const response = await this.request(requestOptions, initOverrides);
485
+
486
+ return new runtime.JSONApiResponse(response, (jsonValue) => SourceRefreshResponseFromJSON(jsonValue));
487
+ }
488
+
489
+ /**
490
+ * Force-dispatch an immediate ingest job
491
+ */
492
+ async adminRefreshSource(requestParameters: AdminRefreshSourceRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<SourceRefreshResponse> {
493
+ const response = await this.adminRefreshSourceRaw(requestParameters, initOverrides);
494
+ return await response.value();
495
+ }
496
+
497
+ /**
498
+ * Creates request options for adminRestoreSource without sending the request
499
+ */
500
+ async adminRestoreSourceRequestOpts(requestParameters: AdminRestoreSourceRequest): Promise<runtime.RequestOpts> {
501
+ if (requestParameters['source'] == null) {
502
+ throw new runtime.RequiredError(
503
+ 'source',
504
+ 'Required parameter "source" was null or undefined when calling adminRestoreSource().'
505
+ );
506
+ }
507
+
508
+ const queryParameters: any = {};
509
+
510
+ const headerParameters: runtime.HTTPHeaders = {};
511
+
512
+ if (this.configuration && this.configuration.accessToken) {
513
+ const token = this.configuration.accessToken;
514
+ const tokenString = await token("bearerAuth", []);
515
+
516
+ if (tokenString) {
517
+ headerParameters["Authorization"] = `Bearer ${tokenString}`;
518
+ }
519
+ }
520
+
521
+ let urlPath = `/api/v1/admin/sources/{source}/restore`;
522
+ urlPath = urlPath.replace('{source}', encodeURIComponent(String(requestParameters['source'])));
523
+
524
+ return {
525
+ path: urlPath,
526
+ method: 'POST',
527
+ headers: headerParameters,
528
+ query: queryParameters,
529
+ };
530
+ }
531
+
532
+ /**
533
+ * Restore a soft-deleted source within the 30-day window
534
+ */
535
+ async adminRestoreSourceRaw(requestParameters: AdminRestoreSourceRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<runtime.ApiResponse<SourceEnvelope>> {
536
+ const requestOptions = await this.adminRestoreSourceRequestOpts(requestParameters);
537
+ const response = await this.request(requestOptions, initOverrides);
538
+
539
+ return new runtime.JSONApiResponse(response, (jsonValue) => SourceEnvelopeFromJSON(jsonValue));
540
+ }
541
+
542
+ /**
543
+ * Restore a soft-deleted source within the 30-day window
544
+ */
545
+ async adminRestoreSource(requestParameters: AdminRestoreSourceRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<SourceEnvelope> {
546
+ const response = await this.adminRestoreSourceRaw(requestParameters, initOverrides);
547
+ return await response.value();
548
+ }
549
+
550
+ /**
551
+ * Creates request options for adminResumeSource without sending the request
552
+ */
553
+ async adminResumeSourceRequestOpts(requestParameters: AdminResumeSourceRequest): Promise<runtime.RequestOpts> {
554
+ if (requestParameters['source'] == null) {
555
+ throw new runtime.RequiredError(
556
+ 'source',
557
+ 'Required parameter "source" was null or undefined when calling adminResumeSource().'
558
+ );
559
+ }
560
+
561
+ const queryParameters: any = {};
562
+
563
+ const headerParameters: runtime.HTTPHeaders = {};
564
+
565
+ if (this.configuration && this.configuration.accessToken) {
566
+ const token = this.configuration.accessToken;
567
+ const tokenString = await token("bearerAuth", []);
568
+
569
+ if (tokenString) {
570
+ headerParameters["Authorization"] = `Bearer ${tokenString}`;
571
+ }
572
+ }
573
+
574
+ let urlPath = `/api/v1/admin/sources/{source}/resume`;
575
+ urlPath = urlPath.replace('{source}', encodeURIComponent(String(requestParameters['source'])));
576
+
577
+ return {
578
+ path: urlPath,
579
+ method: 'POST',
580
+ headers: headerParameters,
581
+ query: queryParameters,
582
+ };
583
+ }
584
+
585
+ /**
586
+ * Resume ingestion from paused or dormant
587
+ */
588
+ async adminResumeSourceRaw(requestParameters: AdminResumeSourceRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<runtime.ApiResponse<SourceEnvelope>> {
589
+ const requestOptions = await this.adminResumeSourceRequestOpts(requestParameters);
590
+ const response = await this.request(requestOptions, initOverrides);
591
+
592
+ return new runtime.JSONApiResponse(response, (jsonValue) => SourceEnvelopeFromJSON(jsonValue));
593
+ }
594
+
595
+ /**
596
+ * Resume ingestion from paused or dormant
597
+ */
598
+ async adminResumeSource(requestParameters: AdminResumeSourceRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<SourceEnvelope> {
599
+ const response = await this.adminResumeSourceRaw(requestParameters, initOverrides);
600
+ return await response.value();
601
+ }
602
+
603
+ /**
604
+ * Creates request options for adminUpdateSource without sending the request
605
+ */
606
+ async adminUpdateSourceRequestOpts(requestParameters: AdminUpdateSourceRequest): Promise<runtime.RequestOpts> {
607
+ if (requestParameters['source'] == null) {
608
+ throw new runtime.RequiredError(
609
+ 'source',
610
+ 'Required parameter "source" was null or undefined when calling adminUpdateSource().'
611
+ );
612
+ }
613
+
614
+ const queryParameters: any = {};
615
+
616
+ const headerParameters: runtime.HTTPHeaders = {};
617
+
618
+ headerParameters['Content-Type'] = 'application/json';
619
+
620
+ if (this.configuration && this.configuration.accessToken) {
621
+ const token = this.configuration.accessToken;
622
+ const tokenString = await token("bearerAuth", []);
623
+
624
+ if (tokenString) {
625
+ headerParameters["Authorization"] = `Bearer ${tokenString}`;
626
+ }
627
+ }
628
+
629
+ let urlPath = `/api/v1/admin/sources/{source}`;
630
+ urlPath = urlPath.replace('{source}', encodeURIComponent(String(requestParameters['source'])));
631
+
632
+ return {
633
+ path: urlPath,
634
+ method: 'PATCH',
635
+ headers: headerParameters,
636
+ query: queryParameters,
637
+ body: UpdateSourceRequestToJSON(requestParameters['updateSourceRequest']),
638
+ };
639
+ }
640
+
641
+ /**
642
+ * Update source metadata
643
+ */
644
+ async adminUpdateSourceRaw(requestParameters: AdminUpdateSourceRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<runtime.ApiResponse<SourceEnvelope>> {
645
+ const requestOptions = await this.adminUpdateSourceRequestOpts(requestParameters);
646
+ const response = await this.request(requestOptions, initOverrides);
647
+
648
+ return new runtime.JSONApiResponse(response, (jsonValue) => SourceEnvelopeFromJSON(jsonValue));
649
+ }
650
+
651
+ /**
652
+ * Update source metadata
653
+ */
654
+ async adminUpdateSource(requestParameters: AdminUpdateSourceRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<SourceEnvelope> {
655
+ const response = await this.adminUpdateSourceRaw(requestParameters, initOverrides);
656
+ return await response.value();
657
+ }
658
+
659
+ }