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.
- package/.idea/misc.xml +6 -0
- package/.idea/modules.xml +8 -0
- package/.idea/ts.iml +9 -0
- package/.idea/vcs.xml +6 -0
- package/.openapi-generator/FILES +91 -0
- package/.openapi-generator/VERSION +1 -0
- package/.openapi-generator-ignore +23 -0
- package/README.md +174 -0
- package/dist/apis/AdminApi.d.ts +187 -0
- package/dist/apis/AdminApi.js +515 -0
- package/dist/apis/CatalogApi.d.ts +84 -0
- package/dist/apis/CatalogApi.js +191 -0
- package/dist/apis/MeetingsApi.d.ts +98 -0
- package/dist/apis/MeetingsApi.js +235 -0
- package/dist/apis/SourcesApi.d.ts +35 -0
- package/dist/apis/SourcesApi.js +73 -0
- package/dist/apis/index.d.ts +4 -0
- package/dist/apis/index.js +22 -0
- package/dist/esm/apis/AdminApi.d.ts +187 -0
- package/dist/esm/apis/AdminApi.js +511 -0
- package/dist/esm/apis/CatalogApi.d.ts +84 -0
- package/dist/esm/apis/CatalogApi.js +187 -0
- package/dist/esm/apis/MeetingsApi.d.ts +98 -0
- package/dist/esm/apis/MeetingsApi.js +231 -0
- package/dist/esm/apis/SourcesApi.d.ts +35 -0
- package/dist/esm/apis/SourcesApi.js +69 -0
- package/dist/esm/apis/index.d.ts +4 -0
- package/dist/esm/apis/index.js +6 -0
- package/dist/esm/index.d.ts +3 -0
- package/dist/esm/index.js +5 -0
- package/dist/esm/models/AdminSource.d.ts +190 -0
- package/dist/esm/models/AdminSource.js +112 -0
- package/dist/esm/models/AuthError.d.ts +32 -0
- package/dist/esm/models/AuthError.js +41 -0
- package/dist/esm/models/CreateSourceRequest.d.ts +76 -0
- package/dist/esm/models/CreateSourceRequest.js +64 -0
- package/dist/esm/models/CreateSourceResponse.d.ts +45 -0
- package/dist/esm/models/CreateSourceResponse.js +46 -0
- package/dist/esm/models/DedupCounters.d.ts +86 -0
- package/dist/esm/models/DedupCounters.js +59 -0
- package/dist/esm/models/DedupStats.d.ts +65 -0
- package/dist/esm/models/DedupStats.js +54 -0
- package/dist/esm/models/DedupStatsLatestRun.d.ts +60 -0
- package/dist/esm/models/DedupStatsLatestRun.js +56 -0
- package/dist/esm/models/DedupStatsRecentRunsInner.d.ts +45 -0
- package/dist/esm/models/DedupStatsRecentRunsInner.js +46 -0
- package/dist/esm/models/FeedValidationError.d.ts +54 -0
- package/dist/esm/models/FeedValidationError.js +54 -0
- package/dist/esm/models/IngestRun.d.ts +107 -0
- package/dist/esm/models/IngestRun.js +71 -0
- package/dist/esm/models/MapFeature.d.ts +46 -0
- package/dist/esm/models/MapFeature.js +47 -0
- package/dist/esm/models/MapFeatureCollection.d.ts +45 -0
- package/dist/esm/models/MapFeatureCollection.js +46 -0
- package/dist/esm/models/MapFeatureGeometry.d.ts +38 -0
- package/dist/esm/models/MapFeatureGeometry.js +43 -0
- package/dist/esm/models/MapFeatureProperties.d.ts +69 -0
- package/dist/esm/models/MapFeatureProperties.js +54 -0
- package/dist/esm/models/MapMeeting.d.ts +50 -0
- package/dist/esm/models/MapMeeting.js +47 -0
- package/dist/esm/models/Meeting.d.ts +272 -0
- package/dist/esm/models/Meeting.js +131 -0
- package/dist/esm/models/MeetingPage.d.ts +47 -0
- package/dist/esm/models/MeetingPage.js +48 -0
- package/dist/esm/models/MeetingPageLinks.d.ts +50 -0
- package/dist/esm/models/MeetingPageLinks.js +47 -0
- package/dist/esm/models/MeetingPageMeta.d.ts +50 -0
- package/dist/esm/models/MeetingPageMeta.js +47 -0
- package/dist/esm/models/MeetingType.d.ts +56 -0
- package/dist/esm/models/MeetingType.js +49 -0
- package/dist/esm/models/MeetingsFilterError.d.ts +44 -0
- package/dist/esm/models/MeetingsFilterError.js +45 -0
- package/dist/esm/models/Program.d.ts +44 -0
- package/dist/esm/models/Program.js +45 -0
- package/dist/esm/models/PublicSource.d.ts +113 -0
- package/dist/esm/models/PublicSource.js +80 -0
- package/dist/esm/models/SourceEnvelope.d.ts +33 -0
- package/dist/esm/models/SourceEnvelope.js +42 -0
- package/dist/esm/models/SourceRefreshResponse.d.ts +39 -0
- package/dist/esm/models/SourceRefreshResponse.js +44 -0
- package/dist/esm/models/Stats.d.ts +86 -0
- package/dist/esm/models/Stats.js +63 -0
- package/dist/esm/models/StatsGroups.d.ts +32 -0
- package/dist/esm/models/StatsGroups.js +41 -0
- package/dist/esm/models/StatsLocations.d.ts +38 -0
- package/dist/esm/models/StatsLocations.js +43 -0
- package/dist/esm/models/StatsMeetingTypes.d.ts +32 -0
- package/dist/esm/models/StatsMeetingTypes.js +41 -0
- package/dist/esm/models/StatsMeetings.d.ts +68 -0
- package/dist/esm/models/StatsMeetings.js +51 -0
- package/dist/esm/models/StatsProgramsBreakdownInner.d.ts +62 -0
- package/dist/esm/models/StatsProgramsBreakdownInner.js +51 -0
- package/dist/esm/models/StatsSources.d.ts +47 -0
- package/dist/esm/models/StatsSources.js +46 -0
- package/dist/esm/models/StatsSourcesTopByMeetingCountInner.d.ts +44 -0
- package/dist/esm/models/StatsSourcesTopByMeetingCountInner.js +45 -0
- package/dist/esm/models/StoreSourceValidationError.d.ts +23 -0
- package/dist/esm/models/StoreSourceValidationError.js +51 -0
- package/dist/esm/models/UpdateSourceRequest.d.ts +70 -0
- package/dist/esm/models/UpdateSourceRequest.js +58 -0
- package/dist/esm/models/ValidationError.d.ts +40 -0
- package/dist/esm/models/ValidationError.js +43 -0
- package/dist/esm/models/index.d.ts +36 -0
- package/dist/esm/models/index.js +38 -0
- package/dist/esm/runtime.d.ts +184 -0
- package/dist/esm/runtime.js +349 -0
- package/dist/index.d.ts +3 -0
- package/dist/index.js +21 -0
- package/dist/models/AdminSource.d.ts +190 -0
- package/dist/models/AdminSource.js +120 -0
- package/dist/models/AuthError.d.ts +32 -0
- package/dist/models/AuthError.js +48 -0
- package/dist/models/CreateSourceRequest.d.ts +76 -0
- package/dist/models/CreateSourceRequest.js +72 -0
- package/dist/models/CreateSourceResponse.d.ts +45 -0
- package/dist/models/CreateSourceResponse.js +53 -0
- package/dist/models/DedupCounters.d.ts +86 -0
- package/dist/models/DedupCounters.js +66 -0
- package/dist/models/DedupStats.d.ts +65 -0
- package/dist/models/DedupStats.js +61 -0
- package/dist/models/DedupStatsLatestRun.d.ts +60 -0
- package/dist/models/DedupStatsLatestRun.js +64 -0
- package/dist/models/DedupStatsRecentRunsInner.d.ts +45 -0
- package/dist/models/DedupStatsRecentRunsInner.js +53 -0
- package/dist/models/FeedValidationError.d.ts +54 -0
- package/dist/models/FeedValidationError.js +62 -0
- package/dist/models/IngestRun.d.ts +107 -0
- package/dist/models/IngestRun.js +79 -0
- package/dist/models/MapFeature.d.ts +46 -0
- package/dist/models/MapFeature.js +54 -0
- package/dist/models/MapFeatureCollection.d.ts +45 -0
- package/dist/models/MapFeatureCollection.js +53 -0
- package/dist/models/MapFeatureGeometry.d.ts +38 -0
- package/dist/models/MapFeatureGeometry.js +50 -0
- package/dist/models/MapFeatureProperties.d.ts +69 -0
- package/dist/models/MapFeatureProperties.js +61 -0
- package/dist/models/MapMeeting.d.ts +50 -0
- package/dist/models/MapMeeting.js +54 -0
- package/dist/models/Meeting.d.ts +272 -0
- package/dist/models/Meeting.js +139 -0
- package/dist/models/MeetingPage.d.ts +47 -0
- package/dist/models/MeetingPage.js +55 -0
- package/dist/models/MeetingPageLinks.d.ts +50 -0
- package/dist/models/MeetingPageLinks.js +54 -0
- package/dist/models/MeetingPageMeta.d.ts +50 -0
- package/dist/models/MeetingPageMeta.js +54 -0
- package/dist/models/MeetingType.d.ts +56 -0
- package/dist/models/MeetingType.js +56 -0
- package/dist/models/MeetingsFilterError.d.ts +44 -0
- package/dist/models/MeetingsFilterError.js +52 -0
- package/dist/models/Program.d.ts +44 -0
- package/dist/models/Program.js +52 -0
- package/dist/models/PublicSource.d.ts +113 -0
- package/dist/models/PublicSource.js +88 -0
- package/dist/models/SourceEnvelope.d.ts +33 -0
- package/dist/models/SourceEnvelope.js +49 -0
- package/dist/models/SourceRefreshResponse.d.ts +39 -0
- package/dist/models/SourceRefreshResponse.js +51 -0
- package/dist/models/Stats.d.ts +86 -0
- package/dist/models/Stats.js +70 -0
- package/dist/models/StatsGroups.d.ts +32 -0
- package/dist/models/StatsGroups.js +48 -0
- package/dist/models/StatsLocations.d.ts +38 -0
- package/dist/models/StatsLocations.js +50 -0
- package/dist/models/StatsMeetingTypes.d.ts +32 -0
- package/dist/models/StatsMeetingTypes.js +48 -0
- package/dist/models/StatsMeetings.d.ts +68 -0
- package/dist/models/StatsMeetings.js +58 -0
- package/dist/models/StatsProgramsBreakdownInner.d.ts +62 -0
- package/dist/models/StatsProgramsBreakdownInner.js +58 -0
- package/dist/models/StatsSources.d.ts +47 -0
- package/dist/models/StatsSources.js +53 -0
- package/dist/models/StatsSourcesTopByMeetingCountInner.d.ts +44 -0
- package/dist/models/StatsSourcesTopByMeetingCountInner.js +52 -0
- package/dist/models/StoreSourceValidationError.d.ts +23 -0
- package/dist/models/StoreSourceValidationError.js +57 -0
- package/dist/models/UpdateSourceRequest.d.ts +70 -0
- package/dist/models/UpdateSourceRequest.js +66 -0
- package/dist/models/ValidationError.d.ts +40 -0
- package/dist/models/ValidationError.js +50 -0
- package/dist/models/index.d.ts +36 -0
- package/dist/models/index.js +54 -0
- package/dist/runtime.d.ts +184 -0
- package/dist/runtime.js +365 -0
- package/docs/AdminApi.md +734 -0
- package/docs/AdminSource.md +77 -0
- package/docs/AuthError.md +34 -0
- package/docs/CatalogApi.md +270 -0
- package/docs/CreateSourceRequest.md +46 -0
- package/docs/CreateSourceResponse.md +38 -0
- package/docs/DedupCounters.md +53 -0
- package/docs/DedupStats.md +45 -0
- package/docs/DedupStatsLatestRun.md +41 -0
- package/docs/DedupStatsRecentRunsInner.md +39 -0
- package/docs/FeedValidationError.md +39 -0
- package/docs/IngestRun.md +57 -0
- package/docs/MapFeature.md +39 -0
- package/docs/MapFeatureCollection.md +39 -0
- package/docs/MapFeatureGeometry.md +37 -0
- package/docs/MapFeatureProperties.md +47 -0
- package/docs/MapMeeting.md +41 -0
- package/docs/Meeting.md +109 -0
- package/docs/MeetingPage.md +39 -0
- package/docs/MeetingPageLinks.md +41 -0
- package/docs/MeetingPageMeta.md +41 -0
- package/docs/MeetingType.md +42 -0
- package/docs/MeetingsApi.md +323 -0
- package/docs/MeetingsFilterError.md +39 -0
- package/docs/Program.md +38 -0
- package/docs/PublicSource.md +55 -0
- package/docs/SourceEnvelope.md +35 -0
- package/docs/SourceRefreshResponse.md +37 -0
- package/docs/SourcesApi.md +76 -0
- package/docs/Stats.md +51 -0
- package/docs/StatsGroups.md +35 -0
- package/docs/StatsLocations.md +37 -0
- package/docs/StatsMeetingTypes.md +35 -0
- package/docs/StatsMeetings.md +45 -0
- package/docs/StatsProgramsBreakdownInner.md +45 -0
- package/docs/StatsSources.md +39 -0
- package/docs/StatsSourcesTopByMeetingCountInner.md +39 -0
- package/docs/StoreSourceValidationError.md +41 -0
- package/docs/UpdateSourceRequest.md +44 -0
- package/docs/ValidationError.md +36 -0
- package/package.json +21 -0
- package/src/apis/AdminApi.ts +659 -0
- package/src/apis/CatalogApi.ts +220 -0
- package/src/apis/MeetingsApi.ts +305 -0
- package/src/apis/SourcesApi.ts +74 -0
- package/src/apis/index.ts +6 -0
- package/src/index.ts +5 -0
- package/src/models/AdminSource.ts +270 -0
- package/src/models/AuthError.ts +65 -0
- package/src/models/CreateSourceRequest.ts +126 -0
- package/src/models/CreateSourceResponse.ts +89 -0
- package/src/models/DedupCounters.ts +137 -0
- package/src/models/DedupStats.ts +127 -0
- package/src/models/DedupStatsLatestRun.ts +109 -0
- package/src/models/DedupStatsRecentRunsInner.ts +89 -0
- package/src/models/FeedValidationError.ts +94 -0
- package/src/models/IngestRun.ts +165 -0
- package/src/models/MapFeature.ts +96 -0
- package/src/models/MapFeatureCollection.ts +89 -0
- package/src/models/MapFeatureGeometry.ts +73 -0
- package/src/models/MapFeatureProperties.ts +121 -0
- package/src/models/MapMeeting.ts +89 -0
- package/src/models/Meeting.ts +383 -0
- package/src/models/MeetingPage.ts +103 -0
- package/src/models/MeetingPageLinks.ts +89 -0
- package/src/models/MeetingPageMeta.ts +89 -0
- package/src/models/MeetingType.ts +97 -0
- package/src/models/MeetingsFilterError.ts +81 -0
- package/src/models/Program.ts +81 -0
- package/src/models/PublicSource.ts +170 -0
- package/src/models/SourceEnvelope.ts +73 -0
- package/src/models/SourceRefreshResponse.ts +81 -0
- package/src/models/Stats.ts +172 -0
- package/src/models/StatsGroups.ts +65 -0
- package/src/models/StatsLocations.ts +73 -0
- package/src/models/StatsMeetingTypes.ts +65 -0
- package/src/models/StatsMeetings.ts +105 -0
- package/src/models/StatsProgramsBreakdownInner.ts +105 -0
- package/src/models/StatsSources.ts +89 -0
- package/src/models/StatsSourcesTopByMeetingCountInner.ts +81 -0
- package/src/models/StoreSourceValidationError.ts +76 -0
- package/src/models/UpdateSourceRequest.ts +116 -0
- package/src/models/ValidationError.ts +73 -0
- package/src/models/index.ts +38 -0
- package/src/runtime.ts +449 -0
- package/tsconfig.esm.json +7 -0
- package/tsconfig.json +16 -0
|
@@ -0,0 +1,190 @@
|
|
|
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
|
+
* Full admin view of a source, including failure state, backoff, and all entity metadata.
|
|
14
|
+
* @export
|
|
15
|
+
* @interface AdminSource
|
|
16
|
+
*/
|
|
17
|
+
export interface AdminSource {
|
|
18
|
+
/**
|
|
19
|
+
*
|
|
20
|
+
* @type {number}
|
|
21
|
+
* @memberof AdminSource
|
|
22
|
+
*/
|
|
23
|
+
id?: number;
|
|
24
|
+
/**
|
|
25
|
+
*
|
|
26
|
+
* @type {string}
|
|
27
|
+
* @memberof AdminSource
|
|
28
|
+
*/
|
|
29
|
+
program?: string;
|
|
30
|
+
/**
|
|
31
|
+
*
|
|
32
|
+
* @type {string}
|
|
33
|
+
* @memberof AdminSource
|
|
34
|
+
*/
|
|
35
|
+
name?: string;
|
|
36
|
+
/**
|
|
37
|
+
*
|
|
38
|
+
* @type {string}
|
|
39
|
+
* @memberof AdminSource
|
|
40
|
+
*/
|
|
41
|
+
feedUrl?: string;
|
|
42
|
+
/**
|
|
43
|
+
*
|
|
44
|
+
* @type {AdminSourceFeedKindEnum}
|
|
45
|
+
* @memberof AdminSource
|
|
46
|
+
*/
|
|
47
|
+
feedKind?: AdminSourceFeedKindEnum;
|
|
48
|
+
/**
|
|
49
|
+
*
|
|
50
|
+
* @type {AdminSourceStateEnum}
|
|
51
|
+
* @memberof AdminSource
|
|
52
|
+
*/
|
|
53
|
+
state?: AdminSourceStateEnum;
|
|
54
|
+
/**
|
|
55
|
+
*
|
|
56
|
+
* @type {number}
|
|
57
|
+
* @memberof AdminSource
|
|
58
|
+
*/
|
|
59
|
+
fetchIntervalMinutes?: number;
|
|
60
|
+
/**
|
|
61
|
+
*
|
|
62
|
+
* @type {Date}
|
|
63
|
+
* @memberof AdminSource
|
|
64
|
+
*/
|
|
65
|
+
lastFetchedAt?: Date | null;
|
|
66
|
+
/**
|
|
67
|
+
*
|
|
68
|
+
* @type {Date}
|
|
69
|
+
* @memberof AdminSource
|
|
70
|
+
*/
|
|
71
|
+
lastSuccessAt?: Date | null;
|
|
72
|
+
/**
|
|
73
|
+
*
|
|
74
|
+
* @type {string}
|
|
75
|
+
* @memberof AdminSource
|
|
76
|
+
*/
|
|
77
|
+
lastError?: string | null;
|
|
78
|
+
/**
|
|
79
|
+
*
|
|
80
|
+
* @type {AdminSourceLastErrorTypeEnum}
|
|
81
|
+
* @memberof AdminSource
|
|
82
|
+
*/
|
|
83
|
+
lastErrorType?: AdminSourceLastErrorTypeEnum | null;
|
|
84
|
+
/**
|
|
85
|
+
*
|
|
86
|
+
* @type {number}
|
|
87
|
+
* @memberof AdminSource
|
|
88
|
+
*/
|
|
89
|
+
consecutiveFailures?: number;
|
|
90
|
+
/**
|
|
91
|
+
*
|
|
92
|
+
* @type {Date}
|
|
93
|
+
* @memberof AdminSource
|
|
94
|
+
*/
|
|
95
|
+
nextFetchAt?: Date | null;
|
|
96
|
+
/**
|
|
97
|
+
*
|
|
98
|
+
* @type {number}
|
|
99
|
+
* @memberof AdminSource
|
|
100
|
+
*/
|
|
101
|
+
lastSuccessfulMeetingCount?: number | null;
|
|
102
|
+
/**
|
|
103
|
+
*
|
|
104
|
+
* @type {number}
|
|
105
|
+
* @memberof AdminSource
|
|
106
|
+
*/
|
|
107
|
+
daysSinceLastSuccess?: number | null;
|
|
108
|
+
/**
|
|
109
|
+
*
|
|
110
|
+
* @type {Date}
|
|
111
|
+
* @memberof AdminSource
|
|
112
|
+
*/
|
|
113
|
+
pausedAt?: Date | null;
|
|
114
|
+
/**
|
|
115
|
+
*
|
|
116
|
+
* @type {Date}
|
|
117
|
+
* @memberof AdminSource
|
|
118
|
+
*/
|
|
119
|
+
dormantAt?: Date | null;
|
|
120
|
+
/**
|
|
121
|
+
*
|
|
122
|
+
* @type {Date}
|
|
123
|
+
* @memberof AdminSource
|
|
124
|
+
*/
|
|
125
|
+
deletedAt?: Date | null;
|
|
126
|
+
/**
|
|
127
|
+
*
|
|
128
|
+
* @type {string}
|
|
129
|
+
* @memberof AdminSource
|
|
130
|
+
*/
|
|
131
|
+
entity?: string | null;
|
|
132
|
+
/**
|
|
133
|
+
*
|
|
134
|
+
* @type {string}
|
|
135
|
+
* @memberof AdminSource
|
|
136
|
+
*/
|
|
137
|
+
entityEmail?: string | null;
|
|
138
|
+
/**
|
|
139
|
+
*
|
|
140
|
+
* @type {string}
|
|
141
|
+
* @memberof AdminSource
|
|
142
|
+
*/
|
|
143
|
+
entityUrl?: string | null;
|
|
144
|
+
/**
|
|
145
|
+
*
|
|
146
|
+
* @type {string}
|
|
147
|
+
* @memberof AdminSource
|
|
148
|
+
*/
|
|
149
|
+
notificationWebhookUrl?: string | null;
|
|
150
|
+
}
|
|
151
|
+
/**
|
|
152
|
+
* @export
|
|
153
|
+
*/
|
|
154
|
+
export declare const AdminSourceFeedKindEnum: {
|
|
155
|
+
readonly TsmlJson: "tsml_json";
|
|
156
|
+
readonly GoogleSheet: "google_sheet";
|
|
157
|
+
};
|
|
158
|
+
export type AdminSourceFeedKindEnum = typeof AdminSourceFeedKindEnum[keyof typeof AdminSourceFeedKindEnum];
|
|
159
|
+
/**
|
|
160
|
+
* @export
|
|
161
|
+
*/
|
|
162
|
+
export declare const AdminSourceStateEnum: {
|
|
163
|
+
readonly Pending: "pending";
|
|
164
|
+
readonly Active: "active";
|
|
165
|
+
readonly Degraded: "degraded";
|
|
166
|
+
readonly Failing: "failing";
|
|
167
|
+
readonly Dormant: "dormant";
|
|
168
|
+
readonly Paused: "paused";
|
|
169
|
+
readonly Deleted: "deleted";
|
|
170
|
+
};
|
|
171
|
+
export type AdminSourceStateEnum = typeof AdminSourceStateEnum[keyof typeof AdminSourceStateEnum];
|
|
172
|
+
/**
|
|
173
|
+
* @export
|
|
174
|
+
*/
|
|
175
|
+
export declare const AdminSourceLastErrorTypeEnum: {
|
|
176
|
+
readonly Network: "network";
|
|
177
|
+
readonly Http: "http";
|
|
178
|
+
readonly Parse: "parse";
|
|
179
|
+
readonly Empty: "empty";
|
|
180
|
+
readonly Suspicious: "suspicious";
|
|
181
|
+
};
|
|
182
|
+
export type AdminSourceLastErrorTypeEnum = typeof AdminSourceLastErrorTypeEnum[keyof typeof AdminSourceLastErrorTypeEnum];
|
|
183
|
+
/**
|
|
184
|
+
* Check if a given object implements the AdminSource interface.
|
|
185
|
+
*/
|
|
186
|
+
export declare function instanceOfAdminSource(value: object): value is AdminSource;
|
|
187
|
+
export declare function AdminSourceFromJSON(json: any): AdminSource;
|
|
188
|
+
export declare function AdminSourceFromJSONTyped(json: any, ignoreDiscriminator: boolean): AdminSource;
|
|
189
|
+
export declare function AdminSourceToJSON(json: any): AdminSource;
|
|
190
|
+
export declare function AdminSourceToJSONTyped(value?: AdminSource | null, ignoreDiscriminator?: boolean): any;
|
|
@@ -0,0 +1,112 @@
|
|
|
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 AdminSourceFeedKindEnum = {
|
|
18
|
+
TsmlJson: 'tsml_json',
|
|
19
|
+
GoogleSheet: 'google_sheet'
|
|
20
|
+
};
|
|
21
|
+
/**
|
|
22
|
+
* @export
|
|
23
|
+
*/
|
|
24
|
+
export const AdminSourceStateEnum = {
|
|
25
|
+
Pending: 'pending',
|
|
26
|
+
Active: 'active',
|
|
27
|
+
Degraded: 'degraded',
|
|
28
|
+
Failing: 'failing',
|
|
29
|
+
Dormant: 'dormant',
|
|
30
|
+
Paused: 'paused',
|
|
31
|
+
Deleted: 'deleted'
|
|
32
|
+
};
|
|
33
|
+
/**
|
|
34
|
+
* @export
|
|
35
|
+
*/
|
|
36
|
+
export const AdminSourceLastErrorTypeEnum = {
|
|
37
|
+
Network: 'network',
|
|
38
|
+
Http: 'http',
|
|
39
|
+
Parse: 'parse',
|
|
40
|
+
Empty: 'empty',
|
|
41
|
+
Suspicious: 'suspicious'
|
|
42
|
+
};
|
|
43
|
+
/**
|
|
44
|
+
* Check if a given object implements the AdminSource interface.
|
|
45
|
+
*/
|
|
46
|
+
export function instanceOfAdminSource(value) {
|
|
47
|
+
return true;
|
|
48
|
+
}
|
|
49
|
+
export function AdminSourceFromJSON(json) {
|
|
50
|
+
return AdminSourceFromJSONTyped(json, false);
|
|
51
|
+
}
|
|
52
|
+
export function AdminSourceFromJSONTyped(json, ignoreDiscriminator) {
|
|
53
|
+
if (json == null) {
|
|
54
|
+
return json;
|
|
55
|
+
}
|
|
56
|
+
return {
|
|
57
|
+
'id': json['id'] == null ? undefined : json['id'],
|
|
58
|
+
'program': json['program'] == null ? undefined : json['program'],
|
|
59
|
+
'name': json['name'] == null ? undefined : json['name'],
|
|
60
|
+
'feedUrl': json['feed_url'] == null ? undefined : json['feed_url'],
|
|
61
|
+
'feedKind': json['feed_kind'] == null ? undefined : json['feed_kind'],
|
|
62
|
+
'state': json['state'] == null ? undefined : json['state'],
|
|
63
|
+
'fetchIntervalMinutes': json['fetch_interval_minutes'] == null ? undefined : json['fetch_interval_minutes'],
|
|
64
|
+
'lastFetchedAt': json['last_fetched_at'] == null ? undefined : (new Date(json['last_fetched_at'])),
|
|
65
|
+
'lastSuccessAt': json['last_success_at'] == null ? undefined : (new Date(json['last_success_at'])),
|
|
66
|
+
'lastError': json['last_error'] == null ? undefined : json['last_error'],
|
|
67
|
+
'lastErrorType': json['last_error_type'] == null ? undefined : json['last_error_type'],
|
|
68
|
+
'consecutiveFailures': json['consecutive_failures'] == null ? undefined : json['consecutive_failures'],
|
|
69
|
+
'nextFetchAt': json['next_fetch_at'] == null ? undefined : (new Date(json['next_fetch_at'])),
|
|
70
|
+
'lastSuccessfulMeetingCount': json['last_successful_meeting_count'] == null ? undefined : json['last_successful_meeting_count'],
|
|
71
|
+
'daysSinceLastSuccess': json['days_since_last_success'] == null ? undefined : json['days_since_last_success'],
|
|
72
|
+
'pausedAt': json['paused_at'] == null ? undefined : (new Date(json['paused_at'])),
|
|
73
|
+
'dormantAt': json['dormant_at'] == null ? undefined : (new Date(json['dormant_at'])),
|
|
74
|
+
'deletedAt': json['deleted_at'] == null ? undefined : (new Date(json['deleted_at'])),
|
|
75
|
+
'entity': json['entity'] == null ? undefined : json['entity'],
|
|
76
|
+
'entityEmail': json['entity_email'] == null ? undefined : json['entity_email'],
|
|
77
|
+
'entityUrl': json['entity_url'] == null ? undefined : json['entity_url'],
|
|
78
|
+
'notificationWebhookUrl': json['notification_webhook_url'] == null ? undefined : json['notification_webhook_url'],
|
|
79
|
+
};
|
|
80
|
+
}
|
|
81
|
+
export function AdminSourceToJSON(json) {
|
|
82
|
+
return AdminSourceToJSONTyped(json, false);
|
|
83
|
+
}
|
|
84
|
+
export function AdminSourceToJSONTyped(value, ignoreDiscriminator = false) {
|
|
85
|
+
if (value == null) {
|
|
86
|
+
return value;
|
|
87
|
+
}
|
|
88
|
+
return {
|
|
89
|
+
'id': value['id'],
|
|
90
|
+
'program': value['program'],
|
|
91
|
+
'name': value['name'],
|
|
92
|
+
'feed_url': value['feedUrl'],
|
|
93
|
+
'feed_kind': value['feedKind'],
|
|
94
|
+
'state': value['state'],
|
|
95
|
+
'fetch_interval_minutes': value['fetchIntervalMinutes'],
|
|
96
|
+
'last_fetched_at': value['lastFetchedAt'] == null ? value['lastFetchedAt'] : value['lastFetchedAt'].toISOString(),
|
|
97
|
+
'last_success_at': value['lastSuccessAt'] == null ? value['lastSuccessAt'] : value['lastSuccessAt'].toISOString(),
|
|
98
|
+
'last_error': value['lastError'],
|
|
99
|
+
'last_error_type': value['lastErrorType'],
|
|
100
|
+
'consecutive_failures': value['consecutiveFailures'],
|
|
101
|
+
'next_fetch_at': value['nextFetchAt'] == null ? value['nextFetchAt'] : value['nextFetchAt'].toISOString(),
|
|
102
|
+
'last_successful_meeting_count': value['lastSuccessfulMeetingCount'],
|
|
103
|
+
'days_since_last_success': value['daysSinceLastSuccess'],
|
|
104
|
+
'paused_at': value['pausedAt'] == null ? value['pausedAt'] : value['pausedAt'].toISOString(),
|
|
105
|
+
'dormant_at': value['dormantAt'] == null ? value['dormantAt'] : value['dormantAt'].toISOString(),
|
|
106
|
+
'deleted_at': value['deletedAt'] == null ? value['deletedAt'] : value['deletedAt'].toISOString(),
|
|
107
|
+
'entity': value['entity'],
|
|
108
|
+
'entity_email': value['entityEmail'],
|
|
109
|
+
'entity_url': value['entityUrl'],
|
|
110
|
+
'notification_webhook_url': value['notificationWebhookUrl'],
|
|
111
|
+
};
|
|
112
|
+
}
|
|
@@ -0,0 +1,32 @@
|
|
|
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 AuthError
|
|
16
|
+
*/
|
|
17
|
+
export interface AuthError {
|
|
18
|
+
/**
|
|
19
|
+
*
|
|
20
|
+
* @type {string}
|
|
21
|
+
* @memberof AuthError
|
|
22
|
+
*/
|
|
23
|
+
message?: string;
|
|
24
|
+
}
|
|
25
|
+
/**
|
|
26
|
+
* Check if a given object implements the AuthError interface.
|
|
27
|
+
*/
|
|
28
|
+
export declare function instanceOfAuthError(value: object): value is AuthError;
|
|
29
|
+
export declare function AuthErrorFromJSON(json: any): AuthError;
|
|
30
|
+
export declare function AuthErrorFromJSONTyped(json: any, ignoreDiscriminator: boolean): AuthError;
|
|
31
|
+
export declare function AuthErrorToJSON(json: any): AuthError;
|
|
32
|
+
export declare function AuthErrorToJSONTyped(value?: AuthError | null, ignoreDiscriminator?: boolean): any;
|
|
@@ -0,0 +1,41 @@
|
|
|
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 AuthError interface.
|
|
16
|
+
*/
|
|
17
|
+
export function instanceOfAuthError(value) {
|
|
18
|
+
return true;
|
|
19
|
+
}
|
|
20
|
+
export function AuthErrorFromJSON(json) {
|
|
21
|
+
return AuthErrorFromJSONTyped(json, false);
|
|
22
|
+
}
|
|
23
|
+
export function AuthErrorFromJSONTyped(json, ignoreDiscriminator) {
|
|
24
|
+
if (json == null) {
|
|
25
|
+
return json;
|
|
26
|
+
}
|
|
27
|
+
return {
|
|
28
|
+
'message': json['message'] == null ? undefined : json['message'],
|
|
29
|
+
};
|
|
30
|
+
}
|
|
31
|
+
export function AuthErrorToJSON(json) {
|
|
32
|
+
return AuthErrorToJSONTyped(json, false);
|
|
33
|
+
}
|
|
34
|
+
export function AuthErrorToJSONTyped(value, ignoreDiscriminator = false) {
|
|
35
|
+
if (value == null) {
|
|
36
|
+
return value;
|
|
37
|
+
}
|
|
38
|
+
return {
|
|
39
|
+
'message': value['message'],
|
|
40
|
+
};
|
|
41
|
+
}
|
|
@@ -0,0 +1,76 @@
|
|
|
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 CreateSourceRequest
|
|
16
|
+
*/
|
|
17
|
+
export interface CreateSourceRequest {
|
|
18
|
+
/**
|
|
19
|
+
*
|
|
20
|
+
* @type {string}
|
|
21
|
+
* @memberof CreateSourceRequest
|
|
22
|
+
*/
|
|
23
|
+
feedUrl: string;
|
|
24
|
+
/**
|
|
25
|
+
*
|
|
26
|
+
* @type {string}
|
|
27
|
+
* @memberof CreateSourceRequest
|
|
28
|
+
*/
|
|
29
|
+
program: string;
|
|
30
|
+
/**
|
|
31
|
+
* `tsml_json` (default) fetches an upstream Meeting Guide JSON feed. `google_sheet` reads a public Google Sheet backing a tsml-ui front-end (the `data-src` on `<div id="tsml-ui">`); the sheet is fetched via the anonymous gviz CSV export. `google_sheet` sources are forced to run no more than once per day.
|
|
32
|
+
* @type {CreateSourceRequestFeedKindEnum}
|
|
33
|
+
* @memberof CreateSourceRequest
|
|
34
|
+
*/
|
|
35
|
+
feedKind?: CreateSourceRequestFeedKindEnum;
|
|
36
|
+
/**
|
|
37
|
+
*
|
|
38
|
+
* @type {string}
|
|
39
|
+
* @memberof CreateSourceRequest
|
|
40
|
+
*/
|
|
41
|
+
name?: string | null;
|
|
42
|
+
/**
|
|
43
|
+
* Appended as `?key=…` on each fetch
|
|
44
|
+
* @type {string}
|
|
45
|
+
* @memberof CreateSourceRequest
|
|
46
|
+
*/
|
|
47
|
+
sharingKey?: string | null;
|
|
48
|
+
/**
|
|
49
|
+
*
|
|
50
|
+
* @type {number}
|
|
51
|
+
* @memberof CreateSourceRequest
|
|
52
|
+
*/
|
|
53
|
+
fetchIntervalMinutes?: number;
|
|
54
|
+
/**
|
|
55
|
+
*
|
|
56
|
+
* @type {string}
|
|
57
|
+
* @memberof CreateSourceRequest
|
|
58
|
+
*/
|
|
59
|
+
notificationWebhookUrl?: string | null;
|
|
60
|
+
}
|
|
61
|
+
/**
|
|
62
|
+
* @export
|
|
63
|
+
*/
|
|
64
|
+
export declare const CreateSourceRequestFeedKindEnum: {
|
|
65
|
+
readonly TsmlJson: "tsml_json";
|
|
66
|
+
readonly GoogleSheet: "google_sheet";
|
|
67
|
+
};
|
|
68
|
+
export type CreateSourceRequestFeedKindEnum = typeof CreateSourceRequestFeedKindEnum[keyof typeof CreateSourceRequestFeedKindEnum];
|
|
69
|
+
/**
|
|
70
|
+
* Check if a given object implements the CreateSourceRequest interface.
|
|
71
|
+
*/
|
|
72
|
+
export declare function instanceOfCreateSourceRequest(value: object): value is CreateSourceRequest;
|
|
73
|
+
export declare function CreateSourceRequestFromJSON(json: any): CreateSourceRequest;
|
|
74
|
+
export declare function CreateSourceRequestFromJSONTyped(json: any, ignoreDiscriminator: boolean): CreateSourceRequest;
|
|
75
|
+
export declare function CreateSourceRequestToJSON(json: any): CreateSourceRequest;
|
|
76
|
+
export declare function CreateSourceRequestToJSONTyped(value?: CreateSourceRequest | null, ignoreDiscriminator?: boolean): any;
|
|
@@ -0,0 +1,64 @@
|
|
|
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 CreateSourceRequestFeedKindEnum = {
|
|
18
|
+
TsmlJson: 'tsml_json',
|
|
19
|
+
GoogleSheet: 'google_sheet'
|
|
20
|
+
};
|
|
21
|
+
/**
|
|
22
|
+
* Check if a given object implements the CreateSourceRequest interface.
|
|
23
|
+
*/
|
|
24
|
+
export function instanceOfCreateSourceRequest(value) {
|
|
25
|
+
if ((!('feedUrl' in value) && !('feed_url' in value)) || (value['feedUrl'] === undefined && value['feed_url'] === undefined))
|
|
26
|
+
return false;
|
|
27
|
+
if (!('program' in value) || value['program'] === undefined)
|
|
28
|
+
return false;
|
|
29
|
+
return true;
|
|
30
|
+
}
|
|
31
|
+
export function CreateSourceRequestFromJSON(json) {
|
|
32
|
+
return CreateSourceRequestFromJSONTyped(json, false);
|
|
33
|
+
}
|
|
34
|
+
export function CreateSourceRequestFromJSONTyped(json, ignoreDiscriminator) {
|
|
35
|
+
if (json == null) {
|
|
36
|
+
return json;
|
|
37
|
+
}
|
|
38
|
+
return {
|
|
39
|
+
'feedUrl': json['feed_url'],
|
|
40
|
+
'program': json['program'],
|
|
41
|
+
'feedKind': json['feed_kind'] == null ? undefined : json['feed_kind'],
|
|
42
|
+
'name': json['name'] == null ? undefined : json['name'],
|
|
43
|
+
'sharingKey': json['sharing_key'] == null ? undefined : json['sharing_key'],
|
|
44
|
+
'fetchIntervalMinutes': json['fetch_interval_minutes'] == null ? undefined : json['fetch_interval_minutes'],
|
|
45
|
+
'notificationWebhookUrl': json['notification_webhook_url'] == null ? undefined : json['notification_webhook_url'],
|
|
46
|
+
};
|
|
47
|
+
}
|
|
48
|
+
export function CreateSourceRequestToJSON(json) {
|
|
49
|
+
return CreateSourceRequestToJSONTyped(json, false);
|
|
50
|
+
}
|
|
51
|
+
export function CreateSourceRequestToJSONTyped(value, ignoreDiscriminator = false) {
|
|
52
|
+
if (value == null) {
|
|
53
|
+
return value;
|
|
54
|
+
}
|
|
55
|
+
return {
|
|
56
|
+
'feed_url': value['feedUrl'],
|
|
57
|
+
'program': value['program'],
|
|
58
|
+
'feed_kind': value['feedKind'],
|
|
59
|
+
'name': value['name'],
|
|
60
|
+
'sharing_key': value['sharingKey'],
|
|
61
|
+
'fetch_interval_minutes': value['fetchIntervalMinutes'],
|
|
62
|
+
'notification_webhook_url': value['notificationWebhookUrl'],
|
|
63
|
+
};
|
|
64
|
+
}
|
|
@@ -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 { AdminSource } from './AdminSource';
|
|
13
|
+
/**
|
|
14
|
+
*
|
|
15
|
+
* @export
|
|
16
|
+
* @interface CreateSourceResponse
|
|
17
|
+
*/
|
|
18
|
+
export interface CreateSourceResponse {
|
|
19
|
+
/**
|
|
20
|
+
*
|
|
21
|
+
* @type {AdminSource}
|
|
22
|
+
* @memberof CreateSourceResponse
|
|
23
|
+
*/
|
|
24
|
+
source?: AdminSource;
|
|
25
|
+
/**
|
|
26
|
+
*
|
|
27
|
+
* @type {number}
|
|
28
|
+
* @memberof CreateSourceResponse
|
|
29
|
+
*/
|
|
30
|
+
totalMeetingsFound?: number;
|
|
31
|
+
/**
|
|
32
|
+
* Up to 10 raw upstream rows from the validated feed
|
|
33
|
+
* @type {Array<object>}
|
|
34
|
+
* @memberof CreateSourceResponse
|
|
35
|
+
*/
|
|
36
|
+
sampleMeetings?: Array<object>;
|
|
37
|
+
}
|
|
38
|
+
/**
|
|
39
|
+
* Check if a given object implements the CreateSourceResponse interface.
|
|
40
|
+
*/
|
|
41
|
+
export declare function instanceOfCreateSourceResponse(value: object): value is CreateSourceResponse;
|
|
42
|
+
export declare function CreateSourceResponseFromJSON(json: any): CreateSourceResponse;
|
|
43
|
+
export declare function CreateSourceResponseFromJSONTyped(json: any, ignoreDiscriminator: boolean): CreateSourceResponse;
|
|
44
|
+
export declare function CreateSourceResponseToJSON(json: any): CreateSourceResponse;
|
|
45
|
+
export declare function CreateSourceResponseToJSONTyped(value?: CreateSourceResponse | 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 { AdminSourceFromJSON, AdminSourceToJSON, } from './AdminSource';
|
|
15
|
+
/**
|
|
16
|
+
* Check if a given object implements the CreateSourceResponse interface.
|
|
17
|
+
*/
|
|
18
|
+
export function instanceOfCreateSourceResponse(value) {
|
|
19
|
+
return true;
|
|
20
|
+
}
|
|
21
|
+
export function CreateSourceResponseFromJSON(json) {
|
|
22
|
+
return CreateSourceResponseFromJSONTyped(json, false);
|
|
23
|
+
}
|
|
24
|
+
export function CreateSourceResponseFromJSONTyped(json, ignoreDiscriminator) {
|
|
25
|
+
if (json == null) {
|
|
26
|
+
return json;
|
|
27
|
+
}
|
|
28
|
+
return {
|
|
29
|
+
'source': json['source'] == null ? undefined : AdminSourceFromJSON(json['source']),
|
|
30
|
+
'totalMeetingsFound': json['total_meetings_found'] == null ? undefined : json['total_meetings_found'],
|
|
31
|
+
'sampleMeetings': json['sample_meetings'] == null ? undefined : json['sample_meetings'],
|
|
32
|
+
};
|
|
33
|
+
}
|
|
34
|
+
export function CreateSourceResponseToJSON(json) {
|
|
35
|
+
return CreateSourceResponseToJSONTyped(json, false);
|
|
36
|
+
}
|
|
37
|
+
export function CreateSourceResponseToJSONTyped(value, ignoreDiscriminator = false) {
|
|
38
|
+
if (value == null) {
|
|
39
|
+
return value;
|
|
40
|
+
}
|
|
41
|
+
return {
|
|
42
|
+
'source': AdminSourceToJSON(value['source']),
|
|
43
|
+
'total_meetings_found': value['totalMeetingsFound'],
|
|
44
|
+
'sample_meetings': value['sampleMeetings'],
|
|
45
|
+
};
|
|
46
|
+
}
|