import type { Entity } from '../types'; import type { ReleaseAction } from './release-actions'; import type { UserInfo } from '../types'; import { errors } from '@strapi/utils'; export interface Release extends Entity { name: string; releasedAt: string; actions: ReleaseAction[]; } type Pagination = { page: number; pageSize: number; pageCount: number; total: number; }; export interface ReleaseDataResponse extends Omit { actions: { meta: { count: number } }; } /** * GET /content-releases/ - Get all releases */ export declare namespace GetReleases { export interface Request { state: { userAbility: {}; }; query?: Partial>; } export interface Response { data: ReleaseDataResponse[]; meta: { pagination: Pagination; }; error?: errors.ApplicationError; } } /** * GET /content-releases/:id - Get a single release */ export declare namespace GetRelease { export interface Request { state: { userAbility: {}; }; params: { id: Release['id']; }; } export interface Response { data: ReleaseDataResponse; error?: errors.ApplicationError | errors.NotFoundError; } } /** * POST /content-releases/ - Create a release */ export declare namespace CreateRelease { export interface Request { state: { user: UserInfo; }; body: { name: string; }; } export interface Response { data: ReleaseDataResponse; error?: errors.ApplicationError | errors.ValidationError; } } /** * PUT /content-releases/:id - Update a release */ export declare namespace UpdateRelease { export interface Request { state: { user: UserInfo; }; params: { id: Release['id']; }; body: { name: string; }; } export interface Response { data: ReleaseDataResponse; error?: errors.ApplicationError | errors.ValidationError; } }