/* * Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT. */ import * as z from "zod/v4-mini"; import { ClosedEnum } from "../../types/enums.js"; /** * `ACTIVE` flags content. `DRY_RUN` evaluates without flagging. */ export const GlobalFlaggingMode = { DryRun: "DRY_RUN", Active: "ACTIVE", } as const; /** * `ACTIVE` flags content. `DRY_RUN` evaluates without flagging. */ export type GlobalFlaggingMode = ClosedEnum; export type UpdateProjectRequestBody = { /** * The project's name. */ name?: string | undefined; /** * The project's description. */ description?: string | null | undefined; /** * The website or app the project moderates content for. Setting it on a project without context writes one. */ domain?: string | null | undefined; /** * What the platform is and who uses it. */ context?: string | null | undefined; /** * `ACTIVE` flags content. `DRY_RUN` evaluates without flagging. */ globalFlaggingMode?: GlobalFlaggingMode | undefined; /** * Whether moderated content is stored and shown in the dashboard. */ enableRequestLogging?: boolean | undefined; /** * Whether review queue decisions are recorded in the casebook. */ casebookEnabled?: boolean | undefined; }; export type UpdateProjectRequest = { /** * The ID of the project to update. */ id: string; body: UpdateProjectRequestBody; }; /** @internal */ export const GlobalFlaggingMode$outboundSchema: z.ZodMiniEnum< typeof GlobalFlaggingMode > = z.enum(GlobalFlaggingMode); /** @internal */ export type UpdateProjectRequestBody$Outbound = { name?: string | undefined; description?: string | null | undefined; domain?: string | null | undefined; context?: string | null | undefined; globalFlaggingMode?: string | undefined; enableRequestLogging?: boolean | undefined; casebookEnabled?: boolean | undefined; }; /** @internal */ export const UpdateProjectRequestBody$outboundSchema: z.ZodMiniType< UpdateProjectRequestBody$Outbound, UpdateProjectRequestBody > = z.object({ name: z.optional(z.string()), description: z.optional(z.nullable(z.string())), domain: z.optional(z.nullable(z.string())), context: z.optional(z.nullable(z.string())), globalFlaggingMode: z.optional(GlobalFlaggingMode$outboundSchema), enableRequestLogging: z.optional(z.boolean()), casebookEnabled: z.optional(z.boolean()), }); export function updateProjectRequestBodyToJSON( updateProjectRequestBody: UpdateProjectRequestBody, ): string { return JSON.stringify( UpdateProjectRequestBody$outboundSchema.parse(updateProjectRequestBody), ); } /** @internal */ export type UpdateProjectRequest$Outbound = { id: string; body: UpdateProjectRequestBody$Outbound; }; /** @internal */ export const UpdateProjectRequest$outboundSchema: z.ZodMiniType< UpdateProjectRequest$Outbound, UpdateProjectRequest > = z.object({ id: z.string(), body: z.lazy(() => UpdateProjectRequestBody$outboundSchema), }); export function updateProjectRequestToJSON( updateProjectRequest: UpdateProjectRequest, ): string { return JSON.stringify( UpdateProjectRequest$outboundSchema.parse(updateProjectRequest), ); }