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>

324 lines (297 loc) 8.41 kB
/* * Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT. */ import * as z from "zod/v3"; 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 { smartUnion } from "../types/smartUnion.js"; import { SDKValidationError } from "./sdkvalidationerror.js"; export type GetProjectMembersRequest = { /** * The ID or name of the Project. */ idOrName: string; /** * Limit how many project members should be returned */ limit?: number | undefined; /** * Timestamp in milliseconds to only include members added since then. */ since?: number | undefined; /** * Timestamp in milliseconds to only include members added until then. */ until?: number | undefined; /** * Search project members by their name, username, and email. */ search?: string | undefined; /** * 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; }; /** * Role of this user in the project. */ export const ResponseBodyRole = { Admin: "ADMIN", ProjectDeveloper: "PROJECT_DEVELOPER", ProjectGuest: "PROJECT_GUEST", ProjectViewer: "PROJECT_VIEWER", } as const; /** * Role of this user in the project. */ export type ResponseBodyRole = ClosedEnum<typeof ResponseBodyRole>; /** * Role of this user in the project. */ export const ComputedProjectRole = { Admin: "ADMIN", ProjectDeveloper: "PROJECT_DEVELOPER", ProjectGuest: "PROJECT_GUEST", ProjectViewer: "PROJECT_VIEWER", } as const; /** * Role of this user in the project. */ export type ComputedProjectRole = ClosedEnum<typeof ComputedProjectRole>; /** * The role of this user in the team. */ export const ResponseBodyTeamRole = { Billing: "BILLING", Contributor: "CONTRIBUTOR", Developer: "DEVELOPER", Member: "MEMBER", Owner: "OWNER", Security: "SECURITY", Viewer: "VIEWER", ViewerForPlus: "VIEWER_FOR_PLUS", } as const; /** * The role of this user in the team. */ export type ResponseBodyTeamRole = ClosedEnum<typeof ResponseBodyTeamRole>; export type ResponseBodyMembers = { /** * ID of the file for the Avatar of this member. */ avatar?: string | undefined; /** * The email of this member. */ email: string; /** * Role of this user in the project. */ role: ResponseBodyRole; /** * Role of this user in the project. */ computedProjectRole: ComputedProjectRole; /** * The ID of this user. */ uid: string; /** * The unique username of this user. */ username: string; /** * The name of this user. */ name?: string | undefined; /** * Timestamp in milliseconds when this member was added. */ createdAt: number; /** * The role of this user in the team. */ teamRole: ResponseBodyTeamRole; }; export type GetProjectMembersResponseBodyPagination = { hasNext: boolean; /** * Amount of items in the current page. */ count: number; /** * Timestamp that must be used to request the next page. */ next: number | null; /** * Timestamp that must be used to request the previous page. */ prev: number | null; }; /** * Paginated list of members for the project. */ export type GetProjectMembersResponseBody2 = { members: Array<ResponseBodyMembers>; pagination: GetProjectMembersResponseBodyPagination; }; export type GetProjectMembersResponseBody1 = {}; /** * Paginated list of members for the project. */ export type GetProjectMembersResponseBody = | GetProjectMembersResponseBody2 | GetProjectMembersResponseBody1; /** @internal */ export type GetProjectMembersRequest$Outbound = { idOrName: string; limit?: number | undefined; since?: number | undefined; until?: number | undefined; search?: string | undefined; teamId?: string | undefined; slug?: string | undefined; }; /** @internal */ export const GetProjectMembersRequest$outboundSchema: z.ZodType< GetProjectMembersRequest$Outbound, z.ZodTypeDef, GetProjectMembersRequest > = z.object({ idOrName: z.string(), limit: z.number().int().optional(), since: z.number().int().optional(), until: z.number().int().optional(), search: z.string().optional(), teamId: z.string().optional(), slug: z.string().optional(), }); export function getProjectMembersRequestToJSON( getProjectMembersRequest: GetProjectMembersRequest, ): string { return JSON.stringify( GetProjectMembersRequest$outboundSchema.parse(getProjectMembersRequest), ); } /** @internal */ export const ResponseBodyRole$inboundSchema: z.ZodNativeEnum< typeof ResponseBodyRole > = z.nativeEnum(ResponseBodyRole); /** @internal */ export const ComputedProjectRole$inboundSchema: z.ZodNativeEnum< typeof ComputedProjectRole > = z.nativeEnum(ComputedProjectRole); /** @internal */ export const ResponseBodyTeamRole$inboundSchema: z.ZodNativeEnum< typeof ResponseBodyTeamRole > = z.nativeEnum(ResponseBodyTeamRole); /** @internal */ export const ResponseBodyMembers$inboundSchema: z.ZodType< ResponseBodyMembers, z.ZodTypeDef, unknown > = z.object({ avatar: types.optional(types.string()), email: types.string(), role: ResponseBodyRole$inboundSchema, computedProjectRole: ComputedProjectRole$inboundSchema, uid: types.string(), username: types.string(), name: types.optional(types.string()), createdAt: types.number(), teamRole: ResponseBodyTeamRole$inboundSchema, }); export function responseBodyMembersFromJSON( jsonString: string, ): SafeParseResult<ResponseBodyMembers, SDKValidationError> { return safeParse( jsonString, (x) => ResponseBodyMembers$inboundSchema.parse(JSON.parse(x)), `Failed to parse 'ResponseBodyMembers' from JSON`, ); } /** @internal */ export const GetProjectMembersResponseBodyPagination$inboundSchema: z.ZodType< GetProjectMembersResponseBodyPagination, z.ZodTypeDef, unknown > = z.object({ hasNext: types.boolean(), count: types.number(), next: types.nullable(types.number()), prev: types.nullable(types.number()), }); export function getProjectMembersResponseBodyPaginationFromJSON( jsonString: string, ): SafeParseResult< GetProjectMembersResponseBodyPagination, SDKValidationError > { return safeParse( jsonString, (x) => GetProjectMembersResponseBodyPagination$inboundSchema.parse( JSON.parse(x), ), `Failed to parse 'GetProjectMembersResponseBodyPagination' from JSON`, ); } /** @internal */ export const GetProjectMembersResponseBody2$inboundSchema: z.ZodType< GetProjectMembersResponseBody2, z.ZodTypeDef, unknown > = z.object({ members: z.array(z.lazy(() => ResponseBodyMembers$inboundSchema)), pagination: z.lazy(() => GetProjectMembersResponseBodyPagination$inboundSchema ), }); export function getProjectMembersResponseBody2FromJSON( jsonString: string, ): SafeParseResult<GetProjectMembersResponseBody2, SDKValidationError> { return safeParse( jsonString, (x) => GetProjectMembersResponseBody2$inboundSchema.parse(JSON.parse(x)), `Failed to parse 'GetProjectMembersResponseBody2' from JSON`, ); } /** @internal */ export const GetProjectMembersResponseBody1$inboundSchema: z.ZodType< GetProjectMembersResponseBody1, z.ZodTypeDef, unknown > = z.object({}); export function getProjectMembersResponseBody1FromJSON( jsonString: string, ): SafeParseResult<GetProjectMembersResponseBody1, SDKValidationError> { return safeParse( jsonString, (x) => GetProjectMembersResponseBody1$inboundSchema.parse(JSON.parse(x)), `Failed to parse 'GetProjectMembersResponseBody1' from JSON`, ); } /** @internal */ export const GetProjectMembersResponseBody$inboundSchema: z.ZodType< GetProjectMembersResponseBody, z.ZodTypeDef, unknown > = smartUnion([ z.lazy(() => GetProjectMembersResponseBody2$inboundSchema), z.lazy(() => GetProjectMembersResponseBody1$inboundSchema), ]); export function getProjectMembersResponseBodyFromJSON( jsonString: string, ): SafeParseResult<GetProjectMembersResponseBody, SDKValidationError> { return safeParse( jsonString, (x) => GetProjectMembersResponseBody$inboundSchema.parse(JSON.parse(x)), `Failed to parse 'GetProjectMembersResponseBody' from JSON`, ); }