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,120 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
/* tslint:disable */
|
|
3
|
+
/* eslint-disable */
|
|
4
|
+
/**
|
|
5
|
+
* C4R Aggregator API
|
|
6
|
+
* 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.
|
|
7
|
+
*
|
|
8
|
+
* The version of the OpenAPI document: 1.0.0
|
|
9
|
+
*
|
|
10
|
+
*
|
|
11
|
+
* NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).
|
|
12
|
+
* https://openapi-generator.tech
|
|
13
|
+
* Do not edit the class manually.
|
|
14
|
+
*/
|
|
15
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
16
|
+
exports.AdminSourceLastErrorTypeEnum = exports.AdminSourceStateEnum = exports.AdminSourceFeedKindEnum = void 0;
|
|
17
|
+
exports.instanceOfAdminSource = instanceOfAdminSource;
|
|
18
|
+
exports.AdminSourceFromJSON = AdminSourceFromJSON;
|
|
19
|
+
exports.AdminSourceFromJSONTyped = AdminSourceFromJSONTyped;
|
|
20
|
+
exports.AdminSourceToJSON = AdminSourceToJSON;
|
|
21
|
+
exports.AdminSourceToJSONTyped = AdminSourceToJSONTyped;
|
|
22
|
+
/**
|
|
23
|
+
* @export
|
|
24
|
+
*/
|
|
25
|
+
exports.AdminSourceFeedKindEnum = {
|
|
26
|
+
TsmlJson: 'tsml_json',
|
|
27
|
+
GoogleSheet: 'google_sheet'
|
|
28
|
+
};
|
|
29
|
+
/**
|
|
30
|
+
* @export
|
|
31
|
+
*/
|
|
32
|
+
exports.AdminSourceStateEnum = {
|
|
33
|
+
Pending: 'pending',
|
|
34
|
+
Active: 'active',
|
|
35
|
+
Degraded: 'degraded',
|
|
36
|
+
Failing: 'failing',
|
|
37
|
+
Dormant: 'dormant',
|
|
38
|
+
Paused: 'paused',
|
|
39
|
+
Deleted: 'deleted'
|
|
40
|
+
};
|
|
41
|
+
/**
|
|
42
|
+
* @export
|
|
43
|
+
*/
|
|
44
|
+
exports.AdminSourceLastErrorTypeEnum = {
|
|
45
|
+
Network: 'network',
|
|
46
|
+
Http: 'http',
|
|
47
|
+
Parse: 'parse',
|
|
48
|
+
Empty: 'empty',
|
|
49
|
+
Suspicious: 'suspicious'
|
|
50
|
+
};
|
|
51
|
+
/**
|
|
52
|
+
* Check if a given object implements the AdminSource interface.
|
|
53
|
+
*/
|
|
54
|
+
function instanceOfAdminSource(value) {
|
|
55
|
+
return true;
|
|
56
|
+
}
|
|
57
|
+
function AdminSourceFromJSON(json) {
|
|
58
|
+
return AdminSourceFromJSONTyped(json, false);
|
|
59
|
+
}
|
|
60
|
+
function AdminSourceFromJSONTyped(json, ignoreDiscriminator) {
|
|
61
|
+
if (json == null) {
|
|
62
|
+
return json;
|
|
63
|
+
}
|
|
64
|
+
return {
|
|
65
|
+
'id': json['id'] == null ? undefined : json['id'],
|
|
66
|
+
'program': json['program'] == null ? undefined : json['program'],
|
|
67
|
+
'name': json['name'] == null ? undefined : json['name'],
|
|
68
|
+
'feedUrl': json['feed_url'] == null ? undefined : json['feed_url'],
|
|
69
|
+
'feedKind': json['feed_kind'] == null ? undefined : json['feed_kind'],
|
|
70
|
+
'state': json['state'] == null ? undefined : json['state'],
|
|
71
|
+
'fetchIntervalMinutes': json['fetch_interval_minutes'] == null ? undefined : json['fetch_interval_minutes'],
|
|
72
|
+
'lastFetchedAt': json['last_fetched_at'] == null ? undefined : (new Date(json['last_fetched_at'])),
|
|
73
|
+
'lastSuccessAt': json['last_success_at'] == null ? undefined : (new Date(json['last_success_at'])),
|
|
74
|
+
'lastError': json['last_error'] == null ? undefined : json['last_error'],
|
|
75
|
+
'lastErrorType': json['last_error_type'] == null ? undefined : json['last_error_type'],
|
|
76
|
+
'consecutiveFailures': json['consecutive_failures'] == null ? undefined : json['consecutive_failures'],
|
|
77
|
+
'nextFetchAt': json['next_fetch_at'] == null ? undefined : (new Date(json['next_fetch_at'])),
|
|
78
|
+
'lastSuccessfulMeetingCount': json['last_successful_meeting_count'] == null ? undefined : json['last_successful_meeting_count'],
|
|
79
|
+
'daysSinceLastSuccess': json['days_since_last_success'] == null ? undefined : json['days_since_last_success'],
|
|
80
|
+
'pausedAt': json['paused_at'] == null ? undefined : (new Date(json['paused_at'])),
|
|
81
|
+
'dormantAt': json['dormant_at'] == null ? undefined : (new Date(json['dormant_at'])),
|
|
82
|
+
'deletedAt': json['deleted_at'] == null ? undefined : (new Date(json['deleted_at'])),
|
|
83
|
+
'entity': json['entity'] == null ? undefined : json['entity'],
|
|
84
|
+
'entityEmail': json['entity_email'] == null ? undefined : json['entity_email'],
|
|
85
|
+
'entityUrl': json['entity_url'] == null ? undefined : json['entity_url'],
|
|
86
|
+
'notificationWebhookUrl': json['notification_webhook_url'] == null ? undefined : json['notification_webhook_url'],
|
|
87
|
+
};
|
|
88
|
+
}
|
|
89
|
+
function AdminSourceToJSON(json) {
|
|
90
|
+
return AdminSourceToJSONTyped(json, false);
|
|
91
|
+
}
|
|
92
|
+
function AdminSourceToJSONTyped(value, ignoreDiscriminator = false) {
|
|
93
|
+
if (value == null) {
|
|
94
|
+
return value;
|
|
95
|
+
}
|
|
96
|
+
return {
|
|
97
|
+
'id': value['id'],
|
|
98
|
+
'program': value['program'],
|
|
99
|
+
'name': value['name'],
|
|
100
|
+
'feed_url': value['feedUrl'],
|
|
101
|
+
'feed_kind': value['feedKind'],
|
|
102
|
+
'state': value['state'],
|
|
103
|
+
'fetch_interval_minutes': value['fetchIntervalMinutes'],
|
|
104
|
+
'last_fetched_at': value['lastFetchedAt'] == null ? value['lastFetchedAt'] : value['lastFetchedAt'].toISOString(),
|
|
105
|
+
'last_success_at': value['lastSuccessAt'] == null ? value['lastSuccessAt'] : value['lastSuccessAt'].toISOString(),
|
|
106
|
+
'last_error': value['lastError'],
|
|
107
|
+
'last_error_type': value['lastErrorType'],
|
|
108
|
+
'consecutive_failures': value['consecutiveFailures'],
|
|
109
|
+
'next_fetch_at': value['nextFetchAt'] == null ? value['nextFetchAt'] : value['nextFetchAt'].toISOString(),
|
|
110
|
+
'last_successful_meeting_count': value['lastSuccessfulMeetingCount'],
|
|
111
|
+
'days_since_last_success': value['daysSinceLastSuccess'],
|
|
112
|
+
'paused_at': value['pausedAt'] == null ? value['pausedAt'] : value['pausedAt'].toISOString(),
|
|
113
|
+
'dormant_at': value['dormantAt'] == null ? value['dormantAt'] : value['dormantAt'].toISOString(),
|
|
114
|
+
'deleted_at': value['deletedAt'] == null ? value['deletedAt'] : value['deletedAt'].toISOString(),
|
|
115
|
+
'entity': value['entity'],
|
|
116
|
+
'entity_email': value['entityEmail'],
|
|
117
|
+
'entity_url': value['entityUrl'],
|
|
118
|
+
'notification_webhook_url': value['notificationWebhookUrl'],
|
|
119
|
+
};
|
|
120
|
+
}
|
|
@@ -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,48 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
/* tslint:disable */
|
|
3
|
+
/* eslint-disable */
|
|
4
|
+
/**
|
|
5
|
+
* C4R Aggregator API
|
|
6
|
+
* 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.
|
|
7
|
+
*
|
|
8
|
+
* The version of the OpenAPI document: 1.0.0
|
|
9
|
+
*
|
|
10
|
+
*
|
|
11
|
+
* NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).
|
|
12
|
+
* https://openapi-generator.tech
|
|
13
|
+
* Do not edit the class manually.
|
|
14
|
+
*/
|
|
15
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
16
|
+
exports.instanceOfAuthError = instanceOfAuthError;
|
|
17
|
+
exports.AuthErrorFromJSON = AuthErrorFromJSON;
|
|
18
|
+
exports.AuthErrorFromJSONTyped = AuthErrorFromJSONTyped;
|
|
19
|
+
exports.AuthErrorToJSON = AuthErrorToJSON;
|
|
20
|
+
exports.AuthErrorToJSONTyped = AuthErrorToJSONTyped;
|
|
21
|
+
/**
|
|
22
|
+
* Check if a given object implements the AuthError interface.
|
|
23
|
+
*/
|
|
24
|
+
function instanceOfAuthError(value) {
|
|
25
|
+
return true;
|
|
26
|
+
}
|
|
27
|
+
function AuthErrorFromJSON(json) {
|
|
28
|
+
return AuthErrorFromJSONTyped(json, false);
|
|
29
|
+
}
|
|
30
|
+
function AuthErrorFromJSONTyped(json, ignoreDiscriminator) {
|
|
31
|
+
if (json == null) {
|
|
32
|
+
return json;
|
|
33
|
+
}
|
|
34
|
+
return {
|
|
35
|
+
'message': json['message'] == null ? undefined : json['message'],
|
|
36
|
+
};
|
|
37
|
+
}
|
|
38
|
+
function AuthErrorToJSON(json) {
|
|
39
|
+
return AuthErrorToJSONTyped(json, false);
|
|
40
|
+
}
|
|
41
|
+
function AuthErrorToJSONTyped(value, ignoreDiscriminator = false) {
|
|
42
|
+
if (value == null) {
|
|
43
|
+
return value;
|
|
44
|
+
}
|
|
45
|
+
return {
|
|
46
|
+
'message': value['message'],
|
|
47
|
+
};
|
|
48
|
+
}
|
|
@@ -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,72 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
/* tslint:disable */
|
|
3
|
+
/* eslint-disable */
|
|
4
|
+
/**
|
|
5
|
+
* C4R Aggregator API
|
|
6
|
+
* 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.
|
|
7
|
+
*
|
|
8
|
+
* The version of the OpenAPI document: 1.0.0
|
|
9
|
+
*
|
|
10
|
+
*
|
|
11
|
+
* NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).
|
|
12
|
+
* https://openapi-generator.tech
|
|
13
|
+
* Do not edit the class manually.
|
|
14
|
+
*/
|
|
15
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
16
|
+
exports.CreateSourceRequestFeedKindEnum = void 0;
|
|
17
|
+
exports.instanceOfCreateSourceRequest = instanceOfCreateSourceRequest;
|
|
18
|
+
exports.CreateSourceRequestFromJSON = CreateSourceRequestFromJSON;
|
|
19
|
+
exports.CreateSourceRequestFromJSONTyped = CreateSourceRequestFromJSONTyped;
|
|
20
|
+
exports.CreateSourceRequestToJSON = CreateSourceRequestToJSON;
|
|
21
|
+
exports.CreateSourceRequestToJSONTyped = CreateSourceRequestToJSONTyped;
|
|
22
|
+
/**
|
|
23
|
+
* @export
|
|
24
|
+
*/
|
|
25
|
+
exports.CreateSourceRequestFeedKindEnum = {
|
|
26
|
+
TsmlJson: 'tsml_json',
|
|
27
|
+
GoogleSheet: 'google_sheet'
|
|
28
|
+
};
|
|
29
|
+
/**
|
|
30
|
+
* Check if a given object implements the CreateSourceRequest interface.
|
|
31
|
+
*/
|
|
32
|
+
function instanceOfCreateSourceRequest(value) {
|
|
33
|
+
if ((!('feedUrl' in value) && !('feed_url' in value)) || (value['feedUrl'] === undefined && value['feed_url'] === undefined))
|
|
34
|
+
return false;
|
|
35
|
+
if (!('program' in value) || value['program'] === undefined)
|
|
36
|
+
return false;
|
|
37
|
+
return true;
|
|
38
|
+
}
|
|
39
|
+
function CreateSourceRequestFromJSON(json) {
|
|
40
|
+
return CreateSourceRequestFromJSONTyped(json, false);
|
|
41
|
+
}
|
|
42
|
+
function CreateSourceRequestFromJSONTyped(json, ignoreDiscriminator) {
|
|
43
|
+
if (json == null) {
|
|
44
|
+
return json;
|
|
45
|
+
}
|
|
46
|
+
return {
|
|
47
|
+
'feedUrl': json['feed_url'],
|
|
48
|
+
'program': json['program'],
|
|
49
|
+
'feedKind': json['feed_kind'] == null ? undefined : json['feed_kind'],
|
|
50
|
+
'name': json['name'] == null ? undefined : json['name'],
|
|
51
|
+
'sharingKey': json['sharing_key'] == null ? undefined : json['sharing_key'],
|
|
52
|
+
'fetchIntervalMinutes': json['fetch_interval_minutes'] == null ? undefined : json['fetch_interval_minutes'],
|
|
53
|
+
'notificationWebhookUrl': json['notification_webhook_url'] == null ? undefined : json['notification_webhook_url'],
|
|
54
|
+
};
|
|
55
|
+
}
|
|
56
|
+
function CreateSourceRequestToJSON(json) {
|
|
57
|
+
return CreateSourceRequestToJSONTyped(json, false);
|
|
58
|
+
}
|
|
59
|
+
function CreateSourceRequestToJSONTyped(value, ignoreDiscriminator = false) {
|
|
60
|
+
if (value == null) {
|
|
61
|
+
return value;
|
|
62
|
+
}
|
|
63
|
+
return {
|
|
64
|
+
'feed_url': value['feedUrl'],
|
|
65
|
+
'program': value['program'],
|
|
66
|
+
'feed_kind': value['feedKind'],
|
|
67
|
+
'name': value['name'],
|
|
68
|
+
'sharing_key': value['sharingKey'],
|
|
69
|
+
'fetch_interval_minutes': value['fetchIntervalMinutes'],
|
|
70
|
+
'notification_webhook_url': value['notificationWebhookUrl'],
|
|
71
|
+
};
|
|
72
|
+
}
|
|
@@ -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,53 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
/* tslint:disable */
|
|
3
|
+
/* eslint-disable */
|
|
4
|
+
/**
|
|
5
|
+
* C4R Aggregator API
|
|
6
|
+
* 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.
|
|
7
|
+
*
|
|
8
|
+
* The version of the OpenAPI document: 1.0.0
|
|
9
|
+
*
|
|
10
|
+
*
|
|
11
|
+
* NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).
|
|
12
|
+
* https://openapi-generator.tech
|
|
13
|
+
* Do not edit the class manually.
|
|
14
|
+
*/
|
|
15
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
16
|
+
exports.instanceOfCreateSourceResponse = instanceOfCreateSourceResponse;
|
|
17
|
+
exports.CreateSourceResponseFromJSON = CreateSourceResponseFromJSON;
|
|
18
|
+
exports.CreateSourceResponseFromJSONTyped = CreateSourceResponseFromJSONTyped;
|
|
19
|
+
exports.CreateSourceResponseToJSON = CreateSourceResponseToJSON;
|
|
20
|
+
exports.CreateSourceResponseToJSONTyped = CreateSourceResponseToJSONTyped;
|
|
21
|
+
const AdminSource_1 = require("./AdminSource");
|
|
22
|
+
/**
|
|
23
|
+
* Check if a given object implements the CreateSourceResponse interface.
|
|
24
|
+
*/
|
|
25
|
+
function instanceOfCreateSourceResponse(value) {
|
|
26
|
+
return true;
|
|
27
|
+
}
|
|
28
|
+
function CreateSourceResponseFromJSON(json) {
|
|
29
|
+
return CreateSourceResponseFromJSONTyped(json, false);
|
|
30
|
+
}
|
|
31
|
+
function CreateSourceResponseFromJSONTyped(json, ignoreDiscriminator) {
|
|
32
|
+
if (json == null) {
|
|
33
|
+
return json;
|
|
34
|
+
}
|
|
35
|
+
return {
|
|
36
|
+
'source': json['source'] == null ? undefined : (0, AdminSource_1.AdminSourceFromJSON)(json['source']),
|
|
37
|
+
'totalMeetingsFound': json['total_meetings_found'] == null ? undefined : json['total_meetings_found'],
|
|
38
|
+
'sampleMeetings': json['sample_meetings'] == null ? undefined : json['sample_meetings'],
|
|
39
|
+
};
|
|
40
|
+
}
|
|
41
|
+
function CreateSourceResponseToJSON(json) {
|
|
42
|
+
return CreateSourceResponseToJSONTyped(json, false);
|
|
43
|
+
}
|
|
44
|
+
function CreateSourceResponseToJSONTyped(value, ignoreDiscriminator = false) {
|
|
45
|
+
if (value == null) {
|
|
46
|
+
return value;
|
|
47
|
+
}
|
|
48
|
+
return {
|
|
49
|
+
'source': (0, AdminSource_1.AdminSourceToJSON)(value['source']),
|
|
50
|
+
'total_meetings_found': value['totalMeetingsFound'],
|
|
51
|
+
'sample_meetings': value['sampleMeetings'],
|
|
52
|
+
};
|
|
53
|
+
}
|