/* * Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT. * @generated-id: 06ba702f654b */ import * as z from "zod/v4"; import { safeParse } from "../lib/schemas.js"; import { Result as SafeParseResult } from "../types/fp.js"; import { SDKValidationError } from "./errors/sdkvalidationerror.js"; import { WorkspaceRole, WorkspaceRole$inboundSchema } from "./workspacerole.js"; export type WorkspaceInviteLink = { /** * Unique identifier for the workspace invite link. */ id: string; /** * Role for workspace-scoped service accounts */ role: WorkspaceRole; expiresAt: Date; createdAt: Date; useCount: number; lastUsedAt: Date | null; inviteUrl: string; }; /** @internal */ export const WorkspaceInviteLink$inboundSchema: z.ZodType< WorkspaceInviteLink, unknown > = z.object({ id: z.string(), role: WorkspaceRole$inboundSchema, expiresAt: z.iso.datetime({ offset: true }).transform(v => new Date(v)), createdAt: z.iso.datetime({ offset: true }).transform(v => new Date(v)), useCount: z.int(), lastUsedAt: z.nullable( z.iso.datetime({ offset: true }).transform(v => new Date(v)), ), inviteUrl: z.string(), }); export function workspaceInviteLinkFromJSON( jsonString: string, ): SafeParseResult { return safeParse( jsonString, (x) => WorkspaceInviteLink$inboundSchema.parse(JSON.parse(x)), `Failed to parse 'WorkspaceInviteLink' from JSON`, ); }