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,107 @@
|
|
|
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
|
+
* A single fetch attempt against a source
|
|
14
|
+
* @export
|
|
15
|
+
* @interface IngestRun
|
|
16
|
+
*/
|
|
17
|
+
export interface IngestRun {
|
|
18
|
+
/**
|
|
19
|
+
*
|
|
20
|
+
* @type {number}
|
|
21
|
+
* @memberof IngestRun
|
|
22
|
+
*/
|
|
23
|
+
id?: number;
|
|
24
|
+
/**
|
|
25
|
+
*
|
|
26
|
+
* @type {number}
|
|
27
|
+
* @memberof IngestRun
|
|
28
|
+
*/
|
|
29
|
+
sourceId?: number;
|
|
30
|
+
/**
|
|
31
|
+
*
|
|
32
|
+
* @type {Date}
|
|
33
|
+
* @memberof IngestRun
|
|
34
|
+
*/
|
|
35
|
+
startedAt?: Date;
|
|
36
|
+
/**
|
|
37
|
+
*
|
|
38
|
+
* @type {Date}
|
|
39
|
+
* @memberof IngestRun
|
|
40
|
+
*/
|
|
41
|
+
finishedAt?: Date | null;
|
|
42
|
+
/**
|
|
43
|
+
*
|
|
44
|
+
* @type {IngestRunStatusEnum}
|
|
45
|
+
* @memberof IngestRun
|
|
46
|
+
*/
|
|
47
|
+
status?: IngestRunStatusEnum;
|
|
48
|
+
/**
|
|
49
|
+
*
|
|
50
|
+
* @type {boolean}
|
|
51
|
+
* @memberof IngestRun
|
|
52
|
+
*/
|
|
53
|
+
wasSuspicious?: boolean;
|
|
54
|
+
/**
|
|
55
|
+
*
|
|
56
|
+
* @type {string}
|
|
57
|
+
* @memberof IngestRun
|
|
58
|
+
*/
|
|
59
|
+
errorType?: string | null;
|
|
60
|
+
/**
|
|
61
|
+
*
|
|
62
|
+
* @type {string}
|
|
63
|
+
* @memberof IngestRun
|
|
64
|
+
*/
|
|
65
|
+
errorMessage?: string | null;
|
|
66
|
+
/**
|
|
67
|
+
*
|
|
68
|
+
* @type {number}
|
|
69
|
+
* @memberof IngestRun
|
|
70
|
+
*/
|
|
71
|
+
seen?: number;
|
|
72
|
+
/**
|
|
73
|
+
*
|
|
74
|
+
* @type {number}
|
|
75
|
+
* @memberof IngestRun
|
|
76
|
+
*/
|
|
77
|
+
created?: number;
|
|
78
|
+
/**
|
|
79
|
+
*
|
|
80
|
+
* @type {number}
|
|
81
|
+
* @memberof IngestRun
|
|
82
|
+
*/
|
|
83
|
+
updated?: number;
|
|
84
|
+
/**
|
|
85
|
+
*
|
|
86
|
+
* @type {number}
|
|
87
|
+
* @memberof IngestRun
|
|
88
|
+
*/
|
|
89
|
+
removed?: number;
|
|
90
|
+
}
|
|
91
|
+
/**
|
|
92
|
+
* @export
|
|
93
|
+
*/
|
|
94
|
+
export declare const IngestRunStatusEnum: {
|
|
95
|
+
readonly Success: "success";
|
|
96
|
+
readonly Failed: "failed";
|
|
97
|
+
readonly Suspicious: "suspicious";
|
|
98
|
+
};
|
|
99
|
+
export type IngestRunStatusEnum = typeof IngestRunStatusEnum[keyof typeof IngestRunStatusEnum];
|
|
100
|
+
/**
|
|
101
|
+
* Check if a given object implements the IngestRun interface.
|
|
102
|
+
*/
|
|
103
|
+
export declare function instanceOfIngestRun(value: object): value is IngestRun;
|
|
104
|
+
export declare function IngestRunFromJSON(json: any): IngestRun;
|
|
105
|
+
export declare function IngestRunFromJSONTyped(json: any, ignoreDiscriminator: boolean): IngestRun;
|
|
106
|
+
export declare function IngestRunToJSON(json: any): IngestRun;
|
|
107
|
+
export declare function IngestRunToJSONTyped(value?: IngestRun | null, ignoreDiscriminator?: boolean): any;
|
|
@@ -0,0 +1,71 @@
|
|
|
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 IngestRunStatusEnum = {
|
|
18
|
+
Success: 'success',
|
|
19
|
+
Failed: 'failed',
|
|
20
|
+
Suspicious: 'suspicious'
|
|
21
|
+
};
|
|
22
|
+
/**
|
|
23
|
+
* Check if a given object implements the IngestRun interface.
|
|
24
|
+
*/
|
|
25
|
+
export function instanceOfIngestRun(value) {
|
|
26
|
+
return true;
|
|
27
|
+
}
|
|
28
|
+
export function IngestRunFromJSON(json) {
|
|
29
|
+
return IngestRunFromJSONTyped(json, false);
|
|
30
|
+
}
|
|
31
|
+
export function IngestRunFromJSONTyped(json, ignoreDiscriminator) {
|
|
32
|
+
if (json == null) {
|
|
33
|
+
return json;
|
|
34
|
+
}
|
|
35
|
+
return {
|
|
36
|
+
'id': json['id'] == null ? undefined : json['id'],
|
|
37
|
+
'sourceId': json['source_id'] == null ? undefined : json['source_id'],
|
|
38
|
+
'startedAt': json['started_at'] == null ? undefined : (new Date(json['started_at'])),
|
|
39
|
+
'finishedAt': json['finished_at'] == null ? undefined : (new Date(json['finished_at'])),
|
|
40
|
+
'status': json['status'] == null ? undefined : json['status'],
|
|
41
|
+
'wasSuspicious': json['was_suspicious'] == null ? undefined : json['was_suspicious'],
|
|
42
|
+
'errorType': json['error_type'] == null ? undefined : json['error_type'],
|
|
43
|
+
'errorMessage': json['error_message'] == null ? undefined : json['error_message'],
|
|
44
|
+
'seen': json['seen'] == null ? undefined : json['seen'],
|
|
45
|
+
'created': json['created'] == null ? undefined : json['created'],
|
|
46
|
+
'updated': json['updated'] == null ? undefined : json['updated'],
|
|
47
|
+
'removed': json['removed'] == null ? undefined : json['removed'],
|
|
48
|
+
};
|
|
49
|
+
}
|
|
50
|
+
export function IngestRunToJSON(json) {
|
|
51
|
+
return IngestRunToJSONTyped(json, false);
|
|
52
|
+
}
|
|
53
|
+
export function IngestRunToJSONTyped(value, ignoreDiscriminator = false) {
|
|
54
|
+
if (value == null) {
|
|
55
|
+
return value;
|
|
56
|
+
}
|
|
57
|
+
return {
|
|
58
|
+
'id': value['id'],
|
|
59
|
+
'source_id': value['sourceId'],
|
|
60
|
+
'started_at': value['startedAt'] == null ? value['startedAt'] : value['startedAt'].toISOString(),
|
|
61
|
+
'finished_at': value['finishedAt'] == null ? value['finishedAt'] : value['finishedAt'].toISOString(),
|
|
62
|
+
'status': value['status'],
|
|
63
|
+
'was_suspicious': value['wasSuspicious'],
|
|
64
|
+
'error_type': value['errorType'],
|
|
65
|
+
'error_message': value['errorMessage'],
|
|
66
|
+
'seen': value['seen'],
|
|
67
|
+
'created': value['created'],
|
|
68
|
+
'updated': value['updated'],
|
|
69
|
+
'removed': value['removed'],
|
|
70
|
+
};
|
|
71
|
+
}
|
|
@@ -0,0 +1,46 @@
|
|
|
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 { MapFeatureGeometry } from './MapFeatureGeometry';
|
|
13
|
+
import type { MapFeatureProperties } from './MapFeatureProperties';
|
|
14
|
+
/**
|
|
15
|
+
* GeoJSON Feature: one per geocoded location with the list of active meetings at that location.
|
|
16
|
+
* @export
|
|
17
|
+
* @interface MapFeature
|
|
18
|
+
*/
|
|
19
|
+
export interface MapFeature {
|
|
20
|
+
/**
|
|
21
|
+
*
|
|
22
|
+
* @type {string}
|
|
23
|
+
* @memberof MapFeature
|
|
24
|
+
*/
|
|
25
|
+
type?: string;
|
|
26
|
+
/**
|
|
27
|
+
*
|
|
28
|
+
* @type {MapFeatureGeometry}
|
|
29
|
+
* @memberof MapFeature
|
|
30
|
+
*/
|
|
31
|
+
geometry?: MapFeatureGeometry;
|
|
32
|
+
/**
|
|
33
|
+
*
|
|
34
|
+
* @type {MapFeatureProperties}
|
|
35
|
+
* @memberof MapFeature
|
|
36
|
+
*/
|
|
37
|
+
properties?: MapFeatureProperties;
|
|
38
|
+
}
|
|
39
|
+
/**
|
|
40
|
+
* Check if a given object implements the MapFeature interface.
|
|
41
|
+
*/
|
|
42
|
+
export declare function instanceOfMapFeature(value: object): value is MapFeature;
|
|
43
|
+
export declare function MapFeatureFromJSON(json: any): MapFeature;
|
|
44
|
+
export declare function MapFeatureFromJSONTyped(json: any, ignoreDiscriminator: boolean): MapFeature;
|
|
45
|
+
export declare function MapFeatureToJSON(json: any): MapFeature;
|
|
46
|
+
export declare function MapFeatureToJSONTyped(value?: MapFeature | 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
|
+
import { MapFeatureGeometryFromJSON, MapFeatureGeometryToJSON, } from './MapFeatureGeometry';
|
|
15
|
+
import { MapFeaturePropertiesFromJSON, MapFeaturePropertiesToJSON, } from './MapFeatureProperties';
|
|
16
|
+
/**
|
|
17
|
+
* Check if a given object implements the MapFeature interface.
|
|
18
|
+
*/
|
|
19
|
+
export function instanceOfMapFeature(value) {
|
|
20
|
+
return true;
|
|
21
|
+
}
|
|
22
|
+
export function MapFeatureFromJSON(json) {
|
|
23
|
+
return MapFeatureFromJSONTyped(json, false);
|
|
24
|
+
}
|
|
25
|
+
export function MapFeatureFromJSONTyped(json, ignoreDiscriminator) {
|
|
26
|
+
if (json == null) {
|
|
27
|
+
return json;
|
|
28
|
+
}
|
|
29
|
+
return {
|
|
30
|
+
'type': json['type'] == null ? undefined : json['type'],
|
|
31
|
+
'geometry': json['geometry'] == null ? undefined : MapFeatureGeometryFromJSON(json['geometry']),
|
|
32
|
+
'properties': json['properties'] == null ? undefined : MapFeaturePropertiesFromJSON(json['properties']),
|
|
33
|
+
};
|
|
34
|
+
}
|
|
35
|
+
export function MapFeatureToJSON(json) {
|
|
36
|
+
return MapFeatureToJSONTyped(json, false);
|
|
37
|
+
}
|
|
38
|
+
export function MapFeatureToJSONTyped(value, ignoreDiscriminator = false) {
|
|
39
|
+
if (value == null) {
|
|
40
|
+
return value;
|
|
41
|
+
}
|
|
42
|
+
return {
|
|
43
|
+
'type': value['type'],
|
|
44
|
+
'geometry': MapFeatureGeometryToJSON(value['geometry']),
|
|
45
|
+
'properties': MapFeaturePropertiesToJSON(value['properties']),
|
|
46
|
+
};
|
|
47
|
+
}
|
|
@@ -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 { MapFeature } from './MapFeature';
|
|
13
|
+
/**
|
|
14
|
+
* GeoJSON FeatureCollection of all geocoded locations with at least one active meeting. Cached 5 minutes.
|
|
15
|
+
* @export
|
|
16
|
+
* @interface MapFeatureCollection
|
|
17
|
+
*/
|
|
18
|
+
export interface MapFeatureCollection {
|
|
19
|
+
/**
|
|
20
|
+
*
|
|
21
|
+
* @type {string}
|
|
22
|
+
* @memberof MapFeatureCollection
|
|
23
|
+
*/
|
|
24
|
+
type?: string;
|
|
25
|
+
/**
|
|
26
|
+
*
|
|
27
|
+
* @type {Date}
|
|
28
|
+
* @memberof MapFeatureCollection
|
|
29
|
+
*/
|
|
30
|
+
generatedAt?: Date;
|
|
31
|
+
/**
|
|
32
|
+
*
|
|
33
|
+
* @type {Array<MapFeature>}
|
|
34
|
+
* @memberof MapFeatureCollection
|
|
35
|
+
*/
|
|
36
|
+
features?: Array<MapFeature>;
|
|
37
|
+
}
|
|
38
|
+
/**
|
|
39
|
+
* Check if a given object implements the MapFeatureCollection interface.
|
|
40
|
+
*/
|
|
41
|
+
export declare function instanceOfMapFeatureCollection(value: object): value is MapFeatureCollection;
|
|
42
|
+
export declare function MapFeatureCollectionFromJSON(json: any): MapFeatureCollection;
|
|
43
|
+
export declare function MapFeatureCollectionFromJSONTyped(json: any, ignoreDiscriminator: boolean): MapFeatureCollection;
|
|
44
|
+
export declare function MapFeatureCollectionToJSON(json: any): MapFeatureCollection;
|
|
45
|
+
export declare function MapFeatureCollectionToJSONTyped(value?: MapFeatureCollection | 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 { MapFeatureFromJSON, MapFeatureToJSON, } from './MapFeature';
|
|
15
|
+
/**
|
|
16
|
+
* Check if a given object implements the MapFeatureCollection interface.
|
|
17
|
+
*/
|
|
18
|
+
export function instanceOfMapFeatureCollection(value) {
|
|
19
|
+
return true;
|
|
20
|
+
}
|
|
21
|
+
export function MapFeatureCollectionFromJSON(json) {
|
|
22
|
+
return MapFeatureCollectionFromJSONTyped(json, false);
|
|
23
|
+
}
|
|
24
|
+
export function MapFeatureCollectionFromJSONTyped(json, ignoreDiscriminator) {
|
|
25
|
+
if (json == null) {
|
|
26
|
+
return json;
|
|
27
|
+
}
|
|
28
|
+
return {
|
|
29
|
+
'type': json['type'] == null ? undefined : json['type'],
|
|
30
|
+
'generatedAt': json['generated_at'] == null ? undefined : (new Date(json['generated_at'])),
|
|
31
|
+
'features': json['features'] == null ? undefined : (json['features'].map(MapFeatureFromJSON)),
|
|
32
|
+
};
|
|
33
|
+
}
|
|
34
|
+
export function MapFeatureCollectionToJSON(json) {
|
|
35
|
+
return MapFeatureCollectionToJSONTyped(json, false);
|
|
36
|
+
}
|
|
37
|
+
export function MapFeatureCollectionToJSONTyped(value, ignoreDiscriminator = false) {
|
|
38
|
+
if (value == null) {
|
|
39
|
+
return value;
|
|
40
|
+
}
|
|
41
|
+
return {
|
|
42
|
+
'type': value['type'],
|
|
43
|
+
'generated_at': value['generatedAt'] == null ? value['generatedAt'] : value['generatedAt'].toISOString(),
|
|
44
|
+
'features': value['features'] == null ? undefined : (value['features'].map(MapFeatureToJSON)),
|
|
45
|
+
};
|
|
46
|
+
}
|
|
@@ -0,0 +1,38 @@
|
|
|
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
|
+
* GeoJSON point geometry for a MapFeature.
|
|
14
|
+
* @export
|
|
15
|
+
* @interface MapFeatureGeometry
|
|
16
|
+
*/
|
|
17
|
+
export interface MapFeatureGeometry {
|
|
18
|
+
/**
|
|
19
|
+
*
|
|
20
|
+
* @type {string}
|
|
21
|
+
* @memberof MapFeatureGeometry
|
|
22
|
+
*/
|
|
23
|
+
type?: string;
|
|
24
|
+
/**
|
|
25
|
+
* [longitude, latitude] — GeoJSON order.
|
|
26
|
+
* @type {Array<number>}
|
|
27
|
+
* @memberof MapFeatureGeometry
|
|
28
|
+
*/
|
|
29
|
+
coordinates?: Array<number>;
|
|
30
|
+
}
|
|
31
|
+
/**
|
|
32
|
+
* Check if a given object implements the MapFeatureGeometry interface.
|
|
33
|
+
*/
|
|
34
|
+
export declare function instanceOfMapFeatureGeometry(value: object): value is MapFeatureGeometry;
|
|
35
|
+
export declare function MapFeatureGeometryFromJSON(json: any): MapFeatureGeometry;
|
|
36
|
+
export declare function MapFeatureGeometryFromJSONTyped(json: any, ignoreDiscriminator: boolean): MapFeatureGeometry;
|
|
37
|
+
export declare function MapFeatureGeometryToJSON(json: any): MapFeatureGeometry;
|
|
38
|
+
export declare function MapFeatureGeometryToJSONTyped(value?: MapFeatureGeometry | null, ignoreDiscriminator?: boolean): any;
|
|
@@ -0,0 +1,43 @@
|
|
|
1
|
+
/* tslint:disable */
|
|
2
|
+
/* eslint-disable */
|
|
3
|
+
/**
|
|
4
|
+
* C4R Aggregator API
|
|
5
|
+
* Aggregator for public [12-Step Meeting List](https://wordpress.org/plugins/12-step-meeting-list/) WordPress feeds. Ingests registered sources on a schedule, normalizes duplicates across feeds, and exposes a unified read API whose responses follow the [Meeting Guide API spec](https://github.com/code4recovery/spec) for drop-in client compatibility. - **Public endpoints** return Meeting Guide-shape data. `/meetings` requires at least one filter (bounding box, radius, region, source, program, day, or type) and is cursor-paginated. - **Per-source and per-region feeds** return bare JSON arrays — safe drop-in replacements for the upstream TSML endpoint. - **Admin endpoints** under `/admin/_*` require a Sanctum bearer token.
|
|
6
|
+
*
|
|
7
|
+
* The version of the OpenAPI document: 1.0.0
|
|
8
|
+
*
|
|
9
|
+
*
|
|
10
|
+
* NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).
|
|
11
|
+
* https://openapi-generator.tech
|
|
12
|
+
* Do not edit the class manually.
|
|
13
|
+
*/
|
|
14
|
+
/**
|
|
15
|
+
* Check if a given object implements the MapFeatureGeometry interface.
|
|
16
|
+
*/
|
|
17
|
+
export function instanceOfMapFeatureGeometry(value) {
|
|
18
|
+
return true;
|
|
19
|
+
}
|
|
20
|
+
export function MapFeatureGeometryFromJSON(json) {
|
|
21
|
+
return MapFeatureGeometryFromJSONTyped(json, false);
|
|
22
|
+
}
|
|
23
|
+
export function MapFeatureGeometryFromJSONTyped(json, ignoreDiscriminator) {
|
|
24
|
+
if (json == null) {
|
|
25
|
+
return json;
|
|
26
|
+
}
|
|
27
|
+
return {
|
|
28
|
+
'type': json['type'] == null ? undefined : json['type'],
|
|
29
|
+
'coordinates': json['coordinates'] == null ? undefined : json['coordinates'],
|
|
30
|
+
};
|
|
31
|
+
}
|
|
32
|
+
export function MapFeatureGeometryToJSON(json) {
|
|
33
|
+
return MapFeatureGeometryToJSONTyped(json, false);
|
|
34
|
+
}
|
|
35
|
+
export function MapFeatureGeometryToJSONTyped(value, ignoreDiscriminator = false) {
|
|
36
|
+
if (value == null) {
|
|
37
|
+
return value;
|
|
38
|
+
}
|
|
39
|
+
return {
|
|
40
|
+
'type': value['type'],
|
|
41
|
+
'coordinates': value['coordinates'],
|
|
42
|
+
};
|
|
43
|
+
}
|
|
@@ -0,0 +1,69 @@
|
|
|
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 { MapMeeting } from './MapMeeting';
|
|
13
|
+
/**
|
|
14
|
+
* Per-location properties on a MapFeature — name/city/state plus the list of active meetings there.
|
|
15
|
+
* @export
|
|
16
|
+
* @interface MapFeatureProperties
|
|
17
|
+
*/
|
|
18
|
+
export interface MapFeatureProperties {
|
|
19
|
+
/**
|
|
20
|
+
* Location id.
|
|
21
|
+
* @type {number}
|
|
22
|
+
* @memberof MapFeatureProperties
|
|
23
|
+
*/
|
|
24
|
+
id?: number;
|
|
25
|
+
/**
|
|
26
|
+
*
|
|
27
|
+
* @type {string}
|
|
28
|
+
* @memberof MapFeatureProperties
|
|
29
|
+
*/
|
|
30
|
+
name?: string | null;
|
|
31
|
+
/**
|
|
32
|
+
*
|
|
33
|
+
* @type {string}
|
|
34
|
+
* @memberof MapFeatureProperties
|
|
35
|
+
*/
|
|
36
|
+
city?: string | null;
|
|
37
|
+
/**
|
|
38
|
+
*
|
|
39
|
+
* @type {string}
|
|
40
|
+
* @memberof MapFeatureProperties
|
|
41
|
+
*/
|
|
42
|
+
state?: string | null;
|
|
43
|
+
/**
|
|
44
|
+
*
|
|
45
|
+
* @type {number}
|
|
46
|
+
* @memberof MapFeatureProperties
|
|
47
|
+
*/
|
|
48
|
+
meetingCount?: number;
|
|
49
|
+
/**
|
|
50
|
+
* Sorted unique program codes hosted at this location — clients can use this to overlay/toggle per-program views without scanning the meetings list.
|
|
51
|
+
* @type {Array<string>}
|
|
52
|
+
* @memberof MapFeatureProperties
|
|
53
|
+
*/
|
|
54
|
+
programs?: Array<string>;
|
|
55
|
+
/**
|
|
56
|
+
*
|
|
57
|
+
* @type {Array<MapMeeting>}
|
|
58
|
+
* @memberof MapFeatureProperties
|
|
59
|
+
*/
|
|
60
|
+
meetings?: Array<MapMeeting>;
|
|
61
|
+
}
|
|
62
|
+
/**
|
|
63
|
+
* Check if a given object implements the MapFeatureProperties interface.
|
|
64
|
+
*/
|
|
65
|
+
export declare function instanceOfMapFeatureProperties(value: object): value is MapFeatureProperties;
|
|
66
|
+
export declare function MapFeaturePropertiesFromJSON(json: any): MapFeatureProperties;
|
|
67
|
+
export declare function MapFeaturePropertiesFromJSONTyped(json: any, ignoreDiscriminator: boolean): MapFeatureProperties;
|
|
68
|
+
export declare function MapFeaturePropertiesToJSON(json: any): MapFeatureProperties;
|
|
69
|
+
export declare function MapFeaturePropertiesToJSONTyped(value?: MapFeatureProperties | null, ignoreDiscriminator?: boolean): any;
|
|
@@ -0,0 +1,54 @@
|
|
|
1
|
+
/* tslint:disable */
|
|
2
|
+
/* eslint-disable */
|
|
3
|
+
/**
|
|
4
|
+
* C4R Aggregator API
|
|
5
|
+
* Aggregator for public [12-Step Meeting List](https://wordpress.org/plugins/12-step-meeting-list/) WordPress feeds. Ingests registered sources on a schedule, normalizes duplicates across feeds, and exposes a unified read API whose responses follow the [Meeting Guide API spec](https://github.com/code4recovery/spec) for drop-in client compatibility. - **Public endpoints** return Meeting Guide-shape data. `/meetings` requires at least one filter (bounding box, radius, region, source, program, day, or type) and is cursor-paginated. - **Per-source and per-region feeds** return bare JSON arrays — safe drop-in replacements for the upstream TSML endpoint. - **Admin endpoints** under `/admin/_*` require a Sanctum bearer token.
|
|
6
|
+
*
|
|
7
|
+
* The version of the OpenAPI document: 1.0.0
|
|
8
|
+
*
|
|
9
|
+
*
|
|
10
|
+
* NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).
|
|
11
|
+
* https://openapi-generator.tech
|
|
12
|
+
* Do not edit the class manually.
|
|
13
|
+
*/
|
|
14
|
+
import { MapMeetingFromJSON, MapMeetingToJSON, } from './MapMeeting';
|
|
15
|
+
/**
|
|
16
|
+
* Check if a given object implements the MapFeatureProperties interface.
|
|
17
|
+
*/
|
|
18
|
+
export function instanceOfMapFeatureProperties(value) {
|
|
19
|
+
return true;
|
|
20
|
+
}
|
|
21
|
+
export function MapFeaturePropertiesFromJSON(json) {
|
|
22
|
+
return MapFeaturePropertiesFromJSONTyped(json, false);
|
|
23
|
+
}
|
|
24
|
+
export function MapFeaturePropertiesFromJSONTyped(json, ignoreDiscriminator) {
|
|
25
|
+
if (json == null) {
|
|
26
|
+
return json;
|
|
27
|
+
}
|
|
28
|
+
return {
|
|
29
|
+
'id': json['id'] == null ? undefined : json['id'],
|
|
30
|
+
'name': json['name'] == null ? undefined : json['name'],
|
|
31
|
+
'city': json['city'] == null ? undefined : json['city'],
|
|
32
|
+
'state': json['state'] == null ? undefined : json['state'],
|
|
33
|
+
'meetingCount': json['meeting_count'] == null ? undefined : json['meeting_count'],
|
|
34
|
+
'programs': json['programs'] == null ? undefined : json['programs'],
|
|
35
|
+
'meetings': json['meetings'] == null ? undefined : (json['meetings'].map(MapMeetingFromJSON)),
|
|
36
|
+
};
|
|
37
|
+
}
|
|
38
|
+
export function MapFeaturePropertiesToJSON(json) {
|
|
39
|
+
return MapFeaturePropertiesToJSONTyped(json, false);
|
|
40
|
+
}
|
|
41
|
+
export function MapFeaturePropertiesToJSONTyped(value, ignoreDiscriminator = false) {
|
|
42
|
+
if (value == null) {
|
|
43
|
+
return value;
|
|
44
|
+
}
|
|
45
|
+
return {
|
|
46
|
+
'id': value['id'],
|
|
47
|
+
'name': value['name'],
|
|
48
|
+
'city': value['city'],
|
|
49
|
+
'state': value['state'],
|
|
50
|
+
'meeting_count': value['meetingCount'],
|
|
51
|
+
'programs': value['programs'],
|
|
52
|
+
'meetings': value['meetings'] == null ? undefined : (value['meetings'].map(MapMeetingToJSON)),
|
|
53
|
+
};
|
|
54
|
+
}
|
|
@@ -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
|
+
* Minimal meeting shape embedded in a MapFeature.properties.meetings array.
|
|
14
|
+
* @export
|
|
15
|
+
* @interface MapMeeting
|
|
16
|
+
*/
|
|
17
|
+
export interface MapMeeting {
|
|
18
|
+
/**
|
|
19
|
+
*
|
|
20
|
+
* @type {string}
|
|
21
|
+
* @memberof MapMeeting
|
|
22
|
+
*/
|
|
23
|
+
name?: string | null;
|
|
24
|
+
/**
|
|
25
|
+
*
|
|
26
|
+
* @type {number}
|
|
27
|
+
* @memberof MapMeeting
|
|
28
|
+
*/
|
|
29
|
+
day?: number | null;
|
|
30
|
+
/**
|
|
31
|
+
*
|
|
32
|
+
* @type {string}
|
|
33
|
+
* @memberof MapMeeting
|
|
34
|
+
*/
|
|
35
|
+
time?: string | null;
|
|
36
|
+
/**
|
|
37
|
+
*
|
|
38
|
+
* @type {string}
|
|
39
|
+
* @memberof MapMeeting
|
|
40
|
+
*/
|
|
41
|
+
program?: string;
|
|
42
|
+
}
|
|
43
|
+
/**
|
|
44
|
+
* Check if a given object implements the MapMeeting interface.
|
|
45
|
+
*/
|
|
46
|
+
export declare function instanceOfMapMeeting(value: object): value is MapMeeting;
|
|
47
|
+
export declare function MapMeetingFromJSON(json: any): MapMeeting;
|
|
48
|
+
export declare function MapMeetingFromJSONTyped(json: any, ignoreDiscriminator: boolean): MapMeeting;
|
|
49
|
+
export declare function MapMeetingToJSON(json: any): MapMeeting;
|
|
50
|
+
export declare function MapMeetingToJSONTyped(value?: MapMeeting | null, ignoreDiscriminator?: boolean): any;
|