import * as Schema from "effect/Schema"; import { API } from "../client.ts"; import * as T from "../traits.ts"; import { UnknownDaytonaError } from "../errors.ts"; // Input Schema export interface AdminCreateUserInput { id: string; name: string; email?: string; personalOrganizationQuota?: { totalCpuQuota?: number; totalMemoryQuota?: number; totalDiskQuota?: number; totalGpuQuota?: number; maxCpuPerSandbox?: number; maxMemoryPerSandbox?: number; maxDiskPerSandbox?: number; snapshotQuota?: number; maxSnapshotSize?: number; volumeQuota?: number; maxConcurrentSnapshotProcessing?: number; }; personalOrganizationDefaultRegionId?: string; role?: "admin" | "user"; emailVerified?: boolean; } export const AdminCreateUserInput = /*@__PURE__*/ Schema.Struct({ id: Schema.String, name: Schema.String, email: Schema.optional(Schema.String), personalOrganizationQuota: Schema.optional( Schema.Struct({ totalCpuQuota: Schema.optional(Schema.Number), totalMemoryQuota: Schema.optional(Schema.Number), totalDiskQuota: Schema.optional(Schema.Number), totalGpuQuota: Schema.optional(Schema.Number), maxCpuPerSandbox: Schema.optional(Schema.Number), maxMemoryPerSandbox: Schema.optional(Schema.Number), maxDiskPerSandbox: Schema.optional(Schema.Number), snapshotQuota: Schema.optional(Schema.Number), maxSnapshotSize: Schema.optional(Schema.Number), volumeQuota: Schema.optional(Schema.Number), maxConcurrentSnapshotProcessing: Schema.optional(Schema.Number), }), ), personalOrganizationDefaultRegionId: Schema.optional(Schema.String), role: Schema.optional(Schema.Literals(["admin", "user"])), emailVerified: Schema.optional(Schema.Boolean), }).pipe( T.Http({ method: "POST", path: "/admin/users" }), ) as unknown as Schema.Codec; // Output Schema export type AdminCreateUserOutput = void; export const AdminCreateUserOutput = /*@__PURE__*/ Schema.Void as unknown as Schema.Codec; // The operation /** * Create user */ export const adminCreateUser = /*@__PURE__*/ API.make(() => ({ inputSchema: AdminCreateUserInput, outputSchema: AdminCreateUserOutput, errors: [UnknownDaytonaError] as const, metadata: { operationId: "adminCreateUser", method: "POST", path: "/admin/users", idempotency: "unsafe", }, }));