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,270 @@
|
|
|
1
|
+
/* tslint:disable */
|
|
2
|
+
/* eslint-disable */
|
|
3
|
+
/**
|
|
4
|
+
* C4R Aggregator API
|
|
5
|
+
* Aggregator for public [12-Step Meeting List](https://wordpress.org/plugins/12-step-meeting-list/) WordPress feeds. Ingests registered sources on a schedule, normalizes duplicates across feeds, and exposes a unified read API whose responses follow the [Meeting Guide API spec](https://github.com/code4recovery/spec) for drop-in client compatibility. - **Public endpoints** return Meeting Guide-shape data. `/meetings` requires at least one filter (bounding box, radius, region, source, program, day, or type) and is cursor-paginated. - **Per-source and per-region feeds** return bare JSON arrays — safe drop-in replacements for the upstream TSML endpoint. - **Admin endpoints** under `/admin/_*` require a Sanctum bearer token.
|
|
6
|
+
*
|
|
7
|
+
* The version of the OpenAPI document: 1.0.0
|
|
8
|
+
*
|
|
9
|
+
*
|
|
10
|
+
* NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).
|
|
11
|
+
* https://openapi-generator.tech
|
|
12
|
+
* Do not edit the class manually.
|
|
13
|
+
*/
|
|
14
|
+
|
|
15
|
+
import { mapValues } from '../runtime';
|
|
16
|
+
/**
|
|
17
|
+
* Full admin view of a source, including failure state, backoff, and all entity metadata.
|
|
18
|
+
* @export
|
|
19
|
+
* @interface AdminSource
|
|
20
|
+
*/
|
|
21
|
+
export interface AdminSource {
|
|
22
|
+
/**
|
|
23
|
+
*
|
|
24
|
+
* @type {number}
|
|
25
|
+
* @memberof AdminSource
|
|
26
|
+
*/
|
|
27
|
+
id?: number;
|
|
28
|
+
/**
|
|
29
|
+
*
|
|
30
|
+
* @type {string}
|
|
31
|
+
* @memberof AdminSource
|
|
32
|
+
*/
|
|
33
|
+
program?: string;
|
|
34
|
+
/**
|
|
35
|
+
*
|
|
36
|
+
* @type {string}
|
|
37
|
+
* @memberof AdminSource
|
|
38
|
+
*/
|
|
39
|
+
name?: string;
|
|
40
|
+
/**
|
|
41
|
+
*
|
|
42
|
+
* @type {string}
|
|
43
|
+
* @memberof AdminSource
|
|
44
|
+
*/
|
|
45
|
+
feedUrl?: string;
|
|
46
|
+
/**
|
|
47
|
+
*
|
|
48
|
+
* @type {AdminSourceFeedKindEnum}
|
|
49
|
+
* @memberof AdminSource
|
|
50
|
+
*/
|
|
51
|
+
feedKind?: AdminSourceFeedKindEnum;
|
|
52
|
+
/**
|
|
53
|
+
*
|
|
54
|
+
* @type {AdminSourceStateEnum}
|
|
55
|
+
* @memberof AdminSource
|
|
56
|
+
*/
|
|
57
|
+
state?: AdminSourceStateEnum;
|
|
58
|
+
/**
|
|
59
|
+
*
|
|
60
|
+
* @type {number}
|
|
61
|
+
* @memberof AdminSource
|
|
62
|
+
*/
|
|
63
|
+
fetchIntervalMinutes?: number;
|
|
64
|
+
/**
|
|
65
|
+
*
|
|
66
|
+
* @type {Date}
|
|
67
|
+
* @memberof AdminSource
|
|
68
|
+
*/
|
|
69
|
+
lastFetchedAt?: Date | null;
|
|
70
|
+
/**
|
|
71
|
+
*
|
|
72
|
+
* @type {Date}
|
|
73
|
+
* @memberof AdminSource
|
|
74
|
+
*/
|
|
75
|
+
lastSuccessAt?: Date | null;
|
|
76
|
+
/**
|
|
77
|
+
*
|
|
78
|
+
* @type {string}
|
|
79
|
+
* @memberof AdminSource
|
|
80
|
+
*/
|
|
81
|
+
lastError?: string | null;
|
|
82
|
+
/**
|
|
83
|
+
*
|
|
84
|
+
* @type {AdminSourceLastErrorTypeEnum}
|
|
85
|
+
* @memberof AdminSource
|
|
86
|
+
*/
|
|
87
|
+
lastErrorType?: AdminSourceLastErrorTypeEnum | null;
|
|
88
|
+
/**
|
|
89
|
+
*
|
|
90
|
+
* @type {number}
|
|
91
|
+
* @memberof AdminSource
|
|
92
|
+
*/
|
|
93
|
+
consecutiveFailures?: number;
|
|
94
|
+
/**
|
|
95
|
+
*
|
|
96
|
+
* @type {Date}
|
|
97
|
+
* @memberof AdminSource
|
|
98
|
+
*/
|
|
99
|
+
nextFetchAt?: Date | null;
|
|
100
|
+
/**
|
|
101
|
+
*
|
|
102
|
+
* @type {number}
|
|
103
|
+
* @memberof AdminSource
|
|
104
|
+
*/
|
|
105
|
+
lastSuccessfulMeetingCount?: number | null;
|
|
106
|
+
/**
|
|
107
|
+
*
|
|
108
|
+
* @type {number}
|
|
109
|
+
* @memberof AdminSource
|
|
110
|
+
*/
|
|
111
|
+
daysSinceLastSuccess?: number | null;
|
|
112
|
+
/**
|
|
113
|
+
*
|
|
114
|
+
* @type {Date}
|
|
115
|
+
* @memberof AdminSource
|
|
116
|
+
*/
|
|
117
|
+
pausedAt?: Date | null;
|
|
118
|
+
/**
|
|
119
|
+
*
|
|
120
|
+
* @type {Date}
|
|
121
|
+
* @memberof AdminSource
|
|
122
|
+
*/
|
|
123
|
+
dormantAt?: Date | null;
|
|
124
|
+
/**
|
|
125
|
+
*
|
|
126
|
+
* @type {Date}
|
|
127
|
+
* @memberof AdminSource
|
|
128
|
+
*/
|
|
129
|
+
deletedAt?: Date | null;
|
|
130
|
+
/**
|
|
131
|
+
*
|
|
132
|
+
* @type {string}
|
|
133
|
+
* @memberof AdminSource
|
|
134
|
+
*/
|
|
135
|
+
entity?: string | null;
|
|
136
|
+
/**
|
|
137
|
+
*
|
|
138
|
+
* @type {string}
|
|
139
|
+
* @memberof AdminSource
|
|
140
|
+
*/
|
|
141
|
+
entityEmail?: string | null;
|
|
142
|
+
/**
|
|
143
|
+
*
|
|
144
|
+
* @type {string}
|
|
145
|
+
* @memberof AdminSource
|
|
146
|
+
*/
|
|
147
|
+
entityUrl?: string | null;
|
|
148
|
+
/**
|
|
149
|
+
*
|
|
150
|
+
* @type {string}
|
|
151
|
+
* @memberof AdminSource
|
|
152
|
+
*/
|
|
153
|
+
notificationWebhookUrl?: string | null;
|
|
154
|
+
}
|
|
155
|
+
|
|
156
|
+
|
|
157
|
+
/**
|
|
158
|
+
* @export
|
|
159
|
+
*/
|
|
160
|
+
export const AdminSourceFeedKindEnum = {
|
|
161
|
+
TsmlJson: 'tsml_json',
|
|
162
|
+
GoogleSheet: 'google_sheet'
|
|
163
|
+
} as const;
|
|
164
|
+
export type AdminSourceFeedKindEnum = typeof AdminSourceFeedKindEnum[keyof typeof AdminSourceFeedKindEnum];
|
|
165
|
+
|
|
166
|
+
/**
|
|
167
|
+
* @export
|
|
168
|
+
*/
|
|
169
|
+
export const AdminSourceStateEnum = {
|
|
170
|
+
Pending: 'pending',
|
|
171
|
+
Active: 'active',
|
|
172
|
+
Degraded: 'degraded',
|
|
173
|
+
Failing: 'failing',
|
|
174
|
+
Dormant: 'dormant',
|
|
175
|
+
Paused: 'paused',
|
|
176
|
+
Deleted: 'deleted'
|
|
177
|
+
} as const;
|
|
178
|
+
export type AdminSourceStateEnum = typeof AdminSourceStateEnum[keyof typeof AdminSourceStateEnum];
|
|
179
|
+
|
|
180
|
+
/**
|
|
181
|
+
* @export
|
|
182
|
+
*/
|
|
183
|
+
export const AdminSourceLastErrorTypeEnum = {
|
|
184
|
+
Network: 'network',
|
|
185
|
+
Http: 'http',
|
|
186
|
+
Parse: 'parse',
|
|
187
|
+
Empty: 'empty',
|
|
188
|
+
Suspicious: 'suspicious'
|
|
189
|
+
} as const;
|
|
190
|
+
export type AdminSourceLastErrorTypeEnum = typeof AdminSourceLastErrorTypeEnum[keyof typeof AdminSourceLastErrorTypeEnum];
|
|
191
|
+
|
|
192
|
+
|
|
193
|
+
/**
|
|
194
|
+
* Check if a given object implements the AdminSource interface.
|
|
195
|
+
*/
|
|
196
|
+
export function instanceOfAdminSource(value: object): value is AdminSource {
|
|
197
|
+
return true;
|
|
198
|
+
}
|
|
199
|
+
|
|
200
|
+
export function AdminSourceFromJSON(json: any): AdminSource {
|
|
201
|
+
return AdminSourceFromJSONTyped(json, false);
|
|
202
|
+
}
|
|
203
|
+
|
|
204
|
+
export function AdminSourceFromJSONTyped(json: any, ignoreDiscriminator: boolean): AdminSource {
|
|
205
|
+
if (json == null) {
|
|
206
|
+
return json;
|
|
207
|
+
}
|
|
208
|
+
return {
|
|
209
|
+
|
|
210
|
+
'id': json['id'] == null ? undefined : json['id'],
|
|
211
|
+
'program': json['program'] == null ? undefined : json['program'],
|
|
212
|
+
'name': json['name'] == null ? undefined : json['name'],
|
|
213
|
+
'feedUrl': json['feed_url'] == null ? undefined : json['feed_url'],
|
|
214
|
+
'feedKind': json['feed_kind'] == null ? undefined : json['feed_kind'],
|
|
215
|
+
'state': json['state'] == null ? undefined : json['state'],
|
|
216
|
+
'fetchIntervalMinutes': json['fetch_interval_minutes'] == null ? undefined : json['fetch_interval_minutes'],
|
|
217
|
+
'lastFetchedAt': json['last_fetched_at'] == null ? undefined : (new Date(json['last_fetched_at'])),
|
|
218
|
+
'lastSuccessAt': json['last_success_at'] == null ? undefined : (new Date(json['last_success_at'])),
|
|
219
|
+
'lastError': json['last_error'] == null ? undefined : json['last_error'],
|
|
220
|
+
'lastErrorType': json['last_error_type'] == null ? undefined : json['last_error_type'],
|
|
221
|
+
'consecutiveFailures': json['consecutive_failures'] == null ? undefined : json['consecutive_failures'],
|
|
222
|
+
'nextFetchAt': json['next_fetch_at'] == null ? undefined : (new Date(json['next_fetch_at'])),
|
|
223
|
+
'lastSuccessfulMeetingCount': json['last_successful_meeting_count'] == null ? undefined : json['last_successful_meeting_count'],
|
|
224
|
+
'daysSinceLastSuccess': json['days_since_last_success'] == null ? undefined : json['days_since_last_success'],
|
|
225
|
+
'pausedAt': json['paused_at'] == null ? undefined : (new Date(json['paused_at'])),
|
|
226
|
+
'dormantAt': json['dormant_at'] == null ? undefined : (new Date(json['dormant_at'])),
|
|
227
|
+
'deletedAt': json['deleted_at'] == null ? undefined : (new Date(json['deleted_at'])),
|
|
228
|
+
'entity': json['entity'] == null ? undefined : json['entity'],
|
|
229
|
+
'entityEmail': json['entity_email'] == null ? undefined : json['entity_email'],
|
|
230
|
+
'entityUrl': json['entity_url'] == null ? undefined : json['entity_url'],
|
|
231
|
+
'notificationWebhookUrl': json['notification_webhook_url'] == null ? undefined : json['notification_webhook_url'],
|
|
232
|
+
};
|
|
233
|
+
}
|
|
234
|
+
|
|
235
|
+
export function AdminSourceToJSON(json: any): AdminSource {
|
|
236
|
+
return AdminSourceToJSONTyped(json, false);
|
|
237
|
+
}
|
|
238
|
+
|
|
239
|
+
export function AdminSourceToJSONTyped(value?: AdminSource | null, ignoreDiscriminator: boolean = false): any {
|
|
240
|
+
if (value == null) {
|
|
241
|
+
return value;
|
|
242
|
+
}
|
|
243
|
+
|
|
244
|
+
return {
|
|
245
|
+
|
|
246
|
+
'id': value['id'],
|
|
247
|
+
'program': value['program'],
|
|
248
|
+
'name': value['name'],
|
|
249
|
+
'feed_url': value['feedUrl'],
|
|
250
|
+
'feed_kind': value['feedKind'],
|
|
251
|
+
'state': value['state'],
|
|
252
|
+
'fetch_interval_minutes': value['fetchIntervalMinutes'],
|
|
253
|
+
'last_fetched_at': value['lastFetchedAt'] == null ? value['lastFetchedAt'] : value['lastFetchedAt'].toISOString(),
|
|
254
|
+
'last_success_at': value['lastSuccessAt'] == null ? value['lastSuccessAt'] : value['lastSuccessAt'].toISOString(),
|
|
255
|
+
'last_error': value['lastError'],
|
|
256
|
+
'last_error_type': value['lastErrorType'],
|
|
257
|
+
'consecutive_failures': value['consecutiveFailures'],
|
|
258
|
+
'next_fetch_at': value['nextFetchAt'] == null ? value['nextFetchAt'] : value['nextFetchAt'].toISOString(),
|
|
259
|
+
'last_successful_meeting_count': value['lastSuccessfulMeetingCount'],
|
|
260
|
+
'days_since_last_success': value['daysSinceLastSuccess'],
|
|
261
|
+
'paused_at': value['pausedAt'] == null ? value['pausedAt'] : value['pausedAt'].toISOString(),
|
|
262
|
+
'dormant_at': value['dormantAt'] == null ? value['dormantAt'] : value['dormantAt'].toISOString(),
|
|
263
|
+
'deleted_at': value['deletedAt'] == null ? value['deletedAt'] : value['deletedAt'].toISOString(),
|
|
264
|
+
'entity': value['entity'],
|
|
265
|
+
'entity_email': value['entityEmail'],
|
|
266
|
+
'entity_url': value['entityUrl'],
|
|
267
|
+
'notification_webhook_url': value['notificationWebhookUrl'],
|
|
268
|
+
};
|
|
269
|
+
}
|
|
270
|
+
|
|
@@ -0,0 +1,65 @@
|
|
|
1
|
+
/* tslint:disable */
|
|
2
|
+
/* eslint-disable */
|
|
3
|
+
/**
|
|
4
|
+
* C4R Aggregator API
|
|
5
|
+
* Aggregator for public [12-Step Meeting List](https://wordpress.org/plugins/12-step-meeting-list/) WordPress feeds. Ingests registered sources on a schedule, normalizes duplicates across feeds, and exposes a unified read API whose responses follow the [Meeting Guide API spec](https://github.com/code4recovery/spec) for drop-in client compatibility. - **Public endpoints** return Meeting Guide-shape data. `/meetings` requires at least one filter (bounding box, radius, region, source, program, day, or type) and is cursor-paginated. - **Per-source and per-region feeds** return bare JSON arrays — safe drop-in replacements for the upstream TSML endpoint. - **Admin endpoints** under `/admin/_*` require a Sanctum bearer token.
|
|
6
|
+
*
|
|
7
|
+
* The version of the OpenAPI document: 1.0.0
|
|
8
|
+
*
|
|
9
|
+
*
|
|
10
|
+
* NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).
|
|
11
|
+
* https://openapi-generator.tech
|
|
12
|
+
* Do not edit the class manually.
|
|
13
|
+
*/
|
|
14
|
+
|
|
15
|
+
import { mapValues } from '../runtime';
|
|
16
|
+
/**
|
|
17
|
+
*
|
|
18
|
+
* @export
|
|
19
|
+
* @interface AuthError
|
|
20
|
+
*/
|
|
21
|
+
export interface AuthError {
|
|
22
|
+
/**
|
|
23
|
+
*
|
|
24
|
+
* @type {string}
|
|
25
|
+
* @memberof AuthError
|
|
26
|
+
*/
|
|
27
|
+
message?: string;
|
|
28
|
+
}
|
|
29
|
+
|
|
30
|
+
/**
|
|
31
|
+
* Check if a given object implements the AuthError interface.
|
|
32
|
+
*/
|
|
33
|
+
export function instanceOfAuthError(value: object): value is AuthError {
|
|
34
|
+
return true;
|
|
35
|
+
}
|
|
36
|
+
|
|
37
|
+
export function AuthErrorFromJSON(json: any): AuthError {
|
|
38
|
+
return AuthErrorFromJSONTyped(json, false);
|
|
39
|
+
}
|
|
40
|
+
|
|
41
|
+
export function AuthErrorFromJSONTyped(json: any, ignoreDiscriminator: boolean): AuthError {
|
|
42
|
+
if (json == null) {
|
|
43
|
+
return json;
|
|
44
|
+
}
|
|
45
|
+
return {
|
|
46
|
+
|
|
47
|
+
'message': json['message'] == null ? undefined : json['message'],
|
|
48
|
+
};
|
|
49
|
+
}
|
|
50
|
+
|
|
51
|
+
export function AuthErrorToJSON(json: any): AuthError {
|
|
52
|
+
return AuthErrorToJSONTyped(json, false);
|
|
53
|
+
}
|
|
54
|
+
|
|
55
|
+
export function AuthErrorToJSONTyped(value?: AuthError | null, ignoreDiscriminator: boolean = false): any {
|
|
56
|
+
if (value == null) {
|
|
57
|
+
return value;
|
|
58
|
+
}
|
|
59
|
+
|
|
60
|
+
return {
|
|
61
|
+
|
|
62
|
+
'message': value['message'],
|
|
63
|
+
};
|
|
64
|
+
}
|
|
65
|
+
|
|
@@ -0,0 +1,126 @@
|
|
|
1
|
+
/* tslint:disable */
|
|
2
|
+
/* eslint-disable */
|
|
3
|
+
/**
|
|
4
|
+
* C4R Aggregator API
|
|
5
|
+
* Aggregator for public [12-Step Meeting List](https://wordpress.org/plugins/12-step-meeting-list/) WordPress feeds. Ingests registered sources on a schedule, normalizes duplicates across feeds, and exposes a unified read API whose responses follow the [Meeting Guide API spec](https://github.com/code4recovery/spec) for drop-in client compatibility. - **Public endpoints** return Meeting Guide-shape data. `/meetings` requires at least one filter (bounding box, radius, region, source, program, day, or type) and is cursor-paginated. - **Per-source and per-region feeds** return bare JSON arrays — safe drop-in replacements for the upstream TSML endpoint. - **Admin endpoints** under `/admin/_*` require a Sanctum bearer token.
|
|
6
|
+
*
|
|
7
|
+
* The version of the OpenAPI document: 1.0.0
|
|
8
|
+
*
|
|
9
|
+
*
|
|
10
|
+
* NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).
|
|
11
|
+
* https://openapi-generator.tech
|
|
12
|
+
* Do not edit the class manually.
|
|
13
|
+
*/
|
|
14
|
+
|
|
15
|
+
import { mapValues } from '../runtime';
|
|
16
|
+
/**
|
|
17
|
+
*
|
|
18
|
+
* @export
|
|
19
|
+
* @interface CreateSourceRequest
|
|
20
|
+
*/
|
|
21
|
+
export interface CreateSourceRequest {
|
|
22
|
+
/**
|
|
23
|
+
*
|
|
24
|
+
* @type {string}
|
|
25
|
+
* @memberof CreateSourceRequest
|
|
26
|
+
*/
|
|
27
|
+
feedUrl: string;
|
|
28
|
+
/**
|
|
29
|
+
*
|
|
30
|
+
* @type {string}
|
|
31
|
+
* @memberof CreateSourceRequest
|
|
32
|
+
*/
|
|
33
|
+
program: string;
|
|
34
|
+
/**
|
|
35
|
+
* `tsml_json` (default) fetches an upstream Meeting Guide JSON feed. `google_sheet` reads a public Google Sheet backing a tsml-ui front-end (the `data-src` on `<div id="tsml-ui">`); the sheet is fetched via the anonymous gviz CSV export. `google_sheet` sources are forced to run no more than once per day.
|
|
36
|
+
* @type {CreateSourceRequestFeedKindEnum}
|
|
37
|
+
* @memberof CreateSourceRequest
|
|
38
|
+
*/
|
|
39
|
+
feedKind?: CreateSourceRequestFeedKindEnum;
|
|
40
|
+
/**
|
|
41
|
+
*
|
|
42
|
+
* @type {string}
|
|
43
|
+
* @memberof CreateSourceRequest
|
|
44
|
+
*/
|
|
45
|
+
name?: string | null;
|
|
46
|
+
/**
|
|
47
|
+
* Appended as `?key=…` on each fetch
|
|
48
|
+
* @type {string}
|
|
49
|
+
* @memberof CreateSourceRequest
|
|
50
|
+
*/
|
|
51
|
+
sharingKey?: string | null;
|
|
52
|
+
/**
|
|
53
|
+
*
|
|
54
|
+
* @type {number}
|
|
55
|
+
* @memberof CreateSourceRequest
|
|
56
|
+
*/
|
|
57
|
+
fetchIntervalMinutes?: number;
|
|
58
|
+
/**
|
|
59
|
+
*
|
|
60
|
+
* @type {string}
|
|
61
|
+
* @memberof CreateSourceRequest
|
|
62
|
+
*/
|
|
63
|
+
notificationWebhookUrl?: string | null;
|
|
64
|
+
}
|
|
65
|
+
|
|
66
|
+
|
|
67
|
+
/**
|
|
68
|
+
* @export
|
|
69
|
+
*/
|
|
70
|
+
export const CreateSourceRequestFeedKindEnum = {
|
|
71
|
+
TsmlJson: 'tsml_json',
|
|
72
|
+
GoogleSheet: 'google_sheet'
|
|
73
|
+
} as const;
|
|
74
|
+
export type CreateSourceRequestFeedKindEnum = typeof CreateSourceRequestFeedKindEnum[keyof typeof CreateSourceRequestFeedKindEnum];
|
|
75
|
+
|
|
76
|
+
|
|
77
|
+
/**
|
|
78
|
+
* Check if a given object implements the CreateSourceRequest interface.
|
|
79
|
+
*/
|
|
80
|
+
export function instanceOfCreateSourceRequest(value: object): value is CreateSourceRequest {
|
|
81
|
+
if ((!('feedUrl' in value) && !('feed_url' in value)) || (value['feedUrl'] === undefined && value['feed_url'] === undefined)) return false;
|
|
82
|
+
if (!('program' in value) || value['program'] === undefined) return false;
|
|
83
|
+
return true;
|
|
84
|
+
}
|
|
85
|
+
|
|
86
|
+
export function CreateSourceRequestFromJSON(json: any): CreateSourceRequest {
|
|
87
|
+
return CreateSourceRequestFromJSONTyped(json, false);
|
|
88
|
+
}
|
|
89
|
+
|
|
90
|
+
export function CreateSourceRequestFromJSONTyped(json: any, ignoreDiscriminator: boolean): CreateSourceRequest {
|
|
91
|
+
if (json == null) {
|
|
92
|
+
return json;
|
|
93
|
+
}
|
|
94
|
+
return {
|
|
95
|
+
|
|
96
|
+
'feedUrl': json['feed_url'],
|
|
97
|
+
'program': json['program'],
|
|
98
|
+
'feedKind': json['feed_kind'] == null ? undefined : json['feed_kind'],
|
|
99
|
+
'name': json['name'] == null ? undefined : json['name'],
|
|
100
|
+
'sharingKey': json['sharing_key'] == null ? undefined : json['sharing_key'],
|
|
101
|
+
'fetchIntervalMinutes': json['fetch_interval_minutes'] == null ? undefined : json['fetch_interval_minutes'],
|
|
102
|
+
'notificationWebhookUrl': json['notification_webhook_url'] == null ? undefined : json['notification_webhook_url'],
|
|
103
|
+
};
|
|
104
|
+
}
|
|
105
|
+
|
|
106
|
+
export function CreateSourceRequestToJSON(json: any): CreateSourceRequest {
|
|
107
|
+
return CreateSourceRequestToJSONTyped(json, false);
|
|
108
|
+
}
|
|
109
|
+
|
|
110
|
+
export function CreateSourceRequestToJSONTyped(value?: CreateSourceRequest | null, ignoreDiscriminator: boolean = false): any {
|
|
111
|
+
if (value == null) {
|
|
112
|
+
return value;
|
|
113
|
+
}
|
|
114
|
+
|
|
115
|
+
return {
|
|
116
|
+
|
|
117
|
+
'feed_url': value['feedUrl'],
|
|
118
|
+
'program': value['program'],
|
|
119
|
+
'feed_kind': value['feedKind'],
|
|
120
|
+
'name': value['name'],
|
|
121
|
+
'sharing_key': value['sharingKey'],
|
|
122
|
+
'fetch_interval_minutes': value['fetchIntervalMinutes'],
|
|
123
|
+
'notification_webhook_url': value['notificationWebhookUrl'],
|
|
124
|
+
};
|
|
125
|
+
}
|
|
126
|
+
|
|
@@ -0,0 +1,89 @@
|
|
|
1
|
+
/* tslint:disable */
|
|
2
|
+
/* eslint-disable */
|
|
3
|
+
/**
|
|
4
|
+
* C4R Aggregator API
|
|
5
|
+
* Aggregator for public [12-Step Meeting List](https://wordpress.org/plugins/12-step-meeting-list/) WordPress feeds. Ingests registered sources on a schedule, normalizes duplicates across feeds, and exposes a unified read API whose responses follow the [Meeting Guide API spec](https://github.com/code4recovery/spec) for drop-in client compatibility. - **Public endpoints** return Meeting Guide-shape data. `/meetings` requires at least one filter (bounding box, radius, region, source, program, day, or type) and is cursor-paginated. - **Per-source and per-region feeds** return bare JSON arrays — safe drop-in replacements for the upstream TSML endpoint. - **Admin endpoints** under `/admin/_*` require a Sanctum bearer token.
|
|
6
|
+
*
|
|
7
|
+
* The version of the OpenAPI document: 1.0.0
|
|
8
|
+
*
|
|
9
|
+
*
|
|
10
|
+
* NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).
|
|
11
|
+
* https://openapi-generator.tech
|
|
12
|
+
* Do not edit the class manually.
|
|
13
|
+
*/
|
|
14
|
+
|
|
15
|
+
import { mapValues } from '../runtime';
|
|
16
|
+
import type { AdminSource } from './AdminSource';
|
|
17
|
+
import {
|
|
18
|
+
AdminSourceFromJSON,
|
|
19
|
+
AdminSourceFromJSONTyped,
|
|
20
|
+
AdminSourceToJSON,
|
|
21
|
+
AdminSourceToJSONTyped,
|
|
22
|
+
} from './AdminSource';
|
|
23
|
+
|
|
24
|
+
/**
|
|
25
|
+
*
|
|
26
|
+
* @export
|
|
27
|
+
* @interface CreateSourceResponse
|
|
28
|
+
*/
|
|
29
|
+
export interface CreateSourceResponse {
|
|
30
|
+
/**
|
|
31
|
+
*
|
|
32
|
+
* @type {AdminSource}
|
|
33
|
+
* @memberof CreateSourceResponse
|
|
34
|
+
*/
|
|
35
|
+
source?: AdminSource;
|
|
36
|
+
/**
|
|
37
|
+
*
|
|
38
|
+
* @type {number}
|
|
39
|
+
* @memberof CreateSourceResponse
|
|
40
|
+
*/
|
|
41
|
+
totalMeetingsFound?: number;
|
|
42
|
+
/**
|
|
43
|
+
* Up to 10 raw upstream rows from the validated feed
|
|
44
|
+
* @type {Array<object>}
|
|
45
|
+
* @memberof CreateSourceResponse
|
|
46
|
+
*/
|
|
47
|
+
sampleMeetings?: Array<object>;
|
|
48
|
+
}
|
|
49
|
+
|
|
50
|
+
/**
|
|
51
|
+
* Check if a given object implements the CreateSourceResponse interface.
|
|
52
|
+
*/
|
|
53
|
+
export function instanceOfCreateSourceResponse(value: object): value is CreateSourceResponse {
|
|
54
|
+
return true;
|
|
55
|
+
}
|
|
56
|
+
|
|
57
|
+
export function CreateSourceResponseFromJSON(json: any): CreateSourceResponse {
|
|
58
|
+
return CreateSourceResponseFromJSONTyped(json, false);
|
|
59
|
+
}
|
|
60
|
+
|
|
61
|
+
export function CreateSourceResponseFromJSONTyped(json: any, ignoreDiscriminator: boolean): CreateSourceResponse {
|
|
62
|
+
if (json == null) {
|
|
63
|
+
return json;
|
|
64
|
+
}
|
|
65
|
+
return {
|
|
66
|
+
|
|
67
|
+
'source': json['source'] == null ? undefined : AdminSourceFromJSON(json['source']),
|
|
68
|
+
'totalMeetingsFound': json['total_meetings_found'] == null ? undefined : json['total_meetings_found'],
|
|
69
|
+
'sampleMeetings': json['sample_meetings'] == null ? undefined : json['sample_meetings'],
|
|
70
|
+
};
|
|
71
|
+
}
|
|
72
|
+
|
|
73
|
+
export function CreateSourceResponseToJSON(json: any): CreateSourceResponse {
|
|
74
|
+
return CreateSourceResponseToJSONTyped(json, false);
|
|
75
|
+
}
|
|
76
|
+
|
|
77
|
+
export function CreateSourceResponseToJSONTyped(value?: CreateSourceResponse | null, ignoreDiscriminator: boolean = false): any {
|
|
78
|
+
if (value == null) {
|
|
79
|
+
return value;
|
|
80
|
+
}
|
|
81
|
+
|
|
82
|
+
return {
|
|
83
|
+
|
|
84
|
+
'source': AdminSourceToJSON(value['source']),
|
|
85
|
+
'total_meetings_found': value['totalMeetingsFound'],
|
|
86
|
+
'sample_meetings': value['sampleMeetings'],
|
|
87
|
+
};
|
|
88
|
+
}
|
|
89
|
+
|
|
@@ -0,0 +1,137 @@
|
|
|
1
|
+
/* tslint:disable */
|
|
2
|
+
/* eslint-disable */
|
|
3
|
+
/**
|
|
4
|
+
* C4R Aggregator API
|
|
5
|
+
* Aggregator for public [12-Step Meeting List](https://wordpress.org/plugins/12-step-meeting-list/) WordPress feeds. Ingests registered sources on a schedule, normalizes duplicates across feeds, and exposes a unified read API whose responses follow the [Meeting Guide API spec](https://github.com/code4recovery/spec) for drop-in client compatibility. - **Public endpoints** return Meeting Guide-shape data. `/meetings` requires at least one filter (bounding box, radius, region, source, program, day, or type) and is cursor-paginated. - **Per-source and per-region feeds** return bare JSON arrays — safe drop-in replacements for the upstream TSML endpoint. - **Admin endpoints** under `/admin/_*` require a Sanctum bearer token.
|
|
6
|
+
*
|
|
7
|
+
* The version of the OpenAPI document: 1.0.0
|
|
8
|
+
*
|
|
9
|
+
*
|
|
10
|
+
* NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).
|
|
11
|
+
* https://openapi-generator.tech
|
|
12
|
+
* Do not edit the class manually.
|
|
13
|
+
*/
|
|
14
|
+
|
|
15
|
+
import { mapValues } from '../runtime';
|
|
16
|
+
/**
|
|
17
|
+
* Per-layer dedup counters from a single ingest run or summed across multiple runs.
|
|
18
|
+
* @export
|
|
19
|
+
* @interface DedupCounters
|
|
20
|
+
*/
|
|
21
|
+
export interface DedupCounters {
|
|
22
|
+
/**
|
|
23
|
+
*
|
|
24
|
+
* @type {number}
|
|
25
|
+
* @memberof DedupCounters
|
|
26
|
+
*/
|
|
27
|
+
locationsCreated?: number;
|
|
28
|
+
/**
|
|
29
|
+
*
|
|
30
|
+
* @type {number}
|
|
31
|
+
* @memberof DedupCounters
|
|
32
|
+
*/
|
|
33
|
+
locationsMatchedByUpstreamId?: number;
|
|
34
|
+
/**
|
|
35
|
+
*
|
|
36
|
+
* @type {number}
|
|
37
|
+
* @memberof DedupCounters
|
|
38
|
+
*/
|
|
39
|
+
locationsMatchedByAddress?: number;
|
|
40
|
+
/**
|
|
41
|
+
*
|
|
42
|
+
* @type {number}
|
|
43
|
+
* @memberof DedupCounters
|
|
44
|
+
*/
|
|
45
|
+
locationsMatchedByProximity?: number;
|
|
46
|
+
/**
|
|
47
|
+
*
|
|
48
|
+
* @type {number}
|
|
49
|
+
* @memberof DedupCounters
|
|
50
|
+
*/
|
|
51
|
+
groupsCreated?: number;
|
|
52
|
+
/**
|
|
53
|
+
*
|
|
54
|
+
* @type {number}
|
|
55
|
+
* @memberof DedupCounters
|
|
56
|
+
*/
|
|
57
|
+
groupsMatchedByUpstreamId?: number;
|
|
58
|
+
/**
|
|
59
|
+
*
|
|
60
|
+
* @type {number}
|
|
61
|
+
* @memberof DedupCounters
|
|
62
|
+
*/
|
|
63
|
+
groupsMatchedByName?: number;
|
|
64
|
+
/**
|
|
65
|
+
*
|
|
66
|
+
* @type {number}
|
|
67
|
+
* @memberof DedupCounters
|
|
68
|
+
*/
|
|
69
|
+
meetingsCreated?: number;
|
|
70
|
+
/**
|
|
71
|
+
*
|
|
72
|
+
* @type {number}
|
|
73
|
+
* @memberof DedupCounters
|
|
74
|
+
*/
|
|
75
|
+
meetingsMatched?: number;
|
|
76
|
+
/**
|
|
77
|
+
*
|
|
78
|
+
* @type {number}
|
|
79
|
+
* @memberof DedupCounters
|
|
80
|
+
*/
|
|
81
|
+
typesAutoDiscovered?: number;
|
|
82
|
+
}
|
|
83
|
+
|
|
84
|
+
/**
|
|
85
|
+
* Check if a given object implements the DedupCounters interface.
|
|
86
|
+
*/
|
|
87
|
+
export function instanceOfDedupCounters(value: object): value is DedupCounters {
|
|
88
|
+
return true;
|
|
89
|
+
}
|
|
90
|
+
|
|
91
|
+
export function DedupCountersFromJSON(json: any): DedupCounters {
|
|
92
|
+
return DedupCountersFromJSONTyped(json, false);
|
|
93
|
+
}
|
|
94
|
+
|
|
95
|
+
export function DedupCountersFromJSONTyped(json: any, ignoreDiscriminator: boolean): DedupCounters {
|
|
96
|
+
if (json == null) {
|
|
97
|
+
return json;
|
|
98
|
+
}
|
|
99
|
+
return {
|
|
100
|
+
|
|
101
|
+
'locationsCreated': json['locations_created'] == null ? undefined : json['locations_created'],
|
|
102
|
+
'locationsMatchedByUpstreamId': json['locations_matched_by_upstream_id'] == null ? undefined : json['locations_matched_by_upstream_id'],
|
|
103
|
+
'locationsMatchedByAddress': json['locations_matched_by_address'] == null ? undefined : json['locations_matched_by_address'],
|
|
104
|
+
'locationsMatchedByProximity': json['locations_matched_by_proximity'] == null ? undefined : json['locations_matched_by_proximity'],
|
|
105
|
+
'groupsCreated': json['groups_created'] == null ? undefined : json['groups_created'],
|
|
106
|
+
'groupsMatchedByUpstreamId': json['groups_matched_by_upstream_id'] == null ? undefined : json['groups_matched_by_upstream_id'],
|
|
107
|
+
'groupsMatchedByName': json['groups_matched_by_name'] == null ? undefined : json['groups_matched_by_name'],
|
|
108
|
+
'meetingsCreated': json['meetings_created'] == null ? undefined : json['meetings_created'],
|
|
109
|
+
'meetingsMatched': json['meetings_matched'] == null ? undefined : json['meetings_matched'],
|
|
110
|
+
'typesAutoDiscovered': json['types_auto_discovered'] == null ? undefined : json['types_auto_discovered'],
|
|
111
|
+
};
|
|
112
|
+
}
|
|
113
|
+
|
|
114
|
+
export function DedupCountersToJSON(json: any): DedupCounters {
|
|
115
|
+
return DedupCountersToJSONTyped(json, false);
|
|
116
|
+
}
|
|
117
|
+
|
|
118
|
+
export function DedupCountersToJSONTyped(value?: DedupCounters | null, ignoreDiscriminator: boolean = false): any {
|
|
119
|
+
if (value == null) {
|
|
120
|
+
return value;
|
|
121
|
+
}
|
|
122
|
+
|
|
123
|
+
return {
|
|
124
|
+
|
|
125
|
+
'locations_created': value['locationsCreated'],
|
|
126
|
+
'locations_matched_by_upstream_id': value['locationsMatchedByUpstreamId'],
|
|
127
|
+
'locations_matched_by_address': value['locationsMatchedByAddress'],
|
|
128
|
+
'locations_matched_by_proximity': value['locationsMatchedByProximity'],
|
|
129
|
+
'groups_created': value['groupsCreated'],
|
|
130
|
+
'groups_matched_by_upstream_id': value['groupsMatchedByUpstreamId'],
|
|
131
|
+
'groups_matched_by_name': value['groupsMatchedByName'],
|
|
132
|
+
'meetings_created': value['meetingsCreated'],
|
|
133
|
+
'meetings_matched': value['meetingsMatched'],
|
|
134
|
+
'types_auto_discovered': value['typesAutoDiscovered'],
|
|
135
|
+
};
|
|
136
|
+
}
|
|
137
|
+
|