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,49 @@
|
|
|
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.instanceOfSourceEnvelope = instanceOfSourceEnvelope;
|
|
17
|
+
exports.SourceEnvelopeFromJSON = SourceEnvelopeFromJSON;
|
|
18
|
+
exports.SourceEnvelopeFromJSONTyped = SourceEnvelopeFromJSONTyped;
|
|
19
|
+
exports.SourceEnvelopeToJSON = SourceEnvelopeToJSON;
|
|
20
|
+
exports.SourceEnvelopeToJSONTyped = SourceEnvelopeToJSONTyped;
|
|
21
|
+
const AdminSource_1 = require("./AdminSource");
|
|
22
|
+
/**
|
|
23
|
+
* Check if a given object implements the SourceEnvelope interface.
|
|
24
|
+
*/
|
|
25
|
+
function instanceOfSourceEnvelope(value) {
|
|
26
|
+
return true;
|
|
27
|
+
}
|
|
28
|
+
function SourceEnvelopeFromJSON(json) {
|
|
29
|
+
return SourceEnvelopeFromJSONTyped(json, false);
|
|
30
|
+
}
|
|
31
|
+
function SourceEnvelopeFromJSONTyped(json, ignoreDiscriminator) {
|
|
32
|
+
if (json == null) {
|
|
33
|
+
return json;
|
|
34
|
+
}
|
|
35
|
+
return {
|
|
36
|
+
'source': json['source'] == null ? undefined : (0, AdminSource_1.AdminSourceFromJSON)(json['source']),
|
|
37
|
+
};
|
|
38
|
+
}
|
|
39
|
+
function SourceEnvelopeToJSON(json) {
|
|
40
|
+
return SourceEnvelopeToJSONTyped(json, false);
|
|
41
|
+
}
|
|
42
|
+
function SourceEnvelopeToJSONTyped(value, ignoreDiscriminator = false) {
|
|
43
|
+
if (value == null) {
|
|
44
|
+
return value;
|
|
45
|
+
}
|
|
46
|
+
return {
|
|
47
|
+
'source': (0, AdminSource_1.AdminSourceToJSON)(value['source']),
|
|
48
|
+
};
|
|
49
|
+
}
|
|
@@ -0,0 +1,39 @@
|
|
|
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
|
+
* Result of queueing an immediate re-fetch for a source.
|
|
15
|
+
* @export
|
|
16
|
+
* @interface SourceRefreshResponse
|
|
17
|
+
*/
|
|
18
|
+
export interface SourceRefreshResponse {
|
|
19
|
+
/**
|
|
20
|
+
*
|
|
21
|
+
* @type {AdminSource}
|
|
22
|
+
* @memberof SourceRefreshResponse
|
|
23
|
+
*/
|
|
24
|
+
source?: AdminSource;
|
|
25
|
+
/**
|
|
26
|
+
*
|
|
27
|
+
* @type {boolean}
|
|
28
|
+
* @memberof SourceRefreshResponse
|
|
29
|
+
*/
|
|
30
|
+
dispatched?: boolean;
|
|
31
|
+
}
|
|
32
|
+
/**
|
|
33
|
+
* Check if a given object implements the SourceRefreshResponse interface.
|
|
34
|
+
*/
|
|
35
|
+
export declare function instanceOfSourceRefreshResponse(value: object): value is SourceRefreshResponse;
|
|
36
|
+
export declare function SourceRefreshResponseFromJSON(json: any): SourceRefreshResponse;
|
|
37
|
+
export declare function SourceRefreshResponseFromJSONTyped(json: any, ignoreDiscriminator: boolean): SourceRefreshResponse;
|
|
38
|
+
export declare function SourceRefreshResponseToJSON(json: any): SourceRefreshResponse;
|
|
39
|
+
export declare function SourceRefreshResponseToJSONTyped(value?: SourceRefreshResponse | null, ignoreDiscriminator?: boolean): any;
|
|
@@ -0,0 +1,51 @@
|
|
|
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.instanceOfSourceRefreshResponse = instanceOfSourceRefreshResponse;
|
|
17
|
+
exports.SourceRefreshResponseFromJSON = SourceRefreshResponseFromJSON;
|
|
18
|
+
exports.SourceRefreshResponseFromJSONTyped = SourceRefreshResponseFromJSONTyped;
|
|
19
|
+
exports.SourceRefreshResponseToJSON = SourceRefreshResponseToJSON;
|
|
20
|
+
exports.SourceRefreshResponseToJSONTyped = SourceRefreshResponseToJSONTyped;
|
|
21
|
+
const AdminSource_1 = require("./AdminSource");
|
|
22
|
+
/**
|
|
23
|
+
* Check if a given object implements the SourceRefreshResponse interface.
|
|
24
|
+
*/
|
|
25
|
+
function instanceOfSourceRefreshResponse(value) {
|
|
26
|
+
return true;
|
|
27
|
+
}
|
|
28
|
+
function SourceRefreshResponseFromJSON(json) {
|
|
29
|
+
return SourceRefreshResponseFromJSONTyped(json, false);
|
|
30
|
+
}
|
|
31
|
+
function SourceRefreshResponseFromJSONTyped(json, ignoreDiscriminator) {
|
|
32
|
+
if (json == null) {
|
|
33
|
+
return json;
|
|
34
|
+
}
|
|
35
|
+
return {
|
|
36
|
+
'source': json['source'] == null ? undefined : (0, AdminSource_1.AdminSourceFromJSON)(json['source']),
|
|
37
|
+
'dispatched': json['dispatched'] == null ? undefined : json['dispatched'],
|
|
38
|
+
};
|
|
39
|
+
}
|
|
40
|
+
function SourceRefreshResponseToJSON(json) {
|
|
41
|
+
return SourceRefreshResponseToJSONTyped(json, false);
|
|
42
|
+
}
|
|
43
|
+
function SourceRefreshResponseToJSONTyped(value, ignoreDiscriminator = false) {
|
|
44
|
+
if (value == null) {
|
|
45
|
+
return value;
|
|
46
|
+
}
|
|
47
|
+
return {
|
|
48
|
+
'source': (0, AdminSource_1.AdminSourceToJSON)(value['source']),
|
|
49
|
+
'dispatched': value['dispatched'],
|
|
50
|
+
};
|
|
51
|
+
}
|
|
@@ -0,0 +1,86 @@
|
|
|
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 { StatsGroups } from './StatsGroups';
|
|
13
|
+
import type { StatsLocations } from './StatsLocations';
|
|
14
|
+
import type { StatsMeetings } from './StatsMeetings';
|
|
15
|
+
import type { StatsSources } from './StatsSources';
|
|
16
|
+
import type { StatsProgramsBreakdownInner } from './StatsProgramsBreakdownInner';
|
|
17
|
+
import type { StatsMeetingTypes } from './StatsMeetingTypes';
|
|
18
|
+
/**
|
|
19
|
+
* Aggregator-wide counts snapshot. Cached 60 seconds (per program filter).
|
|
20
|
+
* @export
|
|
21
|
+
* @interface Stats
|
|
22
|
+
*/
|
|
23
|
+
export interface Stats {
|
|
24
|
+
/**
|
|
25
|
+
*
|
|
26
|
+
* @type {Date}
|
|
27
|
+
* @memberof Stats
|
|
28
|
+
*/
|
|
29
|
+
generatedAt?: Date;
|
|
30
|
+
/**
|
|
31
|
+
* Echoes the `?program=` filter, or null when unfiltered.
|
|
32
|
+
* @type {string}
|
|
33
|
+
* @memberof Stats
|
|
34
|
+
*/
|
|
35
|
+
program?: string | null;
|
|
36
|
+
/**
|
|
37
|
+
*
|
|
38
|
+
* @type {StatsMeetings}
|
|
39
|
+
* @memberof Stats
|
|
40
|
+
*/
|
|
41
|
+
meetings?: StatsMeetings;
|
|
42
|
+
/**
|
|
43
|
+
*
|
|
44
|
+
* @type {StatsLocations}
|
|
45
|
+
* @memberof Stats
|
|
46
|
+
*/
|
|
47
|
+
locations?: StatsLocations;
|
|
48
|
+
/**
|
|
49
|
+
*
|
|
50
|
+
* @type {StatsGroups}
|
|
51
|
+
* @memberof Stats
|
|
52
|
+
*/
|
|
53
|
+
groups?: StatsGroups;
|
|
54
|
+
/**
|
|
55
|
+
*
|
|
56
|
+
* @type {StatsSources}
|
|
57
|
+
* @memberof Stats
|
|
58
|
+
*/
|
|
59
|
+
sources?: StatsSources;
|
|
60
|
+
/**
|
|
61
|
+
*
|
|
62
|
+
* @type {StatsMeetingTypes}
|
|
63
|
+
* @memberof Stats
|
|
64
|
+
*/
|
|
65
|
+
meetingTypes?: StatsMeetingTypes;
|
|
66
|
+
/**
|
|
67
|
+
*
|
|
68
|
+
* @type {Array<StatsProgramsBreakdownInner>}
|
|
69
|
+
* @memberof Stats
|
|
70
|
+
*/
|
|
71
|
+
programsBreakdown?: Array<StatsProgramsBreakdownInner>;
|
|
72
|
+
/**
|
|
73
|
+
*
|
|
74
|
+
* @type {Date}
|
|
75
|
+
* @memberof Stats
|
|
76
|
+
*/
|
|
77
|
+
lastSuccessfulIngestAt?: Date | null;
|
|
78
|
+
}
|
|
79
|
+
/**
|
|
80
|
+
* Check if a given object implements the Stats interface.
|
|
81
|
+
*/
|
|
82
|
+
export declare function instanceOfStats(value: object): value is Stats;
|
|
83
|
+
export declare function StatsFromJSON(json: any): Stats;
|
|
84
|
+
export declare function StatsFromJSONTyped(json: any, ignoreDiscriminator: boolean): Stats;
|
|
85
|
+
export declare function StatsToJSON(json: any): Stats;
|
|
86
|
+
export declare function StatsToJSONTyped(value?: Stats | null, ignoreDiscriminator?: boolean): any;
|
|
@@ -0,0 +1,70 @@
|
|
|
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.instanceOfStats = instanceOfStats;
|
|
17
|
+
exports.StatsFromJSON = StatsFromJSON;
|
|
18
|
+
exports.StatsFromJSONTyped = StatsFromJSONTyped;
|
|
19
|
+
exports.StatsToJSON = StatsToJSON;
|
|
20
|
+
exports.StatsToJSONTyped = StatsToJSONTyped;
|
|
21
|
+
const StatsGroups_1 = require("./StatsGroups");
|
|
22
|
+
const StatsLocations_1 = require("./StatsLocations");
|
|
23
|
+
const StatsMeetings_1 = require("./StatsMeetings");
|
|
24
|
+
const StatsSources_1 = require("./StatsSources");
|
|
25
|
+
const StatsProgramsBreakdownInner_1 = require("./StatsProgramsBreakdownInner");
|
|
26
|
+
const StatsMeetingTypes_1 = require("./StatsMeetingTypes");
|
|
27
|
+
/**
|
|
28
|
+
* Check if a given object implements the Stats interface.
|
|
29
|
+
*/
|
|
30
|
+
function instanceOfStats(value) {
|
|
31
|
+
return true;
|
|
32
|
+
}
|
|
33
|
+
function StatsFromJSON(json) {
|
|
34
|
+
return StatsFromJSONTyped(json, false);
|
|
35
|
+
}
|
|
36
|
+
function StatsFromJSONTyped(json, ignoreDiscriminator) {
|
|
37
|
+
if (json == null) {
|
|
38
|
+
return json;
|
|
39
|
+
}
|
|
40
|
+
return {
|
|
41
|
+
'generatedAt': json['generated_at'] == null ? undefined : (new Date(json['generated_at'])),
|
|
42
|
+
'program': json['program'] == null ? undefined : json['program'],
|
|
43
|
+
'meetings': json['meetings'] == null ? undefined : (0, StatsMeetings_1.StatsMeetingsFromJSON)(json['meetings']),
|
|
44
|
+
'locations': json['locations'] == null ? undefined : (0, StatsLocations_1.StatsLocationsFromJSON)(json['locations']),
|
|
45
|
+
'groups': json['groups'] == null ? undefined : (0, StatsGroups_1.StatsGroupsFromJSON)(json['groups']),
|
|
46
|
+
'sources': json['sources'] == null ? undefined : (0, StatsSources_1.StatsSourcesFromJSON)(json['sources']),
|
|
47
|
+
'meetingTypes': json['meeting_types'] == null ? undefined : (0, StatsMeetingTypes_1.StatsMeetingTypesFromJSON)(json['meeting_types']),
|
|
48
|
+
'programsBreakdown': json['programs_breakdown'] == null ? undefined : (json['programs_breakdown'].map(StatsProgramsBreakdownInner_1.StatsProgramsBreakdownInnerFromJSON)),
|
|
49
|
+
'lastSuccessfulIngestAt': json['last_successful_ingest_at'] == null ? undefined : (new Date(json['last_successful_ingest_at'])),
|
|
50
|
+
};
|
|
51
|
+
}
|
|
52
|
+
function StatsToJSON(json) {
|
|
53
|
+
return StatsToJSONTyped(json, false);
|
|
54
|
+
}
|
|
55
|
+
function StatsToJSONTyped(value, ignoreDiscriminator = false) {
|
|
56
|
+
if (value == null) {
|
|
57
|
+
return value;
|
|
58
|
+
}
|
|
59
|
+
return {
|
|
60
|
+
'generated_at': value['generatedAt'] == null ? value['generatedAt'] : value['generatedAt'].toISOString(),
|
|
61
|
+
'program': value['program'],
|
|
62
|
+
'meetings': (0, StatsMeetings_1.StatsMeetingsToJSON)(value['meetings']),
|
|
63
|
+
'locations': (0, StatsLocations_1.StatsLocationsToJSON)(value['locations']),
|
|
64
|
+
'groups': (0, StatsGroups_1.StatsGroupsToJSON)(value['groups']),
|
|
65
|
+
'sources': (0, StatsSources_1.StatsSourcesToJSON)(value['sources']),
|
|
66
|
+
'meeting_types': (0, StatsMeetingTypes_1.StatsMeetingTypesToJSON)(value['meetingTypes']),
|
|
67
|
+
'programs_breakdown': value['programsBreakdown'] == null ? undefined : (value['programsBreakdown'].map(StatsProgramsBreakdownInner_1.StatsProgramsBreakdownInnerToJSON)),
|
|
68
|
+
'last_successful_ingest_at': value['lastSuccessfulIngestAt'] == null ? value['lastSuccessfulIngestAt'] : value['lastSuccessfulIngestAt'].toISOString(),
|
|
69
|
+
};
|
|
70
|
+
}
|
|
@@ -0,0 +1,32 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* C4R Aggregator API
|
|
3
|
+
* Aggregator for public [12-Step Meeting List](https://wordpress.org/plugins/12-step-meeting-list/) WordPress feeds. Ingests registered sources on a schedule, normalizes duplicates across feeds, and exposes a unified read API whose responses follow the [Meeting Guide API spec](https://github.com/code4recovery/spec) for drop-in client compatibility. - **Public endpoints** return Meeting Guide-shape data. `/meetings` requires at least one filter (bounding box, radius, region, source, program, day, or type) and is cursor-paginated. - **Per-source and per-region feeds** return bare JSON arrays — safe drop-in replacements for the upstream TSML endpoint. - **Admin endpoints** under `/admin/_*` require a Sanctum bearer token.
|
|
4
|
+
*
|
|
5
|
+
* The version of the OpenAPI document: 1.0.0
|
|
6
|
+
*
|
|
7
|
+
*
|
|
8
|
+
* NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).
|
|
9
|
+
* https://openapi-generator.tech
|
|
10
|
+
* Do not edit the class manually.
|
|
11
|
+
*/
|
|
12
|
+
/**
|
|
13
|
+
* Group-count breakdowns in Stats.
|
|
14
|
+
* @export
|
|
15
|
+
* @interface StatsGroups
|
|
16
|
+
*/
|
|
17
|
+
export interface StatsGroups {
|
|
18
|
+
/**
|
|
19
|
+
*
|
|
20
|
+
* @type {number}
|
|
21
|
+
* @memberof StatsGroups
|
|
22
|
+
*/
|
|
23
|
+
total?: number;
|
|
24
|
+
}
|
|
25
|
+
/**
|
|
26
|
+
* Check if a given object implements the StatsGroups interface.
|
|
27
|
+
*/
|
|
28
|
+
export declare function instanceOfStatsGroups(value: object): value is StatsGroups;
|
|
29
|
+
export declare function StatsGroupsFromJSON(json: any): StatsGroups;
|
|
30
|
+
export declare function StatsGroupsFromJSONTyped(json: any, ignoreDiscriminator: boolean): StatsGroups;
|
|
31
|
+
export declare function StatsGroupsToJSON(json: any): StatsGroups;
|
|
32
|
+
export declare function StatsGroupsToJSONTyped(value?: StatsGroups | null, ignoreDiscriminator?: boolean): any;
|
|
@@ -0,0 +1,48 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
/* tslint:disable */
|
|
3
|
+
/* eslint-disable */
|
|
4
|
+
/**
|
|
5
|
+
* C4R Aggregator API
|
|
6
|
+
* Aggregator for public [12-Step Meeting List](https://wordpress.org/plugins/12-step-meeting-list/) WordPress feeds. Ingests registered sources on a schedule, normalizes duplicates across feeds, and exposes a unified read API whose responses follow the [Meeting Guide API spec](https://github.com/code4recovery/spec) for drop-in client compatibility. - **Public endpoints** return Meeting Guide-shape data. `/meetings` requires at least one filter (bounding box, radius, region, source, program, day, or type) and is cursor-paginated. - **Per-source and per-region feeds** return bare JSON arrays — safe drop-in replacements for the upstream TSML endpoint. - **Admin endpoints** under `/admin/_*` require a Sanctum bearer token.
|
|
7
|
+
*
|
|
8
|
+
* The version of the OpenAPI document: 1.0.0
|
|
9
|
+
*
|
|
10
|
+
*
|
|
11
|
+
* NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).
|
|
12
|
+
* https://openapi-generator.tech
|
|
13
|
+
* Do not edit the class manually.
|
|
14
|
+
*/
|
|
15
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
16
|
+
exports.instanceOfStatsGroups = instanceOfStatsGroups;
|
|
17
|
+
exports.StatsGroupsFromJSON = StatsGroupsFromJSON;
|
|
18
|
+
exports.StatsGroupsFromJSONTyped = StatsGroupsFromJSONTyped;
|
|
19
|
+
exports.StatsGroupsToJSON = StatsGroupsToJSON;
|
|
20
|
+
exports.StatsGroupsToJSONTyped = StatsGroupsToJSONTyped;
|
|
21
|
+
/**
|
|
22
|
+
* Check if a given object implements the StatsGroups interface.
|
|
23
|
+
*/
|
|
24
|
+
function instanceOfStatsGroups(value) {
|
|
25
|
+
return true;
|
|
26
|
+
}
|
|
27
|
+
function StatsGroupsFromJSON(json) {
|
|
28
|
+
return StatsGroupsFromJSONTyped(json, false);
|
|
29
|
+
}
|
|
30
|
+
function StatsGroupsFromJSONTyped(json, ignoreDiscriminator) {
|
|
31
|
+
if (json == null) {
|
|
32
|
+
return json;
|
|
33
|
+
}
|
|
34
|
+
return {
|
|
35
|
+
'total': json['total'] == null ? undefined : json['total'],
|
|
36
|
+
};
|
|
37
|
+
}
|
|
38
|
+
function StatsGroupsToJSON(json) {
|
|
39
|
+
return StatsGroupsToJSONTyped(json, false);
|
|
40
|
+
}
|
|
41
|
+
function StatsGroupsToJSONTyped(value, ignoreDiscriminator = false) {
|
|
42
|
+
if (value == null) {
|
|
43
|
+
return value;
|
|
44
|
+
}
|
|
45
|
+
return {
|
|
46
|
+
'total': value['total'],
|
|
47
|
+
};
|
|
48
|
+
}
|
|
@@ -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
|
+
* Location-count breakdowns in Stats.
|
|
14
|
+
* @export
|
|
15
|
+
* @interface StatsLocations
|
|
16
|
+
*/
|
|
17
|
+
export interface StatsLocations {
|
|
18
|
+
/**
|
|
19
|
+
*
|
|
20
|
+
* @type {number}
|
|
21
|
+
* @memberof StatsLocations
|
|
22
|
+
*/
|
|
23
|
+
total?: number;
|
|
24
|
+
/**
|
|
25
|
+
*
|
|
26
|
+
* @type {number}
|
|
27
|
+
* @memberof StatsLocations
|
|
28
|
+
*/
|
|
29
|
+
withCoords?: number;
|
|
30
|
+
}
|
|
31
|
+
/**
|
|
32
|
+
* Check if a given object implements the StatsLocations interface.
|
|
33
|
+
*/
|
|
34
|
+
export declare function instanceOfStatsLocations(value: object): value is StatsLocations;
|
|
35
|
+
export declare function StatsLocationsFromJSON(json: any): StatsLocations;
|
|
36
|
+
export declare function StatsLocationsFromJSONTyped(json: any, ignoreDiscriminator: boolean): StatsLocations;
|
|
37
|
+
export declare function StatsLocationsToJSON(json: any): StatsLocations;
|
|
38
|
+
export declare function StatsLocationsToJSONTyped(value?: StatsLocations | 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.instanceOfStatsLocations = instanceOfStatsLocations;
|
|
17
|
+
exports.StatsLocationsFromJSON = StatsLocationsFromJSON;
|
|
18
|
+
exports.StatsLocationsFromJSONTyped = StatsLocationsFromJSONTyped;
|
|
19
|
+
exports.StatsLocationsToJSON = StatsLocationsToJSON;
|
|
20
|
+
exports.StatsLocationsToJSONTyped = StatsLocationsToJSONTyped;
|
|
21
|
+
/**
|
|
22
|
+
* Check if a given object implements the StatsLocations interface.
|
|
23
|
+
*/
|
|
24
|
+
function instanceOfStatsLocations(value) {
|
|
25
|
+
return true;
|
|
26
|
+
}
|
|
27
|
+
function StatsLocationsFromJSON(json) {
|
|
28
|
+
return StatsLocationsFromJSONTyped(json, false);
|
|
29
|
+
}
|
|
30
|
+
function StatsLocationsFromJSONTyped(json, ignoreDiscriminator) {
|
|
31
|
+
if (json == null) {
|
|
32
|
+
return json;
|
|
33
|
+
}
|
|
34
|
+
return {
|
|
35
|
+
'total': json['total'] == null ? undefined : json['total'],
|
|
36
|
+
'withCoords': json['with_coords'] == null ? undefined : json['with_coords'],
|
|
37
|
+
};
|
|
38
|
+
}
|
|
39
|
+
function StatsLocationsToJSON(json) {
|
|
40
|
+
return StatsLocationsToJSONTyped(json, false);
|
|
41
|
+
}
|
|
42
|
+
function StatsLocationsToJSONTyped(value, ignoreDiscriminator = false) {
|
|
43
|
+
if (value == null) {
|
|
44
|
+
return value;
|
|
45
|
+
}
|
|
46
|
+
return {
|
|
47
|
+
'total': value['total'],
|
|
48
|
+
'with_coords': value['withCoords'],
|
|
49
|
+
};
|
|
50
|
+
}
|
|
@@ -0,0 +1,32 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* C4R Aggregator API
|
|
3
|
+
* Aggregator for public [12-Step Meeting List](https://wordpress.org/plugins/12-step-meeting-list/) WordPress feeds. Ingests registered sources on a schedule, normalizes duplicates across feeds, and exposes a unified read API whose responses follow the [Meeting Guide API spec](https://github.com/code4recovery/spec) for drop-in client compatibility. - **Public endpoints** return Meeting Guide-shape data. `/meetings` requires at least one filter (bounding box, radius, region, source, program, day, or type) and is cursor-paginated. - **Per-source and per-region feeds** return bare JSON arrays — safe drop-in replacements for the upstream TSML endpoint. - **Admin endpoints** under `/admin/_*` require a Sanctum bearer token.
|
|
4
|
+
*
|
|
5
|
+
* The version of the OpenAPI document: 1.0.0
|
|
6
|
+
*
|
|
7
|
+
*
|
|
8
|
+
* NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).
|
|
9
|
+
* https://openapi-generator.tech
|
|
10
|
+
* Do not edit the class manually.
|
|
11
|
+
*/
|
|
12
|
+
/**
|
|
13
|
+
* Meeting-type-count breakdowns in Stats.
|
|
14
|
+
* @export
|
|
15
|
+
* @interface StatsMeetingTypes
|
|
16
|
+
*/
|
|
17
|
+
export interface StatsMeetingTypes {
|
|
18
|
+
/**
|
|
19
|
+
*
|
|
20
|
+
* @type {number}
|
|
21
|
+
* @memberof StatsMeetingTypes
|
|
22
|
+
*/
|
|
23
|
+
total?: number;
|
|
24
|
+
}
|
|
25
|
+
/**
|
|
26
|
+
* Check if a given object implements the StatsMeetingTypes interface.
|
|
27
|
+
*/
|
|
28
|
+
export declare function instanceOfStatsMeetingTypes(value: object): value is StatsMeetingTypes;
|
|
29
|
+
export declare function StatsMeetingTypesFromJSON(json: any): StatsMeetingTypes;
|
|
30
|
+
export declare function StatsMeetingTypesFromJSONTyped(json: any, ignoreDiscriminator: boolean): StatsMeetingTypes;
|
|
31
|
+
export declare function StatsMeetingTypesToJSON(json: any): StatsMeetingTypes;
|
|
32
|
+
export declare function StatsMeetingTypesToJSONTyped(value?: StatsMeetingTypes | null, ignoreDiscriminator?: boolean): any;
|
|
@@ -0,0 +1,48 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
/* tslint:disable */
|
|
3
|
+
/* eslint-disable */
|
|
4
|
+
/**
|
|
5
|
+
* C4R Aggregator API
|
|
6
|
+
* Aggregator for public [12-Step Meeting List](https://wordpress.org/plugins/12-step-meeting-list/) WordPress feeds. Ingests registered sources on a schedule, normalizes duplicates across feeds, and exposes a unified read API whose responses follow the [Meeting Guide API spec](https://github.com/code4recovery/spec) for drop-in client compatibility. - **Public endpoints** return Meeting Guide-shape data. `/meetings` requires at least one filter (bounding box, radius, region, source, program, day, or type) and is cursor-paginated. - **Per-source and per-region feeds** return bare JSON arrays — safe drop-in replacements for the upstream TSML endpoint. - **Admin endpoints** under `/admin/_*` require a Sanctum bearer token.
|
|
7
|
+
*
|
|
8
|
+
* The version of the OpenAPI document: 1.0.0
|
|
9
|
+
*
|
|
10
|
+
*
|
|
11
|
+
* NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).
|
|
12
|
+
* https://openapi-generator.tech
|
|
13
|
+
* Do not edit the class manually.
|
|
14
|
+
*/
|
|
15
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
16
|
+
exports.instanceOfStatsMeetingTypes = instanceOfStatsMeetingTypes;
|
|
17
|
+
exports.StatsMeetingTypesFromJSON = StatsMeetingTypesFromJSON;
|
|
18
|
+
exports.StatsMeetingTypesFromJSONTyped = StatsMeetingTypesFromJSONTyped;
|
|
19
|
+
exports.StatsMeetingTypesToJSON = StatsMeetingTypesToJSON;
|
|
20
|
+
exports.StatsMeetingTypesToJSONTyped = StatsMeetingTypesToJSONTyped;
|
|
21
|
+
/**
|
|
22
|
+
* Check if a given object implements the StatsMeetingTypes interface.
|
|
23
|
+
*/
|
|
24
|
+
function instanceOfStatsMeetingTypes(value) {
|
|
25
|
+
return true;
|
|
26
|
+
}
|
|
27
|
+
function StatsMeetingTypesFromJSON(json) {
|
|
28
|
+
return StatsMeetingTypesFromJSONTyped(json, false);
|
|
29
|
+
}
|
|
30
|
+
function StatsMeetingTypesFromJSONTyped(json, ignoreDiscriminator) {
|
|
31
|
+
if (json == null) {
|
|
32
|
+
return json;
|
|
33
|
+
}
|
|
34
|
+
return {
|
|
35
|
+
'total': json['total'] == null ? undefined : json['total'],
|
|
36
|
+
};
|
|
37
|
+
}
|
|
38
|
+
function StatsMeetingTypesToJSON(json) {
|
|
39
|
+
return StatsMeetingTypesToJSONTyped(json, false);
|
|
40
|
+
}
|
|
41
|
+
function StatsMeetingTypesToJSONTyped(value, ignoreDiscriminator = false) {
|
|
42
|
+
if (value == null) {
|
|
43
|
+
return value;
|
|
44
|
+
}
|
|
45
|
+
return {
|
|
46
|
+
'total': value['total'],
|
|
47
|
+
};
|
|
48
|
+
}
|
|
@@ -0,0 +1,68 @@
|
|
|
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
|
+
* Meeting-count breakdowns in Stats.
|
|
14
|
+
* @export
|
|
15
|
+
* @interface StatsMeetings
|
|
16
|
+
*/
|
|
17
|
+
export interface StatsMeetings {
|
|
18
|
+
/**
|
|
19
|
+
*
|
|
20
|
+
* @type {number}
|
|
21
|
+
* @memberof StatsMeetings
|
|
22
|
+
*/
|
|
23
|
+
total?: number;
|
|
24
|
+
/**
|
|
25
|
+
*
|
|
26
|
+
* @type {number}
|
|
27
|
+
* @memberof StatsMeetings
|
|
28
|
+
*/
|
|
29
|
+
active?: number;
|
|
30
|
+
/**
|
|
31
|
+
*
|
|
32
|
+
* @type {number}
|
|
33
|
+
* @memberof StatsMeetings
|
|
34
|
+
*/
|
|
35
|
+
inactive?: number;
|
|
36
|
+
/**
|
|
37
|
+
*
|
|
38
|
+
* @type {{ [key: string]: number; }}
|
|
39
|
+
* @memberof StatsMeetings
|
|
40
|
+
*/
|
|
41
|
+
byProgram?: {
|
|
42
|
+
[key: string]: number;
|
|
43
|
+
};
|
|
44
|
+
/**
|
|
45
|
+
*
|
|
46
|
+
* @type {{ [key: string]: number; }}
|
|
47
|
+
* @memberof StatsMeetings
|
|
48
|
+
*/
|
|
49
|
+
byAttendanceOption?: {
|
|
50
|
+
[key: string]: number;
|
|
51
|
+
};
|
|
52
|
+
/**
|
|
53
|
+
* Keys are "0"–"6" (Sun–Sat)
|
|
54
|
+
* @type {{ [key: string]: number; }}
|
|
55
|
+
* @memberof StatsMeetings
|
|
56
|
+
*/
|
|
57
|
+
byDay?: {
|
|
58
|
+
[key: string]: number;
|
|
59
|
+
};
|
|
60
|
+
}
|
|
61
|
+
/**
|
|
62
|
+
* Check if a given object implements the StatsMeetings interface.
|
|
63
|
+
*/
|
|
64
|
+
export declare function instanceOfStatsMeetings(value: object): value is StatsMeetings;
|
|
65
|
+
export declare function StatsMeetingsFromJSON(json: any): StatsMeetings;
|
|
66
|
+
export declare function StatsMeetingsFromJSONTyped(json: any, ignoreDiscriminator: boolean): StatsMeetings;
|
|
67
|
+
export declare function StatsMeetingsToJSON(json: any): StatsMeetings;
|
|
68
|
+
export declare function StatsMeetingsToJSONTyped(value?: StatsMeetings | null, ignoreDiscriminator?: boolean): any;
|