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>

237 lines (216 loc) 6.56 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 UpdateAccessGroupRole = { 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 UpdateAccessGroupRole = ClosedEnum<typeof UpdateAccessGroupRole>; export type UpdateAccessGroupProjects = { /** * 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: UpdateAccessGroupRole | null; }; export type UpdateAccessGroupRequestBody = { /** * The name of the access group */ name?: string | undefined; projects?: Array<UpdateAccessGroupProjects> | undefined; /** * List of members to add to the access group. */ membersToAdd?: Array<string> | undefined; /** * List of members to remove from the access group. */ membersToRemove?: Array<string> | undefined; }; export type UpdateAccessGroupRequest = { idOrName: string; /** * 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: UpdateAccessGroupRequestBody; }; export const UpdateAccessGroupEntitlements = { V0: "v0", } as const; export type UpdateAccessGroupEntitlements = ClosedEnum< typeof UpdateAccessGroupEntitlements >; export type UpdateAccessGroupResponseBody = { entitlements: Array<UpdateAccessGroupEntitlements>; /** * 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; /** * Number of members in the access group. */ membersCount: number; /** * Number of projects in the access group. */ projectsCount: number; /** * 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 UpdateAccessGroupRole$outboundSchema: z.ZodNativeEnum< typeof UpdateAccessGroupRole > = z.nativeEnum(UpdateAccessGroupRole); /** @internal */ export type UpdateAccessGroupProjects$Outbound = { projectId: string; role: string | null; }; /** @internal */ export const UpdateAccessGroupProjects$outboundSchema: z.ZodType< UpdateAccessGroupProjects$Outbound, z.ZodTypeDef, UpdateAccessGroupProjects > = z.object({ projectId: z.string(), role: z.nullable(UpdateAccessGroupRole$outboundSchema), }); export function updateAccessGroupProjectsToJSON( updateAccessGroupProjects: UpdateAccessGroupProjects, ): string { return JSON.stringify( UpdateAccessGroupProjects$outboundSchema.parse(updateAccessGroupProjects), ); } /** @internal */ export type UpdateAccessGroupRequestBody$Outbound = { name?: string | undefined; projects?: Array<UpdateAccessGroupProjects$Outbound> | undefined; membersToAdd?: Array<string> | undefined; membersToRemove?: Array<string> | undefined; }; /** @internal */ export const UpdateAccessGroupRequestBody$outboundSchema: z.ZodType< UpdateAccessGroupRequestBody$Outbound, z.ZodTypeDef, UpdateAccessGroupRequestBody > = z.object({ name: z.string().optional(), projects: z.array(z.lazy(() => UpdateAccessGroupProjects$outboundSchema)) .optional(), membersToAdd: z.array(z.string()).optional(), membersToRemove: z.array(z.string()).optional(), }); export function updateAccessGroupRequestBodyToJSON( updateAccessGroupRequestBody: UpdateAccessGroupRequestBody, ): string { return JSON.stringify( UpdateAccessGroupRequestBody$outboundSchema.parse( updateAccessGroupRequestBody, ), ); } /** @internal */ export type UpdateAccessGroupRequest$Outbound = { idOrName: string; teamId?: string | undefined; slug?: string | undefined; RequestBody: UpdateAccessGroupRequestBody$Outbound; }; /** @internal */ export const UpdateAccessGroupRequest$outboundSchema: z.ZodType< UpdateAccessGroupRequest$Outbound, z.ZodTypeDef, UpdateAccessGroupRequest > = z.object({ idOrName: z.string(), teamId: z.string().optional(), slug: z.string().optional(), requestBody: z.lazy(() => UpdateAccessGroupRequestBody$outboundSchema), }).transform((v) => { return remap$(v, { requestBody: "RequestBody", }); }); export function updateAccessGroupRequestToJSON( updateAccessGroupRequest: UpdateAccessGroupRequest, ): string { return JSON.stringify( UpdateAccessGroupRequest$outboundSchema.parse(updateAccessGroupRequest), ); } /** @internal */ export const UpdateAccessGroupEntitlements$inboundSchema: z.ZodNativeEnum< typeof UpdateAccessGroupEntitlements > = z.nativeEnum(UpdateAccessGroupEntitlements); /** @internal */ export const UpdateAccessGroupResponseBody$inboundSchema: z.ZodType< UpdateAccessGroupResponseBody, z.ZodTypeDef, unknown > = z.object({ entitlements: z.array(UpdateAccessGroupEntitlements$inboundSchema), name: types.string(), createdAt: types.string(), teamId: types.string(), updatedAt: types.string(), accessGroupId: types.string(), membersCount: types.number(), projectsCount: types.number(), teamRoles: types.optional(z.array(types.string())), teamPermissions: types.optional(z.array(types.string())), }); export function updateAccessGroupResponseBodyFromJSON( jsonString: string, ): SafeParseResult<UpdateAccessGroupResponseBody, SDKValidationError> { return safeParse( jsonString, (x) => UpdateAccessGroupResponseBody$inboundSchema.parse(JSON.parse(x)), `Failed to parse 'UpdateAccessGroupResponseBody' from JSON`, ); }