mirror of
https://github.com/strapi/strapi.git
synced 2025-08-24 16:49:28 +00:00
docs(content-releases): add missing endpoints to backend docs (#19302)
* docs(content-releases): add missing endpoints to backend docs * Update docs/docs/docs/01-core/content-releases/01-backend.md Co-authored-by: markkaylor <mark.kaylor@strapi.io> * Update docs/docs/docs/01-core/content-releases/01-backend.md Co-authored-by: markkaylor <mark.kaylor@strapi.io> * Update docs/docs/docs/01-core/content-releases/01-backend.md Co-authored-by: markkaylor <mark.kaylor@strapi.io> * apply marks feedback --------- Co-authored-by: markkaylor <mark.kaylor@strapi.io>
This commit is contained in:
parent
3844395bef
commit
1df99d479d
@ -0,0 +1,47 @@
|
|||||||
|
---
|
||||||
|
title: unstable_useDocument
|
||||||
|
description: API reference for the useDocument hook
|
||||||
|
tags:
|
||||||
|
- admin
|
||||||
|
- hooks
|
||||||
|
- document
|
||||||
|
- validations
|
||||||
|
---
|
||||||
|
|
||||||
|
:::caution
|
||||||
|
This hook is not stable and **likely to change**. Use at your own risk.
|
||||||
|
:::
|
||||||
|
|
||||||
|
A hook that returns utilities to work with documents.
|
||||||
|
|
||||||
|
## Usage
|
||||||
|
|
||||||
|
```
|
||||||
|
function Component() {
|
||||||
|
const { validate } = unstable_useDocument();
|
||||||
|
}
|
||||||
|
```
|
||||||
|
|
||||||
|
At the moment, useDocument only returns a validate function.
|
||||||
|
|
||||||
|
### `validate()`
|
||||||
|
|
||||||
|
```ts
|
||||||
|
const validate(
|
||||||
|
entry: Entity,
|
||||||
|
{
|
||||||
|
contentType: Schema.ContentType,
|
||||||
|
components: {
|
||||||
|
[key: Schema.Component['uid']]: Schema.Component;
|
||||||
|
},
|
||||||
|
isCreatingEntry?: boolean;
|
||||||
|
}
|
||||||
|
): {
|
||||||
|
errors: { [key: string]: TranslationMessage }
|
||||||
|
}
|
||||||
|
```
|
||||||
|
|
||||||
|
With this function, you can apply the same validations we use in the admin. Please be aware that for this function to work, you need to ensure the following:
|
||||||
|
|
||||||
|
1. If you are validating an entry with relations/components/dynamic zones then it **MUST** be populated. Otherwise, the validations will pass even if there is an error on one populated field.
|
||||||
|
2. The correct schema for the contentType and the schemas for any components related to that content type are mandatory for this hook to function correctly.
|
@ -56,6 +56,19 @@ packages/core/content-releases/server/src/routes/release.ts
|
|||||||
}
|
}
|
||||||
```
|
```
|
||||||
|
|
||||||
|
**Get all releases with/without an entry**:
|
||||||
|
|
||||||
|
- method: `GET`
|
||||||
|
- endpoint: `/content-releases/`
|
||||||
|
- params:
|
||||||
|
```ts
|
||||||
|
{
|
||||||
|
contentTypeUid: string;
|
||||||
|
entryId: number;
|
||||||
|
hasEntryAttached?: boolean;
|
||||||
|
}
|
||||||
|
```
|
||||||
|
|
||||||
**Get a single release**
|
**Get a single release**
|
||||||
|
|
||||||
- method: `GET`
|
- method: `GET`
|
||||||
@ -83,6 +96,11 @@ packages/core/content-releases/server/src/routes/release.ts
|
|||||||
}
|
}
|
||||||
```
|
```
|
||||||
|
|
||||||
|
**Delete a release**:
|
||||||
|
|
||||||
|
- method: `DELETE`
|
||||||
|
- endpoint: `/content-releases/:id`
|
||||||
|
|
||||||
**Publish a release**:
|
**Publish a release**:
|
||||||
|
|
||||||
- method: `POST`
|
- method: `POST`
|
||||||
@ -100,12 +118,25 @@ packages/core/content-releases/server/src/routes/release.ts
|
|||||||
{
|
{
|
||||||
entry: {
|
entry: {
|
||||||
id: number,
|
id: number,
|
||||||
contentType: string
|
contentType: string,
|
||||||
|
locale: string,
|
||||||
}
|
}
|
||||||
type: 'publish' | 'unpublish'
|
type: 'publish' | 'unpublish'
|
||||||
}
|
}
|
||||||
```
|
```
|
||||||
|
|
||||||
|
**Get release actions from a release**
|
||||||
|
|
||||||
|
- method: `GET`
|
||||||
|
- endpoint: `/content-releases/:releaseId/actions`
|
||||||
|
- body:
|
||||||
|
```ts
|
||||||
|
{
|
||||||
|
page: number;
|
||||||
|
pageSize: number;
|
||||||
|
}
|
||||||
|
```
|
||||||
|
|
||||||
**Update a release action**
|
**Update a release action**
|
||||||
|
|
||||||
- method: `PUT`
|
- method: `PUT`
|
||||||
@ -153,3 +184,19 @@ Exposes validation functions to run before performing operations on a Release
|
|||||||
```
|
```
|
||||||
packages/core/content-releases/server/src/services/validation.ts
|
packages/core/content-releases/server/src/services/validation.ts
|
||||||
```
|
```
|
||||||
|
|
||||||
|
## Migrations
|
||||||
|
|
||||||
|
We have two migrations that we run every time we sync the content types.
|
||||||
|
|
||||||
|
### `deleteActionsOnDisableDraftAndPublish`
|
||||||
|
|
||||||
|
When a user disables Draft and Publish in one Content Type we make sure to remove all the release actions related to entries of that content type to avoid errors.
|
||||||
|
|
||||||
|
### `deleteActionsOnDeleteContentType`
|
||||||
|
|
||||||
|
When a Content Type is deleted, delete all actions containing entries from that Content Type.
|
||||||
|
|
||||||
|
## Subscribing to Lifecycles Events
|
||||||
|
|
||||||
|
When an entry is deleted delete all actions containing that entry.
|
||||||
|
Loading…
x
Reference in New Issue
Block a user