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,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
|
+
/**
|
|
13
|
+
* Per-layer dedup counters from a single ingest run or summed across multiple runs.
|
|
14
|
+
* @export
|
|
15
|
+
* @interface DedupCounters
|
|
16
|
+
*/
|
|
17
|
+
export interface DedupCounters {
|
|
18
|
+
/**
|
|
19
|
+
*
|
|
20
|
+
* @type {number}
|
|
21
|
+
* @memberof DedupCounters
|
|
22
|
+
*/
|
|
23
|
+
locationsCreated?: number;
|
|
24
|
+
/**
|
|
25
|
+
*
|
|
26
|
+
* @type {number}
|
|
27
|
+
* @memberof DedupCounters
|
|
28
|
+
*/
|
|
29
|
+
locationsMatchedByUpstreamId?: number;
|
|
30
|
+
/**
|
|
31
|
+
*
|
|
32
|
+
* @type {number}
|
|
33
|
+
* @memberof DedupCounters
|
|
34
|
+
*/
|
|
35
|
+
locationsMatchedByAddress?: number;
|
|
36
|
+
/**
|
|
37
|
+
*
|
|
38
|
+
* @type {number}
|
|
39
|
+
* @memberof DedupCounters
|
|
40
|
+
*/
|
|
41
|
+
locationsMatchedByProximity?: number;
|
|
42
|
+
/**
|
|
43
|
+
*
|
|
44
|
+
* @type {number}
|
|
45
|
+
* @memberof DedupCounters
|
|
46
|
+
*/
|
|
47
|
+
groupsCreated?: number;
|
|
48
|
+
/**
|
|
49
|
+
*
|
|
50
|
+
* @type {number}
|
|
51
|
+
* @memberof DedupCounters
|
|
52
|
+
*/
|
|
53
|
+
groupsMatchedByUpstreamId?: number;
|
|
54
|
+
/**
|
|
55
|
+
*
|
|
56
|
+
* @type {number}
|
|
57
|
+
* @memberof DedupCounters
|
|
58
|
+
*/
|
|
59
|
+
groupsMatchedByName?: number;
|
|
60
|
+
/**
|
|
61
|
+
*
|
|
62
|
+
* @type {number}
|
|
63
|
+
* @memberof DedupCounters
|
|
64
|
+
*/
|
|
65
|
+
meetingsCreated?: number;
|
|
66
|
+
/**
|
|
67
|
+
*
|
|
68
|
+
* @type {number}
|
|
69
|
+
* @memberof DedupCounters
|
|
70
|
+
*/
|
|
71
|
+
meetingsMatched?: number;
|
|
72
|
+
/**
|
|
73
|
+
*
|
|
74
|
+
* @type {number}
|
|
75
|
+
* @memberof DedupCounters
|
|
76
|
+
*/
|
|
77
|
+
typesAutoDiscovered?: number;
|
|
78
|
+
}
|
|
79
|
+
/**
|
|
80
|
+
* Check if a given object implements the DedupCounters interface.
|
|
81
|
+
*/
|
|
82
|
+
export declare function instanceOfDedupCounters(value: object): value is DedupCounters;
|
|
83
|
+
export declare function DedupCountersFromJSON(json: any): DedupCounters;
|
|
84
|
+
export declare function DedupCountersFromJSONTyped(json: any, ignoreDiscriminator: boolean): DedupCounters;
|
|
85
|
+
export declare function DedupCountersToJSON(json: any): DedupCounters;
|
|
86
|
+
export declare function DedupCountersToJSONTyped(value?: DedupCounters | null, ignoreDiscriminator?: boolean): any;
|
|
@@ -0,0 +1,66 @@
|
|
|
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.instanceOfDedupCounters = instanceOfDedupCounters;
|
|
17
|
+
exports.DedupCountersFromJSON = DedupCountersFromJSON;
|
|
18
|
+
exports.DedupCountersFromJSONTyped = DedupCountersFromJSONTyped;
|
|
19
|
+
exports.DedupCountersToJSON = DedupCountersToJSON;
|
|
20
|
+
exports.DedupCountersToJSONTyped = DedupCountersToJSONTyped;
|
|
21
|
+
/**
|
|
22
|
+
* Check if a given object implements the DedupCounters interface.
|
|
23
|
+
*/
|
|
24
|
+
function instanceOfDedupCounters(value) {
|
|
25
|
+
return true;
|
|
26
|
+
}
|
|
27
|
+
function DedupCountersFromJSON(json) {
|
|
28
|
+
return DedupCountersFromJSONTyped(json, false);
|
|
29
|
+
}
|
|
30
|
+
function DedupCountersFromJSONTyped(json, ignoreDiscriminator) {
|
|
31
|
+
if (json == null) {
|
|
32
|
+
return json;
|
|
33
|
+
}
|
|
34
|
+
return {
|
|
35
|
+
'locationsCreated': json['locations_created'] == null ? undefined : json['locations_created'],
|
|
36
|
+
'locationsMatchedByUpstreamId': json['locations_matched_by_upstream_id'] == null ? undefined : json['locations_matched_by_upstream_id'],
|
|
37
|
+
'locationsMatchedByAddress': json['locations_matched_by_address'] == null ? undefined : json['locations_matched_by_address'],
|
|
38
|
+
'locationsMatchedByProximity': json['locations_matched_by_proximity'] == null ? undefined : json['locations_matched_by_proximity'],
|
|
39
|
+
'groupsCreated': json['groups_created'] == null ? undefined : json['groups_created'],
|
|
40
|
+
'groupsMatchedByUpstreamId': json['groups_matched_by_upstream_id'] == null ? undefined : json['groups_matched_by_upstream_id'],
|
|
41
|
+
'groupsMatchedByName': json['groups_matched_by_name'] == null ? undefined : json['groups_matched_by_name'],
|
|
42
|
+
'meetingsCreated': json['meetings_created'] == null ? undefined : json['meetings_created'],
|
|
43
|
+
'meetingsMatched': json['meetings_matched'] == null ? undefined : json['meetings_matched'],
|
|
44
|
+
'typesAutoDiscovered': json['types_auto_discovered'] == null ? undefined : json['types_auto_discovered'],
|
|
45
|
+
};
|
|
46
|
+
}
|
|
47
|
+
function DedupCountersToJSON(json) {
|
|
48
|
+
return DedupCountersToJSONTyped(json, false);
|
|
49
|
+
}
|
|
50
|
+
function DedupCountersToJSONTyped(value, ignoreDiscriminator = false) {
|
|
51
|
+
if (value == null) {
|
|
52
|
+
return value;
|
|
53
|
+
}
|
|
54
|
+
return {
|
|
55
|
+
'locations_created': value['locationsCreated'],
|
|
56
|
+
'locations_matched_by_upstream_id': value['locationsMatchedByUpstreamId'],
|
|
57
|
+
'locations_matched_by_address': value['locationsMatchedByAddress'],
|
|
58
|
+
'locations_matched_by_proximity': value['locationsMatchedByProximity'],
|
|
59
|
+
'groups_created': value['groupsCreated'],
|
|
60
|
+
'groups_matched_by_upstream_id': value['groupsMatchedByUpstreamId'],
|
|
61
|
+
'groups_matched_by_name': value['groupsMatchedByName'],
|
|
62
|
+
'meetings_created': value['meetingsCreated'],
|
|
63
|
+
'meetings_matched': value['meetingsMatched'],
|
|
64
|
+
'types_auto_discovered': value['typesAutoDiscovered'],
|
|
65
|
+
};
|
|
66
|
+
}
|
|
@@ -0,0 +1,65 @@
|
|
|
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 { DedupStatsLatestRun } from './DedupStatsLatestRun';
|
|
13
|
+
import type { DedupCounters } from './DedupCounters';
|
|
14
|
+
import type { DedupStatsRecentRunsInner } from './DedupStatsRecentRunsInner';
|
|
15
|
+
/**
|
|
16
|
+
* Dedup activity for a source — aggregate totals, latest run, and recent-run history.
|
|
17
|
+
* @export
|
|
18
|
+
* @interface DedupStats
|
|
19
|
+
*/
|
|
20
|
+
export interface DedupStats {
|
|
21
|
+
/**
|
|
22
|
+
*
|
|
23
|
+
* @type {number}
|
|
24
|
+
* @memberof DedupStats
|
|
25
|
+
*/
|
|
26
|
+
sourceId?: number;
|
|
27
|
+
/**
|
|
28
|
+
*
|
|
29
|
+
* @type {string}
|
|
30
|
+
* @memberof DedupStats
|
|
31
|
+
*/
|
|
32
|
+
sourceName?: string;
|
|
33
|
+
/**
|
|
34
|
+
*
|
|
35
|
+
* @type {number}
|
|
36
|
+
* @memberof DedupStats
|
|
37
|
+
*/
|
|
38
|
+
runCount?: number;
|
|
39
|
+
/**
|
|
40
|
+
*
|
|
41
|
+
* @type {DedupCounters}
|
|
42
|
+
* @memberof DedupStats
|
|
43
|
+
*/
|
|
44
|
+
totals?: DedupCounters;
|
|
45
|
+
/**
|
|
46
|
+
*
|
|
47
|
+
* @type {DedupStatsLatestRun}
|
|
48
|
+
* @memberof DedupStats
|
|
49
|
+
*/
|
|
50
|
+
latestRun?: DedupStatsLatestRun | null;
|
|
51
|
+
/**
|
|
52
|
+
*
|
|
53
|
+
* @type {Array<DedupStatsRecentRunsInner>}
|
|
54
|
+
* @memberof DedupStats
|
|
55
|
+
*/
|
|
56
|
+
recentRuns?: Array<DedupStatsRecentRunsInner>;
|
|
57
|
+
}
|
|
58
|
+
/**
|
|
59
|
+
* Check if a given object implements the DedupStats interface.
|
|
60
|
+
*/
|
|
61
|
+
export declare function instanceOfDedupStats(value: object): value is DedupStats;
|
|
62
|
+
export declare function DedupStatsFromJSON(json: any): DedupStats;
|
|
63
|
+
export declare function DedupStatsFromJSONTyped(json: any, ignoreDiscriminator: boolean): DedupStats;
|
|
64
|
+
export declare function DedupStatsToJSON(json: any): DedupStats;
|
|
65
|
+
export declare function DedupStatsToJSONTyped(value?: DedupStats | 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.instanceOfDedupStats = instanceOfDedupStats;
|
|
17
|
+
exports.DedupStatsFromJSON = DedupStatsFromJSON;
|
|
18
|
+
exports.DedupStatsFromJSONTyped = DedupStatsFromJSONTyped;
|
|
19
|
+
exports.DedupStatsToJSON = DedupStatsToJSON;
|
|
20
|
+
exports.DedupStatsToJSONTyped = DedupStatsToJSONTyped;
|
|
21
|
+
const DedupStatsLatestRun_1 = require("./DedupStatsLatestRun");
|
|
22
|
+
const DedupCounters_1 = require("./DedupCounters");
|
|
23
|
+
const DedupStatsRecentRunsInner_1 = require("./DedupStatsRecentRunsInner");
|
|
24
|
+
/**
|
|
25
|
+
* Check if a given object implements the DedupStats interface.
|
|
26
|
+
*/
|
|
27
|
+
function instanceOfDedupStats(value) {
|
|
28
|
+
return true;
|
|
29
|
+
}
|
|
30
|
+
function DedupStatsFromJSON(json) {
|
|
31
|
+
return DedupStatsFromJSONTyped(json, false);
|
|
32
|
+
}
|
|
33
|
+
function DedupStatsFromJSONTyped(json, ignoreDiscriminator) {
|
|
34
|
+
if (json == null) {
|
|
35
|
+
return json;
|
|
36
|
+
}
|
|
37
|
+
return {
|
|
38
|
+
'sourceId': json['source_id'] == null ? undefined : json['source_id'],
|
|
39
|
+
'sourceName': json['source_name'] == null ? undefined : json['source_name'],
|
|
40
|
+
'runCount': json['run_count'] == null ? undefined : json['run_count'],
|
|
41
|
+
'totals': json['totals'] == null ? undefined : (0, DedupCounters_1.DedupCountersFromJSON)(json['totals']),
|
|
42
|
+
'latestRun': json['latest_run'] == null ? undefined : (0, DedupStatsLatestRun_1.DedupStatsLatestRunFromJSON)(json['latest_run']),
|
|
43
|
+
'recentRuns': json['recent_runs'] == null ? undefined : (json['recent_runs'].map(DedupStatsRecentRunsInner_1.DedupStatsRecentRunsInnerFromJSON)),
|
|
44
|
+
};
|
|
45
|
+
}
|
|
46
|
+
function DedupStatsToJSON(json) {
|
|
47
|
+
return DedupStatsToJSONTyped(json, false);
|
|
48
|
+
}
|
|
49
|
+
function DedupStatsToJSONTyped(value, ignoreDiscriminator = false) {
|
|
50
|
+
if (value == null) {
|
|
51
|
+
return value;
|
|
52
|
+
}
|
|
53
|
+
return {
|
|
54
|
+
'source_id': value['sourceId'],
|
|
55
|
+
'source_name': value['sourceName'],
|
|
56
|
+
'run_count': value['runCount'],
|
|
57
|
+
'totals': (0, DedupCounters_1.DedupCountersToJSON)(value['totals']),
|
|
58
|
+
'latest_run': (0, DedupStatsLatestRun_1.DedupStatsLatestRunToJSON)(value['latestRun']),
|
|
59
|
+
'recent_runs': value['recentRuns'] == null ? undefined : (value['recentRuns'].map(DedupStatsRecentRunsInner_1.DedupStatsRecentRunsInnerToJSON)),
|
|
60
|
+
};
|
|
61
|
+
}
|
|
@@ -0,0 +1,60 @@
|
|
|
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 { DedupCounters } from './DedupCounters';
|
|
13
|
+
/**
|
|
14
|
+
* Most recent ingest run for a source, with its per-run dedup counters.
|
|
15
|
+
* @export
|
|
16
|
+
* @interface DedupStatsLatestRun
|
|
17
|
+
*/
|
|
18
|
+
export interface DedupStatsLatestRun {
|
|
19
|
+
/**
|
|
20
|
+
*
|
|
21
|
+
* @type {Date}
|
|
22
|
+
* @memberof DedupStatsLatestRun
|
|
23
|
+
*/
|
|
24
|
+
startedAt?: Date;
|
|
25
|
+
/**
|
|
26
|
+
*
|
|
27
|
+
* @type {Date}
|
|
28
|
+
* @memberof DedupStatsLatestRun
|
|
29
|
+
*/
|
|
30
|
+
finishedAt?: Date | null;
|
|
31
|
+
/**
|
|
32
|
+
*
|
|
33
|
+
* @type {DedupStatsLatestRunStatusEnum}
|
|
34
|
+
* @memberof DedupStatsLatestRun
|
|
35
|
+
*/
|
|
36
|
+
status?: DedupStatsLatestRunStatusEnum;
|
|
37
|
+
/**
|
|
38
|
+
*
|
|
39
|
+
* @type {DedupCounters}
|
|
40
|
+
* @memberof DedupStatsLatestRun
|
|
41
|
+
*/
|
|
42
|
+
counters?: DedupCounters;
|
|
43
|
+
}
|
|
44
|
+
/**
|
|
45
|
+
* @export
|
|
46
|
+
*/
|
|
47
|
+
export declare const DedupStatsLatestRunStatusEnum: {
|
|
48
|
+
readonly Success: "success";
|
|
49
|
+
readonly Failed: "failed";
|
|
50
|
+
readonly Suspicious: "suspicious";
|
|
51
|
+
};
|
|
52
|
+
export type DedupStatsLatestRunStatusEnum = typeof DedupStatsLatestRunStatusEnum[keyof typeof DedupStatsLatestRunStatusEnum];
|
|
53
|
+
/**
|
|
54
|
+
* Check if a given object implements the DedupStatsLatestRun interface.
|
|
55
|
+
*/
|
|
56
|
+
export declare function instanceOfDedupStatsLatestRun(value: object): value is DedupStatsLatestRun;
|
|
57
|
+
export declare function DedupStatsLatestRunFromJSON(json: any): DedupStatsLatestRun;
|
|
58
|
+
export declare function DedupStatsLatestRunFromJSONTyped(json: any, ignoreDiscriminator: boolean): DedupStatsLatestRun;
|
|
59
|
+
export declare function DedupStatsLatestRunToJSON(json: any): DedupStatsLatestRun;
|
|
60
|
+
export declare function DedupStatsLatestRunToJSONTyped(value?: DedupStatsLatestRun | null, ignoreDiscriminator?: boolean): any;
|
|
@@ -0,0 +1,64 @@
|
|
|
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.DedupStatsLatestRunStatusEnum = void 0;
|
|
17
|
+
exports.instanceOfDedupStatsLatestRun = instanceOfDedupStatsLatestRun;
|
|
18
|
+
exports.DedupStatsLatestRunFromJSON = DedupStatsLatestRunFromJSON;
|
|
19
|
+
exports.DedupStatsLatestRunFromJSONTyped = DedupStatsLatestRunFromJSONTyped;
|
|
20
|
+
exports.DedupStatsLatestRunToJSON = DedupStatsLatestRunToJSON;
|
|
21
|
+
exports.DedupStatsLatestRunToJSONTyped = DedupStatsLatestRunToJSONTyped;
|
|
22
|
+
const DedupCounters_1 = require("./DedupCounters");
|
|
23
|
+
/**
|
|
24
|
+
* @export
|
|
25
|
+
*/
|
|
26
|
+
exports.DedupStatsLatestRunStatusEnum = {
|
|
27
|
+
Success: 'success',
|
|
28
|
+
Failed: 'failed',
|
|
29
|
+
Suspicious: 'suspicious'
|
|
30
|
+
};
|
|
31
|
+
/**
|
|
32
|
+
* Check if a given object implements the DedupStatsLatestRun interface.
|
|
33
|
+
*/
|
|
34
|
+
function instanceOfDedupStatsLatestRun(value) {
|
|
35
|
+
return true;
|
|
36
|
+
}
|
|
37
|
+
function DedupStatsLatestRunFromJSON(json) {
|
|
38
|
+
return DedupStatsLatestRunFromJSONTyped(json, false);
|
|
39
|
+
}
|
|
40
|
+
function DedupStatsLatestRunFromJSONTyped(json, ignoreDiscriminator) {
|
|
41
|
+
if (json == null) {
|
|
42
|
+
return json;
|
|
43
|
+
}
|
|
44
|
+
return {
|
|
45
|
+
'startedAt': json['started_at'] == null ? undefined : (new Date(json['started_at'])),
|
|
46
|
+
'finishedAt': json['finished_at'] == null ? undefined : (new Date(json['finished_at'])),
|
|
47
|
+
'status': json['status'] == null ? undefined : json['status'],
|
|
48
|
+
'counters': json['counters'] == null ? undefined : (0, DedupCounters_1.DedupCountersFromJSON)(json['counters']),
|
|
49
|
+
};
|
|
50
|
+
}
|
|
51
|
+
function DedupStatsLatestRunToJSON(json) {
|
|
52
|
+
return DedupStatsLatestRunToJSONTyped(json, false);
|
|
53
|
+
}
|
|
54
|
+
function DedupStatsLatestRunToJSONTyped(value, ignoreDiscriminator = false) {
|
|
55
|
+
if (value == null) {
|
|
56
|
+
return value;
|
|
57
|
+
}
|
|
58
|
+
return {
|
|
59
|
+
'started_at': value['startedAt'] == null ? value['startedAt'] : value['startedAt'].toISOString(),
|
|
60
|
+
'finished_at': value['finishedAt'] == null ? value['finishedAt'] : value['finishedAt'].toISOString(),
|
|
61
|
+
'status': value['status'],
|
|
62
|
+
'counters': (0, DedupCounters_1.DedupCountersToJSON)(value['counters']),
|
|
63
|
+
};
|
|
64
|
+
}
|
|
@@ -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 { DedupCounters } from './DedupCounters';
|
|
13
|
+
/**
|
|
14
|
+
* Condensed entry in DedupStats.recent_runs[].
|
|
15
|
+
* @export
|
|
16
|
+
* @interface DedupStatsRecentRunsInner
|
|
17
|
+
*/
|
|
18
|
+
export interface DedupStatsRecentRunsInner {
|
|
19
|
+
/**
|
|
20
|
+
*
|
|
21
|
+
* @type {Date}
|
|
22
|
+
* @memberof DedupStatsRecentRunsInner
|
|
23
|
+
*/
|
|
24
|
+
startedAt?: Date;
|
|
25
|
+
/**
|
|
26
|
+
*
|
|
27
|
+
* @type {string}
|
|
28
|
+
* @memberof DedupStatsRecentRunsInner
|
|
29
|
+
*/
|
|
30
|
+
status?: string;
|
|
31
|
+
/**
|
|
32
|
+
*
|
|
33
|
+
* @type {DedupCounters}
|
|
34
|
+
* @memberof DedupStatsRecentRunsInner
|
|
35
|
+
*/
|
|
36
|
+
counters?: DedupCounters;
|
|
37
|
+
}
|
|
38
|
+
/**
|
|
39
|
+
* Check if a given object implements the DedupStatsRecentRunsInner interface.
|
|
40
|
+
*/
|
|
41
|
+
export declare function instanceOfDedupStatsRecentRunsInner(value: object): value is DedupStatsRecentRunsInner;
|
|
42
|
+
export declare function DedupStatsRecentRunsInnerFromJSON(json: any): DedupStatsRecentRunsInner;
|
|
43
|
+
export declare function DedupStatsRecentRunsInnerFromJSONTyped(json: any, ignoreDiscriminator: boolean): DedupStatsRecentRunsInner;
|
|
44
|
+
export declare function DedupStatsRecentRunsInnerToJSON(json: any): DedupStatsRecentRunsInner;
|
|
45
|
+
export declare function DedupStatsRecentRunsInnerToJSONTyped(value?: DedupStatsRecentRunsInner | 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.instanceOfDedupStatsRecentRunsInner = instanceOfDedupStatsRecentRunsInner;
|
|
17
|
+
exports.DedupStatsRecentRunsInnerFromJSON = DedupStatsRecentRunsInnerFromJSON;
|
|
18
|
+
exports.DedupStatsRecentRunsInnerFromJSONTyped = DedupStatsRecentRunsInnerFromJSONTyped;
|
|
19
|
+
exports.DedupStatsRecentRunsInnerToJSON = DedupStatsRecentRunsInnerToJSON;
|
|
20
|
+
exports.DedupStatsRecentRunsInnerToJSONTyped = DedupStatsRecentRunsInnerToJSONTyped;
|
|
21
|
+
const DedupCounters_1 = require("./DedupCounters");
|
|
22
|
+
/**
|
|
23
|
+
* Check if a given object implements the DedupStatsRecentRunsInner interface.
|
|
24
|
+
*/
|
|
25
|
+
function instanceOfDedupStatsRecentRunsInner(value) {
|
|
26
|
+
return true;
|
|
27
|
+
}
|
|
28
|
+
function DedupStatsRecentRunsInnerFromJSON(json) {
|
|
29
|
+
return DedupStatsRecentRunsInnerFromJSONTyped(json, false);
|
|
30
|
+
}
|
|
31
|
+
function DedupStatsRecentRunsInnerFromJSONTyped(json, ignoreDiscriminator) {
|
|
32
|
+
if (json == null) {
|
|
33
|
+
return json;
|
|
34
|
+
}
|
|
35
|
+
return {
|
|
36
|
+
'startedAt': json['started_at'] == null ? undefined : (new Date(json['started_at'])),
|
|
37
|
+
'status': json['status'] == null ? undefined : json['status'],
|
|
38
|
+
'counters': json['counters'] == null ? undefined : (0, DedupCounters_1.DedupCountersFromJSON)(json['counters']),
|
|
39
|
+
};
|
|
40
|
+
}
|
|
41
|
+
function DedupStatsRecentRunsInnerToJSON(json) {
|
|
42
|
+
return DedupStatsRecentRunsInnerToJSONTyped(json, false);
|
|
43
|
+
}
|
|
44
|
+
function DedupStatsRecentRunsInnerToJSONTyped(value, ignoreDiscriminator = false) {
|
|
45
|
+
if (value == null) {
|
|
46
|
+
return value;
|
|
47
|
+
}
|
|
48
|
+
return {
|
|
49
|
+
'started_at': value['startedAt'] == null ? value['startedAt'] : value['startedAt'].toISOString(),
|
|
50
|
+
'status': value['status'],
|
|
51
|
+
'counters': (0, DedupCounters_1.DedupCountersToJSON)(value['counters']),
|
|
52
|
+
};
|
|
53
|
+
}
|
|
@@ -0,0 +1,54 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* C4R Aggregator API
|
|
3
|
+
* Aggregator for public [12-Step Meeting List](https://wordpress.org/plugins/12-step-meeting-list/) WordPress feeds. Ingests registered sources on a schedule, normalizes duplicates across feeds, and exposes a unified read API whose responses follow the [Meeting Guide API spec](https://github.com/code4recovery/spec) for drop-in client compatibility. - **Public endpoints** return Meeting Guide-shape data. `/meetings` requires at least one filter (bounding box, radius, region, source, program, day, or type) and is cursor-paginated. - **Per-source and per-region feeds** return bare JSON arrays — safe drop-in replacements for the upstream TSML endpoint. - **Admin endpoints** under `/admin/_*` require a Sanctum bearer token.
|
|
4
|
+
*
|
|
5
|
+
* The version of the OpenAPI document: 1.0.0
|
|
6
|
+
*
|
|
7
|
+
*
|
|
8
|
+
* NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).
|
|
9
|
+
* https://openapi-generator.tech
|
|
10
|
+
* Do not edit the class manually.
|
|
11
|
+
*/
|
|
12
|
+
/**
|
|
13
|
+
* Returned by `POST /admin/sources` when the upstream feed cannot be validated
|
|
14
|
+
* @export
|
|
15
|
+
* @interface FeedValidationError
|
|
16
|
+
*/
|
|
17
|
+
export interface FeedValidationError {
|
|
18
|
+
/**
|
|
19
|
+
*
|
|
20
|
+
* @type {string}
|
|
21
|
+
* @memberof FeedValidationError
|
|
22
|
+
*/
|
|
23
|
+
error?: string;
|
|
24
|
+
/**
|
|
25
|
+
*
|
|
26
|
+
* @type {FeedValidationErrorErrorTypeEnum}
|
|
27
|
+
* @memberof FeedValidationError
|
|
28
|
+
*/
|
|
29
|
+
errorType?: FeedValidationErrorErrorTypeEnum;
|
|
30
|
+
/**
|
|
31
|
+
*
|
|
32
|
+
* @type {string}
|
|
33
|
+
* @memberof FeedValidationError
|
|
34
|
+
*/
|
|
35
|
+
message?: string;
|
|
36
|
+
}
|
|
37
|
+
/**
|
|
38
|
+
* @export
|
|
39
|
+
*/
|
|
40
|
+
export declare const FeedValidationErrorErrorTypeEnum: {
|
|
41
|
+
readonly Network: "network";
|
|
42
|
+
readonly Http: "http";
|
|
43
|
+
readonly Parse: "parse";
|
|
44
|
+
readonly Empty: "empty";
|
|
45
|
+
};
|
|
46
|
+
export type FeedValidationErrorErrorTypeEnum = typeof FeedValidationErrorErrorTypeEnum[keyof typeof FeedValidationErrorErrorTypeEnum];
|
|
47
|
+
/**
|
|
48
|
+
* Check if a given object implements the FeedValidationError interface.
|
|
49
|
+
*/
|
|
50
|
+
export declare function instanceOfFeedValidationError(value: object): value is FeedValidationError;
|
|
51
|
+
export declare function FeedValidationErrorFromJSON(json: any): FeedValidationError;
|
|
52
|
+
export declare function FeedValidationErrorFromJSONTyped(json: any, ignoreDiscriminator: boolean): FeedValidationError;
|
|
53
|
+
export declare function FeedValidationErrorToJSON(json: any): FeedValidationError;
|
|
54
|
+
export declare function FeedValidationErrorToJSONTyped(value?: FeedValidationError | null, ignoreDiscriminator?: boolean): any;
|
|
@@ -0,0 +1,62 @@
|
|
|
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.FeedValidationErrorErrorTypeEnum = void 0;
|
|
17
|
+
exports.instanceOfFeedValidationError = instanceOfFeedValidationError;
|
|
18
|
+
exports.FeedValidationErrorFromJSON = FeedValidationErrorFromJSON;
|
|
19
|
+
exports.FeedValidationErrorFromJSONTyped = FeedValidationErrorFromJSONTyped;
|
|
20
|
+
exports.FeedValidationErrorToJSON = FeedValidationErrorToJSON;
|
|
21
|
+
exports.FeedValidationErrorToJSONTyped = FeedValidationErrorToJSONTyped;
|
|
22
|
+
/**
|
|
23
|
+
* @export
|
|
24
|
+
*/
|
|
25
|
+
exports.FeedValidationErrorErrorTypeEnum = {
|
|
26
|
+
Network: 'network',
|
|
27
|
+
Http: 'http',
|
|
28
|
+
Parse: 'parse',
|
|
29
|
+
Empty: 'empty'
|
|
30
|
+
};
|
|
31
|
+
/**
|
|
32
|
+
* Check if a given object implements the FeedValidationError interface.
|
|
33
|
+
*/
|
|
34
|
+
function instanceOfFeedValidationError(value) {
|
|
35
|
+
return true;
|
|
36
|
+
}
|
|
37
|
+
function FeedValidationErrorFromJSON(json) {
|
|
38
|
+
return FeedValidationErrorFromJSONTyped(json, false);
|
|
39
|
+
}
|
|
40
|
+
function FeedValidationErrorFromJSONTyped(json, ignoreDiscriminator) {
|
|
41
|
+
if (json == null) {
|
|
42
|
+
return json;
|
|
43
|
+
}
|
|
44
|
+
return {
|
|
45
|
+
'error': json['error'] == null ? undefined : json['error'],
|
|
46
|
+
'errorType': json['error_type'] == null ? undefined : json['error_type'],
|
|
47
|
+
'message': json['message'] == null ? undefined : json['message'],
|
|
48
|
+
};
|
|
49
|
+
}
|
|
50
|
+
function FeedValidationErrorToJSON(json) {
|
|
51
|
+
return FeedValidationErrorToJSONTyped(json, false);
|
|
52
|
+
}
|
|
53
|
+
function FeedValidationErrorToJSONTyped(value, ignoreDiscriminator = false) {
|
|
54
|
+
if (value == null) {
|
|
55
|
+
return value;
|
|
56
|
+
}
|
|
57
|
+
return {
|
|
58
|
+
'error': value['error'],
|
|
59
|
+
'error_type': value['errorType'],
|
|
60
|
+
'message': value['message'],
|
|
61
|
+
};
|
|
62
|
+
}
|