UNPKG

@speckle/shared

Version:

Shared code between various Speckle JS packages

36 lines 1.11 kB
import z from 'zod'; import { TIME } from '../../core/index.js'; const job = z.object({ jobId: z.string() }); export const jobPayload = job.merge(z.object({ serverUrl: z.string().url().describe('The url of the server'), projectId: z.string(), modelId: z.string(), token: z.string(), blobId: z.string(), fileType: z.string(), fileName: z.string(), timeOutSeconds: z .number() .int() .default(20 * TIME.minute) })); const baseFileImportResult = z.object({ durationSeconds: z.number().describe('Duration to import the file, in seconds') }); const fileImportSuccessPayload = z.object({ status: z.literal('success'), warnings: z.array(z.string()), //ok to be empty result: baseFileImportResult.merge(z.object({ versionId: z.string() })) }); const fileImportErrorPayload = z.object({ status: z.literal('error'), reason: z.string(), result: baseFileImportResult }); export const fileImportResultPayload = z.discriminatedUnion('status', [ fileImportSuccessPayload, fileImportErrorPayload ]); //# sourceMappingURL=job.js.map