/
githubmirror
/
strapi
Обзор
Документация
Войти
/
githubmirror
/
strapi
Код
Запросы
0
Пакеты
0
Релизы
0
Аналитика
Безопасность
develop
packages/core/admin/shared/contracts/admin-token.ts
140 строк
3 KB
Nico André
feat(admin): api token supports admin permissions and admin user ownership (#25657)
29 апр 2026, 18:57
Не верифицирован
29 апр 2026, 18:57
52b8fd9
Код
Авторство
О чём код?
import { errors } from '@strapi/utils'; import type { Data } from '@strapi/types'; import type { AdminTokenOwner, Permission } from './shared'; import type { ApiTokenBase } from './content-api-token'; export type AdminApiToken = ApiTokenBase & { kind: 'admin'; adminPermissions: Permission[]; adminUserOwner: Data.ID | AdminTokenOwner; }; export type AdminTokenBody = Pick<AdminApiToken, 'name' | 'description'> & { lifespan?: AdminApiToken['lifespan']; adminPermissions?: Omit<Permission, 'id' | 'createdAt' | 'updatedAt' | 'actionParameters'>[]; adminUserOwner?: Data.ID; }; /** * POST /admin-tokens - Create an admin token */ export declare namespace Create { export interface Request { body: Pick<AdminApiToken, 'name' | 'description' | 'lifespan'> & { adminPermissions?: Omit<Permission, 'id' | 'createdAt' | 'updatedAt' | 'actionParameters'>[]; }; query: {}; } export interface Response { data: AdminApiToken; error?: errors.ApplicationError | errors.YupValidationError; } } /** * GET /admin-tokens - List admin tokens */ export declare namespace List { export interface Request { body: {}; query: {}; } export interface Response { data: AdminApiToken[]; error?: errors.ApplicationError; } } /** * DELETE /admin-tokens/:id - Revoke an admin token */ export declare namespace Revoke { export interface Request { body: {}; query: {}; } export interface Params { id: Data.ID; } export interface Response { data: AdminApiToken; error?: errors.ApplicationError; } } /** * GET /admin-tokens/:id - Get an admin token */ export declare namespace Get { export interface Request { body: {}; query: {}; } export interface Params { id: Data.ID; } export interface Response { data: AdminApiToken; error?: errors.ApplicationError; } } /** * PUT /admin-tokens/:id - Update an admin token */ export declare namespace Update { export interface Request { body: Partial<AdminTokenBody>; query: {}; } export interface Params { id: Data.ID; } export interface Response { data: AdminApiToken; error?: errors.ApplicationError | errors.YupValidationError; } } /** * POST /admin-tokens/:id/regenerate - Regenerate an admin token */ export declare namespace Regenerate { export interface Request { body: {}; query: {}; } export interface Params { id: Data.ID; } export interface Response { data: AdminApiToken; error?: errors.ApplicationError; } } /** * GET /admin-tokens/:id/owner-permissions - Get the effective permissions of the token owner */ export declare namespace GetOwnerPermissions { export interface Request { params: { id: Data.ID }; query: {}; body: {}; } export interface Response { data: Permission[]; error?: errors.ApplicationError | errors.NotFoundError; } }