/* * Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT. * @generated-id: ba146b769b3a */ import * as z from "zod/v4"; import { safeParse } from "../lib/schemas.js"; import { ClosedEnum } from "../types/enums.js"; import { Result as SafeParseResult } from "../types/fp.js"; import { SDKValidationError } from "./errors/sdkvalidationerror.js"; import { WorkspaceRole, WorkspaceRole$inboundSchema } from "./workspacerole.js"; export const WorkspaceInvitationStatus = { Pending: "pending", Accepted: "accepted", Revoked: "revoked", Expired: "expired", } as const; export type WorkspaceInvitationStatus = ClosedEnum< typeof WorkspaceInvitationStatus >; export const DeliveryStatus = { Pending: "pending", Sent: "sent", Failed: "failed", } as const; export type DeliveryStatus = ClosedEnum; export type WorkspaceInvitation = { /** * Unique identifier for the workspace invitation. */ id: string; email: string; /** * Role for workspace-scoped service accounts */ role: WorkspaceRole; status: WorkspaceInvitationStatus; deliveryStatus: DeliveryStatus; expiresAt: Date; lastSentAt: Date | null; createdAt: Date; inviteUrl: string; }; /** @internal */ export const WorkspaceInvitationStatus$inboundSchema: z.ZodEnum< typeof WorkspaceInvitationStatus > = z.enum(WorkspaceInvitationStatus); /** @internal */ export const DeliveryStatus$inboundSchema: z.ZodEnum = z .enum(DeliveryStatus); /** @internal */ export const WorkspaceInvitation$inboundSchema: z.ZodType< WorkspaceInvitation, unknown > = z.object({ id: z.string(), email: z.string(), role: WorkspaceRole$inboundSchema, status: WorkspaceInvitationStatus$inboundSchema, deliveryStatus: DeliveryStatus$inboundSchema, expiresAt: z.iso.datetime({ offset: true }).transform(v => new Date(v)), lastSentAt: z.nullable( z.iso.datetime({ offset: true }).transform(v => new Date(v)), ), createdAt: z.iso.datetime({ offset: true }).transform(v => new Date(v)), inviteUrl: z.string(), }); export function workspaceInvitationFromJSON( jsonString: string, ): SafeParseResult { return safeParse( jsonString, (x) => WorkspaceInvitation$inboundSchema.parse(JSON.parse(x)), `Failed to parse 'WorkspaceInvitation' from JSON`, ); }