@mapcreator/api 5.0.0-alpha.45 → 5.0.0-alpha.47
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/jobRevision.d.ts +3 -10
- package/cjs/api/jobRevision.d.ts.map +1 -1
- package/cjs/api/jobRevision.js +7 -54
- package/cjs/api/jobRevision.js.map +1 -1
- package/cjs/api/layer.d.ts +0 -1
- package/cjs/api/layer.d.ts.map +1 -1
- package/cjs/api/layer.js +0 -1
- package/cjs/api/layer.js.map +1 -1
- package/cjs/oauth.d.ts +1 -8
- package/cjs/oauth.d.ts.map +1 -1
- package/cjs/oauth.js +4 -210
- package/cjs/oauth.js.map +1 -1
- package/cjs/utils.d.ts.map +1 -1
- package/cjs/utils.js +6 -5
- package/cjs/utils.js.map +1 -1
- package/esm/api/jobRevision.d.ts +3 -10
- package/esm/api/jobRevision.d.ts.map +1 -1
- package/esm/api/jobRevision.js +7 -53
- package/esm/api/jobRevision.js.map +1 -1
- package/esm/api/layer.d.ts +0 -1
- package/esm/api/layer.d.ts.map +1 -1
- package/esm/api/layer.js +0 -1
- package/esm/api/layer.js.map +1 -1
- package/esm/oauth.d.ts +1 -8
- package/esm/oauth.d.ts.map +1 -1
- package/esm/oauth.js +5 -210
- package/esm/oauth.js.map +1 -1
- package/esm/utils.d.ts.map +1 -1
- package/esm/utils.js +7 -6
- package/esm/utils.js.map +1 -1
- package/package.json +1 -1
- package/src/api/jobRevision.ts +13 -73
- package/src/api/layer.ts +0 -3
- package/src/oauth.ts +5 -275
- package/src/utils.ts +10 -4
package/esm/api/jobRevision.js
CHANGED
|
@@ -1,6 +1,5 @@
|
|
|
1
1
|
import { layerRevivers } from './layer.js';
|
|
2
|
-
import {
|
|
3
|
-
import { APIError, HTTPError, NetworkError, defaultListHeader, deletedNoneParam, lastJobRevision, request, } from '../utils.js';
|
|
2
|
+
import { defaultListHeader, deletedNoneParam, lastJobRevision, request, } from '../utils.js';
|
|
4
3
|
export const jobRevisionRevivers = {
|
|
5
4
|
archived: undefined,
|
|
6
5
|
};
|
|
@@ -62,59 +61,14 @@ export async function listJobRevisionLayers(jobId) {
|
|
|
62
61
|
const options = { revivers: layerRevivers };
|
|
63
62
|
return request(path, null, defaultListHeader, options);
|
|
64
63
|
}
|
|
65
|
-
|
|
66
|
-
await createJobRevisionBuild(jobId);
|
|
67
|
-
const path = `/v1/jobs/${jobId}/revisions/${lastJobRevision}/result/output-url`;
|
|
68
|
-
return request(path);
|
|
69
|
-
}
|
|
70
|
-
export async function getJobRevisionOutput(jobId) {
|
|
71
|
-
await createJobRevisionBuild(jobId);
|
|
72
|
-
const href = `${apiHost}/v1/jobs/${jobId}/revisions/${lastJobRevision}/result/output`;
|
|
73
|
-
const headers = Object.assign({}, (token ? { Authorization: token.toString() } : null));
|
|
74
|
-
const response = await fetch(href, { headers }).catch((error) => {
|
|
75
|
-
var _a;
|
|
76
|
-
throw new NetworkError((_a = error === null || error === void 0 ? void 0 : error.message) !== null && _a !== void 0 ? _a : error);
|
|
77
|
-
});
|
|
78
|
-
if (response.ok) {
|
|
79
|
-
const blob = await response.blob().catch(() => {
|
|
80
|
-
throw new APIError({ success: false, error: { type: 'TypeError', message: 'Malformed Blob response' } });
|
|
81
|
-
});
|
|
82
|
-
const contentDisposition = response.headers.get('Content-Disposition');
|
|
83
|
-
if (contentDisposition) {
|
|
84
|
-
const filenameRegex = /filename\*\s*=\s*UTF-8''(.+)/i;
|
|
85
|
-
const filenameMatch = contentDisposition.match(filenameRegex);
|
|
86
|
-
if (filenameMatch === null || filenameMatch === void 0 ? void 0 : filenameMatch[1]) {
|
|
87
|
-
return { blob, filename: filenameMatch[1] };
|
|
88
|
-
}
|
|
89
|
-
const fallbackRegex = /filename\s*=\s*"([^"]+)"/i;
|
|
90
|
-
const fallbackMatch = contentDisposition.match(fallbackRegex);
|
|
91
|
-
if (fallbackMatch === null || fallbackMatch === void 0 ? void 0 : fallbackMatch[1]) {
|
|
92
|
-
return { blob, filename: fallbackMatch[1] };
|
|
93
|
-
}
|
|
94
|
-
}
|
|
95
|
-
return { blob };
|
|
96
|
-
}
|
|
97
|
-
else {
|
|
98
|
-
// eslint-disable-next-line default-case
|
|
99
|
-
switch (response.status) {
|
|
100
|
-
case 401:
|
|
101
|
-
await authenticate();
|
|
102
|
-
break; // NO-OP
|
|
103
|
-
case 403:
|
|
104
|
-
case 404:
|
|
105
|
-
case 406:
|
|
106
|
-
case 429:
|
|
107
|
-
throw new APIError((await response.json().catch(() => ({
|
|
108
|
-
success: false,
|
|
109
|
-
error: { type: 'HttpException', message: response.statusText },
|
|
110
|
-
}))));
|
|
111
|
-
}
|
|
112
|
-
throw new HTTPError(response);
|
|
113
|
-
}
|
|
114
|
-
}
|
|
115
|
-
async function createJobRevisionBuild(jobId) {
|
|
64
|
+
async function postJobRevisionBuild(jobId) {
|
|
116
65
|
const pathname = `/v1/jobs/${jobId}/revisions/${lastJobRevision}/build`;
|
|
117
66
|
const path = `${pathname}?${deletedNoneParam}`;
|
|
118
67
|
return request(path, null, null, { method: 'POST' });
|
|
119
68
|
}
|
|
69
|
+
export async function getOutputUrl(jobId) {
|
|
70
|
+
const path = `/v1/jobs/${jobId}/revisions/${lastJobRevision}/result/output-url`;
|
|
71
|
+
await postJobRevisionBuild(jobId);
|
|
72
|
+
return request(path);
|
|
73
|
+
}
|
|
120
74
|
//# sourceMappingURL=jobRevision.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"jobRevision.js","sourceRoot":"","sources":["../../src/api/jobRevision.ts"],"names":[],"mappings":"AAAA,OAAO,EAAiC,aAAa,EAAE,MAAM,YAAY,CAAC;
|
|
1
|
+
{"version":3,"file":"jobRevision.js","sourceRoot":"","sources":["../../src/api/jobRevision.ts"],"names":[],"mappings":"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"}
|
package/esm/api/layer.d.ts
CHANGED
package/esm/api/layer.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"layer.d.ts","sourceRoot":"","sources":["../../src/api/layer.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,aAAa,EAAE,QAAQ,EAAE,UAAU,EAAE,OAAO,EAAE,QAAQ,EAAE,MAAM,aAAa,CAAC;AAE1F,MAAM,MAAM,KAAK,GAAG;IAClB,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,EAAE,MAAM,CAAC;IACb,WAAW,EAAE,MAAM,CAAC;
|
|
1
|
+
{"version":3,"file":"layer.d.ts","sourceRoot":"","sources":["../../src/api/layer.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,aAAa,EAAE,QAAQ,EAAE,UAAU,EAAE,OAAO,EAAE,QAAQ,EAAE,MAAM,aAAa,CAAC;AAE1F,MAAM,MAAM,KAAK,GAAG;IAClB,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,EAAE,MAAM,CAAC;IACb,WAAW,EAAE,MAAM,CAAC;CACrB,CAAC;AAEF,MAAM,MAAM,QAAQ,GAAG;IACrB,IAAI,EAAE;QACJ,EAAE,EAAE,MAAM,CAAC;QACX,IAAI,EAAE,MAAM,CAAC;QACb,IAAI,EAAE,MAAM,CAAC;QACb,WAAW,EAAE,MAAM,CAAC;QACpB,KAAK,EAAE,MAAM,GAAG,IAAI,CAAC;QACrB,SAAS,EAAE,MAAM,CAAC;QAClB,SAAS,EAAE,MAAM,CAAC;QAClB,aAAa,EAAE,OAAO,CAAC;QACvB,UAAU,EAAE,MAAM,GAAG,IAAI,CAAC;QAC1B,KAAK,EAAE,OAAO,CAAC;QACf,KAAK,CAAC,EAAE,MAAM,CAAC;KAChB,GAAG,aAAa,CAAC;CACnB,GAAG,IAAI,CAAC,UAAU,EAAE,MAAM,CAAC,GAAG,QAAQ,CAAC;AAExC,MAAM,MAAM,YAAY,GAAG,OAAO,CAAC,OAAO,CAAC,QAAQ,EAAE,QAAQ,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC;AAExE,eAAO,MAAM,aAAa,EAAE,QAAQ,CAAC,QAAQ,EAAE,KAAK,CASnD,CAAC"}
|
package/esm/api/layer.js
CHANGED
package/esm/api/layer.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"layer.js","sourceRoot":"","sources":["../../src/api/layer.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"layer.js","sourceRoot":"","sources":["../../src/api/layer.ts"],"names":[],"mappings":"AA0BA,MAAM,CAAC,MAAM,aAAa,GAA8B;IACtD,IAAI,EAAE,SAAS;IACf,KAAK,EAAE,SAAS;IAChB,SAAS,EAAE,SAAS;IACpB,SAAS,EAAE,SAAS;IACpB,aAAa,EAAE,SAAS;IACxB,UAAU,EAAE,SAAS;IACrB,KAAK,EAAE,SAAS;IAChB,KAAK,EAAE,SAAS;CACjB,CAAC"}
|
package/esm/oauth.d.ts
CHANGED
|
@@ -1,17 +1,10 @@
|
|
|
1
1
|
export declare let apiHost: string;
|
|
2
|
-
export declare
|
|
2
|
+
export declare const token: {
|
|
3
3
|
type: string;
|
|
4
4
|
token: string;
|
|
5
5
|
expires: Date;
|
|
6
6
|
toString: () => string;
|
|
7
7
|
} | null;
|
|
8
|
-
/**
|
|
9
|
-
* Setup internal structures to use dummy authentication flow
|
|
10
|
-
*
|
|
11
|
-
* @param {string} apiUrl - Full API URL
|
|
12
|
-
* @param {string} oauthToken - OAuth Token
|
|
13
|
-
*/
|
|
14
|
-
export declare function initDummyFlow(apiUrl: string, oauthToken: string): void;
|
|
15
8
|
/**
|
|
16
9
|
* Setup internal structures to use implicit authentication flow
|
|
17
10
|
*
|
package/esm/oauth.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"oauth.d.ts","sourceRoot":"","sources":["../src/oauth.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"oauth.d.ts","sourceRoot":"","sources":["../src/oauth.ts"],"names":[],"mappings":"AACA,eAAO,IAAI,OAAO,QAAK,CAAC;AAExB,eAAO,MAAM,KAAK,EAAE;IAClB,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,EAAE,MAAM,CAAC;IACd,OAAO,EAAE,IAAI,CAAC;IAEd,QAAQ,EAAE,MAAM,MAAM,CAAC;CACxB,GAAG,IAAW,CAAC;AAMhB;;;;;;;GAOG;AACH,wBAAgB,gBAAgB,CAAC,MAAM,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,EAAE,WAAW,SAAK,EAAE,MAAM,WAAQ,GAAG,IAAI,CAMzG;AAED,wBAAsB,YAAY,IAAI,OAAO,CAAC,MAAM,CAAC,GAAG,KAAK,CAI5D;AAED,wBAAgB,aAAa,IAAI,OAAO,CAEvC;AAED,wBAAsB,MAAM,IAAI,OAAO,CAAC,IAAI,CAAC,CAE5C"}
|
package/esm/oauth.js
CHANGED
|
@@ -1,32 +1,9 @@
|
|
|
1
|
+
/* eslint-disable @typescript-eslint/no-unused-vars */
|
|
1
2
|
export let apiHost = '';
|
|
2
|
-
export
|
|
3
|
+
export const token = null;
|
|
3
4
|
let apiClientId = '';
|
|
4
5
|
let callbackUrl = '';
|
|
5
6
|
let oauthScopes = ['*'];
|
|
6
|
-
const anchorParams = ['access_token', 'token_type', 'expires_in', 'state'];
|
|
7
|
-
const storagePrefix = '_m4n_';
|
|
8
|
-
const statePrefix = 'oauth_state_';
|
|
9
|
-
const storageName = 'api_token';
|
|
10
|
-
const dummyTokenExpires = new Date('2100-01-01T01:00:00');
|
|
11
|
-
const titleCase = (str) => String(str).toLowerCase().replace(/\b\w/g, c => c.toUpperCase());
|
|
12
|
-
/**
|
|
13
|
-
* Setup internal structures to use dummy authentication flow
|
|
14
|
-
*
|
|
15
|
-
* @param {string} apiUrl - Full API URL
|
|
16
|
-
* @param {string} oauthToken - OAuth Token
|
|
17
|
-
*/
|
|
18
|
-
export function initDummyFlow(apiUrl, oauthToken) {
|
|
19
|
-
const parts = oauthToken.includes(' ') ? oauthToken.split(' ', 2) : ['Bearer', oauthToken];
|
|
20
|
-
apiHost = apiUrl.replace(/\/+$/, '');
|
|
21
|
-
token = {
|
|
22
|
-
type: titleCase(parts[0]),
|
|
23
|
-
token: parts[1],
|
|
24
|
-
expires: dummyTokenExpires,
|
|
25
|
-
toString() {
|
|
26
|
-
return `${this.type} ${this.token}`;
|
|
27
|
-
},
|
|
28
|
-
};
|
|
29
|
-
}
|
|
30
7
|
/**
|
|
31
8
|
* Setup internal structures to use implicit authentication flow
|
|
32
9
|
*
|
|
@@ -40,198 +17,16 @@ export function initImplicitFlow(apiUrl, clientId, redirectUrl = '', scopes = ['
|
|
|
40
17
|
apiClientId = String(clientId);
|
|
41
18
|
callbackUrl = String(redirectUrl || window.location.href.split('#')[0]);
|
|
42
19
|
oauthScopes = scopes;
|
|
43
|
-
{
|
|
44
|
-
const key = `${storagePrefix}${storageName}`;
|
|
45
|
-
const data = window.localStorage.getItem(key);
|
|
46
|
-
if (data) {
|
|
47
|
-
try {
|
|
48
|
-
const obj = JSON.parse(data);
|
|
49
|
-
if (typeof obj.type === 'string' &&
|
|
50
|
-
typeof obj.token === 'string' &&
|
|
51
|
-
typeof obj.expires === 'string' &&
|
|
52
|
-
new Date(obj.expires) > new Date()) {
|
|
53
|
-
token = {
|
|
54
|
-
type: titleCase(obj.type),
|
|
55
|
-
token: obj.token,
|
|
56
|
-
expires: new Date(obj.expires),
|
|
57
|
-
toString() {
|
|
58
|
-
return `${this.type} ${this.token}`;
|
|
59
|
-
},
|
|
60
|
-
};
|
|
61
|
-
}
|
|
62
|
-
else {
|
|
63
|
-
window.localStorage.removeItem(key);
|
|
64
|
-
}
|
|
65
|
-
}
|
|
66
|
-
catch (e) {
|
|
67
|
-
/* */
|
|
68
|
-
}
|
|
69
|
-
}
|
|
70
|
-
}
|
|
71
|
-
{
|
|
72
|
-
const obj = getAnchorToken();
|
|
73
|
-
if (isAnchorToken(obj)) {
|
|
74
|
-
// We'll not go there if anchor contains error and/or message
|
|
75
|
-
// This means that anchor parameters will be preserved for the next processing
|
|
76
|
-
cleanAnchorParams();
|
|
77
|
-
const expires = new Date(Date.now() + Number(obj.expires_in) * 1000);
|
|
78
|
-
if (isValidState(obj.state) && expires > new Date()) {
|
|
79
|
-
token = {
|
|
80
|
-
type: titleCase(obj.token_type),
|
|
81
|
-
token: obj.access_token,
|
|
82
|
-
expires,
|
|
83
|
-
toString() {
|
|
84
|
-
return `${this.type} ${this.token}`;
|
|
85
|
-
},
|
|
86
|
-
};
|
|
87
|
-
const key = `${storagePrefix}${storageName}`;
|
|
88
|
-
const data = { type: token.type, token: token.token, expires: expires.toUTCString() };
|
|
89
|
-
window.localStorage.setItem(key, JSON.stringify(data));
|
|
90
|
-
}
|
|
91
|
-
else {
|
|
92
|
-
// TODO: add some logic to handle this
|
|
93
|
-
// throw Error('Invalid state in url');
|
|
94
|
-
}
|
|
95
|
-
}
|
|
96
|
-
}
|
|
97
|
-
if (authenticated()) {
|
|
98
|
-
const href = sessionStorage.getItem('redirect-url');
|
|
99
|
-
if (href) {
|
|
100
|
-
sessionStorage.removeItem('redirect-url');
|
|
101
|
-
window.history.replaceState(null, document.title, href);
|
|
102
|
-
}
|
|
103
|
-
}
|
|
104
20
|
}
|
|
105
21
|
export async function authenticate() {
|
|
106
22
|
return new Promise(() => {
|
|
107
|
-
|
|
108
|
-
console.error(getError());
|
|
109
|
-
cleanAnchorParams();
|
|
110
|
-
}
|
|
111
|
-
forget();
|
|
112
|
-
sessionStorage.setItem('redirect-url', window.location.href);
|
|
113
|
-
window.location.assign(buildRedirectUrl());
|
|
23
|
+
window.location.assign(`${apiHost}/login`);
|
|
114
24
|
});
|
|
115
25
|
}
|
|
116
26
|
export function authenticated() {
|
|
117
|
-
return
|
|
118
|
-
!!window.localStorage.getItem(`${storagePrefix}${storageName}`));
|
|
27
|
+
return true;
|
|
119
28
|
}
|
|
120
29
|
export async function logout() {
|
|
121
|
-
|
|
122
|
-
await fetch(`${apiHost}/oauth/logout`, {
|
|
123
|
-
method: 'POST',
|
|
124
|
-
headers: {
|
|
125
|
-
Accept: 'application/json',
|
|
126
|
-
Authorization: token.toString(),
|
|
127
|
-
},
|
|
128
|
-
});
|
|
129
|
-
}
|
|
130
|
-
forget();
|
|
131
|
-
}
|
|
132
|
-
function forget() {
|
|
133
|
-
for (let i = 0; i < window.localStorage.length; ++i) {
|
|
134
|
-
const key = window.localStorage.key(i);
|
|
135
|
-
if (key === null || key === void 0 ? void 0 : key.startsWith(storagePrefix)) {
|
|
136
|
-
window.localStorage.removeItem(key);
|
|
137
|
-
}
|
|
138
|
-
}
|
|
139
|
-
token = null;
|
|
140
|
-
}
|
|
141
|
-
function buildRedirectUrl() {
|
|
142
|
-
const queryParams = new URLSearchParams({
|
|
143
|
-
client_id: apiClientId,
|
|
144
|
-
redirect_uri: callbackUrl,
|
|
145
|
-
response_type: 'token',
|
|
146
|
-
scope: oauthScopes.join(' '),
|
|
147
|
-
state: generateState(),
|
|
148
|
-
});
|
|
149
|
-
return `${apiHost}/oauth/authorize?${queryParams}`;
|
|
150
|
-
}
|
|
151
|
-
function getAnchorQuery() {
|
|
152
|
-
return window.location.hash.replace(/^#\/?/, '');
|
|
153
|
-
}
|
|
154
|
-
function getAnchorParams() {
|
|
155
|
-
const query = getAnchorQuery();
|
|
156
|
-
// eslint-disable-next-line @stylistic/padding-line-between-statements,@typescript-eslint/no-unsafe-return
|
|
157
|
-
return Object.fromEntries(query.split('&').map(pair => pair.split('=').map(decodeURIComponent)));
|
|
158
|
-
}
|
|
159
|
-
function getAnchorToken() {
|
|
160
|
-
const params = getAnchorParams();
|
|
161
|
-
return Object.fromEntries(Object.entries(params).filter(([key]) => anchorParams.includes(key)));
|
|
162
|
-
}
|
|
163
|
-
function isAnchorToken(anchorToken) {
|
|
164
|
-
const queryKeys = Object.keys(anchorToken);
|
|
165
|
-
return anchorParams.every(key => queryKeys.includes(key));
|
|
166
|
-
}
|
|
167
|
-
function cleanAnchorParams() {
|
|
168
|
-
const query = window.location.hash.replace(/^#\/?/, '');
|
|
169
|
-
const targets = [...anchorParams, 'error', 'message'];
|
|
170
|
-
const newHash = query
|
|
171
|
-
.split('&')
|
|
172
|
-
.filter(pair => !targets.includes(decodeURIComponent(pair.split('=')[0])))
|
|
173
|
-
.join('&');
|
|
174
|
-
if (newHash) {
|
|
175
|
-
window.location.hash = newHash;
|
|
176
|
-
}
|
|
177
|
-
else {
|
|
178
|
-
const { origin, pathname, search } = window.location;
|
|
179
|
-
window.history.replaceState(null, document.title, `${origin}${pathname}${search}`);
|
|
180
|
-
}
|
|
181
|
-
}
|
|
182
|
-
function isValidState(state) {
|
|
183
|
-
const key = `${storagePrefix}${statePrefix}${state}`;
|
|
184
|
-
const found = window.localStorage.getItem(key) != null;
|
|
185
|
-
if (found) {
|
|
186
|
-
window.localStorage.removeItem(key);
|
|
187
|
-
}
|
|
188
|
-
return found;
|
|
189
|
-
}
|
|
190
|
-
function anchorContainsError() {
|
|
191
|
-
return 'error' in getAnchorParams();
|
|
192
|
-
}
|
|
193
|
-
function generateState() {
|
|
194
|
-
// @ts-expect-error TS2365
|
|
195
|
-
// eslint-disable-next-line @typescript-eslint/restrict-plus-operands
|
|
196
|
-
const state = ([1e7] + -1e3 + -4e3 + -8e3 + -1e11).replace(/[018]/g, // @ts-expect-error TS2362
|
|
197
|
-
// @ts-expect-error TS2362
|
|
198
|
-
c => (c ^ ((Math.random() * 256) & (0x0f >>> (c >>> 2)))).toString(16));
|
|
199
|
-
const key = `${storagePrefix}${statePrefix}${state}`;
|
|
200
|
-
window.localStorage.setItem(key, `${Date.now()}`);
|
|
201
|
-
return state;
|
|
202
|
-
}
|
|
203
|
-
class OAuthError extends Error {
|
|
204
|
-
constructor(message, error) {
|
|
205
|
-
super(message);
|
|
206
|
-
this.error = String(error);
|
|
207
|
-
}
|
|
208
|
-
toString() {
|
|
209
|
-
let error = this.error;
|
|
210
|
-
if (error.includes('_')) {
|
|
211
|
-
error = error.replace('_', ' ').replace(/^./, c => c.toUpperCase());
|
|
212
|
-
}
|
|
213
|
-
return this.message ? `${error}: ${this.message}` : error;
|
|
214
|
-
}
|
|
215
|
-
}
|
|
216
|
-
function getError() {
|
|
217
|
-
const params = getAnchorParams();
|
|
218
|
-
return params.message
|
|
219
|
-
? new OAuthError(params.message, params.error)
|
|
220
|
-
: new OAuthError(titleCase(params.error), params.error);
|
|
221
|
-
}
|
|
222
|
-
/**
|
|
223
|
-
* Our goal is to support even obsolete platforms (ES2017+ / Node.js 8.10+).
|
|
224
|
-
* This is a small polyfill for possibly missing method used in our codebase.
|
|
225
|
-
*/
|
|
226
|
-
if (!Object.fromEntries) { // eslint-disable-next-line arrow-body-style
|
|
227
|
-
Object.fromEntries = (entries) => {
|
|
228
|
-
return Array.from(entries).reduce((object, entry) => {
|
|
229
|
-
if (!Array.isArray(entry)) {
|
|
230
|
-
throw new TypeError(`Iterator value ${entry} is not an entry object.`);
|
|
231
|
-
}
|
|
232
|
-
object[`${entry[0]}`] = entry[1];
|
|
233
|
-
return object;
|
|
234
|
-
}, {});
|
|
235
|
-
};
|
|
30
|
+
//
|
|
236
31
|
}
|
|
237
32
|
//# sourceMappingURL=oauth.js.map
|
package/esm/oauth.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"oauth.js","sourceRoot":"","sources":["../src/oauth.ts"],"names":[],"mappings":"AAAA,MAAM,CAAC,IAAI,OAAO,GAAG,EAAE,CAAC;AAExB,MAAM,CAAC,
|
|
1
|
+
{"version":3,"file":"oauth.js","sourceRoot":"","sources":["../src/oauth.ts"],"names":[],"mappings":"AAAA,sDAAsD;AACtD,MAAM,CAAC,IAAI,OAAO,GAAG,EAAE,CAAC;AAExB,MAAM,CAAC,MAAM,KAAK,GAMP,IAAI,CAAC;AAEhB,IAAI,WAAW,GAAG,EAAE,CAAC;AACrB,IAAI,WAAW,GAAG,EAAE,CAAC;AACrB,IAAI,WAAW,GAAG,CAAC,GAAG,CAAC,CAAC;AAExB;;;;;;;GAOG;AACH,MAAM,UAAU,gBAAgB,CAAC,MAAc,EAAE,QAAgB,EAAE,WAAW,GAAG,EAAE,EAAE,MAAM,GAAG,CAAC,GAAG,CAAC;IACjG,OAAO,GAAG,MAAM,CAAC,OAAO,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC;IAErC,WAAW,GAAG,MAAM,CAAC,QAAQ,CAAC,CAAC;IAC/B,WAAW,GAAG,MAAM,CAAC,WAAW,IAAI,MAAM,CAAC,QAAQ,CAAC,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;IACxE,WAAW,GAAG,MAAM,CAAC;AACvB,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,YAAY;IAChC,OAAO,IAAI,OAAO,CAAC,GAAG,EAAE;QACtB,MAAM,CAAC,QAAQ,CAAC,MAAM,CAAC,GAAG,OAAO,QAAQ,CAAC,CAAC;IAC7C,CAAC,CAAC,CAAC;AACL,CAAC;AAED,MAAM,UAAU,aAAa;IAC3B,OAAO,IAAI,CAAC;AACd,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,MAAM;IAC1B,EAAE;AACJ,CAAC"}
|
package/esm/utils.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"utils.d.ts","sourceRoot":"","sources":["../src/utils.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"utils.d.ts","sourceRoot":"","sources":["../src/utils.ts"],"names":[],"mappings":"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"}
|
package/esm/utils.js
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { apiHost, authenticate
|
|
1
|
+
import { apiHost, authenticate } from './oauth.js';
|
|
2
2
|
export const myUser = 'me';
|
|
3
3
|
export const myOrganisations = 'mine';
|
|
4
4
|
export const lastJobRevision = 'last';
|
|
@@ -129,8 +129,7 @@ export async function request(path, body, extraHeaders, extraOptions) {
|
|
|
129
129
|
}
|
|
130
130
|
}
|
|
131
131
|
function getRequestInit(body, extraHeaders, extraOptions) {
|
|
132
|
-
var _a;
|
|
133
|
-
const authorization = token ? { Authorization: token.toString() } : null;
|
|
132
|
+
var _a, _b;
|
|
134
133
|
let contentType = null;
|
|
135
134
|
if (body !== undefined) {
|
|
136
135
|
switch (true) {
|
|
@@ -154,9 +153,11 @@ function getRequestInit(body, extraHeaders, extraOptions) {
|
|
|
154
153
|
body = JSON.stringify(body);
|
|
155
154
|
}
|
|
156
155
|
}
|
|
157
|
-
const
|
|
158
|
-
|
|
159
|
-
|
|
156
|
+
const token = (_a = document.cookie.split(/; */)
|
|
157
|
+
.find(pair => pair.startsWith('XSRF-TOKEN'))) === null || _a === void 0 ? void 0 : _a.split('=')[1];
|
|
158
|
+
const method = (_b = extraOptions === null || extraOptions === void 0 ? void 0 : extraOptions.method) !== null && _b !== void 0 ? _b : (body != null ? 'POST' : 'GET'); // don't touch `!=` please
|
|
159
|
+
const headers = Object.assign(Object.assign(Object.assign({ Accept: 'application/json' }, contentType), extraHeaders), (method === 'POST' && token && { 'X-XSRF-Token': decodeURIComponent(token) }));
|
|
160
|
+
return { body, headers, method, credentials: 'include' };
|
|
160
161
|
}
|
|
161
162
|
export function getContext(revivers, keys = Object.keys(revivers)) {
|
|
162
163
|
return {
|
package/esm/utils.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"utils.js","sourceRoot":"","sources":["../src/utils.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,OAAO,EAAE,YAAY,EAAE,
|
|
1
|
+
{"version":3,"file":"utils.js","sourceRoot":"","sources":["../src/utils.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
package/src/api/jobRevision.ts
CHANGED
|
@@ -1,16 +1,12 @@
|
|
|
1
1
|
import { type ApiLayerData, type Layer, layerRevivers } from './layer.js';
|
|
2
|
-
import { apiHost, authenticate, token } from '../oauth.js';
|
|
3
2
|
import type { ApiMapstyleSetData } from './mapstyleSet.js';
|
|
4
3
|
import type { ApiLanguageData } from './language.js';
|
|
5
4
|
import {
|
|
6
|
-
APIError,
|
|
7
5
|
type ApiCommon,
|
|
8
6
|
type ApiCommonData,
|
|
9
7
|
type ApiError,
|
|
10
8
|
type ApiSuccess,
|
|
11
9
|
type Flatten,
|
|
12
|
-
HTTPError,
|
|
13
|
-
NetworkError,
|
|
14
10
|
type Revivers,
|
|
15
11
|
defaultListHeader,
|
|
16
12
|
deletedNoneParam,
|
|
@@ -200,79 +196,23 @@ export async function listJobRevisionLayers(jobId: number): Promise<Layer[]> {
|
|
|
200
196
|
return request<ApiLayerArray, Layer>(path, null, defaultListHeader, options);
|
|
201
197
|
}
|
|
202
198
|
|
|
203
|
-
|
|
204
|
-
|
|
205
|
-
|
|
206
|
-
data: JobRevisionOutputUrl & ApiCommonData;
|
|
207
|
-
} & Omit<ApiSuccess, 'data'> | ApiError;
|
|
199
|
+
async function postJobRevisionBuild(jobId: number): Promise<JobCanBuild> {
|
|
200
|
+
const pathname = `/v1/jobs/${jobId}/revisions/${lastJobRevision}/build`;
|
|
201
|
+
const path = `${pathname}?${deletedNoneParam}`;
|
|
208
202
|
|
|
209
|
-
|
|
210
|
-
|
|
203
|
+
return request<ApiJobCanBuild, JobCanBuild>(path, null, null, { method: 'POST' });
|
|
204
|
+
}
|
|
211
205
|
|
|
212
|
-
|
|
206
|
+
type OutputUrl = { url: string };
|
|
213
207
|
|
|
214
|
-
|
|
215
|
-
|
|
208
|
+
type ApiOutputUrl = {
|
|
209
|
+
data: OutputUrl & ApiCommonData;
|
|
210
|
+
} & Omit<ApiSuccess, 'data'> | ApiError;
|
|
216
211
|
|
|
217
|
-
export
|
|
218
|
-
|
|
219
|
-
export async function getJobRevisionOutput(jobId: number): Promise<JobRevisionOutput> {
|
|
220
|
-
await createJobRevisionBuild(jobId);
|
|
221
|
-
|
|
222
|
-
const href = `${apiHost}/v1/jobs/${jobId}/revisions/${lastJobRevision}/result/output`;
|
|
223
|
-
const headers = { ...(token ? { Authorization: token.toString() } : null) };
|
|
224
|
-
const response = await fetch(href, { headers }).catch((error: Error) => {
|
|
225
|
-
throw new NetworkError(error?.message ?? error);
|
|
226
|
-
});
|
|
227
|
-
|
|
228
|
-
if (response.ok) {
|
|
229
|
-
const blob = await response.blob().catch(() => {
|
|
230
|
-
throw new APIError({ success: false, error: { type: 'TypeError', message: 'Malformed Blob response' } });
|
|
231
|
-
});
|
|
232
|
-
const contentDisposition = response.headers.get('Content-Disposition');
|
|
233
|
-
|
|
234
|
-
if (contentDisposition) {
|
|
235
|
-
const filenameRegex = /filename\*\s*=\s*UTF-8''(.+)/i;
|
|
236
|
-
const filenameMatch = contentDisposition.match(filenameRegex);
|
|
237
|
-
|
|
238
|
-
if (filenameMatch?.[1]) {
|
|
239
|
-
return { blob, filename: filenameMatch[1] };
|
|
240
|
-
}
|
|
241
|
-
|
|
242
|
-
const fallbackRegex = /filename\s*=\s*"([^"]+)"/i;
|
|
243
|
-
const fallbackMatch = contentDisposition.match(fallbackRegex);
|
|
244
|
-
|
|
245
|
-
if (fallbackMatch?.[1]) {
|
|
246
|
-
return { blob, filename: fallbackMatch[1] };
|
|
247
|
-
}
|
|
248
|
-
}
|
|
249
|
-
|
|
250
|
-
return { blob };
|
|
251
|
-
} else {
|
|
252
|
-
// eslint-disable-next-line default-case
|
|
253
|
-
switch (response.status) {
|
|
254
|
-
case 401:
|
|
255
|
-
await authenticate();
|
|
256
|
-
break; // NO-OP
|
|
257
|
-
case 403:
|
|
258
|
-
case 404:
|
|
259
|
-
case 406:
|
|
260
|
-
case 429:
|
|
261
|
-
throw new APIError(
|
|
262
|
-
(await response.json().catch(() => ({
|
|
263
|
-
success: false,
|
|
264
|
-
error: { type: 'HttpException', message: response.statusText },
|
|
265
|
-
}))) as ApiError,
|
|
266
|
-
);
|
|
267
|
-
}
|
|
268
|
-
|
|
269
|
-
throw new HTTPError(response);
|
|
270
|
-
}
|
|
271
|
-
}
|
|
212
|
+
export async function getOutputUrl(jobId: number): Promise<OutputUrl> {
|
|
213
|
+
const path = `/v1/jobs/${jobId}/revisions/${lastJobRevision}/result/output-url`;
|
|
272
214
|
|
|
273
|
-
|
|
274
|
-
const pathname = `/v1/jobs/${jobId}/revisions/${lastJobRevision}/build`;
|
|
275
|
-
const path = `${pathname}?${deletedNoneParam}`;
|
|
215
|
+
await postJobRevisionBuild(jobId);
|
|
276
216
|
|
|
277
|
-
return request<
|
|
217
|
+
return request<ApiOutputUrl, OutputUrl>(path);
|
|
278
218
|
}
|
package/src/api/layer.ts
CHANGED
|
@@ -4,7 +4,6 @@ export type Layer = {
|
|
|
4
4
|
id: number;
|
|
5
5
|
name: string;
|
|
6
6
|
description: string;
|
|
7
|
-
svg?: string | null;
|
|
8
7
|
};
|
|
9
8
|
|
|
10
9
|
export type ApiLayer = {
|
|
@@ -34,6 +33,4 @@ export const layerRevivers: Revivers<ApiLayer, Layer> = {
|
|
|
34
33
|
svg_set_id: undefined,
|
|
35
34
|
pivot: undefined,
|
|
36
35
|
order: undefined,
|
|
37
|
-
|
|
38
|
-
svg: (data: ApiLayerData) => data.image,
|
|
39
36
|
};
|