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,86 @@
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
+ * Per-layer dedup counters from a single ingest run or summed across multiple runs.
14
+ * @export
15
+ * @interface DedupCounters
16
+ */
17
+ export interface DedupCounters {
18
+ /**
19
+ *
20
+ * @type {number}
21
+ * @memberof DedupCounters
22
+ */
23
+ locationsCreated?: number;
24
+ /**
25
+ *
26
+ * @type {number}
27
+ * @memberof DedupCounters
28
+ */
29
+ locationsMatchedByUpstreamId?: number;
30
+ /**
31
+ *
32
+ * @type {number}
33
+ * @memberof DedupCounters
34
+ */
35
+ locationsMatchedByAddress?: number;
36
+ /**
37
+ *
38
+ * @type {number}
39
+ * @memberof DedupCounters
40
+ */
41
+ locationsMatchedByProximity?: number;
42
+ /**
43
+ *
44
+ * @type {number}
45
+ * @memberof DedupCounters
46
+ */
47
+ groupsCreated?: number;
48
+ /**
49
+ *
50
+ * @type {number}
51
+ * @memberof DedupCounters
52
+ */
53
+ groupsMatchedByUpstreamId?: number;
54
+ /**
55
+ *
56
+ * @type {number}
57
+ * @memberof DedupCounters
58
+ */
59
+ groupsMatchedByName?: number;
60
+ /**
61
+ *
62
+ * @type {number}
63
+ * @memberof DedupCounters
64
+ */
65
+ meetingsCreated?: number;
66
+ /**
67
+ *
68
+ * @type {number}
69
+ * @memberof DedupCounters
70
+ */
71
+ meetingsMatched?: number;
72
+ /**
73
+ *
74
+ * @type {number}
75
+ * @memberof DedupCounters
76
+ */
77
+ typesAutoDiscovered?: number;
78
+ }
79
+ /**
80
+ * Check if a given object implements the DedupCounters interface.
81
+ */
82
+ export declare function instanceOfDedupCounters(value: object): value is DedupCounters;
83
+ export declare function DedupCountersFromJSON(json: any): DedupCounters;
84
+ export declare function DedupCountersFromJSONTyped(json: any, ignoreDiscriminator: boolean): DedupCounters;
85
+ export declare function DedupCountersToJSON(json: any): DedupCounters;
86
+ export declare function DedupCountersToJSONTyped(value?: DedupCounters | null, ignoreDiscriminator?: boolean): any;
@@ -0,0 +1,59 @@
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 DedupCounters interface.
16
+ */
17
+ export function instanceOfDedupCounters(value) {
18
+ return true;
19
+ }
20
+ export function DedupCountersFromJSON(json) {
21
+ return DedupCountersFromJSONTyped(json, false);
22
+ }
23
+ export function DedupCountersFromJSONTyped(json, ignoreDiscriminator) {
24
+ if (json == null) {
25
+ return json;
26
+ }
27
+ return {
28
+ 'locationsCreated': json['locations_created'] == null ? undefined : json['locations_created'],
29
+ 'locationsMatchedByUpstreamId': json['locations_matched_by_upstream_id'] == null ? undefined : json['locations_matched_by_upstream_id'],
30
+ 'locationsMatchedByAddress': json['locations_matched_by_address'] == null ? undefined : json['locations_matched_by_address'],
31
+ 'locationsMatchedByProximity': json['locations_matched_by_proximity'] == null ? undefined : json['locations_matched_by_proximity'],
32
+ 'groupsCreated': json['groups_created'] == null ? undefined : json['groups_created'],
33
+ 'groupsMatchedByUpstreamId': json['groups_matched_by_upstream_id'] == null ? undefined : json['groups_matched_by_upstream_id'],
34
+ 'groupsMatchedByName': json['groups_matched_by_name'] == null ? undefined : json['groups_matched_by_name'],
35
+ 'meetingsCreated': json['meetings_created'] == null ? undefined : json['meetings_created'],
36
+ 'meetingsMatched': json['meetings_matched'] == null ? undefined : json['meetings_matched'],
37
+ 'typesAutoDiscovered': json['types_auto_discovered'] == null ? undefined : json['types_auto_discovered'],
38
+ };
39
+ }
40
+ export function DedupCountersToJSON(json) {
41
+ return DedupCountersToJSONTyped(json, false);
42
+ }
43
+ export function DedupCountersToJSONTyped(value, ignoreDiscriminator = false) {
44
+ if (value == null) {
45
+ return value;
46
+ }
47
+ return {
48
+ 'locations_created': value['locationsCreated'],
49
+ 'locations_matched_by_upstream_id': value['locationsMatchedByUpstreamId'],
50
+ 'locations_matched_by_address': value['locationsMatchedByAddress'],
51
+ 'locations_matched_by_proximity': value['locationsMatchedByProximity'],
52
+ 'groups_created': value['groupsCreated'],
53
+ 'groups_matched_by_upstream_id': value['groupsMatchedByUpstreamId'],
54
+ 'groups_matched_by_name': value['groupsMatchedByName'],
55
+ 'meetings_created': value['meetingsCreated'],
56
+ 'meetings_matched': value['meetingsMatched'],
57
+ 'types_auto_discovered': value['typesAutoDiscovered'],
58
+ };
59
+ }
@@ -0,0 +1,65 @@
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 { DedupStatsLatestRun } from './DedupStatsLatestRun';
13
+ import type { DedupCounters } from './DedupCounters';
14
+ import type { DedupStatsRecentRunsInner } from './DedupStatsRecentRunsInner';
15
+ /**
16
+ * Dedup activity for a source — aggregate totals, latest run, and recent-run history.
17
+ * @export
18
+ * @interface DedupStats
19
+ */
20
+ export interface DedupStats {
21
+ /**
22
+ *
23
+ * @type {number}
24
+ * @memberof DedupStats
25
+ */
26
+ sourceId?: number;
27
+ /**
28
+ *
29
+ * @type {string}
30
+ * @memberof DedupStats
31
+ */
32
+ sourceName?: string;
33
+ /**
34
+ *
35
+ * @type {number}
36
+ * @memberof DedupStats
37
+ */
38
+ runCount?: number;
39
+ /**
40
+ *
41
+ * @type {DedupCounters}
42
+ * @memberof DedupStats
43
+ */
44
+ totals?: DedupCounters;
45
+ /**
46
+ *
47
+ * @type {DedupStatsLatestRun}
48
+ * @memberof DedupStats
49
+ */
50
+ latestRun?: DedupStatsLatestRun | null;
51
+ /**
52
+ *
53
+ * @type {Array<DedupStatsRecentRunsInner>}
54
+ * @memberof DedupStats
55
+ */
56
+ recentRuns?: Array<DedupStatsRecentRunsInner>;
57
+ }
58
+ /**
59
+ * Check if a given object implements the DedupStats interface.
60
+ */
61
+ export declare function instanceOfDedupStats(value: object): value is DedupStats;
62
+ export declare function DedupStatsFromJSON(json: any): DedupStats;
63
+ export declare function DedupStatsFromJSONTyped(json: any, ignoreDiscriminator: boolean): DedupStats;
64
+ export declare function DedupStatsToJSON(json: any): DedupStats;
65
+ export declare function DedupStatsToJSONTyped(value?: DedupStats | null, ignoreDiscriminator?: boolean): any;
@@ -0,0 +1,54 @@
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 { DedupStatsLatestRunFromJSON, DedupStatsLatestRunToJSON, } from './DedupStatsLatestRun';
15
+ import { DedupCountersFromJSON, DedupCountersToJSON, } from './DedupCounters';
16
+ import { DedupStatsRecentRunsInnerFromJSON, DedupStatsRecentRunsInnerToJSON, } from './DedupStatsRecentRunsInner';
17
+ /**
18
+ * Check if a given object implements the DedupStats interface.
19
+ */
20
+ export function instanceOfDedupStats(value) {
21
+ return true;
22
+ }
23
+ export function DedupStatsFromJSON(json) {
24
+ return DedupStatsFromJSONTyped(json, false);
25
+ }
26
+ export function DedupStatsFromJSONTyped(json, ignoreDiscriminator) {
27
+ if (json == null) {
28
+ return json;
29
+ }
30
+ return {
31
+ 'sourceId': json['source_id'] == null ? undefined : json['source_id'],
32
+ 'sourceName': json['source_name'] == null ? undefined : json['source_name'],
33
+ 'runCount': json['run_count'] == null ? undefined : json['run_count'],
34
+ 'totals': json['totals'] == null ? undefined : DedupCountersFromJSON(json['totals']),
35
+ 'latestRun': json['latest_run'] == null ? undefined : DedupStatsLatestRunFromJSON(json['latest_run']),
36
+ 'recentRuns': json['recent_runs'] == null ? undefined : (json['recent_runs'].map(DedupStatsRecentRunsInnerFromJSON)),
37
+ };
38
+ }
39
+ export function DedupStatsToJSON(json) {
40
+ return DedupStatsToJSONTyped(json, false);
41
+ }
42
+ export function DedupStatsToJSONTyped(value, ignoreDiscriminator = false) {
43
+ if (value == null) {
44
+ return value;
45
+ }
46
+ return {
47
+ 'source_id': value['sourceId'],
48
+ 'source_name': value['sourceName'],
49
+ 'run_count': value['runCount'],
50
+ 'totals': DedupCountersToJSON(value['totals']),
51
+ 'latest_run': DedupStatsLatestRunToJSON(value['latestRun']),
52
+ 'recent_runs': value['recentRuns'] == null ? undefined : (value['recentRuns'].map(DedupStatsRecentRunsInnerToJSON)),
53
+ };
54
+ }
@@ -0,0 +1,60 @@
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 { DedupCounters } from './DedupCounters';
13
+ /**
14
+ * Most recent ingest run for a source, with its per-run dedup counters.
15
+ * @export
16
+ * @interface DedupStatsLatestRun
17
+ */
18
+ export interface DedupStatsLatestRun {
19
+ /**
20
+ *
21
+ * @type {Date}
22
+ * @memberof DedupStatsLatestRun
23
+ */
24
+ startedAt?: Date;
25
+ /**
26
+ *
27
+ * @type {Date}
28
+ * @memberof DedupStatsLatestRun
29
+ */
30
+ finishedAt?: Date | null;
31
+ /**
32
+ *
33
+ * @type {DedupStatsLatestRunStatusEnum}
34
+ * @memberof DedupStatsLatestRun
35
+ */
36
+ status?: DedupStatsLatestRunStatusEnum;
37
+ /**
38
+ *
39
+ * @type {DedupCounters}
40
+ * @memberof DedupStatsLatestRun
41
+ */
42
+ counters?: DedupCounters;
43
+ }
44
+ /**
45
+ * @export
46
+ */
47
+ export declare const DedupStatsLatestRunStatusEnum: {
48
+ readonly Success: "success";
49
+ readonly Failed: "failed";
50
+ readonly Suspicious: "suspicious";
51
+ };
52
+ export type DedupStatsLatestRunStatusEnum = typeof DedupStatsLatestRunStatusEnum[keyof typeof DedupStatsLatestRunStatusEnum];
53
+ /**
54
+ * Check if a given object implements the DedupStatsLatestRun interface.
55
+ */
56
+ export declare function instanceOfDedupStatsLatestRun(value: object): value is DedupStatsLatestRun;
57
+ export declare function DedupStatsLatestRunFromJSON(json: any): DedupStatsLatestRun;
58
+ export declare function DedupStatsLatestRunFromJSONTyped(json: any, ignoreDiscriminator: boolean): DedupStatsLatestRun;
59
+ export declare function DedupStatsLatestRunToJSON(json: any): DedupStatsLatestRun;
60
+ export declare function DedupStatsLatestRunToJSONTyped(value?: DedupStatsLatestRun | null, ignoreDiscriminator?: boolean): any;
@@ -0,0 +1,56 @@
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 { DedupCountersFromJSON, DedupCountersToJSON, } from './DedupCounters';
15
+ /**
16
+ * @export
17
+ */
18
+ export const DedupStatsLatestRunStatusEnum = {
19
+ Success: 'success',
20
+ Failed: 'failed',
21
+ Suspicious: 'suspicious'
22
+ };
23
+ /**
24
+ * Check if a given object implements the DedupStatsLatestRun interface.
25
+ */
26
+ export function instanceOfDedupStatsLatestRun(value) {
27
+ return true;
28
+ }
29
+ export function DedupStatsLatestRunFromJSON(json) {
30
+ return DedupStatsLatestRunFromJSONTyped(json, false);
31
+ }
32
+ export function DedupStatsLatestRunFromJSONTyped(json, ignoreDiscriminator) {
33
+ if (json == null) {
34
+ return json;
35
+ }
36
+ return {
37
+ 'startedAt': json['started_at'] == null ? undefined : (new Date(json['started_at'])),
38
+ 'finishedAt': json['finished_at'] == null ? undefined : (new Date(json['finished_at'])),
39
+ 'status': json['status'] == null ? undefined : json['status'],
40
+ 'counters': json['counters'] == null ? undefined : DedupCountersFromJSON(json['counters']),
41
+ };
42
+ }
43
+ export function DedupStatsLatestRunToJSON(json) {
44
+ return DedupStatsLatestRunToJSONTyped(json, false);
45
+ }
46
+ export function DedupStatsLatestRunToJSONTyped(value, ignoreDiscriminator = false) {
47
+ if (value == null) {
48
+ return value;
49
+ }
50
+ return {
51
+ 'started_at': value['startedAt'] == null ? value['startedAt'] : value['startedAt'].toISOString(),
52
+ 'finished_at': value['finishedAt'] == null ? value['finishedAt'] : value['finishedAt'].toISOString(),
53
+ 'status': value['status'],
54
+ 'counters': DedupCountersToJSON(value['counters']),
55
+ };
56
+ }
@@ -0,0 +1,45 @@
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 { DedupCounters } from './DedupCounters';
13
+ /**
14
+ * Condensed entry in DedupStats.recent_runs[].
15
+ * @export
16
+ * @interface DedupStatsRecentRunsInner
17
+ */
18
+ export interface DedupStatsRecentRunsInner {
19
+ /**
20
+ *
21
+ * @type {Date}
22
+ * @memberof DedupStatsRecentRunsInner
23
+ */
24
+ startedAt?: Date;
25
+ /**
26
+ *
27
+ * @type {string}
28
+ * @memberof DedupStatsRecentRunsInner
29
+ */
30
+ status?: string;
31
+ /**
32
+ *
33
+ * @type {DedupCounters}
34
+ * @memberof DedupStatsRecentRunsInner
35
+ */
36
+ counters?: DedupCounters;
37
+ }
38
+ /**
39
+ * Check if a given object implements the DedupStatsRecentRunsInner interface.
40
+ */
41
+ export declare function instanceOfDedupStatsRecentRunsInner(value: object): value is DedupStatsRecentRunsInner;
42
+ export declare function DedupStatsRecentRunsInnerFromJSON(json: any): DedupStatsRecentRunsInner;
43
+ export declare function DedupStatsRecentRunsInnerFromJSONTyped(json: any, ignoreDiscriminator: boolean): DedupStatsRecentRunsInner;
44
+ export declare function DedupStatsRecentRunsInnerToJSON(json: any): DedupStatsRecentRunsInner;
45
+ export declare function DedupStatsRecentRunsInnerToJSONTyped(value?: DedupStatsRecentRunsInner | 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 { DedupCountersFromJSON, DedupCountersToJSON, } from './DedupCounters';
15
+ /**
16
+ * Check if a given object implements the DedupStatsRecentRunsInner interface.
17
+ */
18
+ export function instanceOfDedupStatsRecentRunsInner(value) {
19
+ return true;
20
+ }
21
+ export function DedupStatsRecentRunsInnerFromJSON(json) {
22
+ return DedupStatsRecentRunsInnerFromJSONTyped(json, false);
23
+ }
24
+ export function DedupStatsRecentRunsInnerFromJSONTyped(json, ignoreDiscriminator) {
25
+ if (json == null) {
26
+ return json;
27
+ }
28
+ return {
29
+ 'startedAt': json['started_at'] == null ? undefined : (new Date(json['started_at'])),
30
+ 'status': json['status'] == null ? undefined : json['status'],
31
+ 'counters': json['counters'] == null ? undefined : DedupCountersFromJSON(json['counters']),
32
+ };
33
+ }
34
+ export function DedupStatsRecentRunsInnerToJSON(json) {
35
+ return DedupStatsRecentRunsInnerToJSONTyped(json, false);
36
+ }
37
+ export function DedupStatsRecentRunsInnerToJSONTyped(value, ignoreDiscriminator = false) {
38
+ if (value == null) {
39
+ return value;
40
+ }
41
+ return {
42
+ 'started_at': value['startedAt'] == null ? value['startedAt'] : value['startedAt'].toISOString(),
43
+ 'status': value['status'],
44
+ 'counters': DedupCountersToJSON(value['counters']),
45
+ };
46
+ }
@@ -0,0 +1,54 @@
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
+ * Returned by `POST /admin/sources` when the upstream feed cannot be validated
14
+ * @export
15
+ * @interface FeedValidationError
16
+ */
17
+ export interface FeedValidationError {
18
+ /**
19
+ *
20
+ * @type {string}
21
+ * @memberof FeedValidationError
22
+ */
23
+ error?: string;
24
+ /**
25
+ *
26
+ * @type {FeedValidationErrorErrorTypeEnum}
27
+ * @memberof FeedValidationError
28
+ */
29
+ errorType?: FeedValidationErrorErrorTypeEnum;
30
+ /**
31
+ *
32
+ * @type {string}
33
+ * @memberof FeedValidationError
34
+ */
35
+ message?: string;
36
+ }
37
+ /**
38
+ * @export
39
+ */
40
+ export declare const FeedValidationErrorErrorTypeEnum: {
41
+ readonly Network: "network";
42
+ readonly Http: "http";
43
+ readonly Parse: "parse";
44
+ readonly Empty: "empty";
45
+ };
46
+ export type FeedValidationErrorErrorTypeEnum = typeof FeedValidationErrorErrorTypeEnum[keyof typeof FeedValidationErrorErrorTypeEnum];
47
+ /**
48
+ * Check if a given object implements the FeedValidationError interface.
49
+ */
50
+ export declare function instanceOfFeedValidationError(value: object): value is FeedValidationError;
51
+ export declare function FeedValidationErrorFromJSON(json: any): FeedValidationError;
52
+ export declare function FeedValidationErrorFromJSONTyped(json: any, ignoreDiscriminator: boolean): FeedValidationError;
53
+ export declare function FeedValidationErrorToJSON(json: any): FeedValidationError;
54
+ export declare function FeedValidationErrorToJSONTyped(value?: FeedValidationError | null, ignoreDiscriminator?: boolean): any;
@@ -0,0 +1,54 @@
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 FeedValidationErrorErrorTypeEnum = {
18
+ Network: 'network',
19
+ Http: 'http',
20
+ Parse: 'parse',
21
+ Empty: 'empty'
22
+ };
23
+ /**
24
+ * Check if a given object implements the FeedValidationError interface.
25
+ */
26
+ export function instanceOfFeedValidationError(value) {
27
+ return true;
28
+ }
29
+ export function FeedValidationErrorFromJSON(json) {
30
+ return FeedValidationErrorFromJSONTyped(json, false);
31
+ }
32
+ export function FeedValidationErrorFromJSONTyped(json, ignoreDiscriminator) {
33
+ if (json == null) {
34
+ return json;
35
+ }
36
+ return {
37
+ 'error': json['error'] == null ? undefined : json['error'],
38
+ 'errorType': json['error_type'] == null ? undefined : json['error_type'],
39
+ 'message': json['message'] == null ? undefined : json['message'],
40
+ };
41
+ }
42
+ export function FeedValidationErrorToJSON(json) {
43
+ return FeedValidationErrorToJSONTyped(json, false);
44
+ }
45
+ export function FeedValidationErrorToJSONTyped(value, ignoreDiscriminator = false) {
46
+ if (value == null) {
47
+ return value;
48
+ }
49
+ return {
50
+ 'error': value['error'],
51
+ 'error_type': value['errorType'],
52
+ 'message': value['message'],
53
+ };
54
+ }