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,79 @@
|
|
|
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.IngestRunStatusEnum = void 0;
|
|
17
|
+
exports.instanceOfIngestRun = instanceOfIngestRun;
|
|
18
|
+
exports.IngestRunFromJSON = IngestRunFromJSON;
|
|
19
|
+
exports.IngestRunFromJSONTyped = IngestRunFromJSONTyped;
|
|
20
|
+
exports.IngestRunToJSON = IngestRunToJSON;
|
|
21
|
+
exports.IngestRunToJSONTyped = IngestRunToJSONTyped;
|
|
22
|
+
/**
|
|
23
|
+
* @export
|
|
24
|
+
*/
|
|
25
|
+
exports.IngestRunStatusEnum = {
|
|
26
|
+
Success: 'success',
|
|
27
|
+
Failed: 'failed',
|
|
28
|
+
Suspicious: 'suspicious'
|
|
29
|
+
};
|
|
30
|
+
/**
|
|
31
|
+
* Check if a given object implements the IngestRun interface.
|
|
32
|
+
*/
|
|
33
|
+
function instanceOfIngestRun(value) {
|
|
34
|
+
return true;
|
|
35
|
+
}
|
|
36
|
+
function IngestRunFromJSON(json) {
|
|
37
|
+
return IngestRunFromJSONTyped(json, false);
|
|
38
|
+
}
|
|
39
|
+
function IngestRunFromJSONTyped(json, ignoreDiscriminator) {
|
|
40
|
+
if (json == null) {
|
|
41
|
+
return json;
|
|
42
|
+
}
|
|
43
|
+
return {
|
|
44
|
+
'id': json['id'] == null ? undefined : json['id'],
|
|
45
|
+
'sourceId': json['source_id'] == null ? undefined : json['source_id'],
|
|
46
|
+
'startedAt': json['started_at'] == null ? undefined : (new Date(json['started_at'])),
|
|
47
|
+
'finishedAt': json['finished_at'] == null ? undefined : (new Date(json['finished_at'])),
|
|
48
|
+
'status': json['status'] == null ? undefined : json['status'],
|
|
49
|
+
'wasSuspicious': json['was_suspicious'] == null ? undefined : json['was_suspicious'],
|
|
50
|
+
'errorType': json['error_type'] == null ? undefined : json['error_type'],
|
|
51
|
+
'errorMessage': json['error_message'] == null ? undefined : json['error_message'],
|
|
52
|
+
'seen': json['seen'] == null ? undefined : json['seen'],
|
|
53
|
+
'created': json['created'] == null ? undefined : json['created'],
|
|
54
|
+
'updated': json['updated'] == null ? undefined : json['updated'],
|
|
55
|
+
'removed': json['removed'] == null ? undefined : json['removed'],
|
|
56
|
+
};
|
|
57
|
+
}
|
|
58
|
+
function IngestRunToJSON(json) {
|
|
59
|
+
return IngestRunToJSONTyped(json, false);
|
|
60
|
+
}
|
|
61
|
+
function IngestRunToJSONTyped(value, ignoreDiscriminator = false) {
|
|
62
|
+
if (value == null) {
|
|
63
|
+
return value;
|
|
64
|
+
}
|
|
65
|
+
return {
|
|
66
|
+
'id': value['id'],
|
|
67
|
+
'source_id': value['sourceId'],
|
|
68
|
+
'started_at': value['startedAt'] == null ? value['startedAt'] : value['startedAt'].toISOString(),
|
|
69
|
+
'finished_at': value['finishedAt'] == null ? value['finishedAt'] : value['finishedAt'].toISOString(),
|
|
70
|
+
'status': value['status'],
|
|
71
|
+
'was_suspicious': value['wasSuspicious'],
|
|
72
|
+
'error_type': value['errorType'],
|
|
73
|
+
'error_message': value['errorMessage'],
|
|
74
|
+
'seen': value['seen'],
|
|
75
|
+
'created': value['created'],
|
|
76
|
+
'updated': value['updated'],
|
|
77
|
+
'removed': value['removed'],
|
|
78
|
+
};
|
|
79
|
+
}
|
|
@@ -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,54 @@
|
|
|
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.instanceOfMapFeature = instanceOfMapFeature;
|
|
17
|
+
exports.MapFeatureFromJSON = MapFeatureFromJSON;
|
|
18
|
+
exports.MapFeatureFromJSONTyped = MapFeatureFromJSONTyped;
|
|
19
|
+
exports.MapFeatureToJSON = MapFeatureToJSON;
|
|
20
|
+
exports.MapFeatureToJSONTyped = MapFeatureToJSONTyped;
|
|
21
|
+
const MapFeatureGeometry_1 = require("./MapFeatureGeometry");
|
|
22
|
+
const MapFeatureProperties_1 = require("./MapFeatureProperties");
|
|
23
|
+
/**
|
|
24
|
+
* Check if a given object implements the MapFeature interface.
|
|
25
|
+
*/
|
|
26
|
+
function instanceOfMapFeature(value) {
|
|
27
|
+
return true;
|
|
28
|
+
}
|
|
29
|
+
function MapFeatureFromJSON(json) {
|
|
30
|
+
return MapFeatureFromJSONTyped(json, false);
|
|
31
|
+
}
|
|
32
|
+
function MapFeatureFromJSONTyped(json, ignoreDiscriminator) {
|
|
33
|
+
if (json == null) {
|
|
34
|
+
return json;
|
|
35
|
+
}
|
|
36
|
+
return {
|
|
37
|
+
'type': json['type'] == null ? undefined : json['type'],
|
|
38
|
+
'geometry': json['geometry'] == null ? undefined : (0, MapFeatureGeometry_1.MapFeatureGeometryFromJSON)(json['geometry']),
|
|
39
|
+
'properties': json['properties'] == null ? undefined : (0, MapFeatureProperties_1.MapFeaturePropertiesFromJSON)(json['properties']),
|
|
40
|
+
};
|
|
41
|
+
}
|
|
42
|
+
function MapFeatureToJSON(json) {
|
|
43
|
+
return MapFeatureToJSONTyped(json, false);
|
|
44
|
+
}
|
|
45
|
+
function MapFeatureToJSONTyped(value, ignoreDiscriminator = false) {
|
|
46
|
+
if (value == null) {
|
|
47
|
+
return value;
|
|
48
|
+
}
|
|
49
|
+
return {
|
|
50
|
+
'type': value['type'],
|
|
51
|
+
'geometry': (0, MapFeatureGeometry_1.MapFeatureGeometryToJSON)(value['geometry']),
|
|
52
|
+
'properties': (0, MapFeatureProperties_1.MapFeaturePropertiesToJSON)(value['properties']),
|
|
53
|
+
};
|
|
54
|
+
}
|
|
@@ -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,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.instanceOfMapFeatureCollection = instanceOfMapFeatureCollection;
|
|
17
|
+
exports.MapFeatureCollectionFromJSON = MapFeatureCollectionFromJSON;
|
|
18
|
+
exports.MapFeatureCollectionFromJSONTyped = MapFeatureCollectionFromJSONTyped;
|
|
19
|
+
exports.MapFeatureCollectionToJSON = MapFeatureCollectionToJSON;
|
|
20
|
+
exports.MapFeatureCollectionToJSONTyped = MapFeatureCollectionToJSONTyped;
|
|
21
|
+
const MapFeature_1 = require("./MapFeature");
|
|
22
|
+
/**
|
|
23
|
+
* Check if a given object implements the MapFeatureCollection interface.
|
|
24
|
+
*/
|
|
25
|
+
function instanceOfMapFeatureCollection(value) {
|
|
26
|
+
return true;
|
|
27
|
+
}
|
|
28
|
+
function MapFeatureCollectionFromJSON(json) {
|
|
29
|
+
return MapFeatureCollectionFromJSONTyped(json, false);
|
|
30
|
+
}
|
|
31
|
+
function MapFeatureCollectionFromJSONTyped(json, ignoreDiscriminator) {
|
|
32
|
+
if (json == null) {
|
|
33
|
+
return json;
|
|
34
|
+
}
|
|
35
|
+
return {
|
|
36
|
+
'type': json['type'] == null ? undefined : json['type'],
|
|
37
|
+
'generatedAt': json['generated_at'] == null ? undefined : (new Date(json['generated_at'])),
|
|
38
|
+
'features': json['features'] == null ? undefined : (json['features'].map(MapFeature_1.MapFeatureFromJSON)),
|
|
39
|
+
};
|
|
40
|
+
}
|
|
41
|
+
function MapFeatureCollectionToJSON(json) {
|
|
42
|
+
return MapFeatureCollectionToJSONTyped(json, false);
|
|
43
|
+
}
|
|
44
|
+
function MapFeatureCollectionToJSONTyped(value, ignoreDiscriminator = false) {
|
|
45
|
+
if (value == null) {
|
|
46
|
+
return value;
|
|
47
|
+
}
|
|
48
|
+
return {
|
|
49
|
+
'type': value['type'],
|
|
50
|
+
'generated_at': value['generatedAt'] == null ? value['generatedAt'] : value['generatedAt'].toISOString(),
|
|
51
|
+
'features': value['features'] == null ? undefined : (value['features'].map(MapFeature_1.MapFeatureToJSON)),
|
|
52
|
+
};
|
|
53
|
+
}
|
|
@@ -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,50 @@
|
|
|
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.instanceOfMapFeatureGeometry = instanceOfMapFeatureGeometry;
|
|
17
|
+
exports.MapFeatureGeometryFromJSON = MapFeatureGeometryFromJSON;
|
|
18
|
+
exports.MapFeatureGeometryFromJSONTyped = MapFeatureGeometryFromJSONTyped;
|
|
19
|
+
exports.MapFeatureGeometryToJSON = MapFeatureGeometryToJSON;
|
|
20
|
+
exports.MapFeatureGeometryToJSONTyped = MapFeatureGeometryToJSONTyped;
|
|
21
|
+
/**
|
|
22
|
+
* Check if a given object implements the MapFeatureGeometry interface.
|
|
23
|
+
*/
|
|
24
|
+
function instanceOfMapFeatureGeometry(value) {
|
|
25
|
+
return true;
|
|
26
|
+
}
|
|
27
|
+
function MapFeatureGeometryFromJSON(json) {
|
|
28
|
+
return MapFeatureGeometryFromJSONTyped(json, false);
|
|
29
|
+
}
|
|
30
|
+
function MapFeatureGeometryFromJSONTyped(json, ignoreDiscriminator) {
|
|
31
|
+
if (json == null) {
|
|
32
|
+
return json;
|
|
33
|
+
}
|
|
34
|
+
return {
|
|
35
|
+
'type': json['type'] == null ? undefined : json['type'],
|
|
36
|
+
'coordinates': json['coordinates'] == null ? undefined : json['coordinates'],
|
|
37
|
+
};
|
|
38
|
+
}
|
|
39
|
+
function MapFeatureGeometryToJSON(json) {
|
|
40
|
+
return MapFeatureGeometryToJSONTyped(json, false);
|
|
41
|
+
}
|
|
42
|
+
function MapFeatureGeometryToJSONTyped(value, ignoreDiscriminator = false) {
|
|
43
|
+
if (value == null) {
|
|
44
|
+
return value;
|
|
45
|
+
}
|
|
46
|
+
return {
|
|
47
|
+
'type': value['type'],
|
|
48
|
+
'coordinates': value['coordinates'],
|
|
49
|
+
};
|
|
50
|
+
}
|
|
@@ -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,61 @@
|
|
|
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.instanceOfMapFeatureProperties = instanceOfMapFeatureProperties;
|
|
17
|
+
exports.MapFeaturePropertiesFromJSON = MapFeaturePropertiesFromJSON;
|
|
18
|
+
exports.MapFeaturePropertiesFromJSONTyped = MapFeaturePropertiesFromJSONTyped;
|
|
19
|
+
exports.MapFeaturePropertiesToJSON = MapFeaturePropertiesToJSON;
|
|
20
|
+
exports.MapFeaturePropertiesToJSONTyped = MapFeaturePropertiesToJSONTyped;
|
|
21
|
+
const MapMeeting_1 = require("./MapMeeting");
|
|
22
|
+
/**
|
|
23
|
+
* Check if a given object implements the MapFeatureProperties interface.
|
|
24
|
+
*/
|
|
25
|
+
function instanceOfMapFeatureProperties(value) {
|
|
26
|
+
return true;
|
|
27
|
+
}
|
|
28
|
+
function MapFeaturePropertiesFromJSON(json) {
|
|
29
|
+
return MapFeaturePropertiesFromJSONTyped(json, false);
|
|
30
|
+
}
|
|
31
|
+
function MapFeaturePropertiesFromJSONTyped(json, ignoreDiscriminator) {
|
|
32
|
+
if (json == null) {
|
|
33
|
+
return json;
|
|
34
|
+
}
|
|
35
|
+
return {
|
|
36
|
+
'id': json['id'] == null ? undefined : json['id'],
|
|
37
|
+
'name': json['name'] == null ? undefined : json['name'],
|
|
38
|
+
'city': json['city'] == null ? undefined : json['city'],
|
|
39
|
+
'state': json['state'] == null ? undefined : json['state'],
|
|
40
|
+
'meetingCount': json['meeting_count'] == null ? undefined : json['meeting_count'],
|
|
41
|
+
'programs': json['programs'] == null ? undefined : json['programs'],
|
|
42
|
+
'meetings': json['meetings'] == null ? undefined : (json['meetings'].map(MapMeeting_1.MapMeetingFromJSON)),
|
|
43
|
+
};
|
|
44
|
+
}
|
|
45
|
+
function MapFeaturePropertiesToJSON(json) {
|
|
46
|
+
return MapFeaturePropertiesToJSONTyped(json, false);
|
|
47
|
+
}
|
|
48
|
+
function MapFeaturePropertiesToJSONTyped(value, ignoreDiscriminator = false) {
|
|
49
|
+
if (value == null) {
|
|
50
|
+
return value;
|
|
51
|
+
}
|
|
52
|
+
return {
|
|
53
|
+
'id': value['id'],
|
|
54
|
+
'name': value['name'],
|
|
55
|
+
'city': value['city'],
|
|
56
|
+
'state': value['state'],
|
|
57
|
+
'meeting_count': value['meetingCount'],
|
|
58
|
+
'programs': value['programs'],
|
|
59
|
+
'meetings': value['meetings'] == null ? undefined : (value['meetings'].map(MapMeeting_1.MapMeetingToJSON)),
|
|
60
|
+
};
|
|
61
|
+
}
|
|
@@ -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;
|