UNPKG

@vercel/sdk

Version:

<p align="center"> <a href="https://vercel.com"> <img src="https://assets.vercel.com/image/upload/v1588805858/repositories/vercel/logo.png" height="96"> <h3 align="center">Vercel</h3> </a> <p align="center">Develop. Preview. Ship.</p> </p>

222 lines (201 loc) 6.13 kB
/* * Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT. */ import * as z from "zod/v3"; import { remap as remap$ } from "../lib/primitives.js"; import { safeParse } from "../lib/schemas.js"; import { ClosedEnum } from "../types/enums.js"; import { Result as SafeParseResult } from "../types/fp.js"; import * as types from "../types/primitives.js"; import { SDKValidationError } from "./sdkvalidationerror.js"; /** * The project role that will be added to this Access Group. "null" will remove this project level role. */ export const CreateAccessGroupRole = { Admin: "ADMIN", ProjectViewer: "PROJECT_VIEWER", ProjectDeveloper: "PROJECT_DEVELOPER", } as const; /** * The project role that will be added to this Access Group. "null" will remove this project level role. */ export type CreateAccessGroupRole = ClosedEnum<typeof CreateAccessGroupRole>; export type CreateAccessGroupProjects = { /** * The ID of the project. */ projectId: string; /** * The project role that will be added to this Access Group. "null" will remove this project level role. */ role: CreateAccessGroupRole | null; }; export type CreateAccessGroupRequestBody = { /** * The name of the access group */ name: string; projects?: Array<CreateAccessGroupProjects> | undefined; /** * List of members to add to the access group. */ membersToAdd?: Array<string> | undefined; }; export type CreateAccessGroupRequest = { /** * The Team identifier to perform the request on behalf of. */ teamId?: string | undefined; /** * The Team slug to perform the request on behalf of. */ slug?: string | undefined; requestBody: CreateAccessGroupRequestBody; }; export const CreateAccessGroupEntitlements = { V0: "v0", } as const; export type CreateAccessGroupEntitlements = ClosedEnum< typeof CreateAccessGroupEntitlements >; export type CreateAccessGroupResponseBody = { entitlements: Array<CreateAccessGroupEntitlements>; membersCount: number; projectsCount: number; /** * The name of this access group. */ name: string; /** * Timestamp in milliseconds when the access group was created. */ createdAt: string; /** * ID of the team that this access group belongs to. */ teamId: string; /** * Timestamp in milliseconds when the access group was last updated. */ updatedAt: string; /** * ID of the access group. */ accessGroupId: string; /** * Roles that the team has in the access group. */ teamRoles?: Array<string> | undefined; /** * Permissions that the team has in the access group. */ teamPermissions?: Array<string> | undefined; }; /** @internal */ export const CreateAccessGroupRole$outboundSchema: z.ZodNativeEnum< typeof CreateAccessGroupRole > = z.nativeEnum(CreateAccessGroupRole); /** @internal */ export type CreateAccessGroupProjects$Outbound = { projectId: string; role: string | null; }; /** @internal */ export const CreateAccessGroupProjects$outboundSchema: z.ZodType< CreateAccessGroupProjects$Outbound, z.ZodTypeDef, CreateAccessGroupProjects > = z.object({ projectId: z.string(), role: z.nullable(CreateAccessGroupRole$outboundSchema), }); export function createAccessGroupProjectsToJSON( createAccessGroupProjects: CreateAccessGroupProjects, ): string { return JSON.stringify( CreateAccessGroupProjects$outboundSchema.parse(createAccessGroupProjects), ); } /** @internal */ export type CreateAccessGroupRequestBody$Outbound = { name: string; projects?: Array<CreateAccessGroupProjects$Outbound> | undefined; membersToAdd?: Array<string> | undefined; }; /** @internal */ export const CreateAccessGroupRequestBody$outboundSchema: z.ZodType< CreateAccessGroupRequestBody$Outbound, z.ZodTypeDef, CreateAccessGroupRequestBody > = z.object({ name: z.string(), projects: z.array(z.lazy(() => CreateAccessGroupProjects$outboundSchema)) .optional(), membersToAdd: z.array(z.string()).optional(), }); export function createAccessGroupRequestBodyToJSON( createAccessGroupRequestBody: CreateAccessGroupRequestBody, ): string { return JSON.stringify( CreateAccessGroupRequestBody$outboundSchema.parse( createAccessGroupRequestBody, ), ); } /** @internal */ export type CreateAccessGroupRequest$Outbound = { teamId?: string | undefined; slug?: string | undefined; RequestBody: CreateAccessGroupRequestBody$Outbound; }; /** @internal */ export const CreateAccessGroupRequest$outboundSchema: z.ZodType< CreateAccessGroupRequest$Outbound, z.ZodTypeDef, CreateAccessGroupRequest > = z.object({ teamId: z.string().optional(), slug: z.string().optional(), requestBody: z.lazy(() => CreateAccessGroupRequestBody$outboundSchema), }).transform((v) => { return remap$(v, { requestBody: "RequestBody", }); }); export function createAccessGroupRequestToJSON( createAccessGroupRequest: CreateAccessGroupRequest, ): string { return JSON.stringify( CreateAccessGroupRequest$outboundSchema.parse(createAccessGroupRequest), ); } /** @internal */ export const CreateAccessGroupEntitlements$inboundSchema: z.ZodNativeEnum< typeof CreateAccessGroupEntitlements > = z.nativeEnum(CreateAccessGroupEntitlements); /** @internal */ export const CreateAccessGroupResponseBody$inboundSchema: z.ZodType< CreateAccessGroupResponseBody, z.ZodTypeDef, unknown > = z.object({ entitlements: z.array(CreateAccessGroupEntitlements$inboundSchema), membersCount: types.number(), projectsCount: types.number(), name: types.string(), createdAt: types.string(), teamId: types.string(), updatedAt: types.string(), accessGroupId: types.string(), teamRoles: types.optional(z.array(types.string())), teamPermissions: types.optional(z.array(types.string())), }); export function createAccessGroupResponseBodyFromJSON( jsonString: string, ): SafeParseResult<CreateAccessGroupResponseBody, SDKValidationError> { return safeParse( jsonString, (x) => CreateAccessGroupResponseBody$inboundSchema.parse(JSON.parse(x)), `Failed to parse 'CreateAccessGroupResponseBody' from JSON`, ); }