@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>
182 lines (172 loc) • 5.55 kB
text/typescript
/*
* Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT.
*/
import { projectRoutesAddRoute } from "../funcs/projectRoutesAddRoute.js";
import { projectRoutesDeleteRoutes } from "../funcs/projectRoutesDeleteRoutes.js";
import { projectRoutesEditRoute } from "../funcs/projectRoutesEditRoute.js";
import { projectRoutesGenerateRoute } from "../funcs/projectRoutesGenerateRoute.js";
import { projectRoutesGetRoutes } from "../funcs/projectRoutesGetRoutes.js";
import { projectRoutesGetRouteVersions } from "../funcs/projectRoutesGetRouteVersions.js";
import { projectRoutesStageRoutes } from "../funcs/projectRoutesStageRoutes.js";
import { projectRoutesUpdateRouteVersions } from "../funcs/projectRoutesUpdateRouteVersions.js";
import { ClientSDK, RequestOptions } from "../lib/sdks.js";
import { AddRouteRequest, AddRouteResponseBody } from "../models/addrouteop.js";
import {
DeleteRoutesRequest,
DeleteRoutesResponseBody,
} from "../models/deleteroutesop.js";
import {
EditRouteRequest,
EditRouteResponseBody,
} from "../models/editrouteop.js";
import {
GenerateRouteRequest,
GenerateRouteResponseBody,
} from "../models/generaterouteop.js";
import {
GetRoutesRequest,
GetRoutesResponseBody,
} from "../models/getroutesop.js";
import {
GetRouteVersionsRequest,
GetRouteVersionsResponseBody,
} from "../models/getrouteversionsop.js";
import {
StageRoutesRequest,
StageRoutesResponseBody,
} from "../models/stageroutesop.js";
import {
UpdateRouteVersionsRequest,
UpdateRouteVersionsResponseBody,
} from "../models/updaterouteversionsop.js";
import { unwrapAsync } from "../types/fp.js";
export class ProjectRoutes extends ClientSDK {
/**
* Get project routing rules
*
* @remarks
* Get the routing rules for a project. Supports searching by name/ID/pattern, filtering by route type, and diffing staged changes against production.
*/
async getRoutes(
request: GetRoutesRequest,
options?: RequestOptions,
): Promise<GetRoutesResponseBody> {
return unwrapAsync(projectRoutesGetRoutes(
this,
request,
options,
));
}
/**
* Stage routing rules
*
* @remarks
* Stage routing rules for a project. Set `overwrite` to true to replace all existing rules, or omit it to merge with existing rules by ID. Returns the new staged version.
*/
async stageRoutes(
request: StageRoutesRequest,
options?: RequestOptions,
): Promise<StageRoutesResponseBody> {
return unwrapAsync(projectRoutesStageRoutes(
this,
request,
options,
));
}
/**
* Add a routing rule
*
* @remarks
* Add a single routing rule to a project at a specified position. Defaults to the end of the list if no position is provided. The route is enabled by default. Stages a new version with the added route.
*/
async addRoute(
request: AddRouteRequest,
options?: RequestOptions,
): Promise<AddRouteResponseBody> {
return unwrapAsync(projectRoutesAddRoute(
this,
request,
options,
));
}
/**
* Delete routing rules
*
* @remarks
* Delete one or more routing rules from a project by ID. Stages a new version with the routes removed.
*/
async deleteRoutes(
request: DeleteRoutesRequest,
options?: RequestOptions,
): Promise<DeleteRoutesResponseBody> {
return unwrapAsync(projectRoutesDeleteRoutes(
this,
request,
options,
));
}
/**
* Edit a routing rule
*
* @remarks
* Replace a routing rule identified by its ID, or restore it from the current production version. Stages a new version with the modified route.
*/
async editRoute(
request: EditRouteRequest,
options?: RequestOptions,
): Promise<EditRouteResponseBody> {
return unwrapAsync(projectRoutesEditRoute(
this,
request,
options,
));
}
/**
* Generate a routing rule from natural language
*
* @remarks
* Generate a routing rule configuration from a natural language description. Returns a suggested route configuration that can be reviewed and saved.
*/
async generateRoute(
request: GenerateRouteRequest,
options?: RequestOptions,
): Promise<GenerateRouteResponseBody> {
return unwrapAsync(projectRoutesGenerateRoute(
this,
request,
options,
));
}
/**
* Get routing rule version history
*
* @remarks
* Get the version history for a project's routing rules. Returns the staging version (if one exists) followed by production versions, most recent first. The staging version has `isStaging: true` and the current production version has `isLive: true`.
*/
async getRouteVersions(
request: GetRouteVersionsRequest,
options?: RequestOptions,
): Promise<GetRouteVersionsResponseBody> {
return unwrapAsync(projectRoutesGetRouteVersions(
this,
request,
options,
));
}
/**
* Promote, restore, or discard a routing rule version
*
* @remarks
* Promote staged routing rules to production, restore a previous production version, or discard staged changes. - `promote`: Publishes the staging version to production. - `restore`: Rolls back to a previous production version. - `discard`: Removes the staging version without publishing.
*/
async updateRouteVersions(
request: UpdateRouteVersionsRequest,
options?: RequestOptions,
): Promise<UpdateRouteVersionsResponseBody> {
return unwrapAsync(projectRoutesUpdateRouteVersions(
this,
request,
options,
));
}
}