@mapcreator/api 5.3.0 → 5.3.1
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 +2 -0
- package/cjs/api/jobRevision.d.ts.map +1 -1
- package/cjs/api/jobRevision.js +40 -1
- package/cjs/api/jobRevision.js.map +1 -1
- package/esm/api/jobRevision.d.ts +2 -0
- package/esm/api/jobRevision.d.ts.map +1 -1
- package/esm/api/jobRevision.js +40 -2
- package/esm/api/jobRevision.js.map +1 -1
- package/package.json +2 -1
- package/src/api/jobRevision.ts +59 -1
- package/src/desktop.ini +4 -0
package/cjs/api/jobRevision.d.ts
CHANGED
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
import { type Layer } from './layer.js';
|
|
2
|
+
import type Echo from 'laravel-echo';
|
|
2
3
|
import { type ApiCommonData, type ApiError, type ApiSuccess, type Flatten, type Revivers } from '../utils.js';
|
|
3
4
|
export type FileFormat = 'jpg' | 'png' | 'svg' | 'pdf' | 'tiff' | 'eps' | 'eps_log' | 'mp4' | 'mov' | 'mkv' | 'mxf' | 'webm' | 'jpg_sequence' | 'png_sequence' | 'web' | 'web_download';
|
|
4
5
|
export type JobRevision = {
|
|
@@ -73,4 +74,5 @@ export type JobRevisionOutput = {
|
|
|
73
74
|
filename?: string | undefined;
|
|
74
75
|
};
|
|
75
76
|
export declare function getJobRevisionOutput(jobId: number): Promise<JobRevisionOutput>;
|
|
77
|
+
export declare function getJobRevisionOutputForBackend(jobId: number, echo: Echo<'reverb'>, signal?: AbortSignal): Promise<JobRevisionOutput>;
|
|
76
78
|
//# sourceMappingURL=jobRevision.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"jobRevision.d.ts","sourceRoot":"","sources":["../../src/api/jobRevision.ts"],"names":[],"mappings":"AACA,OAAO,EAAqB,KAAK,KAAK,EAAiB,MAAM,YAAY,CAAC;AAG1E,OAAO,EAGL,KAAK,aAAa,EAClB,KAAK,QAAQ,EACb,KAAK,UAAU,EACf,KAAK,OAAO,EAGZ,KAAK,QAAQ,
|
|
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,6 +10,7 @@ exports.cloneJobRevision = cloneJobRevision;
|
|
|
10
10
|
exports.listJobRevisionLayers = listJobRevisionLayers;
|
|
11
11
|
exports.getJobRevisionOutputUrl = getJobRevisionOutputUrl;
|
|
12
12
|
exports.getJobRevisionOutput = getJobRevisionOutput;
|
|
13
|
+
exports.getJobRevisionOutputForBackend = getJobRevisionOutputForBackend;
|
|
13
14
|
const oauth_js_1 = require("../oauth.js");
|
|
14
15
|
const layer_js_1 = require("./layer.js");
|
|
15
16
|
const utils_js_1 = require("../utils.js");
|
|
@@ -87,10 +88,14 @@ async function getJobRevisionOutputUrl(jobId) {
|
|
|
87
88
|
}
|
|
88
89
|
async function getJobRevisionOutput(jobId) {
|
|
89
90
|
await createJobRevisionBuild(jobId);
|
|
91
|
+
return fetchOutput(jobId);
|
|
92
|
+
}
|
|
93
|
+
async function fetchOutput(jobId, signal) {
|
|
90
94
|
const href = `${oauth_js_1.apiHost}/v1/jobs/${jobId}/revisions/${utils_js_1.lastJobRevision}/result/output`;
|
|
91
95
|
const headers = (0, oauth_js_1.getAuthorizationHeaders)();
|
|
92
96
|
const timeout = utils_js_1.defaultTimeout;
|
|
93
|
-
const { signal, cleanup } = (0, utils_js_1.makeTimeoutSignal)(timeout);
|
|
97
|
+
const { signal: timeoutSignal, cleanup } = (0, utils_js_1.makeTimeoutSignal)(timeout);
|
|
98
|
+
signal = signal ? (0, utils_js_1.combineSignals)(signal, timeoutSignal) : timeoutSignal;
|
|
94
99
|
const response = await fetch(href, { headers, signal, ...!oauth_js_1.token && { credentials: 'include' } })
|
|
95
100
|
.catch((error) => {
|
|
96
101
|
if (error instanceof utils_js_1.TimeoutError)
|
|
@@ -145,4 +150,38 @@ async function createJobRevisionBuild(jobId, skipValidation) {
|
|
|
145
150
|
const body = skipValidation ? { skip_validation: skipValidation } : null;
|
|
146
151
|
return (0, utils_js_1.request)(path, body, null, { method: 'POST' });
|
|
147
152
|
}
|
|
153
|
+
async function waitForJobToFinish(jobId, echo, signal) {
|
|
154
|
+
signal?.throwIfAborted();
|
|
155
|
+
return new Promise((resolve, reject) => {
|
|
156
|
+
const channel = `jobresult.${jobId}`;
|
|
157
|
+
const onAbort = () => {
|
|
158
|
+
echo.leaveChannel(channel);
|
|
159
|
+
reject(signal?.reason);
|
|
160
|
+
};
|
|
161
|
+
const cleanup = () => {
|
|
162
|
+
echo.leaveChannel(channel);
|
|
163
|
+
signal?.removeEventListener('abort', onAbort);
|
|
164
|
+
};
|
|
165
|
+
const handler = (event) => {
|
|
166
|
+
if ('filePathSet' in event) {
|
|
167
|
+
cleanup();
|
|
168
|
+
resolve();
|
|
169
|
+
}
|
|
170
|
+
else if (event.status !== 'processing' && event.status !== 'queued' && event.status !== 'completed') {
|
|
171
|
+
cleanup();
|
|
172
|
+
reject(new utils_js_1.APIError({ success: false, error: { type: 'API Error', message: event.status } }));
|
|
173
|
+
}
|
|
174
|
+
};
|
|
175
|
+
signal?.addEventListener('abort', onAbort, { once: true });
|
|
176
|
+
echo.channel(channel).listen('.JobResultEvent', handler);
|
|
177
|
+
});
|
|
178
|
+
}
|
|
179
|
+
async function getJobRevisionOutputForBackend(jobId, echo, signal) {
|
|
180
|
+
await createJobRevisionBuild(jobId);
|
|
181
|
+
const jobrevision = await getJobRevision(jobId);
|
|
182
|
+
if (jobrevision) {
|
|
183
|
+
await waitForJobToFinish(jobrevision.id, echo, signal);
|
|
184
|
+
}
|
|
185
|
+
return fetchOutput(jobId);
|
|
186
|
+
}
|
|
148
187
|
//# sourceMappingURL=jobRevision.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"jobRevision.js","sourceRoot":"","sources":["../../src/api/jobRevision.ts"],"names":[],"mappings":";;;
|
|
1
|
+
{"version":3,"file":"jobRevision.js","sourceRoot":"","sources":["../../src/api/jobRevision.ts"],"names":[],"mappings":"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"}
|
package/esm/api/jobRevision.d.ts
CHANGED
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
import { type Layer } from './layer.js';
|
|
2
|
+
import type Echo from 'laravel-echo';
|
|
2
3
|
import { type ApiCommonData, type ApiError, type ApiSuccess, type Flatten, type Revivers } from '../utils.js';
|
|
3
4
|
export type FileFormat = 'jpg' | 'png' | 'svg' | 'pdf' | 'tiff' | 'eps' | 'eps_log' | 'mp4' | 'mov' | 'mkv' | 'mxf' | 'webm' | 'jpg_sequence' | 'png_sequence' | 'web' | 'web_download';
|
|
4
5
|
export type JobRevision = {
|
|
@@ -73,4 +74,5 @@ export type JobRevisionOutput = {
|
|
|
73
74
|
filename?: string | undefined;
|
|
74
75
|
};
|
|
75
76
|
export declare function getJobRevisionOutput(jobId: number): Promise<JobRevisionOutput>;
|
|
77
|
+
export declare function getJobRevisionOutputForBackend(jobId: number, echo: Echo<'reverb'>, signal?: AbortSignal): Promise<JobRevisionOutput>;
|
|
76
78
|
//# sourceMappingURL=jobRevision.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"jobRevision.d.ts","sourceRoot":"","sources":["../../src/api/jobRevision.ts"],"names":[],"mappings":"AACA,OAAO,EAAqB,KAAK,KAAK,EAAiB,MAAM,YAAY,CAAC;AAG1E,OAAO,EAGL,KAAK,aAAa,EAClB,KAAK,QAAQ,EACb,KAAK,UAAU,EACf,KAAK,OAAO,EAGZ,KAAK,QAAQ,
|
|
1
|
+
{"version":3,"file":"jobRevision.d.ts","sourceRoot":"","sources":["../../src/api/jobRevision.ts"],"names":[],"mappings":"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"}
|
package/esm/api/jobRevision.js
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { apiHost, authenticate, getAuthorizationHeaders, token } from '../oauth.js';
|
|
2
2
|
import { layerRevivers } from './layer.js';
|
|
3
|
-
import { APIError, HTTPError, NetworkError, TimeoutError, defaultListHeader, defaultTimeout, deletedNoneParam, lastJobRevision, makeTimeoutSignal, request, } from '../utils.js';
|
|
3
|
+
import { APIError, HTTPError, NetworkError, TimeoutError, combineSignals, defaultListHeader, defaultTimeout, deletedNoneParam, lastJobRevision, makeTimeoutSignal, request, } from '../utils.js';
|
|
4
4
|
export const jobRevisionRevivers = {
|
|
5
5
|
archived: undefined,
|
|
6
6
|
};
|
|
@@ -75,10 +75,14 @@ export async function getJobRevisionOutputUrl(jobId) {
|
|
|
75
75
|
}
|
|
76
76
|
export async function getJobRevisionOutput(jobId) {
|
|
77
77
|
await createJobRevisionBuild(jobId);
|
|
78
|
+
return fetchOutput(jobId);
|
|
79
|
+
}
|
|
80
|
+
async function fetchOutput(jobId, signal) {
|
|
78
81
|
const href = `${apiHost}/v1/jobs/${jobId}/revisions/${lastJobRevision}/result/output`;
|
|
79
82
|
const headers = getAuthorizationHeaders();
|
|
80
83
|
const timeout = defaultTimeout;
|
|
81
|
-
const { signal, cleanup } = makeTimeoutSignal(timeout);
|
|
84
|
+
const { signal: timeoutSignal, cleanup } = makeTimeoutSignal(timeout);
|
|
85
|
+
signal = signal ? combineSignals(signal, timeoutSignal) : timeoutSignal;
|
|
82
86
|
const response = await fetch(href, { headers, signal, ...!token && { credentials: 'include' } })
|
|
83
87
|
.catch((error) => {
|
|
84
88
|
if (error instanceof TimeoutError)
|
|
@@ -133,4 +137,38 @@ async function createJobRevisionBuild(jobId, skipValidation) {
|
|
|
133
137
|
const body = skipValidation ? { skip_validation: skipValidation } : null;
|
|
134
138
|
return request(path, body, null, { method: 'POST' });
|
|
135
139
|
}
|
|
140
|
+
async function waitForJobToFinish(jobId, echo, signal) {
|
|
141
|
+
signal?.throwIfAborted();
|
|
142
|
+
return new Promise((resolve, reject) => {
|
|
143
|
+
const channel = `jobresult.${jobId}`;
|
|
144
|
+
const onAbort = () => {
|
|
145
|
+
echo.leaveChannel(channel);
|
|
146
|
+
reject(signal?.reason);
|
|
147
|
+
};
|
|
148
|
+
const cleanup = () => {
|
|
149
|
+
echo.leaveChannel(channel);
|
|
150
|
+
signal?.removeEventListener('abort', onAbort);
|
|
151
|
+
};
|
|
152
|
+
const handler = (event) => {
|
|
153
|
+
if ('filePathSet' in event) {
|
|
154
|
+
cleanup();
|
|
155
|
+
resolve();
|
|
156
|
+
}
|
|
157
|
+
else if (event.status !== 'processing' && event.status !== 'queued' && event.status !== 'completed') {
|
|
158
|
+
cleanup();
|
|
159
|
+
reject(new APIError({ success: false, error: { type: 'API Error', message: event.status } }));
|
|
160
|
+
}
|
|
161
|
+
};
|
|
162
|
+
signal?.addEventListener('abort', onAbort, { once: true });
|
|
163
|
+
echo.channel(channel).listen('.JobResultEvent', handler);
|
|
164
|
+
});
|
|
165
|
+
}
|
|
166
|
+
export async function getJobRevisionOutputForBackend(jobId, echo, signal) {
|
|
167
|
+
await createJobRevisionBuild(jobId);
|
|
168
|
+
const jobrevision = await getJobRevision(jobId);
|
|
169
|
+
if (jobrevision) {
|
|
170
|
+
await waitForJobToFinish(jobrevision.id, echo, signal);
|
|
171
|
+
}
|
|
172
|
+
return fetchOutput(jobId);
|
|
173
|
+
}
|
|
136
174
|
//# sourceMappingURL=jobRevision.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"jobRevision.js","sourceRoot":"","sources":["../../src/api/jobRevision.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,YAAY,EAAE,uBAAuB,EAAE,KAAK,EAAE,MAAM,aAAa,CAAC;AACpF,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/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@mapcreator/api",
|
|
3
|
-
"version": "5.3.
|
|
3
|
+
"version": "5.3.1",
|
|
4
4
|
"description": "Mapcreator JavaScript API",
|
|
5
5
|
"license": "BSD-3-Clause",
|
|
6
6
|
"main": "./cjs/index.js",
|
|
@@ -75,6 +75,7 @@
|
|
|
75
75
|
"@typescript-eslint/eslint-plugin": "~6.15",
|
|
76
76
|
"@typescript-eslint/parser": "~6.15",
|
|
77
77
|
"eslint": "~8.57",
|
|
78
|
+
"laravel-echo": "~2.3.0",
|
|
78
79
|
"typescript": "~5.9.3"
|
|
79
80
|
}
|
|
80
81
|
}
|
package/src/api/jobRevision.ts
CHANGED
|
@@ -2,6 +2,7 @@ import { apiHost, authenticate, getAuthorizationHeaders, token } from '../oauth.
|
|
|
2
2
|
import { type ApiLayerData, type Layer, layerRevivers } from './layer.js';
|
|
3
3
|
import type { ApiMapstyleSetData } from './mapstyleSet.js';
|
|
4
4
|
import type { ApiLanguageData } from './language.js';
|
|
5
|
+
import type Echo from 'laravel-echo';
|
|
5
6
|
import {
|
|
6
7
|
APIError,
|
|
7
8
|
type ApiCommon,
|
|
@@ -13,6 +14,7 @@ import {
|
|
|
13
14
|
NetworkError,
|
|
14
15
|
type Revivers,
|
|
15
16
|
TimeoutError,
|
|
17
|
+
combineSignals,
|
|
16
18
|
defaultListHeader,
|
|
17
19
|
defaultTimeout,
|
|
18
20
|
deletedNoneParam,
|
|
@@ -225,11 +227,17 @@ export type JobRevisionOutput = { blob: Blob; filename?: string | undefined };
|
|
|
225
227
|
export async function getJobRevisionOutput(jobId: number): Promise<JobRevisionOutput> {
|
|
226
228
|
await createJobRevisionBuild(jobId);
|
|
227
229
|
|
|
230
|
+
return fetchOutput(jobId);
|
|
231
|
+
}
|
|
232
|
+
|
|
233
|
+
async function fetchOutput(jobId: number, signal?: AbortSignal): Promise<JobRevisionOutput> {
|
|
228
234
|
const href = `${apiHost}/v1/jobs/${jobId}/revisions/${lastJobRevision}/result/output`;
|
|
229
235
|
const headers = getAuthorizationHeaders();
|
|
230
236
|
|
|
231
237
|
const timeout = defaultTimeout;
|
|
232
|
-
const { signal, cleanup } = makeTimeoutSignal(timeout);
|
|
238
|
+
const { signal: timeoutSignal, cleanup } = makeTimeoutSignal(timeout);
|
|
239
|
+
|
|
240
|
+
signal = signal ? combineSignals(signal, timeoutSignal) : timeoutSignal;
|
|
233
241
|
|
|
234
242
|
const response = await fetch(href, { headers, signal, ...!token && { credentials: 'include' } })
|
|
235
243
|
.catch((error: Error) => {
|
|
@@ -296,3 +304,53 @@ async function createJobRevisionBuild(jobId: number, skipValidation?: boolean):
|
|
|
296
304
|
|
|
297
305
|
return request<ApiCommon, string>(path, body, null, { method: 'POST' });
|
|
298
306
|
}
|
|
307
|
+
|
|
308
|
+
async function waitForJobToFinish(jobId: number, echo: Echo<'reverb'>, signal?: AbortSignal): Promise<void> {
|
|
309
|
+
signal?.throwIfAborted();
|
|
310
|
+
|
|
311
|
+
return new Promise((resolve, reject) => {
|
|
312
|
+
const channel = `jobresult.${jobId}`;
|
|
313
|
+
|
|
314
|
+
const onAbort = (): void => {
|
|
315
|
+
echo.leaveChannel(channel);
|
|
316
|
+
reject(signal?.reason);
|
|
317
|
+
};
|
|
318
|
+
|
|
319
|
+
const cleanup = (): void => {
|
|
320
|
+
echo.leaveChannel(channel);
|
|
321
|
+
signal?.removeEventListener('abort', onAbort);
|
|
322
|
+
};
|
|
323
|
+
|
|
324
|
+
type JobResultEvent =
|
|
325
|
+
| { revisionId: number; status: string }
|
|
326
|
+
| { revisionId: number; filePathSet: boolean };
|
|
327
|
+
|
|
328
|
+
const handler = (event: JobResultEvent): void => {
|
|
329
|
+
if ('filePathSet' in event) {
|
|
330
|
+
cleanup();
|
|
331
|
+
resolve();
|
|
332
|
+
} else if (event.status !== 'processing' && event.status !== 'queued' && event.status !== 'completed') {
|
|
333
|
+
cleanup();
|
|
334
|
+
reject(new APIError({ success: false, error: { type: 'API Error', message: event.status } }));
|
|
335
|
+
}
|
|
336
|
+
};
|
|
337
|
+
|
|
338
|
+
signal?.addEventListener('abort', onAbort, { once: true });
|
|
339
|
+
echo.channel(channel).listen('.JobResultEvent', handler);
|
|
340
|
+
});
|
|
341
|
+
}
|
|
342
|
+
|
|
343
|
+
export async function getJobRevisionOutputForBackend(
|
|
344
|
+
jobId: number,
|
|
345
|
+
echo: Echo<'reverb'>,
|
|
346
|
+
signal?: AbortSignal,
|
|
347
|
+
): Promise<JobRevisionOutput> {
|
|
348
|
+
await createJobRevisionBuild(jobId);
|
|
349
|
+
const jobrevision = await getJobRevision(jobId);
|
|
350
|
+
|
|
351
|
+
if (jobrevision) {
|
|
352
|
+
await waitForJobToFinish(jobrevision.id, echo, signal);
|
|
353
|
+
}
|
|
354
|
+
|
|
355
|
+
return fetchOutput(jobId);
|
|
356
|
+
}
|
package/src/desktop.ini
ADDED