@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>
471 lines (416 loc) • 13 kB
text/typescript
/*
* 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 { smartUnion } from "../types/smartUnion.js";
import { SDKValidationError } from "./sdkvalidationerror.js";
export const Requires = {
BuildReady: "build-ready",
DeploymentUrl: "deployment-url",
None: "none",
} as const;
export type Requires = ClosedEnum<typeof Requires>;
export const Blocks = {
BuildStart: "build-start",
DeploymentStart: "deployment-start",
DeploymentAlias: "deployment-alias",
DeploymentPromotion: "deployment-promotion",
None: "none",
} as const;
export type Blocks = ClosedEnum<typeof Blocks>;
export const SourceProvider = {
Github: "github",
} as const;
export type SourceProvider = ClosedEnum<typeof SourceProvider>;
export type Source3 = {
kind: string;
externalCheckName: string;
provider: SourceProvider;
};
export type Source2 = {
kind: string;
webhookId?: string | undefined;
};
export type Source1 = {
kind?: string | undefined;
externalResourceId?: string | undefined;
};
export type CreateProjectCheckSource = Source3 | Source2 | Source1;
export type CreateProjectCheckRequestBody = {
name: string;
isRerequestable?: boolean | undefined;
requires?: Requires | undefined;
targets?: Array<string> | undefined;
blocks?: Blocks | undefined;
source?: Source3 | Source2 | Source1 | undefined;
timeout?: number | undefined;
};
export type CreateProjectCheckRequest = {
projectIdOrName: 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?: CreateProjectCheckRequestBody | undefined;
};
export const CreateProjectCheckRequires = {
BuildReady: "build-ready",
DeploymentUrl: "deployment-url",
None: "none",
} as const;
export type CreateProjectCheckRequires = ClosedEnum<
typeof CreateProjectCheckRequires
>;
export const CreateProjectCheckSourceProvider = {
Bitbucket: "bitbucket",
Github: "github",
Gitlab: "gitlab",
} as const;
export type CreateProjectCheckSourceProvider = ClosedEnum<
typeof CreateProjectCheckSourceProvider
>;
export type CreateProjectCheckSource3 = {
kind: "git-provider";
provider: CreateProjectCheckSourceProvider;
externalCheckName: string;
};
export type CreateProjectCheckSource2 = {
kind: "webhook";
webhookId?: string | undefined;
};
export type CreateProjectCheckSource1 = {
kind: "integration";
integrationId: string;
integrationConfigurationId: string;
resourceId?: string | undefined;
externalResourceId?: string | undefined;
};
export type CreateProjectCheckChecksV2Source =
| CreateProjectCheckSource1
| CreateProjectCheckSource2
| CreateProjectCheckSource3;
export const CreateProjectCheckBlocks = {
BuildStart: "build-start",
DeploymentAlias: "deployment-alias",
DeploymentPromotion: "deployment-promotion",
DeploymentStart: "deployment-start",
None: "none",
} as const;
export type CreateProjectCheckBlocks = ClosedEnum<
typeof CreateProjectCheckBlocks
>;
export const SourceKind = {
GitProvider: "git-provider",
Integration: "integration",
Vercel: "vercel",
Webhook: "webhook",
} as const;
export type SourceKind = ClosedEnum<typeof SourceKind>;
export type CreateProjectCheckResponseBody = {
id: string;
name: string;
ownerId: string;
projectId: string;
isRerequestable: boolean;
requires: CreateProjectCheckRequires;
source:
| CreateProjectCheckSource1
| CreateProjectCheckSource2
| CreateProjectCheckSource3;
blocks: CreateProjectCheckBlocks;
targets: Array<string>;
sourceKind: SourceKind;
sourceIntegrationConfigurationId?: string | undefined;
timeout: number;
createdAt: number;
updatedAt: number;
deletedAt?: number | undefined;
};
/** @internal */
export const Requires$outboundSchema: z.ZodNativeEnum<typeof Requires> = z
.nativeEnum(Requires);
/** @internal */
export const Blocks$outboundSchema: z.ZodNativeEnum<typeof Blocks> = z
.nativeEnum(Blocks);
/** @internal */
export const SourceProvider$outboundSchema: z.ZodNativeEnum<
typeof SourceProvider
> = z.nativeEnum(SourceProvider);
/** @internal */
export type Source3$Outbound = {
kind: string;
externalCheckName: string;
provider: string;
};
/** @internal */
export const Source3$outboundSchema: z.ZodType<
Source3$Outbound,
z.ZodTypeDef,
Source3
> = z.object({
kind: z.string(),
externalCheckName: z.string(),
provider: SourceProvider$outboundSchema,
});
export function source3ToJSON(source3: Source3): string {
return JSON.stringify(Source3$outboundSchema.parse(source3));
}
/** @internal */
export type Source2$Outbound = {
kind: string;
webhookId?: string | undefined;
};
/** @internal */
export const Source2$outboundSchema: z.ZodType<
Source2$Outbound,
z.ZodTypeDef,
Source2
> = z.object({
kind: z.string(),
webhookId: z.string().optional(),
});
export function source2ToJSON(source2: Source2): string {
return JSON.stringify(Source2$outboundSchema.parse(source2));
}
/** @internal */
export type Source1$Outbound = {
kind: string;
externalResourceId?: string | undefined;
};
/** @internal */
export const Source1$outboundSchema: z.ZodType<
Source1$Outbound,
z.ZodTypeDef,
Source1
> = z.object({
kind: z.string().default("integration"),
externalResourceId: z.string().optional(),
});
export function source1ToJSON(source1: Source1): string {
return JSON.stringify(Source1$outboundSchema.parse(source1));
}
/** @internal */
export type CreateProjectCheckSource$Outbound =
| Source3$Outbound
| Source2$Outbound
| Source1$Outbound;
/** @internal */
export const CreateProjectCheckSource$outboundSchema: z.ZodType<
CreateProjectCheckSource$Outbound,
z.ZodTypeDef,
CreateProjectCheckSource
> = smartUnion([
z.lazy(() => Source3$outboundSchema),
z.lazy(() => Source2$outboundSchema),
z.lazy(() => Source1$outboundSchema),
]);
export function createProjectCheckSourceToJSON(
createProjectCheckSource: CreateProjectCheckSource,
): string {
return JSON.stringify(
CreateProjectCheckSource$outboundSchema.parse(createProjectCheckSource),
);
}
/** @internal */
export type CreateProjectCheckRequestBody$Outbound = {
name: string;
isRerequestable?: boolean | undefined;
requires: string;
targets?: Array<string> | undefined;
blocks: string;
source?: Source3$Outbound | Source2$Outbound | Source1$Outbound | undefined;
timeout: number;
};
/** @internal */
export const CreateProjectCheckRequestBody$outboundSchema: z.ZodType<
CreateProjectCheckRequestBody$Outbound,
z.ZodTypeDef,
CreateProjectCheckRequestBody
> = z.object({
name: z.string(),
isRerequestable: z.boolean().optional(),
requires: Requires$outboundSchema.default("deployment-url"),
targets: z.array(z.string()).optional(),
blocks: Blocks$outboundSchema.default("deployment-alias"),
source: smartUnion([
z.lazy(() => Source3$outboundSchema),
z.lazy(() => Source2$outboundSchema),
z.lazy(() => Source1$outboundSchema),
]).optional(),
timeout: z.number().default(300),
});
export function createProjectCheckRequestBodyToJSON(
createProjectCheckRequestBody: CreateProjectCheckRequestBody,
): string {
return JSON.stringify(
CreateProjectCheckRequestBody$outboundSchema.parse(
createProjectCheckRequestBody,
),
);
}
/** @internal */
export type CreateProjectCheckRequest$Outbound = {
projectIdOrName: string;
teamId?: string | undefined;
slug?: string | undefined;
RequestBody?: CreateProjectCheckRequestBody$Outbound | undefined;
};
/** @internal */
export const CreateProjectCheckRequest$outboundSchema: z.ZodType<
CreateProjectCheckRequest$Outbound,
z.ZodTypeDef,
CreateProjectCheckRequest
> = z.object({
projectIdOrName: z.string(),
teamId: z.string().optional(),
slug: z.string().optional(),
requestBody: z.lazy(() => CreateProjectCheckRequestBody$outboundSchema)
.optional(),
}).transform((v) => {
return remap$(v, {
requestBody: "RequestBody",
});
});
export function createProjectCheckRequestToJSON(
createProjectCheckRequest: CreateProjectCheckRequest,
): string {
return JSON.stringify(
CreateProjectCheckRequest$outboundSchema.parse(createProjectCheckRequest),
);
}
/** @internal */
export const CreateProjectCheckRequires$inboundSchema: z.ZodNativeEnum<
typeof CreateProjectCheckRequires
> = z.nativeEnum(CreateProjectCheckRequires);
/** @internal */
export const CreateProjectCheckSourceProvider$inboundSchema: z.ZodNativeEnum<
typeof CreateProjectCheckSourceProvider
> = z.nativeEnum(CreateProjectCheckSourceProvider);
/** @internal */
export const CreateProjectCheckSource3$inboundSchema: z.ZodType<
CreateProjectCheckSource3,
z.ZodTypeDef,
unknown
> = z.object({
kind: types.literal("git-provider"),
provider: CreateProjectCheckSourceProvider$inboundSchema,
externalCheckName: types.string(),
});
export function createProjectCheckSource3FromJSON(
jsonString: string,
): SafeParseResult<CreateProjectCheckSource3, SDKValidationError> {
return safeParse(
jsonString,
(x) => CreateProjectCheckSource3$inboundSchema.parse(JSON.parse(x)),
`Failed to parse 'CreateProjectCheckSource3' from JSON`,
);
}
/** @internal */
export const CreateProjectCheckSource2$inboundSchema: z.ZodType<
CreateProjectCheckSource2,
z.ZodTypeDef,
unknown
> = z.object({
kind: types.literal("webhook"),
webhookId: types.optional(types.string()),
});
export function createProjectCheckSource2FromJSON(
jsonString: string,
): SafeParseResult<CreateProjectCheckSource2, SDKValidationError> {
return safeParse(
jsonString,
(x) => CreateProjectCheckSource2$inboundSchema.parse(JSON.parse(x)),
`Failed to parse 'CreateProjectCheckSource2' from JSON`,
);
}
/** @internal */
export const CreateProjectCheckSource1$inboundSchema: z.ZodType<
CreateProjectCheckSource1,
z.ZodTypeDef,
unknown
> = z.object({
kind: types.literal("integration"),
integrationId: types.string(),
integrationConfigurationId: types.string(),
resourceId: types.optional(types.string()),
externalResourceId: types.optional(types.string()),
});
export function createProjectCheckSource1FromJSON(
jsonString: string,
): SafeParseResult<CreateProjectCheckSource1, SDKValidationError> {
return safeParse(
jsonString,
(x) => CreateProjectCheckSource1$inboundSchema.parse(JSON.parse(x)),
`Failed to parse 'CreateProjectCheckSource1' from JSON`,
);
}
/** @internal */
export const CreateProjectCheckChecksV2Source$inboundSchema: z.ZodType<
CreateProjectCheckChecksV2Source,
z.ZodTypeDef,
unknown
> = z.union([
z.lazy(() => CreateProjectCheckSource1$inboundSchema),
z.lazy(() => CreateProjectCheckSource2$inboundSchema),
z.lazy(() => CreateProjectCheckSource3$inboundSchema),
]);
export function createProjectCheckChecksV2SourceFromJSON(
jsonString: string,
): SafeParseResult<CreateProjectCheckChecksV2Source, SDKValidationError> {
return safeParse(
jsonString,
(x) => CreateProjectCheckChecksV2Source$inboundSchema.parse(JSON.parse(x)),
`Failed to parse 'CreateProjectCheckChecksV2Source' from JSON`,
);
}
/** @internal */
export const CreateProjectCheckBlocks$inboundSchema: z.ZodNativeEnum<
typeof CreateProjectCheckBlocks
> = z.nativeEnum(CreateProjectCheckBlocks);
/** @internal */
export const SourceKind$inboundSchema: z.ZodNativeEnum<typeof SourceKind> = z
.nativeEnum(SourceKind);
/** @internal */
export const CreateProjectCheckResponseBody$inboundSchema: z.ZodType<
CreateProjectCheckResponseBody,
z.ZodTypeDef,
unknown
> = z.object({
id: types.string(),
name: types.string(),
ownerId: types.string(),
projectId: types.string(),
isRerequestable: types.boolean(),
requires: CreateProjectCheckRequires$inboundSchema,
source: z.union([
z.lazy(() => CreateProjectCheckSource1$inboundSchema),
z.lazy(() => CreateProjectCheckSource2$inboundSchema),
z.lazy(() => CreateProjectCheckSource3$inboundSchema),
]),
blocks: CreateProjectCheckBlocks$inboundSchema,
targets: z.array(types.string()),
sourceKind: SourceKind$inboundSchema,
sourceIntegrationConfigurationId: types.optional(types.string()),
timeout: types.number(),
createdAt: types.number(),
updatedAt: types.number(),
deletedAt: types.optional(types.number()),
});
export function createProjectCheckResponseBodyFromJSON(
jsonString: string,
): SafeParseResult<CreateProjectCheckResponseBody, SDKValidationError> {
return safeParse(
jsonString,
(x) => CreateProjectCheckResponseBody$inboundSchema.parse(JSON.parse(x)),
`Failed to parse 'CreateProjectCheckResponseBody' from JSON`,
);
}