Fernando Chávez 9b4c03b10b
chore(content-releases): Add entries to content-releases' actions (#18918)
* 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
2023-12-04 10:10:51 +01:00

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;
}
}