Gustav Hansen 03cf61f09a
chore(admin): convert API Token settings page to TS (#18680)
* chore(admin): convert API Token settings page to TS

Co-Authored-By: Gustav Hansen <gu@stav.dev>

* chore(admin): cleanup api token contracts (#18862)

---------

Co-authored-by: Josh <37798644+joshuaellis@users.noreply.github.com>
Co-authored-by: Jamie Howard <48524071+jhoward1994@users.noreply.github.com>
2023-11-21 17:12:49 +00:00

110 lines
2.0 KiB
TypeScript

import { errors } from '@strapi/utils';
import { Entity } from '@strapi/types';
export type ApiToken = {
accessKey: string;
createdAt: string;
description: string;
expiresAt: string;
id: Entity.ID;
lastUsedAt: string | null;
lifespan: string | number;
name: string;
permissions: string[];
type: 'custom' | 'full-access' | 'read-only';
updatedAt: string;
};
export interface ApiTokenBody extends Pick<ApiToken, 'description' | 'name'> {
lifespan?: ApiToken['lifespan'] | null;
permissions?: ApiToken['permissions'] | null;
type: ApiToken['type'] | undefined;
}
/**
* POST /api-tokens - Create an api token
*/
export declare namespace Create {
export interface Request {
body: ApiTokenBody;
query: {};
}
export interface Response {
data: ApiToken;
error?: errors.ApplicationError | errors.YupValidationError;
}
}
/**
* GET /api-tokens - List api tokens
*/
export declare namespace List {
export interface Request {
body: {};
query: {};
}
export interface Response {
data: ApiToken[];
error?: errors.ApplicationError;
}
}
/**
* DELETE /api-tokens/:id - Delete an API token
*/
export declare namespace Revoke {
export interface Request {
body: {};
query: {};
}
export interface Params {
id: number;
}
export interface Response {
data: ApiToken;
error?: errors.ApplicationError;
}
}
/**
* GET /api-tokens/:id - Get an API token
*/
export declare namespace Get {
export interface Request {
body: {};
query: {};
}
export interface Params {
id: number;
}
export interface Response {
data: ApiToken;
error?: errors.ApplicationError;
}
}
/**
* POST /api-tokens/:id - Update an API token
*/
export declare namespace Update {
export interface Request {
body: ApiTokenBody;
query: {};
}
export interface Params {
id: number;
}
export interface Response {
data: ApiToken;
error?: errors.ApplicationError | errors.YupValidationError;
}
}