@mapcreator/api 5.0.0-alpha.86 → 5.0.0-alpha.87
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/cjs/api/choropleth.d.ts +81 -4
- package/cjs/api/choropleth.d.ts.map +1 -1
- package/cjs/api/choropleth.js +26 -17
- package/cjs/api/choropleth.js.map +1 -1
- package/cjs/api/font.d.ts.map +1 -1
- package/cjs/api/font.js.map +1 -1
- package/cjs/api/insetMap.d.ts.map +1 -1
- package/cjs/api/insetMap.js +5 -3
- package/cjs/api/insetMap.js.map +1 -1
- package/cjs/api/jobRevision.d.ts.map +1 -1
- package/cjs/api/jobRevision.js +6 -4
- package/cjs/api/jobRevision.js.map +1 -1
- package/cjs/oauth.d.ts +6 -9
- package/cjs/oauth.d.ts.map +1 -1
- package/cjs/oauth.js +203 -28
- package/cjs/oauth.js.map +1 -1
- package/cjs/utils.d.ts.map +1 -1
- package/cjs/utils.js +3 -3
- package/cjs/utils.js.map +1 -1
- package/esm/api/choropleth.d.ts +81 -4
- package/esm/api/choropleth.d.ts.map +1 -1
- package/esm/api/choropleth.js +23 -16
- package/esm/api/choropleth.js.map +1 -1
- package/esm/api/font.d.ts.map +1 -1
- package/esm/api/font.js +1 -1
- package/esm/api/font.js.map +1 -1
- package/esm/api/insetMap.d.ts.map +1 -1
- package/esm/api/insetMap.js +6 -4
- package/esm/api/insetMap.js.map +1 -1
- package/esm/api/jobRevision.d.ts.map +1 -1
- package/esm/api/jobRevision.js +6 -4
- package/esm/api/jobRevision.js.map +1 -1
- package/esm/oauth.d.ts +6 -9
- package/esm/oauth.d.ts.map +1 -1
- package/esm/oauth.js +201 -27
- package/esm/oauth.js.map +1 -1
- package/esm/utils.d.ts.map +1 -1
- package/esm/utils.js +4 -4
- package/esm/utils.js.map +1 -1
- package/package.json +1 -1
- package/src/api/choropleth.ts +140 -44
- package/src/api/font.ts +1 -9
- package/src/api/insetMap.ts +5 -4
- package/src/api/jobRevision.ts +5 -4
- package/src/oauth.ts +258 -28
- package/src/utils.ts +4 -4
package/cjs/api/choropleth.d.ts
CHANGED
|
@@ -1,6 +1,13 @@
|
|
|
1
|
-
import { type ApiError, type ApiSuccess, Flatten, Revivers } from '../utils.js';
|
|
1
|
+
import { type ApiError, type ApiSuccess, type Flatten, type Revivers } from '../utils.js';
|
|
2
|
+
import type { RequireAtLeastOne } from 'type-fest';
|
|
2
3
|
import type { Polygon } from 'geojson';
|
|
3
|
-
|
|
4
|
+
export declare const boundingBoxRevivers: Revivers<{
|
|
5
|
+
data: {
|
|
6
|
+
bounding_box: string;
|
|
7
|
+
};
|
|
8
|
+
} & Omit<ApiSuccess, 'data'> | ApiError, {
|
|
9
|
+
boundingBox: Polygon;
|
|
10
|
+
}>;
|
|
4
11
|
export type ApiSearchPoint = {
|
|
5
12
|
lat: number;
|
|
6
13
|
lng: number;
|
|
@@ -23,12 +30,42 @@ export type GroupedArea = SingleOrGroupedAreaBase & {
|
|
|
23
30
|
};
|
|
24
31
|
export type SingleArea = SingleOrGroupedAreaBase & {
|
|
25
32
|
isGroup: false;
|
|
33
|
+
properties: Record<string, string>;
|
|
26
34
|
vectorSource: string;
|
|
27
35
|
sourceLayer: string;
|
|
28
36
|
featureId: number;
|
|
29
|
-
properties: Record<string, string>;
|
|
30
37
|
};
|
|
31
|
-
export type SingleOrGroupedArea =
|
|
38
|
+
export type SingleOrGroupedArea = {
|
|
39
|
+
id: number;
|
|
40
|
+
title: string;
|
|
41
|
+
subtitle: string;
|
|
42
|
+
svgPreview: string;
|
|
43
|
+
boundingBox: Polygon;
|
|
44
|
+
isGroup: boolean;
|
|
45
|
+
properties: Record<string, string> | null;
|
|
46
|
+
vectorSource: string | null;
|
|
47
|
+
sourceLayer: string | null;
|
|
48
|
+
featureId: number | null;
|
|
49
|
+
};
|
|
50
|
+
export type ApiSingleOrGroupedArea = {
|
|
51
|
+
data: {
|
|
52
|
+
id: number;
|
|
53
|
+
title: string;
|
|
54
|
+
subtitle: string;
|
|
55
|
+
svg_preview: string;
|
|
56
|
+
bounding_box: string;
|
|
57
|
+
is_group: boolean;
|
|
58
|
+
properties: string | null;
|
|
59
|
+
vector_source: string | null;
|
|
60
|
+
source_layer: string | null;
|
|
61
|
+
feature_id: number | null;
|
|
62
|
+
};
|
|
63
|
+
} & Omit<ApiSuccess, 'data'> | ApiError;
|
|
64
|
+
export type ApiSingleOrGroupedAreaData = Flatten<Exclude<ApiSingleOrGroupedArea, ApiError>['data']>;
|
|
65
|
+
export declare const singleOrGroupedAreaRevivers: Revivers<ApiSingleOrGroupedArea, SingleOrGroupedArea>;
|
|
66
|
+
/**
|
|
67
|
+
* TODO When SAGA search on click is implemented, remove mode and make searchBounds required
|
|
68
|
+
*/
|
|
32
69
|
export declare function searchSingleOrGroupedAreas(language: string, search: RequireAtLeastOne<{
|
|
33
70
|
searchBounds?: ApiSearchBounds;
|
|
34
71
|
query?: string;
|
|
@@ -57,5 +94,45 @@ type ApiGroupedAreaChild = {
|
|
|
57
94
|
export type ApiGroupedAreaChildData = Flatten<Exclude<ApiGroupedAreaChild, ApiError>['data']>;
|
|
58
95
|
export declare const groupedAreaChildRevivers: Revivers<ApiGroupedAreaChild, GroupedAreaChild>;
|
|
59
96
|
export declare function groupedAreaChildren(groupId: number, language: string): Promise<GroupedAreaChild[]>;
|
|
97
|
+
export type MatchedGroup = {
|
|
98
|
+
id: number;
|
|
99
|
+
sml: number;
|
|
100
|
+
childrenCount: number;
|
|
101
|
+
matchField: string;
|
|
102
|
+
boundingBox: Polygon;
|
|
103
|
+
property: string;
|
|
104
|
+
name: string;
|
|
105
|
+
};
|
|
106
|
+
export type ApiMatchedGroup = {
|
|
107
|
+
data: {
|
|
108
|
+
id: number;
|
|
109
|
+
sml: number;
|
|
110
|
+
children_count: number;
|
|
111
|
+
match_field: string;
|
|
112
|
+
bounding_box: string;
|
|
113
|
+
property: string;
|
|
114
|
+
name: string;
|
|
115
|
+
};
|
|
116
|
+
} & Omit<ApiSuccess, 'data'> | ApiError;
|
|
117
|
+
export type ApiMatchedGroupData = Flatten<Exclude<ApiMatchedGroup, ApiError>['data']>;
|
|
118
|
+
export declare function getGroupsByDataSample(sample: Record<string, string[]>, language: string, rowCount: number): Promise<MatchedGroup[]>;
|
|
119
|
+
export type BoundPolygon = {
|
|
120
|
+
index: number;
|
|
121
|
+
inputName: string;
|
|
122
|
+
id: number;
|
|
123
|
+
sml: number;
|
|
124
|
+
name: string;
|
|
125
|
+
};
|
|
126
|
+
export type ApiBoundPolygon = {
|
|
127
|
+
data: {
|
|
128
|
+
index: number;
|
|
129
|
+
input_name: string;
|
|
130
|
+
id: number;
|
|
131
|
+
sml: number;
|
|
132
|
+
name: string;
|
|
133
|
+
};
|
|
134
|
+
} & Omit<ApiSuccess, 'data'> | ApiError;
|
|
135
|
+
export type ApiBoundPolygonData = Flatten<Exclude<ApiBoundPolygon, ApiError>['data']>;
|
|
136
|
+
export declare function getBoundPolygons(groupId: number, property: string, data: string[], language: string): Promise<BoundPolygon[]>;
|
|
60
137
|
export {};
|
|
61
138
|
//# sourceMappingURL=choropleth.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"choropleth.d.ts","sourceRoot":"","sources":["../../src/api/choropleth.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,QAAQ,EAAE,KAAK,UAAU,EAAE,OAAO,EAAE,QAAQ,EAA4B,MAAM,aAAa,CAAC;
|
|
1
|
+
{"version":3,"file":"choropleth.d.ts","sourceRoot":"","sources":["../../src/api/choropleth.ts"],"names":[],"mappings":"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"}
|
package/cjs/api/choropleth.js
CHANGED
|
@@ -1,27 +1,26 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.groupedAreaChildRevivers = void 0;
|
|
3
|
+
exports.groupedAreaChildRevivers = exports.singleOrGroupedAreaRevivers = exports.boundingBoxRevivers = void 0;
|
|
4
4
|
exports.searchSingleOrGroupedAreas = searchSingleOrGroupedAreas;
|
|
5
5
|
exports.groupedAreaChildren = groupedAreaChildren;
|
|
6
|
+
exports.getGroupsByDataSample = getGroupsByDataSample;
|
|
7
|
+
exports.getBoundPolygons = getBoundPolygons;
|
|
6
8
|
const utils_js_1 = require("../utils.js");
|
|
7
|
-
|
|
8
|
-
/**
|
|
9
|
-
* TODO When SAGA search on click is implemented, remove mode and make searchBounds required
|
|
10
|
-
*/
|
|
11
|
-
return (0, utils_js_1.request)(`/v1/choropleth/polygons/search?${(0, utils_js_1.getSearchParams)(Object.assign(Object.assign(Object.assign(Object.assign({ language }, search.searchBounds), (search.query && { query: search.query })), (search.searchPoint && { point: search.searchPoint })), { mode }))}`).then(result => {
|
|
12
|
-
result.forEach(elem => {
|
|
13
|
-
elem.boundingBox = JSON.parse(elem.boundingBox);
|
|
14
|
-
if (!elem.isGroup) {
|
|
15
|
-
elem.properties = JSON.parse(elem.properties);
|
|
16
|
-
}
|
|
17
|
-
});
|
|
18
|
-
return result;
|
|
19
|
-
});
|
|
20
|
-
}
|
|
21
|
-
exports.groupedAreaChildRevivers = {
|
|
9
|
+
exports.boundingBoxRevivers = {
|
|
22
10
|
boundingBox: (data) => JSON.parse(data.bounding_box),
|
|
23
|
-
properties: (data) => JSON.parse(data.properties),
|
|
24
11
|
};
|
|
12
|
+
exports.singleOrGroupedAreaRevivers = Object.assign(Object.assign({}, exports.boundingBoxRevivers), { properties: (data) => (data.properties != null ? JSON.parse(data.properties) : null) });
|
|
13
|
+
/**
|
|
14
|
+
* TODO When SAGA search on click is implemented, remove mode and make searchBounds required
|
|
15
|
+
*/
|
|
16
|
+
async function searchSingleOrGroupedAreas(language, search, mode = 'both') {
|
|
17
|
+
const pathname = '/v1/choropleth/polygons/search';
|
|
18
|
+
const query = (0, utils_js_1.getSearchParams)(Object.assign(Object.assign(Object.assign(Object.assign({ language }, search.searchBounds), (search.query && { query: search.query })), (search.searchPoint && { point: search.searchPoint })), { mode }));
|
|
19
|
+
const path = `${pathname}?${query}`;
|
|
20
|
+
const options = { revivers: exports.singleOrGroupedAreaRevivers };
|
|
21
|
+
return (0, utils_js_1.request)(path, null, null, options);
|
|
22
|
+
}
|
|
23
|
+
exports.groupedAreaChildRevivers = Object.assign(Object.assign({}, exports.boundingBoxRevivers), { properties: (data) => JSON.parse(data.properties) });
|
|
25
24
|
async function groupedAreaChildren(groupId, language) {
|
|
26
25
|
const pathname = `/v1/choropleth/groups/${groupId}/children-optimized`;
|
|
27
26
|
const query = (0, utils_js_1.getSearchParams)({ language });
|
|
@@ -29,4 +28,14 @@ async function groupedAreaChildren(groupId, language) {
|
|
|
29
28
|
const options = { revivers: exports.groupedAreaChildRevivers };
|
|
30
29
|
return (0, utils_js_1.request)(path, null, null, options);
|
|
31
30
|
}
|
|
31
|
+
async function getGroupsByDataSample(sample, language, rowCount) {
|
|
32
|
+
const path = `/v1/choropleth/groups/sample`;
|
|
33
|
+
const options = { revivers: exports.boundingBoxRevivers };
|
|
34
|
+
return (0, utils_js_1.request)(path, { sample, language, row_count: rowCount }, null, options);
|
|
35
|
+
}
|
|
36
|
+
async function getBoundPolygons(groupId, property, data, language) {
|
|
37
|
+
const path = `/v1/choropleth/groups/bind`;
|
|
38
|
+
const body = { group_id: groupId, property, data, language };
|
|
39
|
+
return (0, utils_js_1.request)(path, body);
|
|
40
|
+
}
|
|
32
41
|
//# sourceMappingURL=choropleth.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"choropleth.js","sourceRoot":"","sources":["../../src/api/choropleth.ts"],"names":[],"mappings":";;;
|
|
1
|
+
{"version":3,"file":"choropleth.js","sourceRoot":"","sources":["../../src/api/choropleth.ts"],"names":[],"mappings":";;;AAqFA,gEAyBC;AA+BD,kDAWC;AA0BD,sDAaC;AAsBD,4CAcC;AAnOD,0CAAoH;AAKvG,QAAA,mBAAmB,GAG5B;IACF,WAAW,EAAE,CAAC,IAA8B,EAAE,EAAE,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,YAAY,CAAY;CAC1F,CAAC;AAkEW,QAAA,2BAA2B,mCACnC,2BAAmB,KACtB,UAAU,EAAE,CAAC,IAAgC,EAAE,EAAE,CAC/C,CAAC,IAAI,CAAC,UAAU,IAAI,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,UAAU,CAA2B,CAAC,CAAC,CAAC,IAAI,CAAC,IAC1F;AAEF;;GAEG;AACI,KAAK,UAAU,0BAA0B,CAC9C,QAAgB,EAChB,MAIE,EACF,OAAqC,MAAM;IAE3C,MAAM,QAAQ,GAAG,gCAAgC,CAAC;IAClD,MAAM,KAAK,GAAG,IAAA,0BAAe,4DAC3B,QAAQ,IACL,MAAM,CAAC,YAAY,GACnB,CAAC,MAAM,CAAC,KAAK,IAAI,EAAE,KAAK,EAAE,MAAM,CAAC,KAAK,EAAE,CAAC,GACzC,CAAC,MAAM,CAAC,WAAW,IAAI,EAAE,KAAK,EAAE,MAAM,CAAC,WAAW,EAAE,CAAC,KACxD,IAAI,IACJ,CAAC;IACH,MAAM,IAAI,GAAG,GAAG,QAAQ,IAAI,KAAK,EAAE,CAAC;IACpC,MAAM,OAAO,GAAG,EAAE,QAAQ,EAAE,mCAA2B,EAAE,CAAC;IAM1D,OAAO,IAAA,kBAAO,EAAmD,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,OAAO,CAAC,CAAC;AAC9F,CAAC;AA0BY,QAAA,wBAAwB,mCAChC,2BAAmB,KACtB,UAAU,EAAE,CAAC,IAA6B,EAAE,EAAE,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,UAAU,CAA2B,IACpG;AAEK,KAAK,UAAU,mBAAmB,CAAC,OAAe,EAAE,QAAgB;IACzE,MAAM,QAAQ,GAAG,yBAAyB,OAAO,qBAAqB,CAAC;IACvE,MAAM,KAAK,GAAG,IAAA,0BAAe,EAAC,EAAE,QAAQ,EAAE,CAAC,CAAC;IAC5C,MAAM,IAAI,GAAG,GAAG,QAAQ,IAAI,KAAK,EAAE,CAAC;IACpC,MAAM,OAAO,GAAG,EAAE,QAAQ,EAAE,gCAAwB,EAAE,CAAC;IAMvD,OAAO,IAAA,kBAAO,EAAgD,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,OAAO,CAAC,CAAC;AAC3F,CAAC;AA0BM,KAAK,UAAU,qBAAqB,CACzC,MAAgC,EAChC,QAAgB,EAChB,QAAgB;IAEhB,MAAM,IAAI,GAAG,8BAA8B,CAAC;IAC5C,MAAM,OAAO,GAAG,EAAE,QAAQ,EAAE,2BAAmB,EAAE,CAAC;IAMlD,OAAO,IAAA,kBAAO,EAAqC,IAAI,EAAE,EAAE,MAAM,EAAE,QAAQ,EAAE,SAAS,EAAE,QAAQ,EAAE,EAAE,IAAI,EAAE,OAAO,CAAC,CAAC;AACrH,CAAC;AAsBM,KAAK,UAAU,gBAAgB,CACpC,OAAe,EACf,QAAgB,EAChB,IAAc,EACd,QAAgB;IAEhB,MAAM,IAAI,GAAG,4BAA4B,CAAC;IAC1C,MAAM,IAAI,GAAG,EAAE,QAAQ,EAAE,OAAO,EAAE,QAAQ,EAAE,IAAI,EAAE,QAAQ,EAAE,CAAC;IAM7D,OAAO,IAAA,kBAAO,EAAqC,IAAI,EAAE,IAAI,CAAC,CAAC;AACjE,CAAC"}
|
package/cjs/api/font.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"font.d.ts","sourceRoot":"","sources":["../../src/api/font.ts"],"names":[],"mappings":"AAAA,OAAO,
|
|
1
|
+
{"version":3,"file":"font.d.ts","sourceRoot":"","sources":["../../src/api/font.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,aAAa,EAAE,KAAK,QAAQ,EAAE,KAAK,UAAU,EAAE,KAAK,OAAO,EAAE,KAAK,QAAQ,EAA4B,MAAM,aAAa,CAAC;AAExI,MAAM,MAAM,IAAI,GAAG;IACjB,EAAE,EAAE,MAAM,CAAC;IACX,YAAY,EAAE,MAAM,CAAC;IACrB,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,EAAE,MAAM,CAAC;IACd,MAAM,EAAE,MAAM,CAAC;IACf,KAAK,EAAE,MAAM,CAAC;IACd,OAAO,EAAE,MAAM,CAAC;CACjB,CAAC;AAEF,MAAM,MAAM,OAAO,GAAG;IACpB,IAAI,EAAE;QACJ,EAAE,EAAE,MAAM,CAAC;QACX,cAAc,EAAE,MAAM,CAAC;QACvB,IAAI,EAAE,MAAM,CAAC;QACb,KAAK,EAAE,MAAM,CAAC;QACd,OAAO,EAAE,MAAM,CAAC;QAChB,MAAM,EAAE,MAAM,CAAC;QACf,KAAK,EAAE,MAAM,CAAC;QACd,KAAK,CAAC,EAAE,MAAM,CAAC;KAChB,GAAG,aAAa,CAAC;CACnB,GAAG,IAAI,CAAC,UAAU,EAAE,MAAM,CAAC,GAAG,QAAQ,CAAC;AAExC,MAAM,MAAM,WAAW,GAAG,OAAO,CAAC,OAAO,CAAC,OAAO,EAAE,QAAQ,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC;AAEtE,KAAK,iBAAiB,GAAG;IACvB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,MAAM,CAAC,EAAE,MAAM,CAAC;CACjB,CAAC;AAEF,eAAO,MAAM,YAAY,EAAE,QAAQ,CAAC,OAAO,EAAE,IAAI,CAEhD,CAAC;AAEF,wBAAsB,QAAQ,CAAC,aAAa,EAAE,iBAAiB,GAAG,OAAO,CAAC,IAAI,EAAE,GAAG,IAAI,CAAC,CAWvF"}
|
package/cjs/api/font.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"font.js","sourceRoot":"","sources":["../../src/api/font.ts"],"names":[],"mappings":";;;
|
|
1
|
+
{"version":3,"file":"font.js","sourceRoot":"","sources":["../../src/api/font.ts"],"names":[],"mappings":";;;AAqCA,4BAWC;AAhDD,0CAAwI;AAiC3H,QAAA,YAAY,GAA4B;IACnD,KAAK,EAAE,SAAS;CACjB,CAAC;AAEK,KAAK,UAAU,QAAQ,CAAC,aAAgC;IAC7D,MAAM,QAAQ,GAAG,kBAAkB,CAAC;IACpC,MAAM,KAAK,GAAG,IAAA,0BAAe,EAAC,aAAa,CAAC,CAAC;IAE7C,MAAM,IAAI,GAAG,GAAG,QAAQ,IAAI,KAAK,EAAE,CAAC;IAMpC,OAAO,IAAA,kBAAO,EAAqB,IAAI,CAAC,CAAC;AAC3C,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"insetMap.d.ts","sourceRoot":"","sources":["../../src/api/insetMap.ts"],"names":[],"mappings":"AACA,OAAO,EAEL,KAAK,aAAa,EAClB,KAAK,QAAQ,EACb,KAAK,UAAU,EACf,KAAK,OAAO,EAIb,MAAM,aAAa,CAAC;AAErB,MAAM,MAAM,QAAQ,GAAG;IACrB,EAAE,EAAE,MAAM,CAAC;IACX,WAAW,EAAE,MAAM,CAAC;IACpB,YAAY,EAAE,MAAM,CAAC;IACrB,MAAM,EAAE,MAAM,CAAC;IACf,MAAM,EAAE,MAAM,CAAC;IACf,MAAM,EAAE,MAAM,CAAC;IACf,MAAM,EAAE,MAAM,CAAC;CAChB,CAAC;AAEF,MAAM,MAAM,WAAW,GAAG;IACxB,IAAI,EAAE;QACJ,EAAE,EAAE,MAAM,CAAC;QACX,WAAW,EAAE,MAAM,CAAC;QACpB,aAAa,EAAE,MAAM,CAAC;QACtB,OAAO,EAAE,MAAM,CAAC;QAChB,OAAO,EAAE,MAAM,CAAC;QAChB,OAAO,EAAE,MAAM,CAAC;QAChB,OAAO,EAAE,MAAM,CAAC;KACjB,GAAG,aAAa,CAAC;CACnB,GAAG,IAAI,CAAC,UAAU,EAAE,MAAM,CAAC,GAAG,QAAQ,CAAC;AAExC,MAAM,MAAM,eAAe,GAAG,OAAO,CAAC,OAAO,CAAC,WAAW,EAAE,QAAQ,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC;AAE9E,KAAK,QAAQ,GAAG;IACd,OAAO,EAAE;QACP,GAAG,EAAE,MAAM,CAAC;QACZ,GAAG,EAAE,MAAM,CAAC;KACb,CAAC;IACF,WAAW,EAAE;QACX,GAAG,EAAE,MAAM,CAAC;QACZ,GAAG,EAAE,MAAM,CAAC;KACb,CAAC;CACH,CAAC;AAEF,wBAAsB,aAAa,CAAC,QAAQ,EAAE,QAAQ,GAAG,OAAO,CAAC,QAAQ,EAAE,CAAC,CAQ3E;AAED,wBAAsB,WAAW,CAAC,UAAU,EAAE,MAAM,GAAG,OAAO,CAAC,QAAQ,CAAC,CAIvE;AAED,wBAAsB,mBAAmB,CAAC,QAAQ,EAAE,UAAU,EAAE,MAAM,GAAG,OAAO,CAAC,QAAQ,CAAC,
|
|
1
|
+
{"version":3,"file":"insetMap.d.ts","sourceRoot":"","sources":["../../src/api/insetMap.ts"],"names":[],"mappings":"AACA,OAAO,EAEL,KAAK,aAAa,EAClB,KAAK,QAAQ,EACb,KAAK,UAAU,EACf,KAAK,OAAO,EAIb,MAAM,aAAa,CAAC;AAErB,MAAM,MAAM,QAAQ,GAAG;IACrB,EAAE,EAAE,MAAM,CAAC;IACX,WAAW,EAAE,MAAM,CAAC;IACpB,YAAY,EAAE,MAAM,CAAC;IACrB,MAAM,EAAE,MAAM,CAAC;IACf,MAAM,EAAE,MAAM,CAAC;IACf,MAAM,EAAE,MAAM,CAAC;IACf,MAAM,EAAE,MAAM,CAAC;CAChB,CAAC;AAEF,MAAM,MAAM,WAAW,GAAG;IACxB,IAAI,EAAE;QACJ,EAAE,EAAE,MAAM,CAAC;QACX,WAAW,EAAE,MAAM,CAAC;QACpB,aAAa,EAAE,MAAM,CAAC;QACtB,OAAO,EAAE,MAAM,CAAC;QAChB,OAAO,EAAE,MAAM,CAAC;QAChB,OAAO,EAAE,MAAM,CAAC;QAChB,OAAO,EAAE,MAAM,CAAC;KACjB,GAAG,aAAa,CAAC;CACnB,GAAG,IAAI,CAAC,UAAU,EAAE,MAAM,CAAC,GAAG,QAAQ,CAAC;AAExC,MAAM,MAAM,eAAe,GAAG,OAAO,CAAC,OAAO,CAAC,WAAW,EAAE,QAAQ,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC;AAE9E,KAAK,QAAQ,GAAG;IACd,OAAO,EAAE;QACP,GAAG,EAAE,MAAM,CAAC;QACZ,GAAG,EAAE,MAAM,CAAC;KACb,CAAC;IACF,WAAW,EAAE;QACX,GAAG,EAAE,MAAM,CAAC;QACZ,GAAG,EAAE,MAAM,CAAC;KACb,CAAC;CACH,CAAC;AAEF,wBAAsB,aAAa,CAAC,QAAQ,EAAE,QAAQ,GAAG,OAAO,CAAC,QAAQ,EAAE,CAAC,CAQ3E;AAED,wBAAsB,WAAW,CAAC,UAAU,EAAE,MAAM,GAAG,OAAO,CAAC,QAAQ,CAAC,CAIvE;AAED,wBAAsB,mBAAmB,CAAC,QAAQ,EAAE,UAAU,EAAE,MAAM,GAAG,OAAO,CAAC,QAAQ,CAAC,CAgCzF"}
|
package/cjs/api/insetMap.js
CHANGED
|
@@ -15,9 +15,11 @@ async function getInsetMap(insetMapId) {
|
|
|
15
15
|
}
|
|
16
16
|
async function getInsetMapTopoJson(insetMapId) {
|
|
17
17
|
const href = `${oauth_js_1.apiHost}/v1/inset-maps/${insetMapId}/json`;
|
|
18
|
-
const headers = (
|
|
19
|
-
const response = await fetch(href,
|
|
20
|
-
|
|
18
|
+
const headers = Object.assign({ Accept: 'application/json' }, (oauth_js_1.token ? { Authorization: oauth_js_1.token.toString() } : null));
|
|
19
|
+
const response = await fetch(href, { headers }).catch((error) => {
|
|
20
|
+
var _a;
|
|
21
|
+
throw new utils_js_1.NetworkError((_a = error === null || error === void 0 ? void 0 : error.message) !== null && _a !== void 0 ? _a : error);
|
|
22
|
+
});
|
|
21
23
|
if (response.ok) {
|
|
22
24
|
return response.json().catch(() => {
|
|
23
25
|
throw new utils_js_1.APIError({
|
package/cjs/api/insetMap.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"insetMap.js","sourceRoot":"","sources":["../../src/api/insetMap.ts"],"names":[],"mappings":";;AA+CA,sCAQC;AAED,kCAIC;AAED,
|
|
1
|
+
{"version":3,"file":"insetMap.js","sourceRoot":"","sources":["../../src/api/insetMap.ts"],"names":[],"mappings":";;AA+CA,sCAQC;AAED,kCAIC;AAED,kDAgCC;AA/FD,0CAA2D;AAC3D,0CASqB;AAqCd,KAAK,UAAU,aAAa,CAAC,QAAkB;IACpD,MAAM,IAAI,GAAG,6BAA6B,CAAC;IAM3C,OAAO,IAAA,kBAAO,EAA6B,IAAI,EAAE,EAAE,QAAQ,EAAE,CAAC,CAAC;AACjE,CAAC;AAEM,KAAK,UAAU,WAAW,CAAC,UAAkB;IAClD,MAAM,IAAI,GAAG,kBAAkB,UAAU,EAAE,CAAC;IAE5C,OAAO,IAAA,kBAAO,EAAwB,IAAI,CAAC,CAAC;AAC9C,CAAC;AAEM,KAAK,UAAU,mBAAmB,CAAW,UAAkB;IACpE,MAAM,IAAI,GAAG,GAAG,kBAAO,kBAAkB,UAAU,OAAO,CAAC;IAC3D,MAAM,OAAO,mBAAK,MAAM,EAAE,kBAAkB,IAAK,CAAC,gBAAK,CAAC,CAAC,CAAC,EAAE,aAAa,EAAE,gBAAK,CAAC,QAAQ,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,CAAE,CAAC;IACxG,MAAM,QAAQ,GAAG,MAAM,KAAK,CAAC,IAAI,EAAE,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,KAAY,EAAE,EAAE;;QACrE,MAAM,IAAI,uBAAY,CAAC,MAAA,KAAK,aAAL,KAAK,uBAAL,KAAK,CAAE,OAAO,mCAAI,KAAK,CAAC,CAAC;IAClD,CAAC,CAAC,CAAC;IAEH,IAAI,QAAQ,CAAC,EAAE,EAAE,CAAC;QAChB,OAAO,QAAQ,CAAC,IAAI,EAAE,CAAC,KAAK,CAAC,GAAG,EAAE;YAChC,MAAM,IAAI,mBAAQ,CAAC;gBACjB,OAAO,EAAE,KAAK;gBACd,KAAK,EAAE,EAAE,IAAI,EAAE,aAAa,EAAE,OAAO,EAAE,yBAAyB,EAAE;aACnE,CAAC,CAAC;QACL,CAAC,CAAsB,CAAC;IAC1B,CAAC;SAAM,CAAC;QACN,wCAAwC;QACxC,QAAQ,QAAQ,CAAC,MAAM,EAAE,CAAC;YACxB,KAAK,GAAG;gBACN,MAAM,IAAA,uBAAY,GAAE,CAAC;gBACrB,MAAM,CAAC,QAAQ;YACjB,KAAK,GAAG,CAAC;YACT,KAAK,GAAG,CAAC;YACT,KAAK,GAAG,CAAC;YACT,KAAK,GAAG;gBACN,MAAM,IAAI,mBAAQ,CAAC;oBACjB,OAAO,EAAE,KAAK;oBACd,KAAK,EAAE,EAAE,IAAI,EAAE,eAAe,EAAE,OAAO,EAAE,QAAQ,CAAC,UAAU,EAAE;iBAC/D,CAAC,CAAC;QACP,CAAC;QAED,MAAM,IAAI,oBAAS,CAAC,QAAQ,CAAC,CAAC;IAChC,CAAC;AACH,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"jobRevision.d.ts","sourceRoot":"","sources":["../../src/api/jobRevision.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"jobRevision.d.ts","sourceRoot":"","sources":["../../src/api/jobRevision.ts"],"names":[],"mappings":"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"}
|
package/cjs/api/jobRevision.js
CHANGED
|
@@ -10,8 +10,8 @@ exports.cloneJobRevision = cloneJobRevision;
|
|
|
10
10
|
exports.listJobRevisionLayers = listJobRevisionLayers;
|
|
11
11
|
exports.getJobRevisionOutputUrl = getJobRevisionOutputUrl;
|
|
12
12
|
exports.getJobRevisionOutput = getJobRevisionOutput;
|
|
13
|
-
const oauth_js_1 = require("../oauth.js");
|
|
14
13
|
const layer_js_1 = require("./layer.js");
|
|
14
|
+
const oauth_js_1 = require("../oauth.js");
|
|
15
15
|
const utils_js_1 = require("../utils.js");
|
|
16
16
|
exports.jobRevisionRevivers = {
|
|
17
17
|
archived: undefined,
|
|
@@ -82,9 +82,11 @@ async function getJobRevisionOutputUrl(jobId) {
|
|
|
82
82
|
async function getJobRevisionOutput(jobId) {
|
|
83
83
|
await createJobRevisionBuild(jobId);
|
|
84
84
|
const href = `${oauth_js_1.apiHost}/v1/jobs/${jobId}/revisions/${utils_js_1.lastJobRevision}/result/output`;
|
|
85
|
-
const headers = (
|
|
86
|
-
const response = await fetch(href,
|
|
87
|
-
|
|
85
|
+
const headers = Object.assign({}, (oauth_js_1.token ? { Authorization: oauth_js_1.token.toString() } : null));
|
|
86
|
+
const response = await fetch(href, { headers }).catch((error) => {
|
|
87
|
+
var _a;
|
|
88
|
+
throw new utils_js_1.NetworkError((_a = error === null || error === void 0 ? void 0 : error.message) !== null && _a !== void 0 ? _a : error);
|
|
89
|
+
});
|
|
88
90
|
if (response.ok) {
|
|
89
91
|
const blob = await response.blob().catch(() => {
|
|
90
92
|
throw new utils_js_1.APIError({ success: false, error: { type: 'TypeError', message: 'Malformed Blob response' } });
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"jobRevision.js","sourceRoot":"","sources":["../../src/api/jobRevision.ts"],"names":[],"mappings":";;;AAiEA,8CAoBC;AAED,wCAKC;AAED,oDAKC;AAiBD,kDAKC;AAiCD,4DAYC;AAED,4CAsBC;AAED,sDASC;AAQD,0DAMC;AAID,
|
|
1
|
+
{"version":3,"file":"jobRevision.js","sourceRoot":"","sources":["../../src/api/jobRevision.ts"],"names":[],"mappings":"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"}
|
package/cjs/oauth.d.ts
CHANGED
|
@@ -16,15 +16,12 @@ export declare function initDummyFlow(apiUrl: string, oauthToken: string): void;
|
|
|
16
16
|
* Setup internal structures to use implicit authentication flow
|
|
17
17
|
*
|
|
18
18
|
* @param {string} apiUrl - Full API URL
|
|
19
|
+
* @param {string} clientId - OAuth client id
|
|
19
20
|
* @param {string} [redirectUrl] - Callback URL
|
|
21
|
+
* @param {string[]} [scopes] - A list of required scopes
|
|
20
22
|
*/
|
|
21
|
-
export declare function initImplicitFlow(apiUrl: string, redirectUrl?: string): void;
|
|
22
|
-
export declare function authenticate(): Promise<never
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
} | {
|
|
26
|
-
'X-XSRF-Token': string;
|
|
27
|
-
} | undefined;
|
|
28
|
-
export declare function getAuthorizationHeaders(method: 'GET' | 'HEAD' | 'POST' | 'PUT' | 'DELETE' | 'PATCH'): AuthHeaders;
|
|
29
|
-
export {};
|
|
23
|
+
export declare function initImplicitFlow(apiUrl: string, clientId: string, redirectUrl?: string, scopes?: string[]): void;
|
|
24
|
+
export declare function authenticate(): Promise<string> | never;
|
|
25
|
+
export declare function authenticated(): boolean;
|
|
26
|
+
export declare function logout(): Promise<void>;
|
|
30
27
|
//# sourceMappingURL=oauth.d.ts.map
|
package/cjs/oauth.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"oauth.d.ts","sourceRoot":"","sources":["../src/oauth.ts"],"names":[],"mappings":"AAAA,eAAO,IAAI,OAAO,QAAK,CAAC;AAExB,eAAO,IAAI,KAAK,EAAE;IAChB,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,EAAE,MAAM,CAAC;IACd,OAAO,EAAE,IAAI,CAAC;IAEd,QAAQ,EAAE,MAAM,MAAM,CAAC;CACxB,GAAG,IAAW,CAAC;
|
|
1
|
+
{"version":3,"file":"oauth.d.ts","sourceRoot":"","sources":["../src/oauth.ts"],"names":[],"mappings":"AAAA,eAAO,IAAI,OAAO,QAAK,CAAC;AAExB,eAAO,IAAI,KAAK,EAAE;IAChB,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,EAAE,MAAM,CAAC;IACd,OAAO,EAAE,IAAI,CAAC;IAEd,QAAQ,EAAE,MAAM,MAAM,CAAC;CACxB,GAAG,IAAW,CAAC;AAuBhB;;;;;GAKG;AACH,wBAAgB,aAAa,CAAC,MAAM,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,GAAG,IAAI,CAatE;AAED;;;;;;;GAOG;AACH,wBAAgB,gBAAgB,CAAC,MAAM,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,EAAE,WAAW,SAAK,EAAE,MAAM,WAAQ,GAAG,IAAI,CA+EzG;AAED,wBAAsB,YAAY,IAAI,OAAO,CAAC,MAAM,CAAC,GAAG,KAAK,CAY5D;AAED,wBAAgB,aAAa,IAAI,OAAO,CAKvC;AAED,wBAAsB,MAAM,IAAI,OAAO,CAAC,IAAI,CAAC,CAY5C"}
|
package/cjs/oauth.js
CHANGED
|
@@ -4,19 +4,19 @@ exports.token = exports.apiHost = void 0;
|
|
|
4
4
|
exports.initDummyFlow = initDummyFlow;
|
|
5
5
|
exports.initImplicitFlow = initImplicitFlow;
|
|
6
6
|
exports.authenticate = authenticate;
|
|
7
|
-
exports.
|
|
7
|
+
exports.authenticated = authenticated;
|
|
8
|
+
exports.logout = logout;
|
|
8
9
|
exports.apiHost = '';
|
|
9
10
|
exports.token = null;
|
|
11
|
+
let apiClientId = '';
|
|
10
12
|
let callbackUrl = '';
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
}
|
|
19
|
-
}
|
|
13
|
+
let oauthScopes = ['*'];
|
|
14
|
+
const anchorParams = ['access_token', 'token_type', 'expires_in', 'state'];
|
|
15
|
+
const storagePrefix = '_m4n_';
|
|
16
|
+
const statePrefix = 'oauth_state_';
|
|
17
|
+
const storageName = 'api_token';
|
|
18
|
+
const dummyTokenExpires = new Date('2100-01-01T01:00:00');
|
|
19
|
+
const titleCase = (str) => String(str).toLowerCase().replace(/\b\w/g, c => c.toUpperCase());
|
|
20
20
|
/**
|
|
21
21
|
* Setup internal structures to use dummy authentication flow
|
|
22
22
|
*
|
|
@@ -27,9 +27,9 @@ function initDummyFlow(apiUrl, oauthToken) {
|
|
|
27
27
|
const parts = oauthToken.includes(' ') ? oauthToken.split(' ', 2) : ['Bearer', oauthToken];
|
|
28
28
|
exports.apiHost = apiUrl.replace(/\/+$/, '');
|
|
29
29
|
exports.token = {
|
|
30
|
-
type: parts[0]
|
|
30
|
+
type: titleCase(parts[0]),
|
|
31
31
|
token: parts[1],
|
|
32
|
-
expires:
|
|
32
|
+
expires: dummyTokenExpires,
|
|
33
33
|
toString() {
|
|
34
34
|
return `${this.type} ${this.token}`;
|
|
35
35
|
},
|
|
@@ -39,32 +39,207 @@ function initDummyFlow(apiUrl, oauthToken) {
|
|
|
39
39
|
* Setup internal structures to use implicit authentication flow
|
|
40
40
|
*
|
|
41
41
|
* @param {string} apiUrl - Full API URL
|
|
42
|
+
* @param {string} clientId - OAuth client id
|
|
42
43
|
* @param {string} [redirectUrl] - Callback URL
|
|
44
|
+
* @param {string[]} [scopes] - A list of required scopes
|
|
43
45
|
*/
|
|
44
|
-
function initImplicitFlow(apiUrl, redirectUrl = '') {
|
|
46
|
+
function initImplicitFlow(apiUrl, clientId, redirectUrl = '', scopes = ['*']) {
|
|
45
47
|
exports.apiHost = apiUrl.replace(/\/+$/, '');
|
|
48
|
+
apiClientId = String(clientId);
|
|
46
49
|
callbackUrl = String(redirectUrl || window.location.href.split('#')[0]);
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
window.
|
|
50
|
+
oauthScopes = scopes;
|
|
51
|
+
{
|
|
52
|
+
const key = `${storagePrefix}${storageName}`;
|
|
53
|
+
const data = window.localStorage.getItem(key);
|
|
54
|
+
if (data) {
|
|
55
|
+
try {
|
|
56
|
+
const obj = JSON.parse(data);
|
|
57
|
+
if (typeof obj.type === 'string' &&
|
|
58
|
+
typeof obj.token === 'string' &&
|
|
59
|
+
typeof obj.expires === 'string' &&
|
|
60
|
+
new Date(obj.expires) > new Date()) {
|
|
61
|
+
exports.token = {
|
|
62
|
+
type: titleCase(obj.type),
|
|
63
|
+
token: obj.token,
|
|
64
|
+
expires: new Date(obj.expires),
|
|
65
|
+
toString() {
|
|
66
|
+
return `${this.type} ${this.token}`;
|
|
67
|
+
},
|
|
68
|
+
};
|
|
69
|
+
}
|
|
70
|
+
else {
|
|
71
|
+
window.localStorage.removeItem(key);
|
|
72
|
+
}
|
|
73
|
+
}
|
|
74
|
+
catch (e) {
|
|
75
|
+
/* */
|
|
76
|
+
}
|
|
77
|
+
}
|
|
78
|
+
}
|
|
79
|
+
{
|
|
80
|
+
const obj = getAnchorToken();
|
|
81
|
+
if (isAnchorToken(obj)) {
|
|
82
|
+
// We'll not go there if anchor contains error and/or message
|
|
83
|
+
// This means that anchor parameters will be preserved for the next processing
|
|
84
|
+
cleanAnchorParams();
|
|
85
|
+
const expires = new Date(Date.now() + Number(obj.expires_in) * 1000);
|
|
86
|
+
if (isValidState(obj.state) && expires > new Date()) {
|
|
87
|
+
exports.token = {
|
|
88
|
+
type: titleCase(obj.token_type),
|
|
89
|
+
token: obj.access_token,
|
|
90
|
+
expires,
|
|
91
|
+
toString() {
|
|
92
|
+
return `${this.type} ${this.token}`;
|
|
93
|
+
},
|
|
94
|
+
};
|
|
95
|
+
const key = `${storagePrefix}${storageName}`;
|
|
96
|
+
const data = { type: exports.token.type, token: exports.token.token, expires: expires.toUTCString() };
|
|
97
|
+
window.localStorage.setItem(key, JSON.stringify(data));
|
|
98
|
+
}
|
|
99
|
+
else {
|
|
100
|
+
// TODO: add some logic to handle this
|
|
101
|
+
// throw Error('Invalid state in url');
|
|
102
|
+
}
|
|
103
|
+
}
|
|
104
|
+
}
|
|
105
|
+
if (authenticated()) {
|
|
106
|
+
const href = sessionStorage.getItem('redirect-url');
|
|
107
|
+
if (href) {
|
|
108
|
+
sessionStorage.removeItem('redirect-url');
|
|
109
|
+
window.history.replaceState(null, document.title, href);
|
|
110
|
+
}
|
|
51
111
|
}
|
|
52
112
|
}
|
|
53
113
|
async function authenticate() {
|
|
54
114
|
return new Promise(() => {
|
|
115
|
+
if (anchorContainsError()) {
|
|
116
|
+
console.error(getError());
|
|
117
|
+
cleanAnchorParams();
|
|
118
|
+
}
|
|
119
|
+
forget();
|
|
55
120
|
sessionStorage.setItem('redirect-url', window.location.href);
|
|
56
|
-
window.location.assign(
|
|
121
|
+
window.location.assign(buildRedirectUrl());
|
|
57
122
|
});
|
|
58
123
|
}
|
|
59
|
-
function
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
124
|
+
function authenticated() {
|
|
125
|
+
return exports.token != null && exports.token.expires > new Date() && (exports.token.expires.valueOf() === dummyTokenExpires.valueOf() ||
|
|
126
|
+
!!window.localStorage.getItem(`${storagePrefix}${storageName}`));
|
|
127
|
+
}
|
|
128
|
+
async function logout() {
|
|
129
|
+
if (exports.token) {
|
|
130
|
+
await fetch(`${exports.apiHost}/oauth/logout`, {
|
|
131
|
+
method: 'POST',
|
|
132
|
+
headers: {
|
|
133
|
+
Accept: 'application/json',
|
|
134
|
+
Authorization: exports.token.toString(),
|
|
135
|
+
},
|
|
136
|
+
});
|
|
137
|
+
}
|
|
138
|
+
forget();
|
|
139
|
+
}
|
|
140
|
+
function forget() {
|
|
141
|
+
for (let i = 0; i < window.localStorage.length; ++i) {
|
|
142
|
+
const key = window.localStorage.key(i);
|
|
143
|
+
if (key === null || key === void 0 ? void 0 : key.startsWith(storagePrefix)) {
|
|
144
|
+
window.localStorage.removeItem(key);
|
|
145
|
+
}
|
|
146
|
+
}
|
|
147
|
+
exports.token = null;
|
|
148
|
+
}
|
|
149
|
+
function buildRedirectUrl() {
|
|
150
|
+
const queryParams = new URLSearchParams({
|
|
151
|
+
client_id: apiClientId,
|
|
152
|
+
redirect_uri: callbackUrl,
|
|
153
|
+
response_type: 'token',
|
|
154
|
+
scope: oauthScopes.join(' '),
|
|
155
|
+
state: generateState(),
|
|
156
|
+
});
|
|
157
|
+
return `${exports.apiHost}/oauth/authorize?${queryParams}`;
|
|
158
|
+
}
|
|
159
|
+
function getAnchorQuery() {
|
|
160
|
+
return window.location.hash.replace(/^#\/?/, '');
|
|
161
|
+
}
|
|
162
|
+
function getAnchorParams() {
|
|
163
|
+
const query = getAnchorQuery();
|
|
164
|
+
// eslint-disable-next-line @stylistic/padding-line-between-statements,@typescript-eslint/no-unsafe-return
|
|
165
|
+
return Object.fromEntries(query.split('&').map(pair => pair.split('=').map(decodeURIComponent)));
|
|
166
|
+
}
|
|
167
|
+
function getAnchorToken() {
|
|
168
|
+
const params = getAnchorParams();
|
|
169
|
+
return Object.fromEntries(Object.entries(params).filter(([key]) => anchorParams.includes(key)));
|
|
170
|
+
}
|
|
171
|
+
function isAnchorToken(anchorToken) {
|
|
172
|
+
const queryKeys = Object.keys(anchorToken);
|
|
173
|
+
return anchorParams.every(key => queryKeys.includes(key));
|
|
174
|
+
}
|
|
175
|
+
function cleanAnchorParams() {
|
|
176
|
+
const query = window.location.hash.replace(/^#\/?/, '');
|
|
177
|
+
const targets = [...anchorParams, 'error', 'message'];
|
|
178
|
+
const newHash = query
|
|
179
|
+
.split('&')
|
|
180
|
+
.filter(pair => !targets.includes(decodeURIComponent(pair.split('=')[0])))
|
|
181
|
+
.join('&');
|
|
182
|
+
if (newHash) {
|
|
183
|
+
window.location.hash = newHash;
|
|
184
|
+
}
|
|
185
|
+
else {
|
|
186
|
+
const { origin, pathname, search } = window.location;
|
|
187
|
+
window.history.replaceState(null, document.title, `${origin}${pathname}${search}`);
|
|
188
|
+
}
|
|
189
|
+
}
|
|
190
|
+
function isValidState(state) {
|
|
191
|
+
const key = `${storagePrefix}${statePrefix}${state}`;
|
|
192
|
+
const found = window.localStorage.getItem(key) != null;
|
|
193
|
+
if (found) {
|
|
194
|
+
window.localStorage.removeItem(key);
|
|
195
|
+
}
|
|
196
|
+
return found;
|
|
197
|
+
}
|
|
198
|
+
function anchorContainsError() {
|
|
199
|
+
return 'error' in getAnchorParams();
|
|
200
|
+
}
|
|
201
|
+
function generateState() {
|
|
202
|
+
// @ts-expect-error TS2365
|
|
203
|
+
// eslint-disable-next-line @typescript-eslint/restrict-plus-operands
|
|
204
|
+
const state = ([1e7] + -1e3 + -4e3 + -8e3 + -1e11).replace(/[018]/g, // @ts-expect-error TS2362
|
|
205
|
+
// @ts-expect-error TS2362
|
|
206
|
+
c => (c ^ ((Math.random() * 256) & (0x0f >>> (c >>> 2)))).toString(16));
|
|
207
|
+
const key = `${storagePrefix}${statePrefix}${state}`;
|
|
208
|
+
window.localStorage.setItem(key, `${Date.now()}`);
|
|
209
|
+
return state;
|
|
210
|
+
}
|
|
211
|
+
class OAuthError extends Error {
|
|
212
|
+
constructor(message, error) {
|
|
213
|
+
super(message);
|
|
214
|
+
this.error = String(error);
|
|
215
|
+
}
|
|
216
|
+
toString() {
|
|
217
|
+
let error = this.error;
|
|
218
|
+
if (error.includes('_')) {
|
|
219
|
+
error = error.replace('_', ' ').replace(/^./, c => c.toUpperCase());
|
|
220
|
+
}
|
|
221
|
+
return this.message ? `${error}: ${this.message}` : error;
|
|
222
|
+
}
|
|
223
|
+
}
|
|
224
|
+
function getError() {
|
|
225
|
+
const params = getAnchorParams();
|
|
226
|
+
return params.message
|
|
227
|
+
? new OAuthError(params.message, params.error)
|
|
228
|
+
: new OAuthError(titleCase(params.error), params.error);
|
|
229
|
+
}
|
|
230
|
+
/**
|
|
231
|
+
* Our goal is to support even obsolete platforms (ES2017+ / Node.js 8.10+).
|
|
232
|
+
* This is a small polyfill for possibly missing method used in our codebase.
|
|
233
|
+
*/
|
|
234
|
+
if (!Object.fromEntries) { // eslint-disable-next-line arrow-body-style
|
|
235
|
+
Object.fromEntries = (entries) => {
|
|
236
|
+
return Array.from(entries).reduce((object, entry) => {
|
|
237
|
+
if (!Array.isArray(entry)) {
|
|
238
|
+
throw new TypeError(`Iterator value ${entry} is not an entry object.`);
|
|
239
|
+
}
|
|
240
|
+
object[`${entry[0]}`] = entry[1];
|
|
241
|
+
return object;
|
|
242
|
+
}, {});
|
|
243
|
+
};
|
|
69
244
|
}
|
|
70
245
|
//# sourceMappingURL=oauth.js.map
|