UNPKG

@speckle/shared

Version:

Shared code between various Speckle JS packages

53 lines 2.3 kB
"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.JobResultStatus = exports.jobPayloadV1 = void 0; const zod_1 = __importDefault(require("zod")); const index_js_1 = require("../../core/index.js"); exports.jobPayloadV1 = 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(30 * index_js_1.TIME.minute) .describe('The timeout for a single attempt of the job, in seconds.') }); const baseFileImportResult = zod_1.default.object({ durationSeconds: zod_1.default .number() .describe('Total duration to download & import the file, in seconds'), downloadDurationSeconds: zod_1.default .number() .describe('Duration to download the file, in seconds. This is a sub-component of the total duration.'), parseDurationSeconds: zod_1.default .number() .describe('Duration to parse the file, in seconds. This is a sub-component of the total duration.'), parser: zod_1.default.string().describe('The parser used for the import') }); exports.JobResultStatus = { Error: 'error', Success: 'success' }; const fileImportSuccessPayload = zod_1.default.object({ status: zod_1.default.literal(exports.JobResultStatus.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(exports.JobResultStatus.Error), reason: zod_1.default.string(), result: baseFileImportResult }); exports.fileImportResultPayload = zod_1.default.discriminatedUnion('status', [ fileImportSuccessPayload, fileImportErrorPayload ]); //# sourceMappingURL=job.js.map