@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>
517 lines (471 loc) • 15.4 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 type SubjectTypeOther = {
type: string;
additionalProperties?: { [k: string]: any } | undefined;
};
export const CreateConnectorAuthorizationRequestSubjectConnectRequestType = {
JwtBearer: "jwt-bearer",
} as const;
export type CreateConnectorAuthorizationRequestSubjectConnectRequestType =
ClosedEnum<
typeof CreateConnectorAuthorizationRequestSubjectConnectRequestType
>;
export type SubjectTypeJwtBearer = {
type: CreateConnectorAuthorizationRequestSubjectConnectRequestType;
sub?: string | undefined;
iss?: string | undefined;
aud?: string | undefined;
additionalClaims?: { [k: string]: any } | undefined;
additionalProperties?: { [k: string]: any } | undefined;
};
export const CreateConnectorAuthorizationRequestSubjectConnectType = {
User: "user",
} as const;
export type CreateConnectorAuthorizationRequestSubjectConnectType = ClosedEnum<
typeof CreateConnectorAuthorizationRequestSubjectConnectType
>;
export type SubjectTypeUser = {
type: CreateConnectorAuthorizationRequestSubjectConnectType;
id?: string | undefined;
issuer?: string | undefined;
additionalProperties?: { [k: string]: any } | undefined;
};
export const CreateConnectorAuthorizationRequestSubjectType = {
App: "app",
} as const;
export type CreateConnectorAuthorizationRequestSubjectType = ClosedEnum<
typeof CreateConnectorAuthorizationRequestSubjectType
>;
export type SubjectTypeApp = {
type: CreateConnectorAuthorizationRequestSubjectType;
additionalProperties?: { [k: string]: any } | undefined;
};
export type CreateConnectorAuthorizationRequestSubject =
| SubjectTypeApp
| SubjectTypeUser
| SubjectTypeJwtBearer
| SubjectTypeOther;
export type CreateConnectorAuthorizationRequestAuthorizationDetails = {
type?: string | undefined;
additionalProperties?: { [k: string]: any } | undefined;
};
export type CreateConnectorAuthorizationRequestRequestBody = {
subject?:
| SubjectTypeApp
| SubjectTypeUser
| SubjectTypeJwtBearer
| SubjectTypeOther
| undefined;
installationId?: string | undefined;
audience?: Array<string> | undefined;
scopes?: Array<string> | undefined;
resources?: Array<string> | undefined;
authorizationDetails?:
| Array<CreateConnectorAuthorizationRequestAuthorizationDetails>
| undefined;
validityBufferMs?: number | undefined;
returnUrl?: string | undefined;
webhook?: string | undefined;
prompt?: string | undefined;
deviceCode?: boolean | undefined;
expiresInMs?: number | undefined;
additionalParams?: { [k: string]: string } | undefined;
};
export type CreateConnectorAuthorizationRequestRequest = {
connector: string;
requestBody?: CreateConnectorAuthorizationRequestRequestBody | undefined;
};
export type CreateConnectorAuthorizationRequestConnector = {
/**
* Client id (e.g. `scl_…`).
*/
id: string;
/**
* Client uid (e.g. `salesforce/my-org`).
*/
uid: string;
/**
* Client type (e.g. `oauth`, `salesforce`).
*/
type: string;
/**
* Resolved service id when known (e.g. `salesforce`), following the `stored.service ?? typeDef.service ?? stored.type` convention.
*/
service?: string | undefined;
/**
* Curated display name of the resolved service (e.g. "Salesforce"), present when the service is a known service. Suited for end-user surfaces like "Sign in with {serviceName}".
*/
serviceName?: string | undefined;
/**
* The connector's own name: the operator-given client name, falling back to the client type's name for legacy rows without one.
*/
name: string;
};
export type CreateConnectorAuthorizationRequestResponseBody = {
url: string;
request: string;
verifier: string;
deviceCode?: string | undefined;
expiresAt: number;
connector: CreateConnectorAuthorizationRequestConnector;
};
/** @internal */
export type SubjectTypeOther$Outbound = {
type: string;
[additionalProperties: string]: unknown;
};
/** @internal */
export const SubjectTypeOther$outboundSchema: z.ZodType<
SubjectTypeOther$Outbound,
z.ZodTypeDef,
SubjectTypeOther
> = z.object({
type: z.string(),
additionalProperties: z.record(z.any()).optional(),
}).transform((v) => {
return {
...v.additionalProperties,
...remap$(v, {
additionalProperties: null,
}),
};
});
export function subjectTypeOtherToJSON(
subjectTypeOther: SubjectTypeOther,
): string {
return JSON.stringify(
SubjectTypeOther$outboundSchema.parse(subjectTypeOther),
);
}
/** @internal */
export const CreateConnectorAuthorizationRequestSubjectConnectRequestType$outboundSchema:
z.ZodNativeEnum<
typeof CreateConnectorAuthorizationRequestSubjectConnectRequestType
> = z.nativeEnum(
CreateConnectorAuthorizationRequestSubjectConnectRequestType,
);
/** @internal */
export type SubjectTypeJwtBearer$Outbound = {
type: string;
sub?: string | undefined;
iss?: string | undefined;
aud?: string | undefined;
additionalClaims?: { [k: string]: any } | undefined;
[additionalProperties: string]: unknown;
};
/** @internal */
export const SubjectTypeJwtBearer$outboundSchema: z.ZodType<
SubjectTypeJwtBearer$Outbound,
z.ZodTypeDef,
SubjectTypeJwtBearer
> = z.object({
type:
CreateConnectorAuthorizationRequestSubjectConnectRequestType$outboundSchema,
sub: z.string().optional(),
iss: z.string().optional(),
aud: z.string().optional(),
additionalClaims: z.record(z.any()).optional(),
additionalProperties: z.record(z.any()).optional(),
}).transform((v) => {
return {
...v.additionalProperties,
...remap$(v, {
additionalProperties: null,
}),
};
});
export function subjectTypeJwtBearerToJSON(
subjectTypeJwtBearer: SubjectTypeJwtBearer,
): string {
return JSON.stringify(
SubjectTypeJwtBearer$outboundSchema.parse(subjectTypeJwtBearer),
);
}
/** @internal */
export const CreateConnectorAuthorizationRequestSubjectConnectType$outboundSchema:
z.ZodNativeEnum<
typeof CreateConnectorAuthorizationRequestSubjectConnectType
> = z.nativeEnum(CreateConnectorAuthorizationRequestSubjectConnectType);
/** @internal */
export type SubjectTypeUser$Outbound = {
type: string;
id?: string | undefined;
issuer?: string | undefined;
[additionalProperties: string]: unknown;
};
/** @internal */
export const SubjectTypeUser$outboundSchema: z.ZodType<
SubjectTypeUser$Outbound,
z.ZodTypeDef,
SubjectTypeUser
> = z.object({
type: CreateConnectorAuthorizationRequestSubjectConnectType$outboundSchema,
id: z.string().optional(),
issuer: z.string().optional(),
additionalProperties: z.record(z.any()).optional(),
}).transform((v) => {
return {
...v.additionalProperties,
...remap$(v, {
additionalProperties: null,
}),
};
});
export function subjectTypeUserToJSON(
subjectTypeUser: SubjectTypeUser,
): string {
return JSON.stringify(SubjectTypeUser$outboundSchema.parse(subjectTypeUser));
}
/** @internal */
export const CreateConnectorAuthorizationRequestSubjectType$outboundSchema:
z.ZodNativeEnum<typeof CreateConnectorAuthorizationRequestSubjectType> = z
.nativeEnum(CreateConnectorAuthorizationRequestSubjectType);
/** @internal */
export type SubjectTypeApp$Outbound = {
type: string;
[additionalProperties: string]: unknown;
};
/** @internal */
export const SubjectTypeApp$outboundSchema: z.ZodType<
SubjectTypeApp$Outbound,
z.ZodTypeDef,
SubjectTypeApp
> = z.object({
type: CreateConnectorAuthorizationRequestSubjectType$outboundSchema,
additionalProperties: z.record(z.any()).optional(),
}).transform((v) => {
return {
...v.additionalProperties,
...remap$(v, {
additionalProperties: null,
}),
};
});
export function subjectTypeAppToJSON(subjectTypeApp: SubjectTypeApp): string {
return JSON.stringify(SubjectTypeApp$outboundSchema.parse(subjectTypeApp));
}
/** @internal */
export type CreateConnectorAuthorizationRequestSubject$Outbound =
| SubjectTypeApp$Outbound
| SubjectTypeUser$Outbound
| SubjectTypeJwtBearer$Outbound
| SubjectTypeOther$Outbound;
/** @internal */
export const CreateConnectorAuthorizationRequestSubject$outboundSchema:
z.ZodType<
CreateConnectorAuthorizationRequestSubject$Outbound,
z.ZodTypeDef,
CreateConnectorAuthorizationRequestSubject
> = smartUnion([
z.lazy(() => SubjectTypeApp$outboundSchema),
z.lazy(() => SubjectTypeUser$outboundSchema),
z.lazy(() => SubjectTypeJwtBearer$outboundSchema),
z.lazy(() => SubjectTypeOther$outboundSchema),
]);
export function createConnectorAuthorizationRequestSubjectToJSON(
createConnectorAuthorizationRequestSubject:
CreateConnectorAuthorizationRequestSubject,
): string {
return JSON.stringify(
CreateConnectorAuthorizationRequestSubject$outboundSchema.parse(
createConnectorAuthorizationRequestSubject,
),
);
}
/** @internal */
export type CreateConnectorAuthorizationRequestAuthorizationDetails$Outbound = {
type?: string | undefined;
[additionalProperties: string]: unknown;
};
/** @internal */
export const CreateConnectorAuthorizationRequestAuthorizationDetails$outboundSchema:
z.ZodType<
CreateConnectorAuthorizationRequestAuthorizationDetails$Outbound,
z.ZodTypeDef,
CreateConnectorAuthorizationRequestAuthorizationDetails
> = z.object({
type: z.string().optional(),
additionalProperties: z.record(z.any()).optional(),
}).transform((v) => {
return {
...v.additionalProperties,
...remap$(v, {
additionalProperties: null,
}),
};
});
export function createConnectorAuthorizationRequestAuthorizationDetailsToJSON(
createConnectorAuthorizationRequestAuthorizationDetails:
CreateConnectorAuthorizationRequestAuthorizationDetails,
): string {
return JSON.stringify(
CreateConnectorAuthorizationRequestAuthorizationDetails$outboundSchema
.parse(createConnectorAuthorizationRequestAuthorizationDetails),
);
}
/** @internal */
export type CreateConnectorAuthorizationRequestRequestBody$Outbound = {
subject?:
| SubjectTypeApp$Outbound
| SubjectTypeUser$Outbound
| SubjectTypeJwtBearer$Outbound
| SubjectTypeOther$Outbound
| undefined;
installationId?: string | undefined;
audience?: Array<string> | undefined;
scopes?: Array<string> | undefined;
resources?: Array<string> | undefined;
authorizationDetails?:
| Array<CreateConnectorAuthorizationRequestAuthorizationDetails$Outbound>
| undefined;
validityBufferMs?: number | undefined;
returnUrl?: string | undefined;
webhook?: string | undefined;
prompt?: string | undefined;
deviceCode?: boolean | undefined;
expiresInMs?: number | undefined;
additionalParams?: { [k: string]: string } | undefined;
};
/** @internal */
export const CreateConnectorAuthorizationRequestRequestBody$outboundSchema:
z.ZodType<
CreateConnectorAuthorizationRequestRequestBody$Outbound,
z.ZodTypeDef,
CreateConnectorAuthorizationRequestRequestBody
> = z.object({
subject: smartUnion([
z.lazy(() => SubjectTypeApp$outboundSchema),
z.lazy(() => SubjectTypeUser$outboundSchema),
z.lazy(() => SubjectTypeJwtBearer$outboundSchema),
z.lazy(() => SubjectTypeOther$outboundSchema),
]).optional(),
installationId: z.string().optional(),
audience: z.array(z.string()).optional(),
scopes: z.array(z.string()).optional(),
resources: z.array(z.string()).optional(),
authorizationDetails: z.array(
z.lazy(() =>
CreateConnectorAuthorizationRequestAuthorizationDetails$outboundSchema
),
).optional(),
validityBufferMs: z.number().optional(),
returnUrl: z.string().optional(),
webhook: z.string().optional(),
prompt: z.string().optional(),
deviceCode: z.boolean().optional(),
expiresInMs: z.number().optional(),
additionalParams: z.record(z.string()).optional(),
});
export function createConnectorAuthorizationRequestRequestBodyToJSON(
createConnectorAuthorizationRequestRequestBody:
CreateConnectorAuthorizationRequestRequestBody,
): string {
return JSON.stringify(
CreateConnectorAuthorizationRequestRequestBody$outboundSchema.parse(
createConnectorAuthorizationRequestRequestBody,
),
);
}
/** @internal */
export type CreateConnectorAuthorizationRequestRequest$Outbound = {
connector: string;
RequestBody?:
| CreateConnectorAuthorizationRequestRequestBody$Outbound
| undefined;
};
/** @internal */
export const CreateConnectorAuthorizationRequestRequest$outboundSchema:
z.ZodType<
CreateConnectorAuthorizationRequestRequest$Outbound,
z.ZodTypeDef,
CreateConnectorAuthorizationRequestRequest
> = z.object({
connector: z.string(),
requestBody: z.lazy(() =>
CreateConnectorAuthorizationRequestRequestBody$outboundSchema
).optional(),
}).transform((v) => {
return remap$(v, {
requestBody: "RequestBody",
});
});
export function createConnectorAuthorizationRequestRequestToJSON(
createConnectorAuthorizationRequestRequest:
CreateConnectorAuthorizationRequestRequest,
): string {
return JSON.stringify(
CreateConnectorAuthorizationRequestRequest$outboundSchema.parse(
createConnectorAuthorizationRequestRequest,
),
);
}
/** @internal */
export const CreateConnectorAuthorizationRequestConnector$inboundSchema:
z.ZodType<
CreateConnectorAuthorizationRequestConnector,
z.ZodTypeDef,
unknown
> = z.object({
id: types.string(),
uid: types.string(),
type: types.string(),
service: types.optional(types.string()),
serviceName: types.optional(types.string()),
name: types.string(),
});
export function createConnectorAuthorizationRequestConnectorFromJSON(
jsonString: string,
): SafeParseResult<
CreateConnectorAuthorizationRequestConnector,
SDKValidationError
> {
return safeParse(
jsonString,
(x) =>
CreateConnectorAuthorizationRequestConnector$inboundSchema.parse(
JSON.parse(x),
),
`Failed to parse 'CreateConnectorAuthorizationRequestConnector' from JSON`,
);
}
/** @internal */
export const CreateConnectorAuthorizationRequestResponseBody$inboundSchema:
z.ZodType<
CreateConnectorAuthorizationRequestResponseBody,
z.ZodTypeDef,
unknown
> = z.object({
url: types.string(),
request: types.string(),
verifier: types.string(),
deviceCode: types.optional(types.string()),
expiresAt: types.number(),
connector: z.lazy(() =>
CreateConnectorAuthorizationRequestConnector$inboundSchema
),
});
export function createConnectorAuthorizationRequestResponseBodyFromJSON(
jsonString: string,
): SafeParseResult<
CreateConnectorAuthorizationRequestResponseBody,
SDKValidationError
> {
return safeParse(
jsonString,
(x) =>
CreateConnectorAuthorizationRequestResponseBody$inboundSchema.parse(
JSON.parse(x),
),
`Failed to parse 'CreateConnectorAuthorizationRequestResponseBody' from JSON`,
);
}