mirror of
https://github.com/strapi/strapi.git
synced 2025-07-30 04:20:34 +00:00

* chore(content-releases): add entries to content releases actions * chore(content-releases): add entries relation to findMany content-release's actions * chore(content-releases): improve findOne with actions code * chore(Content-releases): remi feedback * chore(content-releases): fix getReleaseActions response type * chore(content-releases): change findOne and findActions endpoints * chore(content-releases): fix error in release's tests * chore(content-releases): use queryBuilder from strapi.db * chore(content-releases): use queryBuilder from strapi.db
103 lines
2.0 KiB
TypeScript
103 lines
2.0 KiB
TypeScript
import type { Entity } from '../types';
|
|
import type { ReleaseAction } from './release-actions';
|
|
import type { UserInfo } from '../types';
|
|
import { errors } from '@strapi/utils';
|
|
import { UID } from '@strapi/types';
|
|
|
|
export interface Release extends Entity {
|
|
name: string;
|
|
releasedAt: string;
|
|
actions: ReleaseAction[];
|
|
}
|
|
|
|
export type Pagination = {
|
|
page: number;
|
|
pageSize: number;
|
|
pageCount: number;
|
|
total: number;
|
|
};
|
|
|
|
export interface ReleaseDataResponse extends Omit<Release, 'actions'> {
|
|
actions: { meta: { count: number } };
|
|
}
|
|
|
|
/**
|
|
* GET /content-releases/ - Get all releases
|
|
*/
|
|
export declare namespace GetReleases {
|
|
export interface Request {
|
|
state: {
|
|
userAbility: {};
|
|
};
|
|
query?: Partial<Pick<Pagination, 'page' | 'pageSize'>>;
|
|
}
|
|
|
|
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;
|
|
}
|
|
}
|