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

61 lines
1.4 KiB
TypeScript

import { Attribute, Common } from '@strapi/types';
import type { Release, Pagination } from './releases';
import type { Entity } from '../types';
import type { errors } from '@strapi/utils';
type ReleaseActionEntry = Entity & {
// Entity attributes
[key: string]: Attribute.Any;
};
export interface ReleaseAction extends Entity {
type: 'publish' | 'unpublish';
entry: ReleaseActionEntry;
contentType: Common.UID.ContentType;
release: Release;
}
/**
* POST /content-releases/:id/actions - Create a release action
*/
export declare namespace CreateReleaseAction {
export interface Request {
params: {
releaseId: Release['id'];
};
body: {
type: ReleaseAction['type'];
entry: {
id: ReleaseActionEntry['id'];
contentType: Common.UID.ContentType;
};
};
}
export interface Response {
data: ReleaseAction;
error?: errors.ApplicationError | errors.ValidationError | errors.NotFoundError;
}
}
/**
* GET /content-releases/:id/actions - Get all release actions
*/
export declare namespace GetReleaseActions {
export interface Request {
params: {
releaseId: Release['id'];
};
query?: Partial<Pick<Pagination, 'page' | 'pageSize'>>;
}
export interface Response {
data: ReleaseAction[];
meta: {
pagination: Pagination;
};
error?: errors.ApplicationError | errors.NotFoundError;
}
}