@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>
648 lines (596 loc) • 18.4 kB
text/typescript
/*
* 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";
/**
* Only return members with the specified team role.
*/
export const QueryParamRole = {
Owner: "OWNER",
Member: "MEMBER",
Developer: "DEVELOPER",
Security: "SECURITY",
Billing: "BILLING",
Viewer: "VIEWER",
ViewerForPlus: "VIEWER_FOR_PLUS",
Contributor: "CONTRIBUTOR",
} as const;
/**
* Only return members with the specified team role.
*/
export type QueryParamRole = ClosedEnum<typeof QueryParamRole>;
export type GetTeamMembersRequest = {
/**
* Limit how many teams 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 team members by their name, username, and email.
*/
search?: string | undefined;
/**
* Only return members with the specified team role.
*/
role?: QueryParamRole | undefined;
/**
* Exclude members who belong to the specified project.
*/
excludeProject?: string | undefined;
/**
* Include team members who are eligible to be members of the specified project.
*/
eligibleMembersForProjectId?: string | undefined;
/**
* The Team identifier to perform the request on behalf of.
*/
teamId: string;
/**
* The Team slug to perform the request on behalf of.
*/
slug?: string | undefined;
};
/**
* Information about the GitHub account for this user.
*/
export type GetTeamMembersGithub = {
login?: string | undefined;
};
/**
* Information about the GitLab account of this user.
*/
export type GetTeamMembersGitlab = {
login?: string | undefined;
};
/**
* Information about the Bitbucket account of this user.
*/
export type GetTeamMembersBitbucket = {
login?: string | undefined;
};
/**
* Role of this user in the team.
*/
export const GetTeamMembersRole = {
Billing: "BILLING",
Contributor: "CONTRIBUTOR",
Developer: "DEVELOPER",
Member: "MEMBER",
Owner: "OWNER",
Security: "SECURITY",
Viewer: "VIEWER",
ViewerForPlus: "VIEWER_FOR_PLUS",
} as const;
/**
* Role of this user in the team.
*/
export type GetTeamMembersRole = ClosedEnum<typeof GetTeamMembersRole>;
export const GetTeamMembersOrigin = {
AccountUpdate: "account-update",
Bitbucket: "bitbucket",
Dsync: "dsync",
Feedback: "feedback",
Github: "github",
Gitlab: "gitlab",
Import: "import",
Link: "link",
Mail: "mail",
NsnbAutoApprove: "nsnb-auto-approve",
NsnbHobbyUpgrade: "nsnb-hobby-upgrade",
NsnbInvite: "nsnb-invite",
NsnbRedeploy: "nsnb-redeploy",
NsnbRedeployAttributionCard: "nsnb-redeploy-attribution-card",
NsnbRequestAccess: "nsnb-request-access",
NsnbViewerUpgrade: "nsnb-viewer-upgrade",
OrganizationTeams: "organization-teams",
Saml: "saml",
Teams: "teams",
} as const;
export type GetTeamMembersOrigin = ClosedEnum<typeof GetTeamMembersOrigin>;
export type GetTeamMembersGitUserId = string | number;
/**
* Map with information about the members origin if they joined by requesting access.
*/
export type GetTeamMembersJoinedFrom = {
origin: GetTeamMembersOrigin;
commitId?: string | undefined;
repoId?: string | undefined;
repoPath?: string | undefined;
gitUserId?: string | number | undefined;
gitUserLogin?: string | undefined;
ssoUserId?: string | undefined;
ssoConnectedAt?: number | undefined;
idpUserId?: string | undefined;
dsyncUserId?: string | undefined;
dsyncConnectedAt?: number | undefined;
};
export const GetTeamMembersTeamsResponseRole = {
Admin: "ADMIN",
ProjectDeveloper: "PROJECT_DEVELOPER",
ProjectGuest: "PROJECT_GUEST",
ProjectViewer: "PROJECT_VIEWER",
} as const;
export type GetTeamMembersTeamsResponseRole = ClosedEnum<
typeof GetTeamMembersTeamsResponseRole
>;
/**
* Array of project memberships
*/
export type GetTeamMembersProjects = {
name: string;
id: string;
role?: GetTeamMembersTeamsResponseRole | undefined;
};
export type GetTeamMembersMembers = {
/**
* ID of the file for the Avatar of this member.
*/
avatar?: string | undefined;
/**
* Boolean that indicates if this member was confirmed by an owner.
*/
confirmed: boolean;
/**
* The email of this member.
*/
email: string;
/**
* Information about the GitHub account for this user.
*/
github?: GetTeamMembersGithub | undefined;
/**
* Information about the GitLab account of this user.
*/
gitlab?: GetTeamMembersGitlab | undefined;
/**
* Information about the Bitbucket account of this user.
*/
bitbucket?: GetTeamMembersBitbucket | undefined;
/**
* Role of this user in the team.
*/
role: GetTeamMembersRole;
/**
* 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;
/**
* Timestamp in milliseconds for when this team member was accepted by an owner.
*/
accessRequestedAt?: number | undefined;
/**
* Map with information about the members origin if they joined by requesting access.
*/
joinedFrom?: GetTeamMembersJoinedFrom | undefined;
/**
* Array of project memberships
*/
projects?: Array<GetTeamMembersProjects> | undefined;
/**
* Indicates whether the user is managed by an enterprise.
*/
isEnterpriseManaged?: boolean | undefined;
};
export const GetTeamMembersTeamsRole = {
Billing: "BILLING",
Contributor: "CONTRIBUTOR",
Developer: "DEVELOPER",
Member: "MEMBER",
Owner: "OWNER",
Security: "SECURITY",
Viewer: "VIEWER",
ViewerForPlus: "VIEWER_FOR_PLUS",
} as const;
export type GetTeamMembersTeamsRole = ClosedEnum<
typeof GetTeamMembersTeamsRole
>;
export const GetTeamMembersTeamRoles = {
Billing: "BILLING",
Contributor: "CONTRIBUTOR",
Developer: "DEVELOPER",
Member: "MEMBER",
Owner: "OWNER",
Security: "SECURITY",
Viewer: "VIEWER",
ViewerForPlus: "VIEWER_FOR_PLUS",
} as const;
export type GetTeamMembersTeamRoles = ClosedEnum<
typeof GetTeamMembersTeamRoles
>;
export const GetTeamMembersTeamPermissions = {
AiGatewayApiKeyOwnedBySelf: "AiGatewayApiKeyOwnedBySelf",
AiGatewayBudgetManager: "AiGatewayBudgetManager",
AiGatewayCredits: "AiGatewayCredits",
AiGatewaySettings: "AiGatewaySettings",
AiGatewayTranscriptsManager: "AiGatewayTranscriptsManager",
AiGatewayTranscriptsViewer: "AiGatewayTranscriptsViewer",
ConnectorManager: "ConnectorManager",
CreateProject: "CreateProject",
EnvVariableManager: "EnvVariableManager",
EnvironmentManager: "EnvironmentManager",
FullProductionDeployment: "FullProductionDeployment",
IntegrationManager: "IntegrationManager",
OrgAdmin: "OrgAdmin",
OrgViewer: "OrgViewer",
UsageViewer: "UsageViewer",
V0Builder: "V0Builder",
V0Chatter: "V0Chatter",
V0Viewer: "V0Viewer",
WorkflowDecryptor: "WorkflowDecryptor",
} as const;
export type GetTeamMembersTeamPermissions = ClosedEnum<
typeof GetTeamMembersTeamPermissions
>;
export const GetTeamMembersTeamsProjects = {
Admin: "ADMIN",
ProjectDeveloper: "PROJECT_DEVELOPER",
ProjectGuest: "PROJECT_GUEST",
ProjectViewer: "PROJECT_VIEWER",
} as const;
export type GetTeamMembersTeamsProjects = ClosedEnum<
typeof GetTeamMembersTeamsProjects
>;
export type EmailInviteCodes = {
accessGroups?: Array<string> | undefined;
id: string;
email?: string | undefined;
role?: GetTeamMembersTeamsRole | undefined;
teamRoles?: Array<GetTeamMembersTeamRoles> | undefined;
teamPermissions?: Array<GetTeamMembersTeamPermissions> | undefined;
isDSyncUser: boolean;
createdAt?: number | undefined;
expired?: true | undefined;
projects?: { [k: string]: GetTeamMembersTeamsProjects } | undefined;
entitlements?: Array<string> | undefined;
};
export type GetTeamMembersPagination = {
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;
};
export type GetTeamMembersResponseBody = {
members: Array<GetTeamMembersMembers>;
emailInviteCodes?: Array<EmailInviteCodes> | undefined;
pagination: GetTeamMembersPagination;
};
/** @internal */
export const QueryParamRole$outboundSchema: z.ZodNativeEnum<
typeof QueryParamRole
> = z.nativeEnum(QueryParamRole);
/** @internal */
export type GetTeamMembersRequest$Outbound = {
limit?: number | undefined;
since?: number | undefined;
until?: number | undefined;
search?: string | undefined;
role?: string | undefined;
excludeProject?: string | undefined;
eligibleMembersForProjectId?: string | undefined;
teamId: string;
slug?: string | undefined;
};
/** @internal */
export const GetTeamMembersRequest$outboundSchema: z.ZodType<
GetTeamMembersRequest$Outbound,
z.ZodTypeDef,
GetTeamMembersRequest
> = z.object({
limit: z.number().optional(),
since: z.number().optional(),
until: z.number().optional(),
search: z.string().optional(),
role: QueryParamRole$outboundSchema.optional(),
excludeProject: z.string().optional(),
eligibleMembersForProjectId: z.string().optional(),
teamId: z.string(),
slug: z.string().optional(),
});
export function getTeamMembersRequestToJSON(
getTeamMembersRequest: GetTeamMembersRequest,
): string {
return JSON.stringify(
GetTeamMembersRequest$outboundSchema.parse(getTeamMembersRequest),
);
}
/** @internal */
export const GetTeamMembersGithub$inboundSchema: z.ZodType<
GetTeamMembersGithub,
z.ZodTypeDef,
unknown
> = z.object({
login: types.optional(types.string()),
});
export function getTeamMembersGithubFromJSON(
jsonString: string,
): SafeParseResult<GetTeamMembersGithub, SDKValidationError> {
return safeParse(
jsonString,
(x) => GetTeamMembersGithub$inboundSchema.parse(JSON.parse(x)),
`Failed to parse 'GetTeamMembersGithub' from JSON`,
);
}
/** @internal */
export const GetTeamMembersGitlab$inboundSchema: z.ZodType<
GetTeamMembersGitlab,
z.ZodTypeDef,
unknown
> = z.object({
login: types.optional(types.string()),
});
export function getTeamMembersGitlabFromJSON(
jsonString: string,
): SafeParseResult<GetTeamMembersGitlab, SDKValidationError> {
return safeParse(
jsonString,
(x) => GetTeamMembersGitlab$inboundSchema.parse(JSON.parse(x)),
`Failed to parse 'GetTeamMembersGitlab' from JSON`,
);
}
/** @internal */
export const GetTeamMembersBitbucket$inboundSchema: z.ZodType<
GetTeamMembersBitbucket,
z.ZodTypeDef,
unknown
> = z.object({
login: types.optional(types.string()),
});
export function getTeamMembersBitbucketFromJSON(
jsonString: string,
): SafeParseResult<GetTeamMembersBitbucket, SDKValidationError> {
return safeParse(
jsonString,
(x) => GetTeamMembersBitbucket$inboundSchema.parse(JSON.parse(x)),
`Failed to parse 'GetTeamMembersBitbucket' from JSON`,
);
}
/** @internal */
export const GetTeamMembersRole$inboundSchema: z.ZodNativeEnum<
typeof GetTeamMembersRole
> = z.nativeEnum(GetTeamMembersRole);
/** @internal */
export const GetTeamMembersOrigin$inboundSchema: z.ZodNativeEnum<
typeof GetTeamMembersOrigin
> = z.nativeEnum(GetTeamMembersOrigin);
/** @internal */
export const GetTeamMembersGitUserId$inboundSchema: z.ZodType<
GetTeamMembersGitUserId,
z.ZodTypeDef,
unknown
> = smartUnion([types.string(), types.number()]);
export function getTeamMembersGitUserIdFromJSON(
jsonString: string,
): SafeParseResult<GetTeamMembersGitUserId, SDKValidationError> {
return safeParse(
jsonString,
(x) => GetTeamMembersGitUserId$inboundSchema.parse(JSON.parse(x)),
`Failed to parse 'GetTeamMembersGitUserId' from JSON`,
);
}
/** @internal */
export const GetTeamMembersJoinedFrom$inboundSchema: z.ZodType<
GetTeamMembersJoinedFrom,
z.ZodTypeDef,
unknown
> = z.object({
origin: GetTeamMembersOrigin$inboundSchema,
commitId: types.optional(types.string()),
repoId: types.optional(types.string()),
repoPath: types.optional(types.string()),
gitUserId: types.optional(smartUnion([types.string(), types.number()])),
gitUserLogin: types.optional(types.string()),
ssoUserId: types.optional(types.string()),
ssoConnectedAt: types.optional(types.number()),
idpUserId: types.optional(types.string()),
dsyncUserId: types.optional(types.string()),
dsyncConnectedAt: types.optional(types.number()),
});
export function getTeamMembersJoinedFromFromJSON(
jsonString: string,
): SafeParseResult<GetTeamMembersJoinedFrom, SDKValidationError> {
return safeParse(
jsonString,
(x) => GetTeamMembersJoinedFrom$inboundSchema.parse(JSON.parse(x)),
`Failed to parse 'GetTeamMembersJoinedFrom' from JSON`,
);
}
/** @internal */
export const GetTeamMembersTeamsResponseRole$inboundSchema: z.ZodNativeEnum<
typeof GetTeamMembersTeamsResponseRole
> = z.nativeEnum(GetTeamMembersTeamsResponseRole);
/** @internal */
export const GetTeamMembersProjects$inboundSchema: z.ZodType<
GetTeamMembersProjects,
z.ZodTypeDef,
unknown
> = z.object({
name: types.string(),
id: types.string(),
role: types.optional(GetTeamMembersTeamsResponseRole$inboundSchema),
});
export function getTeamMembersProjectsFromJSON(
jsonString: string,
): SafeParseResult<GetTeamMembersProjects, SDKValidationError> {
return safeParse(
jsonString,
(x) => GetTeamMembersProjects$inboundSchema.parse(JSON.parse(x)),
`Failed to parse 'GetTeamMembersProjects' from JSON`,
);
}
/** @internal */
export const GetTeamMembersMembers$inboundSchema: z.ZodType<
GetTeamMembersMembers,
z.ZodTypeDef,
unknown
> = z.object({
avatar: types.optional(types.string()),
confirmed: types.boolean(),
email: types.string(),
github: types.optional(z.lazy(() => GetTeamMembersGithub$inboundSchema)),
gitlab: types.optional(z.lazy(() => GetTeamMembersGitlab$inboundSchema)),
bitbucket: types.optional(
z.lazy(() => GetTeamMembersBitbucket$inboundSchema),
),
role: GetTeamMembersRole$inboundSchema,
uid: types.string(),
username: types.string(),
name: types.optional(types.string()),
createdAt: types.number(),
accessRequestedAt: types.optional(types.number()),
joinedFrom: types.optional(
z.lazy(() => GetTeamMembersJoinedFrom$inboundSchema),
),
projects: types.optional(
z.array(z.lazy(() => GetTeamMembersProjects$inboundSchema)),
),
isEnterpriseManaged: types.optional(types.boolean()),
});
export function getTeamMembersMembersFromJSON(
jsonString: string,
): SafeParseResult<GetTeamMembersMembers, SDKValidationError> {
return safeParse(
jsonString,
(x) => GetTeamMembersMembers$inboundSchema.parse(JSON.parse(x)),
`Failed to parse 'GetTeamMembersMembers' from JSON`,
);
}
/** @internal */
export const GetTeamMembersTeamsRole$inboundSchema: z.ZodNativeEnum<
typeof GetTeamMembersTeamsRole
> = z.nativeEnum(GetTeamMembersTeamsRole);
/** @internal */
export const GetTeamMembersTeamRoles$inboundSchema: z.ZodNativeEnum<
typeof GetTeamMembersTeamRoles
> = z.nativeEnum(GetTeamMembersTeamRoles);
/** @internal */
export const GetTeamMembersTeamPermissions$inboundSchema: z.ZodNativeEnum<
typeof GetTeamMembersTeamPermissions
> = z.nativeEnum(GetTeamMembersTeamPermissions);
/** @internal */
export const GetTeamMembersTeamsProjects$inboundSchema: z.ZodNativeEnum<
typeof GetTeamMembersTeamsProjects
> = z.nativeEnum(GetTeamMembersTeamsProjects);
/** @internal */
export const EmailInviteCodes$inboundSchema: z.ZodType<
EmailInviteCodes,
z.ZodTypeDef,
unknown
> = z.object({
accessGroups: types.optional(z.array(types.string())),
id: types.string(),
email: types.optional(types.string()),
role: types.optional(GetTeamMembersTeamsRole$inboundSchema),
teamRoles: types.optional(z.array(GetTeamMembersTeamRoles$inboundSchema)),
teamPermissions: types.optional(
z.array(GetTeamMembersTeamPermissions$inboundSchema),
),
isDSyncUser: types.boolean(),
createdAt: types.optional(types.number()),
expired: types.optional(types.literal(true)),
projects: types.optional(z.record(GetTeamMembersTeamsProjects$inboundSchema)),
entitlements: types.optional(z.array(types.string())),
});
export function emailInviteCodesFromJSON(
jsonString: string,
): SafeParseResult<EmailInviteCodes, SDKValidationError> {
return safeParse(
jsonString,
(x) => EmailInviteCodes$inboundSchema.parse(JSON.parse(x)),
`Failed to parse 'EmailInviteCodes' from JSON`,
);
}
/** @internal */
export const GetTeamMembersPagination$inboundSchema: z.ZodType<
GetTeamMembersPagination,
z.ZodTypeDef,
unknown
> = z.object({
hasNext: types.boolean(),
count: types.number(),
next: types.nullable(types.number()),
prev: types.nullable(types.number()),
});
export function getTeamMembersPaginationFromJSON(
jsonString: string,
): SafeParseResult<GetTeamMembersPagination, SDKValidationError> {
return safeParse(
jsonString,
(x) => GetTeamMembersPagination$inboundSchema.parse(JSON.parse(x)),
`Failed to parse 'GetTeamMembersPagination' from JSON`,
);
}
/** @internal */
export const GetTeamMembersResponseBody$inboundSchema: z.ZodType<
GetTeamMembersResponseBody,
z.ZodTypeDef,
unknown
> = z.object({
members: z.array(z.lazy(() => GetTeamMembersMembers$inboundSchema)),
emailInviteCodes: types.optional(
z.array(z.lazy(() => EmailInviteCodes$inboundSchema)),
),
pagination: z.lazy(() => GetTeamMembersPagination$inboundSchema),
});
export function getTeamMembersResponseBodyFromJSON(
jsonString: string,
): SafeParseResult<GetTeamMembersResponseBody, SDKValidationError> {
return safeParse(
jsonString,
(x) => GetTeamMembersResponseBody$inboundSchema.parse(JSON.parse(x)),
`Failed to parse 'GetTeamMembersResponseBody' from JSON`,
);
}