@speckle/shared
Version:
Shared code between various Speckle JS packages
42 lines • 1.7 kB
JavaScript
"use strict";
var __importDefault = (this && this.__importDefault) || function (mod) {
return (mod && mod.__esModule) ? mod : { "default": mod };
};
Object.defineProperty(exports, "__esModule", { value: true });
exports.fileImportResultPayload = exports.jobPayload = void 0;
const zod_1 = __importDefault(require("zod"));
const index_js_1 = require("../../core/index.js");
const job = zod_1.default.object({
jobId: zod_1.default.string()
});
exports.jobPayload = job.merge(zod_1.default.object({
serverUrl: zod_1.default.string().url().describe('The url of the server'),
projectId: zod_1.default.string(),
modelId: zod_1.default.string(),
token: zod_1.default.string(),
blobId: zod_1.default.string(),
fileType: zod_1.default.string(),
fileName: zod_1.default.string(),
timeOutSeconds: zod_1.default
.number()
.int()
.default(20 * index_js_1.TIME.minute)
}));
const baseFileImportResult = zod_1.default.object({
durationSeconds: zod_1.default.number().describe('Duration to import the file, in seconds')
});
const fileImportSuccessPayload = zod_1.default.object({
status: zod_1.default.literal('success'),
warnings: zod_1.default.array(zod_1.default.string()), //ok to be empty
result: baseFileImportResult.merge(zod_1.default.object({ versionId: zod_1.default.string() }))
});
const fileImportErrorPayload = zod_1.default.object({
status: zod_1.default.literal('error'),
reason: zod_1.default.string(),
result: baseFileImportResult
});
exports.fileImportResultPayload = zod_1.default.discriminatedUnion('status', [
fileImportSuccessPayload,
fileImportErrorPayload
]);
//# sourceMappingURL=job.js.map