mirror of
https://github.com/strapi/strapi.git
synced 2025-07-13 20:11:47 +00:00
169 lines
3.3 KiB
TypeScript
169 lines
3.3 KiB
TypeScript
import { errors } from '@strapi/utils';
|
|
|
|
export interface TransferTokenPermission {
|
|
id: number | string;
|
|
action: 'push' | 'pull' | 'push-pull';
|
|
token: TransferToken | number;
|
|
}
|
|
|
|
export interface DatabaseTransferToken {
|
|
id: number | string;
|
|
name: string;
|
|
description: string;
|
|
accessKey: string;
|
|
lastUsedAt?: number;
|
|
lifespan: number | null;
|
|
expiresAt: number;
|
|
permissions: TransferTokenPermission[];
|
|
}
|
|
|
|
export interface TransferToken extends Omit<DatabaseTransferToken, 'permissions'> {
|
|
permissions: Array<TransferTokenPermission['action']>;
|
|
}
|
|
|
|
export type SanitizedTransferToken = Omit<TransferToken, 'accessKey'>;
|
|
|
|
export type TokenCreatePayload = Pick<
|
|
TransferToken,
|
|
'name' | 'description' | 'lastUsedAt' | 'permissions' | 'lifespan'
|
|
> & { accessKey?: string };
|
|
|
|
/**
|
|
* GET /transfer/runner/push
|
|
*/
|
|
export declare namespace RunnerPush {
|
|
export interface Request {
|
|
body: {};
|
|
query: {};
|
|
}
|
|
|
|
export interface Response {
|
|
data: {};
|
|
error?: errors.ApplicationError | errors.UnauthorizedError;
|
|
}
|
|
}
|
|
/**
|
|
* GET /transfer/runner/pull
|
|
*/
|
|
export declare namespace RunnerPull {
|
|
export interface Request {
|
|
body: {};
|
|
query: {};
|
|
}
|
|
|
|
export interface Response {
|
|
data: {};
|
|
error?: errors.ApplicationError | errors.UnauthorizedError;
|
|
}
|
|
}
|
|
|
|
/**
|
|
* GET /transfer/tokens - List all transfer tokens
|
|
*/
|
|
export declare namespace TokenList {
|
|
export interface Request {
|
|
body: {};
|
|
query: {};
|
|
}
|
|
|
|
export interface Response {
|
|
data: SanitizedTransferToken[];
|
|
error?: errors.ApplicationError;
|
|
}
|
|
}
|
|
|
|
/**
|
|
* GET /transfer/tokens/:id - Get a token by ID
|
|
*/
|
|
export declare namespace TokenGetById {
|
|
export interface Request {
|
|
body: {};
|
|
query: {};
|
|
}
|
|
|
|
export interface Params {
|
|
id: string | number;
|
|
}
|
|
|
|
export interface Response {
|
|
data: SanitizedTransferToken;
|
|
error?: errors.ApplicationError;
|
|
}
|
|
}
|
|
|
|
/**
|
|
* POST /transfer/tokens - Create a transfer token
|
|
*/
|
|
export declare namespace TokenCreate {
|
|
export interface Request {
|
|
body: TokenCreatePayload;
|
|
query: {};
|
|
}
|
|
|
|
export interface Response {
|
|
data: TransferToken;
|
|
error?: errors.ApplicationError | errors.YupValidationError;
|
|
}
|
|
}
|
|
|
|
export interface TokenUpdatePayload
|
|
extends Pick<TokenCreatePayload, 'name' | 'description'>,
|
|
Partial<Omit<TokenCreatePayload, 'name' | 'description'>> {}
|
|
|
|
/**
|
|
* PUT /transfer/tokens/:id - Update a token by ID
|
|
*/
|
|
export declare namespace TokenUpdate {
|
|
export interface Request {
|
|
body: TokenUpdatePayload;
|
|
query: {};
|
|
}
|
|
|
|
export interface Params {
|
|
id: string | number;
|
|
}
|
|
|
|
export interface Response {
|
|
data: SanitizedTransferToken;
|
|
error?: errors.ApplicationError;
|
|
}
|
|
}
|
|
|
|
/**
|
|
* DELETE /transfer/tokens/:id - Delete a transfer token
|
|
*/
|
|
export declare namespace TokenRevoke {
|
|
export interface Request {
|
|
body: {};
|
|
query: {};
|
|
}
|
|
|
|
export interface Params {
|
|
id: string | number;
|
|
}
|
|
|
|
export interface Response {
|
|
data: SanitizedTransferToken;
|
|
error?: errors.ApplicationError;
|
|
}
|
|
}
|
|
|
|
/**
|
|
* POST /transfer/tokens/:id/regenerate - Regenerate a token by ID
|
|
*/
|
|
export declare namespace TokenRegenerate {
|
|
export interface Request {
|
|
body: {};
|
|
query: {};
|
|
}
|
|
|
|
export interface Params {
|
|
id: string | number;
|
|
}
|
|
|
|
export interface Response {
|
|
data: TransferToken;
|
|
error?: errors.ApplicationError;
|
|
}
|
|
}
|