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,50 @@
|
|
|
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
|
+
* Pagination metadata for MeetingPage.
|
|
14
|
+
* @export
|
|
15
|
+
* @interface MeetingPageMeta
|
|
16
|
+
*/
|
|
17
|
+
export interface MeetingPageMeta {
|
|
18
|
+
/**
|
|
19
|
+
*
|
|
20
|
+
* @type {string}
|
|
21
|
+
* @memberof MeetingPageMeta
|
|
22
|
+
*/
|
|
23
|
+
path?: string;
|
|
24
|
+
/**
|
|
25
|
+
*
|
|
26
|
+
* @type {number}
|
|
27
|
+
* @memberof MeetingPageMeta
|
|
28
|
+
*/
|
|
29
|
+
perPage?: number;
|
|
30
|
+
/**
|
|
31
|
+
*
|
|
32
|
+
* @type {string}
|
|
33
|
+
* @memberof MeetingPageMeta
|
|
34
|
+
*/
|
|
35
|
+
nextCursor?: string | null;
|
|
36
|
+
/**
|
|
37
|
+
*
|
|
38
|
+
* @type {string}
|
|
39
|
+
* @memberof MeetingPageMeta
|
|
40
|
+
*/
|
|
41
|
+
prevCursor?: string | null;
|
|
42
|
+
}
|
|
43
|
+
/**
|
|
44
|
+
* Check if a given object implements the MeetingPageMeta interface.
|
|
45
|
+
*/
|
|
46
|
+
export declare function instanceOfMeetingPageMeta(value: object): value is MeetingPageMeta;
|
|
47
|
+
export declare function MeetingPageMetaFromJSON(json: any): MeetingPageMeta;
|
|
48
|
+
export declare function MeetingPageMetaFromJSONTyped(json: any, ignoreDiscriminator: boolean): MeetingPageMeta;
|
|
49
|
+
export declare function MeetingPageMetaToJSON(json: any): MeetingPageMeta;
|
|
50
|
+
export declare function MeetingPageMetaToJSONTyped(value?: MeetingPageMeta | null, ignoreDiscriminator?: boolean): any;
|
|
@@ -0,0 +1,47 @@
|
|
|
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 MeetingPageMeta interface.
|
|
16
|
+
*/
|
|
17
|
+
export function instanceOfMeetingPageMeta(value) {
|
|
18
|
+
return true;
|
|
19
|
+
}
|
|
20
|
+
export function MeetingPageMetaFromJSON(json) {
|
|
21
|
+
return MeetingPageMetaFromJSONTyped(json, false);
|
|
22
|
+
}
|
|
23
|
+
export function MeetingPageMetaFromJSONTyped(json, ignoreDiscriminator) {
|
|
24
|
+
if (json == null) {
|
|
25
|
+
return json;
|
|
26
|
+
}
|
|
27
|
+
return {
|
|
28
|
+
'path': json['path'] == null ? undefined : json['path'],
|
|
29
|
+
'perPage': json['per_page'] == null ? undefined : json['per_page'],
|
|
30
|
+
'nextCursor': json['next_cursor'] == null ? undefined : json['next_cursor'],
|
|
31
|
+
'prevCursor': json['prev_cursor'] == null ? undefined : json['prev_cursor'],
|
|
32
|
+
};
|
|
33
|
+
}
|
|
34
|
+
export function MeetingPageMetaToJSON(json) {
|
|
35
|
+
return MeetingPageMetaToJSONTyped(json, false);
|
|
36
|
+
}
|
|
37
|
+
export function MeetingPageMetaToJSONTyped(value, ignoreDiscriminator = false) {
|
|
38
|
+
if (value == null) {
|
|
39
|
+
return value;
|
|
40
|
+
}
|
|
41
|
+
return {
|
|
42
|
+
'path': value['path'],
|
|
43
|
+
'per_page': value['perPage'],
|
|
44
|
+
'next_cursor': value['nextCursor'],
|
|
45
|
+
'prev_cursor': value['prevCursor'],
|
|
46
|
+
};
|
|
47
|
+
}
|
|
@@ -0,0 +1,56 @@
|
|
|
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 MeetingType
|
|
16
|
+
*/
|
|
17
|
+
export interface MeetingType {
|
|
18
|
+
/**
|
|
19
|
+
*
|
|
20
|
+
* @type {number}
|
|
21
|
+
* @memberof MeetingType
|
|
22
|
+
*/
|
|
23
|
+
id?: number;
|
|
24
|
+
/**
|
|
25
|
+
*
|
|
26
|
+
* @type {number}
|
|
27
|
+
* @memberof MeetingType
|
|
28
|
+
*/
|
|
29
|
+
programId?: number;
|
|
30
|
+
/**
|
|
31
|
+
*
|
|
32
|
+
* @type {string}
|
|
33
|
+
* @memberof MeetingType
|
|
34
|
+
*/
|
|
35
|
+
code?: string;
|
|
36
|
+
/**
|
|
37
|
+
*
|
|
38
|
+
* @type {string}
|
|
39
|
+
* @memberof MeetingType
|
|
40
|
+
*/
|
|
41
|
+
name?: string;
|
|
42
|
+
/**
|
|
43
|
+
* True if the type was inserted on ingest because no curated seed matched.
|
|
44
|
+
* @type {boolean}
|
|
45
|
+
* @memberof MeetingType
|
|
46
|
+
*/
|
|
47
|
+
autoDiscovered?: boolean;
|
|
48
|
+
}
|
|
49
|
+
/**
|
|
50
|
+
* Check if a given object implements the MeetingType interface.
|
|
51
|
+
*/
|
|
52
|
+
export declare function instanceOfMeetingType(value: object): value is MeetingType;
|
|
53
|
+
export declare function MeetingTypeFromJSON(json: any): MeetingType;
|
|
54
|
+
export declare function MeetingTypeFromJSONTyped(json: any, ignoreDiscriminator: boolean): MeetingType;
|
|
55
|
+
export declare function MeetingTypeToJSON(json: any): MeetingType;
|
|
56
|
+
export declare function MeetingTypeToJSONTyped(value?: MeetingType | null, ignoreDiscriminator?: boolean): any;
|
|
@@ -0,0 +1,49 @@
|
|
|
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 MeetingType interface.
|
|
16
|
+
*/
|
|
17
|
+
export function instanceOfMeetingType(value) {
|
|
18
|
+
return true;
|
|
19
|
+
}
|
|
20
|
+
export function MeetingTypeFromJSON(json) {
|
|
21
|
+
return MeetingTypeFromJSONTyped(json, false);
|
|
22
|
+
}
|
|
23
|
+
export function MeetingTypeFromJSONTyped(json, ignoreDiscriminator) {
|
|
24
|
+
if (json == null) {
|
|
25
|
+
return json;
|
|
26
|
+
}
|
|
27
|
+
return {
|
|
28
|
+
'id': json['id'] == null ? undefined : json['id'],
|
|
29
|
+
'programId': json['program_id'] == null ? undefined : json['program_id'],
|
|
30
|
+
'code': json['code'] == null ? undefined : json['code'],
|
|
31
|
+
'name': json['name'] == null ? undefined : json['name'],
|
|
32
|
+
'autoDiscovered': json['auto_discovered'] == null ? undefined : json['auto_discovered'],
|
|
33
|
+
};
|
|
34
|
+
}
|
|
35
|
+
export function MeetingTypeToJSON(json) {
|
|
36
|
+
return MeetingTypeToJSONTyped(json, false);
|
|
37
|
+
}
|
|
38
|
+
export function MeetingTypeToJSONTyped(value, ignoreDiscriminator = false) {
|
|
39
|
+
if (value == null) {
|
|
40
|
+
return value;
|
|
41
|
+
}
|
|
42
|
+
return {
|
|
43
|
+
'id': value['id'],
|
|
44
|
+
'program_id': value['programId'],
|
|
45
|
+
'code': value['code'],
|
|
46
|
+
'name': value['name'],
|
|
47
|
+
'auto_discovered': value['autoDiscovered'],
|
|
48
|
+
};
|
|
49
|
+
}
|
|
@@ -0,0 +1,44 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* C4R Aggregator API
|
|
3
|
+
* Aggregator for public [12-Step Meeting List](https://wordpress.org/plugins/12-step-meeting-list/) WordPress feeds. Ingests registered sources on a schedule, normalizes duplicates across feeds, and exposes a unified read API whose responses follow the [Meeting Guide API spec](https://github.com/code4recovery/spec) for drop-in client compatibility. - **Public endpoints** return Meeting Guide-shape data. `/meetings` requires at least one filter (bounding box, radius, region, source, program, day, or type) and is cursor-paginated. - **Per-source and per-region feeds** return bare JSON arrays — safe drop-in replacements for the upstream TSML endpoint. - **Admin endpoints** under `/admin/_*` require a Sanctum bearer token.
|
|
4
|
+
*
|
|
5
|
+
* The version of the OpenAPI document: 1.0.0
|
|
6
|
+
*
|
|
7
|
+
*
|
|
8
|
+
* NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).
|
|
9
|
+
* https://openapi-generator.tech
|
|
10
|
+
* Do not edit the class manually.
|
|
11
|
+
*/
|
|
12
|
+
/**
|
|
13
|
+
* Returned by `GET /meetings` when no filter is supplied
|
|
14
|
+
* @export
|
|
15
|
+
* @interface MeetingsFilterError
|
|
16
|
+
*/
|
|
17
|
+
export interface MeetingsFilterError {
|
|
18
|
+
/**
|
|
19
|
+
*
|
|
20
|
+
* @type {string}
|
|
21
|
+
* @memberof MeetingsFilterError
|
|
22
|
+
*/
|
|
23
|
+
error?: string;
|
|
24
|
+
/**
|
|
25
|
+
*
|
|
26
|
+
* @type {string}
|
|
27
|
+
* @memberof MeetingsFilterError
|
|
28
|
+
*/
|
|
29
|
+
message?: string;
|
|
30
|
+
/**
|
|
31
|
+
*
|
|
32
|
+
* @type {Array<string>}
|
|
33
|
+
* @memberof MeetingsFilterError
|
|
34
|
+
*/
|
|
35
|
+
availableFilters?: Array<string>;
|
|
36
|
+
}
|
|
37
|
+
/**
|
|
38
|
+
* Check if a given object implements the MeetingsFilterError interface.
|
|
39
|
+
*/
|
|
40
|
+
export declare function instanceOfMeetingsFilterError(value: object): value is MeetingsFilterError;
|
|
41
|
+
export declare function MeetingsFilterErrorFromJSON(json: any): MeetingsFilterError;
|
|
42
|
+
export declare function MeetingsFilterErrorFromJSONTyped(json: any, ignoreDiscriminator: boolean): MeetingsFilterError;
|
|
43
|
+
export declare function MeetingsFilterErrorToJSON(json: any): MeetingsFilterError;
|
|
44
|
+
export declare function MeetingsFilterErrorToJSONTyped(value?: MeetingsFilterError | null, ignoreDiscriminator?: boolean): any;
|
|
@@ -0,0 +1,45 @@
|
|
|
1
|
+
/* tslint:disable */
|
|
2
|
+
/* eslint-disable */
|
|
3
|
+
/**
|
|
4
|
+
* C4R Aggregator API
|
|
5
|
+
* Aggregator for public [12-Step Meeting List](https://wordpress.org/plugins/12-step-meeting-list/) WordPress feeds. Ingests registered sources on a schedule, normalizes duplicates across feeds, and exposes a unified read API whose responses follow the [Meeting Guide API spec](https://github.com/code4recovery/spec) for drop-in client compatibility. - **Public endpoints** return Meeting Guide-shape data. `/meetings` requires at least one filter (bounding box, radius, region, source, program, day, or type) and is cursor-paginated. - **Per-source and per-region feeds** return bare JSON arrays — safe drop-in replacements for the upstream TSML endpoint. - **Admin endpoints** under `/admin/_*` require a Sanctum bearer token.
|
|
6
|
+
*
|
|
7
|
+
* The version of the OpenAPI document: 1.0.0
|
|
8
|
+
*
|
|
9
|
+
*
|
|
10
|
+
* NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).
|
|
11
|
+
* https://openapi-generator.tech
|
|
12
|
+
* Do not edit the class manually.
|
|
13
|
+
*/
|
|
14
|
+
/**
|
|
15
|
+
* Check if a given object implements the MeetingsFilterError interface.
|
|
16
|
+
*/
|
|
17
|
+
export function instanceOfMeetingsFilterError(value) {
|
|
18
|
+
return true;
|
|
19
|
+
}
|
|
20
|
+
export function MeetingsFilterErrorFromJSON(json) {
|
|
21
|
+
return MeetingsFilterErrorFromJSONTyped(json, false);
|
|
22
|
+
}
|
|
23
|
+
export function MeetingsFilterErrorFromJSONTyped(json, ignoreDiscriminator) {
|
|
24
|
+
if (json == null) {
|
|
25
|
+
return json;
|
|
26
|
+
}
|
|
27
|
+
return {
|
|
28
|
+
'error': json['error'] == null ? undefined : json['error'],
|
|
29
|
+
'message': json['message'] == null ? undefined : json['message'],
|
|
30
|
+
'availableFilters': json['available_filters'] == null ? undefined : json['available_filters'],
|
|
31
|
+
};
|
|
32
|
+
}
|
|
33
|
+
export function MeetingsFilterErrorToJSON(json) {
|
|
34
|
+
return MeetingsFilterErrorToJSONTyped(json, false);
|
|
35
|
+
}
|
|
36
|
+
export function MeetingsFilterErrorToJSONTyped(value, ignoreDiscriminator = false) {
|
|
37
|
+
if (value == null) {
|
|
38
|
+
return value;
|
|
39
|
+
}
|
|
40
|
+
return {
|
|
41
|
+
'error': value['error'],
|
|
42
|
+
'message': value['message'],
|
|
43
|
+
'available_filters': value['availableFilters'],
|
|
44
|
+
};
|
|
45
|
+
}
|
|
@@ -0,0 +1,44 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* C4R Aggregator API
|
|
3
|
+
* Aggregator for public [12-Step Meeting List](https://wordpress.org/plugins/12-step-meeting-list/) WordPress feeds. Ingests registered sources on a schedule, normalizes duplicates across feeds, and exposes a unified read API whose responses follow the [Meeting Guide API spec](https://github.com/code4recovery/spec) for drop-in client compatibility. - **Public endpoints** return Meeting Guide-shape data. `/meetings` requires at least one filter (bounding box, radius, region, source, program, day, or type) and is cursor-paginated. - **Per-source and per-region feeds** return bare JSON arrays — safe drop-in replacements for the upstream TSML endpoint. - **Admin endpoints** under `/admin/_*` require a Sanctum bearer token.
|
|
4
|
+
*
|
|
5
|
+
* The version of the OpenAPI document: 1.0.0
|
|
6
|
+
*
|
|
7
|
+
*
|
|
8
|
+
* NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).
|
|
9
|
+
* https://openapi-generator.tech
|
|
10
|
+
* Do not edit the class manually.
|
|
11
|
+
*/
|
|
12
|
+
/**
|
|
13
|
+
*
|
|
14
|
+
* @export
|
|
15
|
+
* @interface Program
|
|
16
|
+
*/
|
|
17
|
+
export interface Program {
|
|
18
|
+
/**
|
|
19
|
+
*
|
|
20
|
+
* @type {number}
|
|
21
|
+
* @memberof Program
|
|
22
|
+
*/
|
|
23
|
+
id?: number;
|
|
24
|
+
/**
|
|
25
|
+
*
|
|
26
|
+
* @type {string}
|
|
27
|
+
* @memberof Program
|
|
28
|
+
*/
|
|
29
|
+
code?: string;
|
|
30
|
+
/**
|
|
31
|
+
*
|
|
32
|
+
* @type {string}
|
|
33
|
+
* @memberof Program
|
|
34
|
+
*/
|
|
35
|
+
name?: string;
|
|
36
|
+
}
|
|
37
|
+
/**
|
|
38
|
+
* Check if a given object implements the Program interface.
|
|
39
|
+
*/
|
|
40
|
+
export declare function instanceOfProgram(value: object): value is Program;
|
|
41
|
+
export declare function ProgramFromJSON(json: any): Program;
|
|
42
|
+
export declare function ProgramFromJSONTyped(json: any, ignoreDiscriminator: boolean): Program;
|
|
43
|
+
export declare function ProgramToJSON(json: any): Program;
|
|
44
|
+
export declare function ProgramToJSONTyped(value?: Program | null, ignoreDiscriminator?: boolean): any;
|
|
@@ -0,0 +1,45 @@
|
|
|
1
|
+
/* tslint:disable */
|
|
2
|
+
/* eslint-disable */
|
|
3
|
+
/**
|
|
4
|
+
* C4R Aggregator API
|
|
5
|
+
* Aggregator for public [12-Step Meeting List](https://wordpress.org/plugins/12-step-meeting-list/) WordPress feeds. Ingests registered sources on a schedule, normalizes duplicates across feeds, and exposes a unified read API whose responses follow the [Meeting Guide API spec](https://github.com/code4recovery/spec) for drop-in client compatibility. - **Public endpoints** return Meeting Guide-shape data. `/meetings` requires at least one filter (bounding box, radius, region, source, program, day, or type) and is cursor-paginated. - **Per-source and per-region feeds** return bare JSON arrays — safe drop-in replacements for the upstream TSML endpoint. - **Admin endpoints** under `/admin/_*` require a Sanctum bearer token.
|
|
6
|
+
*
|
|
7
|
+
* The version of the OpenAPI document: 1.0.0
|
|
8
|
+
*
|
|
9
|
+
*
|
|
10
|
+
* NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).
|
|
11
|
+
* https://openapi-generator.tech
|
|
12
|
+
* Do not edit the class manually.
|
|
13
|
+
*/
|
|
14
|
+
/**
|
|
15
|
+
* Check if a given object implements the Program interface.
|
|
16
|
+
*/
|
|
17
|
+
export function instanceOfProgram(value) {
|
|
18
|
+
return true;
|
|
19
|
+
}
|
|
20
|
+
export function ProgramFromJSON(json) {
|
|
21
|
+
return ProgramFromJSONTyped(json, false);
|
|
22
|
+
}
|
|
23
|
+
export function ProgramFromJSONTyped(json, ignoreDiscriminator) {
|
|
24
|
+
if (json == null) {
|
|
25
|
+
return json;
|
|
26
|
+
}
|
|
27
|
+
return {
|
|
28
|
+
'id': json['id'] == null ? undefined : json['id'],
|
|
29
|
+
'code': json['code'] == null ? undefined : json['code'],
|
|
30
|
+
'name': json['name'] == null ? undefined : json['name'],
|
|
31
|
+
};
|
|
32
|
+
}
|
|
33
|
+
export function ProgramToJSON(json) {
|
|
34
|
+
return ProgramToJSONTyped(json, false);
|
|
35
|
+
}
|
|
36
|
+
export function ProgramToJSONTyped(value, ignoreDiscriminator = false) {
|
|
37
|
+
if (value == null) {
|
|
38
|
+
return value;
|
|
39
|
+
}
|
|
40
|
+
return {
|
|
41
|
+
'id': value['id'],
|
|
42
|
+
'code': value['code'],
|
|
43
|
+
'name': value['name'],
|
|
44
|
+
};
|
|
45
|
+
}
|
|
@@ -0,0 +1,113 @@
|
|
|
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
|
+
* Public view of a registered feed. Sharing keys and admin internals are hidden.
|
|
14
|
+
* @export
|
|
15
|
+
* @interface PublicSource
|
|
16
|
+
*/
|
|
17
|
+
export interface PublicSource {
|
|
18
|
+
/**
|
|
19
|
+
*
|
|
20
|
+
* @type {number}
|
|
21
|
+
* @memberof PublicSource
|
|
22
|
+
*/
|
|
23
|
+
id?: number;
|
|
24
|
+
/**
|
|
25
|
+
*
|
|
26
|
+
* @type {string}
|
|
27
|
+
* @memberof PublicSource
|
|
28
|
+
*/
|
|
29
|
+
name?: string;
|
|
30
|
+
/**
|
|
31
|
+
*
|
|
32
|
+
* @type {string}
|
|
33
|
+
* @memberof PublicSource
|
|
34
|
+
*/
|
|
35
|
+
program?: string;
|
|
36
|
+
/**
|
|
37
|
+
*
|
|
38
|
+
* @type {string}
|
|
39
|
+
* @memberof PublicSource
|
|
40
|
+
*/
|
|
41
|
+
feedUrl?: string;
|
|
42
|
+
/**
|
|
43
|
+
*
|
|
44
|
+
* @type {PublicSourceFeedKindEnum}
|
|
45
|
+
* @memberof PublicSource
|
|
46
|
+
*/
|
|
47
|
+
feedKind?: PublicSourceFeedKindEnum;
|
|
48
|
+
/**
|
|
49
|
+
*
|
|
50
|
+
* @type {string}
|
|
51
|
+
* @memberof PublicSource
|
|
52
|
+
*/
|
|
53
|
+
entity?: string | null;
|
|
54
|
+
/**
|
|
55
|
+
*
|
|
56
|
+
* @type {string}
|
|
57
|
+
* @memberof PublicSource
|
|
58
|
+
*/
|
|
59
|
+
entityUrl?: string | null;
|
|
60
|
+
/**
|
|
61
|
+
*
|
|
62
|
+
* @type {string}
|
|
63
|
+
* @memberof PublicSource
|
|
64
|
+
*/
|
|
65
|
+
entityLocation?: string | null;
|
|
66
|
+
/**
|
|
67
|
+
*
|
|
68
|
+
* @type {PublicSourceStateEnum}
|
|
69
|
+
* @memberof PublicSource
|
|
70
|
+
*/
|
|
71
|
+
state?: PublicSourceStateEnum;
|
|
72
|
+
/**
|
|
73
|
+
*
|
|
74
|
+
* @type {Date}
|
|
75
|
+
* @memberof PublicSource
|
|
76
|
+
*/
|
|
77
|
+
lastSuccessAt?: Date | null;
|
|
78
|
+
/**
|
|
79
|
+
*
|
|
80
|
+
* @type {number}
|
|
81
|
+
* @memberof PublicSource
|
|
82
|
+
*/
|
|
83
|
+
meetingCount?: number | null;
|
|
84
|
+
}
|
|
85
|
+
/**
|
|
86
|
+
* @export
|
|
87
|
+
*/
|
|
88
|
+
export declare const PublicSourceFeedKindEnum: {
|
|
89
|
+
readonly TsmlJson: "tsml_json";
|
|
90
|
+
readonly GoogleSheet: "google_sheet";
|
|
91
|
+
};
|
|
92
|
+
export type PublicSourceFeedKindEnum = typeof PublicSourceFeedKindEnum[keyof typeof PublicSourceFeedKindEnum];
|
|
93
|
+
/**
|
|
94
|
+
* @export
|
|
95
|
+
*/
|
|
96
|
+
export declare const PublicSourceStateEnum: {
|
|
97
|
+
readonly Pending: "pending";
|
|
98
|
+
readonly Active: "active";
|
|
99
|
+
readonly Degraded: "degraded";
|
|
100
|
+
readonly Failing: "failing";
|
|
101
|
+
readonly Dormant: "dormant";
|
|
102
|
+
readonly Paused: "paused";
|
|
103
|
+
readonly Deleted: "deleted";
|
|
104
|
+
};
|
|
105
|
+
export type PublicSourceStateEnum = typeof PublicSourceStateEnum[keyof typeof PublicSourceStateEnum];
|
|
106
|
+
/**
|
|
107
|
+
* Check if a given object implements the PublicSource interface.
|
|
108
|
+
*/
|
|
109
|
+
export declare function instanceOfPublicSource(value: object): value is PublicSource;
|
|
110
|
+
export declare function PublicSourceFromJSON(json: any): PublicSource;
|
|
111
|
+
export declare function PublicSourceFromJSONTyped(json: any, ignoreDiscriminator: boolean): PublicSource;
|
|
112
|
+
export declare function PublicSourceToJSON(json: any): PublicSource;
|
|
113
|
+
export declare function PublicSourceToJSONTyped(value?: PublicSource | null, ignoreDiscriminator?: boolean): any;
|
|
@@ -0,0 +1,80 @@
|
|
|
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 PublicSourceFeedKindEnum = {
|
|
18
|
+
TsmlJson: 'tsml_json',
|
|
19
|
+
GoogleSheet: 'google_sheet'
|
|
20
|
+
};
|
|
21
|
+
/**
|
|
22
|
+
* @export
|
|
23
|
+
*/
|
|
24
|
+
export const PublicSourceStateEnum = {
|
|
25
|
+
Pending: 'pending',
|
|
26
|
+
Active: 'active',
|
|
27
|
+
Degraded: 'degraded',
|
|
28
|
+
Failing: 'failing',
|
|
29
|
+
Dormant: 'dormant',
|
|
30
|
+
Paused: 'paused',
|
|
31
|
+
Deleted: 'deleted'
|
|
32
|
+
};
|
|
33
|
+
/**
|
|
34
|
+
* Check if a given object implements the PublicSource interface.
|
|
35
|
+
*/
|
|
36
|
+
export function instanceOfPublicSource(value) {
|
|
37
|
+
return true;
|
|
38
|
+
}
|
|
39
|
+
export function PublicSourceFromJSON(json) {
|
|
40
|
+
return PublicSourceFromJSONTyped(json, false);
|
|
41
|
+
}
|
|
42
|
+
export function PublicSourceFromJSONTyped(json, ignoreDiscriminator) {
|
|
43
|
+
if (json == null) {
|
|
44
|
+
return json;
|
|
45
|
+
}
|
|
46
|
+
return {
|
|
47
|
+
'id': json['id'] == null ? undefined : json['id'],
|
|
48
|
+
'name': json['name'] == null ? undefined : json['name'],
|
|
49
|
+
'program': json['program'] == null ? undefined : json['program'],
|
|
50
|
+
'feedUrl': json['feed_url'] == null ? undefined : json['feed_url'],
|
|
51
|
+
'feedKind': json['feed_kind'] == null ? undefined : json['feed_kind'],
|
|
52
|
+
'entity': json['entity'] == null ? undefined : json['entity'],
|
|
53
|
+
'entityUrl': json['entity_url'] == null ? undefined : json['entity_url'],
|
|
54
|
+
'entityLocation': json['entity_location'] == null ? undefined : json['entity_location'],
|
|
55
|
+
'state': json['state'] == null ? undefined : json['state'],
|
|
56
|
+
'lastSuccessAt': json['last_success_at'] == null ? undefined : (new Date(json['last_success_at'])),
|
|
57
|
+
'meetingCount': json['meeting_count'] == null ? undefined : json['meeting_count'],
|
|
58
|
+
};
|
|
59
|
+
}
|
|
60
|
+
export function PublicSourceToJSON(json) {
|
|
61
|
+
return PublicSourceToJSONTyped(json, false);
|
|
62
|
+
}
|
|
63
|
+
export function PublicSourceToJSONTyped(value, ignoreDiscriminator = false) {
|
|
64
|
+
if (value == null) {
|
|
65
|
+
return value;
|
|
66
|
+
}
|
|
67
|
+
return {
|
|
68
|
+
'id': value['id'],
|
|
69
|
+
'name': value['name'],
|
|
70
|
+
'program': value['program'],
|
|
71
|
+
'feed_url': value['feedUrl'],
|
|
72
|
+
'feed_kind': value['feedKind'],
|
|
73
|
+
'entity': value['entity'],
|
|
74
|
+
'entity_url': value['entityUrl'],
|
|
75
|
+
'entity_location': value['entityLocation'],
|
|
76
|
+
'state': value['state'],
|
|
77
|
+
'last_success_at': value['lastSuccessAt'] == null ? value['lastSuccessAt'] : value['lastSuccessAt'].toISOString(),
|
|
78
|
+
'meeting_count': value['meetingCount'],
|
|
79
|
+
};
|
|
80
|
+
}
|
|
@@ -0,0 +1,33 @@
|
|
|
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
|
+
* {source: AdminSource} wrapper returned by patch/delete/restore/pause/resume.
|
|
15
|
+
* @export
|
|
16
|
+
* @interface SourceEnvelope
|
|
17
|
+
*/
|
|
18
|
+
export interface SourceEnvelope {
|
|
19
|
+
/**
|
|
20
|
+
*
|
|
21
|
+
* @type {AdminSource}
|
|
22
|
+
* @memberof SourceEnvelope
|
|
23
|
+
*/
|
|
24
|
+
source?: AdminSource;
|
|
25
|
+
}
|
|
26
|
+
/**
|
|
27
|
+
* Check if a given object implements the SourceEnvelope interface.
|
|
28
|
+
*/
|
|
29
|
+
export declare function instanceOfSourceEnvelope(value: object): value is SourceEnvelope;
|
|
30
|
+
export declare function SourceEnvelopeFromJSON(json: any): SourceEnvelope;
|
|
31
|
+
export declare function SourceEnvelopeFromJSONTyped(json: any, ignoreDiscriminator: boolean): SourceEnvelope;
|
|
32
|
+
export declare function SourceEnvelopeToJSON(json: any): SourceEnvelope;
|
|
33
|
+
export declare function SourceEnvelopeToJSONTyped(value?: SourceEnvelope | null, ignoreDiscriminator?: boolean): any;
|
|
@@ -0,0 +1,42 @@
|
|
|
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 SourceEnvelope interface.
|
|
17
|
+
*/
|
|
18
|
+
export function instanceOfSourceEnvelope(value) {
|
|
19
|
+
return true;
|
|
20
|
+
}
|
|
21
|
+
export function SourceEnvelopeFromJSON(json) {
|
|
22
|
+
return SourceEnvelopeFromJSONTyped(json, false);
|
|
23
|
+
}
|
|
24
|
+
export function SourceEnvelopeFromJSONTyped(json, ignoreDiscriminator) {
|
|
25
|
+
if (json == null) {
|
|
26
|
+
return json;
|
|
27
|
+
}
|
|
28
|
+
return {
|
|
29
|
+
'source': json['source'] == null ? undefined : AdminSourceFromJSON(json['source']),
|
|
30
|
+
};
|
|
31
|
+
}
|
|
32
|
+
export function SourceEnvelopeToJSON(json) {
|
|
33
|
+
return SourceEnvelopeToJSONTyped(json, false);
|
|
34
|
+
}
|
|
35
|
+
export function SourceEnvelopeToJSONTyped(value, ignoreDiscriminator = false) {
|
|
36
|
+
if (value == null) {
|
|
37
|
+
return value;
|
|
38
|
+
}
|
|
39
|
+
return {
|
|
40
|
+
'source': AdminSourceToJSON(value['source']),
|
|
41
|
+
};
|
|
42
|
+
}
|