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,51 @@
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
+ * Check if a given object implements the StatsProgramsBreakdownInner interface.
16
+ */
17
+ export function instanceOfStatsProgramsBreakdownInner(value) {
18
+ return true;
19
+ }
20
+ export function StatsProgramsBreakdownInnerFromJSON(json) {
21
+ return StatsProgramsBreakdownInnerFromJSONTyped(json, false);
22
+ }
23
+ export function StatsProgramsBreakdownInnerFromJSONTyped(json, ignoreDiscriminator) {
24
+ if (json == null) {
25
+ return json;
26
+ }
27
+ return {
28
+ 'code': json['code'] == null ? undefined : json['code'],
29
+ 'name': json['name'] == null ? undefined : json['name'],
30
+ 'meetingsTotal': json['meetings_total'] == null ? undefined : json['meetings_total'],
31
+ 'meetingsActive': json['meetings_active'] == null ? undefined : json['meetings_active'],
32
+ 'sourcesTotal': json['sources_total'] == null ? undefined : json['sources_total'],
33
+ 'sourcesActive': json['sources_active'] == null ? undefined : json['sources_active'],
34
+ };
35
+ }
36
+ export function StatsProgramsBreakdownInnerToJSON(json) {
37
+ return StatsProgramsBreakdownInnerToJSONTyped(json, false);
38
+ }
39
+ export function StatsProgramsBreakdownInnerToJSONTyped(value, ignoreDiscriminator = false) {
40
+ if (value == null) {
41
+ return value;
42
+ }
43
+ return {
44
+ 'code': value['code'],
45
+ 'name': value['name'],
46
+ 'meetings_total': value['meetingsTotal'],
47
+ 'meetings_active': value['meetingsActive'],
48
+ 'sources_total': value['sourcesTotal'],
49
+ 'sources_active': value['sourcesActive'],
50
+ };
51
+ }
@@ -0,0 +1,47 @@
1
+ /**
2
+ * C4R Aggregator API
3
+ * 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.
4
+ *
5
+ * The version of the OpenAPI document: 1.0.0
6
+ *
7
+ *
8
+ * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).
9
+ * https://openapi-generator.tech
10
+ * Do not edit the class manually.
11
+ */
12
+ import type { StatsSourcesTopByMeetingCountInner } from './StatsSourcesTopByMeetingCountInner';
13
+ /**
14
+ * Source-count breakdowns in Stats.
15
+ * @export
16
+ * @interface StatsSources
17
+ */
18
+ export interface StatsSources {
19
+ /**
20
+ *
21
+ * @type {number}
22
+ * @memberof StatsSources
23
+ */
24
+ total?: number;
25
+ /**
26
+ *
27
+ * @type {{ [key: string]: number; }}
28
+ * @memberof StatsSources
29
+ */
30
+ byState?: {
31
+ [key: string]: number;
32
+ };
33
+ /**
34
+ *
35
+ * @type {Array<StatsSourcesTopByMeetingCountInner>}
36
+ * @memberof StatsSources
37
+ */
38
+ topByMeetingCount?: Array<StatsSourcesTopByMeetingCountInner>;
39
+ }
40
+ /**
41
+ * Check if a given object implements the StatsSources interface.
42
+ */
43
+ export declare function instanceOfStatsSources(value: object): value is StatsSources;
44
+ export declare function StatsSourcesFromJSON(json: any): StatsSources;
45
+ export declare function StatsSourcesFromJSONTyped(json: any, ignoreDiscriminator: boolean): StatsSources;
46
+ export declare function StatsSourcesToJSON(json: any): StatsSources;
47
+ export declare function StatsSourcesToJSONTyped(value?: StatsSources | null, ignoreDiscriminator?: boolean): any;
@@ -0,0 +1,46 @@
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
+ import { StatsSourcesTopByMeetingCountInnerFromJSON, StatsSourcesTopByMeetingCountInnerToJSON, } from './StatsSourcesTopByMeetingCountInner';
15
+ /**
16
+ * Check if a given object implements the StatsSources interface.
17
+ */
18
+ export function instanceOfStatsSources(value) {
19
+ return true;
20
+ }
21
+ export function StatsSourcesFromJSON(json) {
22
+ return StatsSourcesFromJSONTyped(json, false);
23
+ }
24
+ export function StatsSourcesFromJSONTyped(json, ignoreDiscriminator) {
25
+ if (json == null) {
26
+ return json;
27
+ }
28
+ return {
29
+ 'total': json['total'] == null ? undefined : json['total'],
30
+ 'byState': json['by_state'] == null ? undefined : json['by_state'],
31
+ 'topByMeetingCount': json['top_by_meeting_count'] == null ? undefined : (json['top_by_meeting_count'].map(StatsSourcesTopByMeetingCountInnerFromJSON)),
32
+ };
33
+ }
34
+ export function StatsSourcesToJSON(json) {
35
+ return StatsSourcesToJSONTyped(json, false);
36
+ }
37
+ export function StatsSourcesToJSONTyped(value, ignoreDiscriminator = false) {
38
+ if (value == null) {
39
+ return value;
40
+ }
41
+ return {
42
+ 'total': value['total'],
43
+ 'by_state': value['byState'],
44
+ 'top_by_meeting_count': value['topByMeetingCount'] == null ? undefined : (value['topByMeetingCount'].map(StatsSourcesTopByMeetingCountInnerToJSON)),
45
+ };
46
+ }
@@ -0,0 +1,44 @@
1
+ /**
2
+ * C4R Aggregator API
3
+ * 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.
4
+ *
5
+ * The version of the OpenAPI document: 1.0.0
6
+ *
7
+ *
8
+ * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).
9
+ * https://openapi-generator.tech
10
+ * Do not edit the class manually.
11
+ */
12
+ /**
13
+ * Entry in Stats.sources.top_by_meeting_count[].
14
+ * @export
15
+ * @interface StatsSourcesTopByMeetingCountInner
16
+ */
17
+ export interface StatsSourcesTopByMeetingCountInner {
18
+ /**
19
+ *
20
+ * @type {number}
21
+ * @memberof StatsSourcesTopByMeetingCountInner
22
+ */
23
+ id?: number;
24
+ /**
25
+ *
26
+ * @type {string}
27
+ * @memberof StatsSourcesTopByMeetingCountInner
28
+ */
29
+ name?: string;
30
+ /**
31
+ *
32
+ * @type {number}
33
+ * @memberof StatsSourcesTopByMeetingCountInner
34
+ */
35
+ meetingCount?: number;
36
+ }
37
+ /**
38
+ * Check if a given object implements the StatsSourcesTopByMeetingCountInner interface.
39
+ */
40
+ export declare function instanceOfStatsSourcesTopByMeetingCountInner(value: object): value is StatsSourcesTopByMeetingCountInner;
41
+ export declare function StatsSourcesTopByMeetingCountInnerFromJSON(json: any): StatsSourcesTopByMeetingCountInner;
42
+ export declare function StatsSourcesTopByMeetingCountInnerFromJSONTyped(json: any, ignoreDiscriminator: boolean): StatsSourcesTopByMeetingCountInner;
43
+ export declare function StatsSourcesTopByMeetingCountInnerToJSON(json: any): StatsSourcesTopByMeetingCountInner;
44
+ export declare function StatsSourcesTopByMeetingCountInnerToJSONTyped(value?: StatsSourcesTopByMeetingCountInner | null, ignoreDiscriminator?: boolean): any;
@@ -0,0 +1,45 @@
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
+ * Check if a given object implements the StatsSourcesTopByMeetingCountInner interface.
16
+ */
17
+ export function instanceOfStatsSourcesTopByMeetingCountInner(value) {
18
+ return true;
19
+ }
20
+ export function StatsSourcesTopByMeetingCountInnerFromJSON(json) {
21
+ return StatsSourcesTopByMeetingCountInnerFromJSONTyped(json, false);
22
+ }
23
+ export function StatsSourcesTopByMeetingCountInnerFromJSONTyped(json, ignoreDiscriminator) {
24
+ if (json == null) {
25
+ return json;
26
+ }
27
+ return {
28
+ 'id': json['id'] == null ? undefined : json['id'],
29
+ 'name': json['name'] == null ? undefined : json['name'],
30
+ 'meetingCount': json['meeting_count'] == null ? undefined : json['meeting_count'],
31
+ };
32
+ }
33
+ export function StatsSourcesTopByMeetingCountInnerToJSON(json) {
34
+ return StatsSourcesTopByMeetingCountInnerToJSONTyped(json, false);
35
+ }
36
+ export function StatsSourcesTopByMeetingCountInnerToJSONTyped(value, ignoreDiscriminator = false) {
37
+ if (value == null) {
38
+ return value;
39
+ }
40
+ return {
41
+ 'id': value['id'],
42
+ 'name': value['name'],
43
+ 'meeting_count': value['meetingCount'],
44
+ };
45
+ }
@@ -0,0 +1,23 @@
1
+ /**
2
+ * C4R Aggregator API
3
+ * 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.
4
+ *
5
+ * The version of the OpenAPI document: 1.0.0
6
+ *
7
+ *
8
+ * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).
9
+ * https://openapi-generator.tech
10
+ * Do not edit the class manually.
11
+ */
12
+ import type { FeedValidationError } from './FeedValidationError';
13
+ import type { ValidationError } from './ValidationError';
14
+ /**
15
+ * @type StoreSourceValidationError
16
+ * Either a feed-validation error (upstream unreachable / wrong shape) or a standard request-validation error.
17
+ * @export
18
+ */
19
+ export type StoreSourceValidationError = FeedValidationError | ValidationError;
20
+ export declare function StoreSourceValidationErrorFromJSON(json: any): StoreSourceValidationError;
21
+ export declare function StoreSourceValidationErrorFromJSONTyped(json: any, ignoreDiscriminator: boolean): StoreSourceValidationError;
22
+ export declare function StoreSourceValidationErrorToJSON(json: any): any;
23
+ export declare function StoreSourceValidationErrorToJSONTyped(value?: StoreSourceValidationError | null, ignoreDiscriminator?: boolean): any;
@@ -0,0 +1,51 @@
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
+ import { instanceOfFeedValidationError, FeedValidationErrorFromJSONTyped, FeedValidationErrorToJSON, } from './FeedValidationError';
15
+ import { instanceOfValidationError, ValidationErrorFromJSONTyped, ValidationErrorToJSON, } from './ValidationError';
16
+ export function StoreSourceValidationErrorFromJSON(json) {
17
+ return StoreSourceValidationErrorFromJSONTyped(json, false);
18
+ }
19
+ export function StoreSourceValidationErrorFromJSONTyped(json, ignoreDiscriminator) {
20
+ if (json == null) {
21
+ return json;
22
+ }
23
+ if (typeof json !== 'object') {
24
+ return json;
25
+ }
26
+ if (instanceOfFeedValidationError(json)) {
27
+ return FeedValidationErrorFromJSONTyped(json, true);
28
+ }
29
+ if (instanceOfValidationError(json)) {
30
+ return ValidationErrorFromJSONTyped(json, true);
31
+ }
32
+ return {};
33
+ }
34
+ export function StoreSourceValidationErrorToJSON(json) {
35
+ return StoreSourceValidationErrorToJSONTyped(json, false);
36
+ }
37
+ export function StoreSourceValidationErrorToJSONTyped(value, ignoreDiscriminator = false) {
38
+ if (value == null) {
39
+ return value;
40
+ }
41
+ if (typeof value !== 'object') {
42
+ return value;
43
+ }
44
+ if (instanceOfFeedValidationError(value)) {
45
+ return FeedValidationErrorToJSON(value);
46
+ }
47
+ if (instanceOfValidationError(value)) {
48
+ return ValidationErrorToJSON(value);
49
+ }
50
+ return {};
51
+ }
@@ -0,0 +1,70 @@
1
+ /**
2
+ * C4R Aggregator API
3
+ * 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.
4
+ *
5
+ * The version of the OpenAPI document: 1.0.0
6
+ *
7
+ *
8
+ * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).
9
+ * https://openapi-generator.tech
10
+ * Do not edit the class manually.
11
+ */
12
+ /**
13
+ *
14
+ * @export
15
+ * @interface UpdateSourceRequest
16
+ */
17
+ export interface UpdateSourceRequest {
18
+ /**
19
+ *
20
+ * @type {string}
21
+ * @memberof UpdateSourceRequest
22
+ */
23
+ name?: string;
24
+ /**
25
+ *
26
+ * @type {string}
27
+ * @memberof UpdateSourceRequest
28
+ */
29
+ feedUrl?: string;
30
+ /**
31
+ *
32
+ * @type {UpdateSourceRequestFeedKindEnum}
33
+ * @memberof UpdateSourceRequest
34
+ */
35
+ feedKind?: UpdateSourceRequestFeedKindEnum;
36
+ /**
37
+ *
38
+ * @type {string}
39
+ * @memberof UpdateSourceRequest
40
+ */
41
+ sharingKey?: string | null;
42
+ /**
43
+ *
44
+ * @type {number}
45
+ * @memberof UpdateSourceRequest
46
+ */
47
+ fetchIntervalMinutes?: number;
48
+ /**
49
+ *
50
+ * @type {string}
51
+ * @memberof UpdateSourceRequest
52
+ */
53
+ notificationWebhookUrl?: string | null;
54
+ }
55
+ /**
56
+ * @export
57
+ */
58
+ export declare const UpdateSourceRequestFeedKindEnum: {
59
+ readonly TsmlJson: "tsml_json";
60
+ readonly GoogleSheet: "google_sheet";
61
+ };
62
+ export type UpdateSourceRequestFeedKindEnum = typeof UpdateSourceRequestFeedKindEnum[keyof typeof UpdateSourceRequestFeedKindEnum];
63
+ /**
64
+ * Check if a given object implements the UpdateSourceRequest interface.
65
+ */
66
+ export declare function instanceOfUpdateSourceRequest(value: object): value is UpdateSourceRequest;
67
+ export declare function UpdateSourceRequestFromJSON(json: any): UpdateSourceRequest;
68
+ export declare function UpdateSourceRequestFromJSONTyped(json: any, ignoreDiscriminator: boolean): UpdateSourceRequest;
69
+ export declare function UpdateSourceRequestToJSON(json: any): UpdateSourceRequest;
70
+ export declare function UpdateSourceRequestToJSONTyped(value?: UpdateSourceRequest | null, ignoreDiscriminator?: boolean): any;
@@ -0,0 +1,58 @@
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
+ * @export
16
+ */
17
+ export const UpdateSourceRequestFeedKindEnum = {
18
+ TsmlJson: 'tsml_json',
19
+ GoogleSheet: 'google_sheet'
20
+ };
21
+ /**
22
+ * Check if a given object implements the UpdateSourceRequest interface.
23
+ */
24
+ export function instanceOfUpdateSourceRequest(value) {
25
+ return true;
26
+ }
27
+ export function UpdateSourceRequestFromJSON(json) {
28
+ return UpdateSourceRequestFromJSONTyped(json, false);
29
+ }
30
+ export function UpdateSourceRequestFromJSONTyped(json, ignoreDiscriminator) {
31
+ if (json == null) {
32
+ return json;
33
+ }
34
+ return {
35
+ 'name': json['name'] == null ? undefined : json['name'],
36
+ 'feedUrl': json['feed_url'] == null ? undefined : json['feed_url'],
37
+ 'feedKind': json['feed_kind'] == null ? undefined : json['feed_kind'],
38
+ 'sharingKey': json['sharing_key'] == null ? undefined : json['sharing_key'],
39
+ 'fetchIntervalMinutes': json['fetch_interval_minutes'] == null ? undefined : json['fetch_interval_minutes'],
40
+ 'notificationWebhookUrl': json['notification_webhook_url'] == null ? undefined : json['notification_webhook_url'],
41
+ };
42
+ }
43
+ export function UpdateSourceRequestToJSON(json) {
44
+ return UpdateSourceRequestToJSONTyped(json, false);
45
+ }
46
+ export function UpdateSourceRequestToJSONTyped(value, ignoreDiscriminator = false) {
47
+ if (value == null) {
48
+ return value;
49
+ }
50
+ return {
51
+ 'name': value['name'],
52
+ 'feed_url': value['feedUrl'],
53
+ 'feed_kind': value['feedKind'],
54
+ 'sharing_key': value['sharingKey'],
55
+ 'fetch_interval_minutes': value['fetchIntervalMinutes'],
56
+ 'notification_webhook_url': value['notificationWebhookUrl'],
57
+ };
58
+ }
@@ -0,0 +1,40 @@
1
+ /**
2
+ * C4R Aggregator API
3
+ * 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.
4
+ *
5
+ * The version of the OpenAPI document: 1.0.0
6
+ *
7
+ *
8
+ * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).
9
+ * https://openapi-generator.tech
10
+ * Do not edit the class manually.
11
+ */
12
+ /**
13
+ *
14
+ * @export
15
+ * @interface ValidationError
16
+ */
17
+ export interface ValidationError {
18
+ /**
19
+ *
20
+ * @type {string}
21
+ * @memberof ValidationError
22
+ */
23
+ message?: string;
24
+ /**
25
+ *
26
+ * @type {{ [key: string]: Array<string>; }}
27
+ * @memberof ValidationError
28
+ */
29
+ errors?: {
30
+ [key: string]: Array<string>;
31
+ };
32
+ }
33
+ /**
34
+ * Check if a given object implements the ValidationError interface.
35
+ */
36
+ export declare function instanceOfValidationError(value: object): value is ValidationError;
37
+ export declare function ValidationErrorFromJSON(json: any): ValidationError;
38
+ export declare function ValidationErrorFromJSONTyped(json: any, ignoreDiscriminator: boolean): ValidationError;
39
+ export declare function ValidationErrorToJSON(json: any): ValidationError;
40
+ export declare function ValidationErrorToJSONTyped(value?: ValidationError | null, ignoreDiscriminator?: boolean): any;
@@ -0,0 +1,43 @@
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
+ * Check if a given object implements the ValidationError interface.
16
+ */
17
+ export function instanceOfValidationError(value) {
18
+ return true;
19
+ }
20
+ export function ValidationErrorFromJSON(json) {
21
+ return ValidationErrorFromJSONTyped(json, false);
22
+ }
23
+ export function ValidationErrorFromJSONTyped(json, ignoreDiscriminator) {
24
+ if (json == null) {
25
+ return json;
26
+ }
27
+ return {
28
+ 'message': json['message'] == null ? undefined : json['message'],
29
+ 'errors': json['errors'] == null ? undefined : json['errors'],
30
+ };
31
+ }
32
+ export function ValidationErrorToJSON(json) {
33
+ return ValidationErrorToJSONTyped(json, false);
34
+ }
35
+ export function ValidationErrorToJSONTyped(value, ignoreDiscriminator = false) {
36
+ if (value == null) {
37
+ return value;
38
+ }
39
+ return {
40
+ 'message': value['message'],
41
+ 'errors': value['errors'],
42
+ };
43
+ }
@@ -0,0 +1,36 @@
1
+ export * from './AdminSource';
2
+ export * from './AuthError';
3
+ export * from './CreateSourceRequest';
4
+ export * from './CreateSourceResponse';
5
+ export * from './DedupCounters';
6
+ export * from './DedupStats';
7
+ export * from './DedupStatsLatestRun';
8
+ export * from './DedupStatsRecentRunsInner';
9
+ export * from './FeedValidationError';
10
+ export * from './IngestRun';
11
+ export * from './MapFeature';
12
+ export * from './MapFeatureCollection';
13
+ export * from './MapFeatureGeometry';
14
+ export * from './MapFeatureProperties';
15
+ export * from './MapMeeting';
16
+ export * from './Meeting';
17
+ export * from './MeetingPage';
18
+ export * from './MeetingPageLinks';
19
+ export * from './MeetingPageMeta';
20
+ export * from './MeetingType';
21
+ export * from './MeetingsFilterError';
22
+ export * from './Program';
23
+ export * from './PublicSource';
24
+ export * from './SourceEnvelope';
25
+ export * from './SourceRefreshResponse';
26
+ export * from './Stats';
27
+ export * from './StatsGroups';
28
+ export * from './StatsLocations';
29
+ export * from './StatsMeetingTypes';
30
+ export * from './StatsMeetings';
31
+ export * from './StatsProgramsBreakdownInner';
32
+ export * from './StatsSources';
33
+ export * from './StatsSourcesTopByMeetingCountInner';
34
+ export * from './StoreSourceValidationError';
35
+ export * from './UpdateSourceRequest';
36
+ export * from './ValidationError';
@@ -0,0 +1,38 @@
1
+ /* tslint:disable */
2
+ /* eslint-disable */
3
+ export * from './AdminSource';
4
+ export * from './AuthError';
5
+ export * from './CreateSourceRequest';
6
+ export * from './CreateSourceResponse';
7
+ export * from './DedupCounters';
8
+ export * from './DedupStats';
9
+ export * from './DedupStatsLatestRun';
10
+ export * from './DedupStatsRecentRunsInner';
11
+ export * from './FeedValidationError';
12
+ export * from './IngestRun';
13
+ export * from './MapFeature';
14
+ export * from './MapFeatureCollection';
15
+ export * from './MapFeatureGeometry';
16
+ export * from './MapFeatureProperties';
17
+ export * from './MapMeeting';
18
+ export * from './Meeting';
19
+ export * from './MeetingPage';
20
+ export * from './MeetingPageLinks';
21
+ export * from './MeetingPageMeta';
22
+ export * from './MeetingType';
23
+ export * from './MeetingsFilterError';
24
+ export * from './Program';
25
+ export * from './PublicSource';
26
+ export * from './SourceEnvelope';
27
+ export * from './SourceRefreshResponse';
28
+ export * from './Stats';
29
+ export * from './StatsGroups';
30
+ export * from './StatsLocations';
31
+ export * from './StatsMeetingTypes';
32
+ export * from './StatsMeetings';
33
+ export * from './StatsProgramsBreakdownInner';
34
+ export * from './StatsSources';
35
+ export * from './StatsSourcesTopByMeetingCountInner';
36
+ export * from './StoreSourceValidationError';
37
+ export * from './UpdateSourceRequest';
38
+ export * from './ValidationError';