@strapi/content-manager 0.0.0-experimental.6d27139261823fc4b18da9f3c10b271d5010dbf0 → 0.0.0-experimental.71ed910bd859c7e558bd1c1042eaadb7d26fd22a
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/_chunks/{ComponentConfigurationPage-9lRmRdIr.mjs → ComponentConfigurationPage-7-qB29e7.mjs} +3 -3
- package/dist/_chunks/{ComponentConfigurationPage-9lRmRdIr.mjs.map → ComponentConfigurationPage-7-qB29e7.mjs.map} +1 -1
- package/dist/_chunks/{ComponentConfigurationPage-DyDkPajU.js → ComponentConfigurationPage-DP7AC0UU.js} +3 -3
- package/dist/_chunks/{ComponentConfigurationPage-DyDkPajU.js.map → ComponentConfigurationPage-DP7AC0UU.js.map} +1 -1
- package/dist/_chunks/{EditConfigurationPage-Bk893vVY.mjs → EditConfigurationPage-CI4XoymK.mjs} +3 -3
- package/dist/_chunks/{EditConfigurationPage-Bk893vVY.mjs.map → EditConfigurationPage-CI4XoymK.mjs.map} +1 -1
- package/dist/_chunks/{EditConfigurationPage-DValmA0m.js → EditConfigurationPage-DITVliEI.js} +3 -3
- package/dist/_chunks/{EditConfigurationPage-DValmA0m.js.map → EditConfigurationPage-DITVliEI.js.map} +1 -1
- package/dist/_chunks/{EditViewPage-Dk7Eaft4.js → EditViewPage-CUS2EAhB.js} +8 -4
- package/dist/_chunks/EditViewPage-CUS2EAhB.js.map +1 -0
- package/dist/_chunks/{EditViewPage-DiNFdFqP.mjs → EditViewPage-Dzpno8xI.mjs} +8 -4
- package/dist/_chunks/EditViewPage-Dzpno8xI.mjs.map +1 -0
- package/dist/_chunks/{Field-Dv_HTFTa.mjs → Field-B_jG_EV9.mjs} +34 -32
- package/dist/_chunks/Field-B_jG_EV9.mjs.map +1 -0
- package/dist/_chunks/{Field-DH2OaqUP.js → Field-CtUU1Fg8.js} +38 -36
- package/dist/_chunks/Field-CtUU1Fg8.js.map +1 -0
- package/dist/_chunks/{Form-Dy6P4HgH.mjs → Form-BXHao2mZ.mjs} +15 -7
- package/dist/_chunks/Form-BXHao2mZ.mjs.map +1 -0
- package/dist/_chunks/{Form-B_dUDizM.js → Form-DTqO0ymI.js} +15 -7
- package/dist/_chunks/Form-DTqO0ymI.js.map +1 -0
- package/dist/_chunks/{History-DrwsD1Vc.mjs → History-2Ah2CQ4T.mjs} +4 -4
- package/dist/_chunks/{History-DrwsD1Vc.mjs.map → History-2Ah2CQ4T.mjs.map} +1 -1
- package/dist/_chunks/{History-BT4w83Oa.js → History-C_uSGzO5.js} +4 -4
- package/dist/_chunks/{History-BT4w83Oa.js.map → History-C_uSGzO5.js.map} +1 -1
- package/dist/_chunks/{ListConfigurationPage-BxIP0jRy.mjs → ListConfigurationPage-BjSJlaoC.mjs} +2 -2
- package/dist/_chunks/{ListConfigurationPage-BxIP0jRy.mjs.map → ListConfigurationPage-BjSJlaoC.mjs.map} +1 -1
- package/dist/_chunks/{ListConfigurationPage-CuYrMcW3.js → ListConfigurationPage-nyuP7OSy.js} +2 -2
- package/dist/_chunks/{ListConfigurationPage-CuYrMcW3.js.map → ListConfigurationPage-nyuP7OSy.js.map} +1 -1
- package/dist/_chunks/{ListViewPage-5a1vw-OK.mjs → ListViewPage-B75x3nz2.mjs} +24 -12
- package/dist/_chunks/ListViewPage-B75x3nz2.mjs.map +1 -0
- package/dist/_chunks/{ListViewPage-BvpwNur7.js → ListViewPage-DHgHD8Xg.js} +28 -16
- package/dist/_chunks/ListViewPage-DHgHD8Xg.js.map +1 -0
- package/dist/_chunks/{NoContentTypePage-UqEiWKkM.js → NoContentTypePage-CDUKdZ7d.js} +2 -2
- package/dist/_chunks/{NoContentTypePage-UqEiWKkM.js.map → NoContentTypePage-CDUKdZ7d.js.map} +1 -1
- package/dist/_chunks/{NoContentTypePage-Bm6tRcd3.mjs → NoContentTypePage-DUacQSyF.mjs} +2 -2
- package/dist/_chunks/{NoContentTypePage-Bm6tRcd3.mjs.map → NoContentTypePage-DUacQSyF.mjs.map} +1 -1
- package/dist/_chunks/{NoPermissionsPage-BHPqn_tQ.mjs → NoPermissionsPage-SFllMekk.mjs} +2 -2
- package/dist/_chunks/{NoPermissionsPage-BHPqn_tQ.mjs.map → NoPermissionsPage-SFllMekk.mjs.map} +1 -1
- package/dist/_chunks/{NoPermissionsPage-C_vGRo8Q.js → NoPermissionsPage-zwIZydDI.js} +2 -2
- package/dist/_chunks/{NoPermissionsPage-C_vGRo8Q.js.map → NoPermissionsPage-zwIZydDI.js.map} +1 -1
- package/dist/_chunks/{Relations-C7fPyh5P.mjs → Relations-D2NRW8fC.mjs} +13 -9
- package/dist/_chunks/Relations-D2NRW8fC.mjs.map +1 -0
- package/dist/_chunks/{Relations-CznVF6LS.js → Relations-NFLaRNPr.js} +13 -9
- package/dist/_chunks/Relations-NFLaRNPr.js.map +1 -0
- package/dist/_chunks/{en-otD_UBJi.js → en-BlhnxQfj.js} +6 -5
- package/dist/_chunks/{en-otD_UBJi.js.map → en-BlhnxQfj.js.map} +1 -1
- package/dist/_chunks/{en-CbaIuYoB.mjs → en-C8YBvRrK.mjs} +6 -5
- package/dist/_chunks/{en-CbaIuYoB.mjs.map → en-C8YBvRrK.mjs.map} +1 -1
- package/dist/_chunks/{index-BJ6uTqLL.mjs → index-C9HxCo5R.mjs} +1586 -1483
- package/dist/_chunks/index-C9HxCo5R.mjs.map +1 -0
- package/dist/_chunks/{index-D9UmmBcM.js → index-ovJRE1FM.js} +1582 -1479
- package/dist/_chunks/index-ovJRE1FM.js.map +1 -0
- package/dist/_chunks/{layout-uomiIGbG.mjs → layout-DaUjDiWQ.mjs} +5 -4
- package/dist/_chunks/{layout-uomiIGbG.mjs.map → layout-DaUjDiWQ.mjs.map} +1 -1
- package/dist/_chunks/{layout-kfu5Wtix.js → layout-UNWstw_s.js} +5 -4
- package/dist/_chunks/{layout-kfu5Wtix.js.map → layout-UNWstw_s.js.map} +1 -1
- package/dist/_chunks/{relations-DiDufGSA.mjs → relations-D8iFAeRu.mjs} +2 -2
- package/dist/_chunks/{relations-DiDufGSA.mjs.map → relations-D8iFAeRu.mjs.map} +1 -1
- package/dist/_chunks/{relations-DKENrxko.js → relations-NN3coOG5.js} +2 -2
- package/dist/_chunks/{relations-DKENrxko.js.map → relations-NN3coOG5.js.map} +1 -1
- package/dist/_chunks/{usePrev-B9w_-eYc.js → useDebounce-CtcjDB3L.js} +14 -1
- package/dist/_chunks/useDebounce-CtcjDB3L.js.map +1 -0
- package/dist/_chunks/useDebounce-DmuSJIF3.mjs +29 -0
- package/dist/_chunks/useDebounce-DmuSJIF3.mjs.map +1 -0
- package/dist/admin/index.js +2 -1
- package/dist/admin/index.js.map +1 -1
- package/dist/admin/index.mjs +3 -2
- package/dist/admin/src/exports.d.ts +1 -1
- package/dist/admin/src/hooks/useDocument.d.ts +32 -1
- package/dist/admin/src/pages/EditView/components/Header.d.ts +11 -11
- package/dist/admin/src/services/documents.d.ts +3 -1
- package/dist/server/index.js +27 -16
- package/dist/server/index.js.map +1 -1
- package/dist/server/index.mjs +27 -16
- package/dist/server/index.mjs.map +1 -1
- package/dist/server/src/controllers/collection-types.d.ts.map +1 -1
- package/dist/server/src/controllers/relations.d.ts.map +1 -1
- package/dist/shared/contracts/collection-types.d.ts +3 -1
- package/dist/shared/contracts/collection-types.d.ts.map +1 -1
- package/package.json +11 -11
- package/dist/_chunks/EditViewPage-DiNFdFqP.mjs.map +0 -1
- package/dist/_chunks/EditViewPage-Dk7Eaft4.js.map +0 -1
- package/dist/_chunks/Field-DH2OaqUP.js.map +0 -1
- package/dist/_chunks/Field-Dv_HTFTa.mjs.map +0 -1
- package/dist/_chunks/Form-B_dUDizM.js.map +0 -1
- package/dist/_chunks/Form-Dy6P4HgH.mjs.map +0 -1
- package/dist/_chunks/ListViewPage-5a1vw-OK.mjs.map +0 -1
- package/dist/_chunks/ListViewPage-BvpwNur7.js.map +0 -1
- package/dist/_chunks/Relations-C7fPyh5P.mjs.map +0 -1
- package/dist/_chunks/Relations-CznVF6LS.js.map +0 -1
- package/dist/_chunks/index-BJ6uTqLL.mjs.map +0 -1
- package/dist/_chunks/index-D9UmmBcM.js.map +0 -1
- package/dist/_chunks/usePrev-B9w_-eYc.js.map +0 -1
- package/dist/_chunks/usePrev-DH6iah0A.mjs +0 -16
- package/dist/_chunks/usePrev-DH6iah0A.mjs.map +0 -1
- package/strapi-server.js +0 -3
@@ -0,0 +1 @@
|
|
1
|
+
{"version":3,"file":"useDebounce-DmuSJIF3.mjs","sources":["../../admin/src/utils/urls.ts","../../admin/src/hooks/usePrev.ts","../../admin/src/hooks/useDebounce.ts"],"sourcesContent":["const prefixFileUrlWithBackendUrl = (fileURL?: string): string | undefined => {\n return !!fileURL && fileURL.startsWith('/') ? `${window.strapi.backendURL}${fileURL}` : fileURL;\n};\n\nexport { prefixFileUrlWithBackendUrl };\n","import { useEffect, useRef } from 'react';\n\nexport const usePrev = <T>(value: T): T | undefined => {\n const ref = useRef<T>();\n\n useEffect(() => {\n ref.current = value;\n }, [value]);\n\n return ref.current;\n};\n","import { useEffect, useState } from 'react';\n\nexport function useDebounce<TValue>(value: TValue, delay: number): TValue {\n const [debouncedValue, setDebouncedValue] = useState(value);\n\n useEffect(() => {\n const handler = setTimeout(() => {\n setDebouncedValue(value);\n }, delay);\n\n return () => {\n clearTimeout(handler);\n };\n }, [value, delay]);\n\n return debouncedValue;\n}\n"],"names":[],"mappings":";AAAM,MAAA,8BAA8B,CAAC,YAAyC;AAC5E,SAAO,CAAC,CAAC,WAAW,QAAQ,WAAW,GAAG,IAAI,GAAG,OAAO,OAAO,UAAU,GAAG,OAAO,KAAK;AAC1F;ACAa,MAAA,UAAU,CAAI,UAA4B;AACrD,QAAM,MAAM;AAEZ,YAAU,MAAM;AACd,QAAI,UAAU;AAAA,EAAA,GACb,CAAC,KAAK,CAAC;AAEV,SAAO,IAAI;AACb;ACRgB,SAAA,YAAoB,OAAe,OAAuB;AACxE,QAAM,CAAC,gBAAgB,iBAAiB,IAAI,SAAS,KAAK;AAE1D,YAAU,MAAM;AACR,UAAA,UAAU,WAAW,MAAM;AAC/B,wBAAkB,KAAK;AAAA,OACtB,KAAK;AAER,WAAO,MAAM;AACX,mBAAa,OAAO;AAAA,IAAA;AAAA,EACtB,GACC,CAAC,OAAO,KAAK,CAAC;AAEV,SAAA;AACT;"}
|
package/dist/admin/index.js
CHANGED
@@ -1,10 +1,11 @@
|
|
1
1
|
"use strict";
|
2
2
|
Object.defineProperties(exports, { __esModule: { value: true }, [Symbol.toStringTag]: { value: "Module" } });
|
3
|
-
const index = require("../_chunks/index-
|
3
|
+
const index = require("../_chunks/index-ovJRE1FM.js");
|
4
4
|
require("@strapi/icons");
|
5
5
|
exports.DocumentRBAC = index.DocumentRBAC;
|
6
6
|
exports.buildValidParams = index.buildValidParams;
|
7
7
|
exports.default = index.index;
|
8
|
+
exports.unstable_useContentManagerContext = index.useContentManagerContext;
|
8
9
|
exports.unstable_useDocument = index.useDocument;
|
9
10
|
exports.unstable_useDocumentActions = index.useDocumentActions;
|
10
11
|
exports.unstable_useDocumentLayout = index.useDocumentLayout;
|
package/dist/admin/index.js.map
CHANGED
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"index.js","sources":[],"sourcesContent":[],"names":[],"mappings":"
|
1
|
+
{"version":3,"file":"index.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;;;;;;"}
|
package/dist/admin/index.mjs
CHANGED
@@ -1,11 +1,12 @@
|
|
1
|
-
import { l, d, K, J,
|
1
|
+
import { l, d, K, L, J, M, h, f } from "../_chunks/index-C9HxCo5R.mjs";
|
2
2
|
import "@strapi/icons";
|
3
3
|
export {
|
4
4
|
l as DocumentRBAC,
|
5
5
|
d as buildValidParams,
|
6
6
|
K as default,
|
7
|
+
L as unstable_useContentManagerContext,
|
7
8
|
J as unstable_useDocument,
|
8
|
-
|
9
|
+
M as unstable_useDocumentActions,
|
9
10
|
h as unstable_useDocumentLayout,
|
10
11
|
f as useDocumentRBAC
|
11
12
|
};
|
@@ -4,7 +4,7 @@
|
|
4
4
|
* but should still export the same things.
|
5
5
|
*/
|
6
6
|
export { buildValidParams } from './utils/api';
|
7
|
-
export { useDocument as unstable_useDocument } from './hooks/useDocument';
|
7
|
+
export { useDocument as unstable_useDocument, useContentManagerContext as unstable_useContentManagerContext, } from './hooks/useDocument';
|
8
8
|
export { useDocumentActions as unstable_useDocumentActions } from './hooks/useDocumentActions';
|
9
9
|
export { useDocumentLayout as unstable_useDocumentLayout } from './hooks/useDocumentLayout';
|
10
10
|
export type { EditFieldLayout, EditLayout, ListFieldLayout, ListLayout, } from './hooks/useDocumentLayout';
|
@@ -31,7 +31,9 @@ type UseDocument = (args: UseDocumentArgs, opts?: UseDocumentOpts) => {
|
|
31
31
|
* This is the schema of the content type, it is not the same as the layout.
|
32
32
|
*/
|
33
33
|
schema?: Schema;
|
34
|
+
schemas?: Schema[];
|
34
35
|
validate: (document: Document) => null | FormErrors;
|
36
|
+
hasError?: boolean;
|
35
37
|
};
|
36
38
|
/**
|
37
39
|
* @alpha
|
@@ -78,10 +80,39 @@ declare const useDoc: () => {
|
|
78
80
|
* This is the schema of the content type, it is not the same as the layout.
|
79
81
|
*/
|
80
82
|
schema?: ContentType | undefined;
|
83
|
+
schemas?: ContentType[] | undefined;
|
81
84
|
validate: (document: Document) => null | FormErrors;
|
85
|
+
hasError?: boolean | undefined;
|
82
86
|
collectionType: string;
|
83
87
|
model: string;
|
84
88
|
id: string | undefined;
|
85
89
|
};
|
86
|
-
|
90
|
+
/**
|
91
|
+
* @public
|
92
|
+
* @experimental
|
93
|
+
* Content manager context hooks for plugin development.
|
94
|
+
* Make sure to use this hook inside the content manager.
|
95
|
+
*/
|
96
|
+
declare const useContentManagerContext: () => {
|
97
|
+
error: import("@reduxjs/toolkit").SerializedError | import("../utils/api").BaseQueryError | undefined;
|
98
|
+
isLoading: boolean;
|
99
|
+
model: string;
|
100
|
+
collectionType: string;
|
101
|
+
id: string | undefined;
|
102
|
+
slug: string;
|
103
|
+
isCreatingEntry: boolean;
|
104
|
+
isSingleType: boolean;
|
105
|
+
hasDraftAndPublish: boolean;
|
106
|
+
components: ComponentsDictionary;
|
107
|
+
contentType: ContentType | undefined;
|
108
|
+
contentTypes: ContentType[] | undefined;
|
109
|
+
form: import("@strapi/admin/strapi-admin").FormContextValue<import("@strapi/admin/strapi-admin").FormValues>;
|
110
|
+
layout: {
|
111
|
+
error?: import("@reduxjs/toolkit").SerializedError | import("../utils/api").BaseQueryError | undefined;
|
112
|
+
isLoading: boolean;
|
113
|
+
edit: import("./useDocumentLayout").EditLayout;
|
114
|
+
list: import("./useDocumentLayout").ListLayout;
|
115
|
+
};
|
116
|
+
};
|
117
|
+
export { useDocument, useDoc, useContentManagerContext };
|
87
118
|
export type { UseDocument, UseDocumentArgs, Document, Schema, ComponentsDictionary };
|
@@ -6,20 +6,20 @@ interface HeaderProps {
|
|
6
6
|
title?: string;
|
7
7
|
}
|
8
8
|
declare const Header: ({ isCreating, status, title: documentTitle }: HeaderProps) => import("react/jsx-runtime").JSX.Element;
|
9
|
-
interface
|
9
|
+
interface DialogOptions {
|
10
|
+
type: 'dialog';
|
11
|
+
title: string;
|
12
|
+
content?: React.ReactNode;
|
13
|
+
footer?: React.ReactNode;
|
14
|
+
}
|
15
|
+
interface HeaderActionDescription {
|
10
16
|
disabled?: boolean;
|
11
17
|
label: string;
|
12
18
|
icon?: React.ReactNode;
|
13
|
-
/**
|
14
|
-
* @default 'default'
|
15
|
-
*/
|
16
19
|
type?: 'icon' | 'default';
|
17
|
-
onClick?: (event: React.SyntheticEvent) => void;
|
18
|
-
|
19
|
-
|
20
|
-
disabled?: boolean;
|
21
|
-
label: string;
|
22
|
-
options: Array<{
|
20
|
+
onClick?: (event: React.SyntheticEvent) => Promise<boolean | void> | boolean | void;
|
21
|
+
dialog?: DialogOptions;
|
22
|
+
options?: Array<{
|
23
23
|
disabled?: boolean;
|
24
24
|
label: string;
|
25
25
|
startIcon?: React.ReactNode;
|
@@ -28,8 +28,8 @@ interface HeaderSelectAction {
|
|
28
28
|
}>;
|
29
29
|
onSelect?: (value: string) => void;
|
30
30
|
value?: string;
|
31
|
+
customizeContent?: (value: string) => React.ReactNode;
|
31
32
|
}
|
32
|
-
type HeaderActionDescription = HeaderButtonAction | HeaderSelectAction;
|
33
33
|
declare const DEFAULT_HEADER_ACTIONS: DocumentActionComponent[];
|
34
34
|
export { Header, DEFAULT_HEADER_ACTIONS };
|
35
35
|
export type { HeaderProps, HeaderActionDescription };
|
@@ -96,6 +96,8 @@ declare const useAutoCloneDocumentMutation: import("@reduxjs/toolkit/dist/query/
|
|
96
96
|
}, import("@reduxjs/toolkit/query").BaseQueryFn<string | import("@strapi/admin/strapi-admin").QueryArguments, unknown, import("@strapi/admin/strapi-admin").BaseQueryError, {}, {}>, "ComponentConfiguration" | "ContentTypesConfiguration" | "ContentTypeSettings" | "Document" | "InitialData" | "HistoryVersion" | "Relations" | "UidAvailability", Unpublish.Response, "adminApi">>, useUnpublishManyDocumentsMutation: import("@reduxjs/toolkit/dist/query/react/buildHooks").UseMutation<import("@reduxjs/toolkit/query").MutationDefinition<Pick<BulkUnpublish.Params, "model"> & {
|
97
97
|
documentIds: string[];
|
98
98
|
} & {
|
99
|
-
params?: {
|
99
|
+
params?: {
|
100
|
+
locale?: string | string[] | null | undefined;
|
101
|
+
} | undefined;
|
100
102
|
}, import("@reduxjs/toolkit/query").BaseQueryFn<string | import("@strapi/admin/strapi-admin").QueryArguments, unknown, import("@strapi/admin/strapi-admin").BaseQueryError, {}, {}>, "ComponentConfiguration" | "ContentTypesConfiguration" | "ContentTypeSettings" | "Document" | "InitialData" | "HistoryVersion" | "Relations" | "UidAvailability", BulkUnpublish.Response, "adminApi">>;
|
101
103
|
export { useAutoCloneDocumentMutation, useCloneDocumentMutation, useCreateDocumentMutation, useDeleteDocumentMutation, useDeleteManyDocumentsMutation, useDiscardDocumentMutation, useGetAllDocumentsQuery, useLazyGetDocumentQuery, useGetDocumentQuery, useLazyGetDraftRelationCountQuery as useGetDraftRelationCountQuery, useGetManyDraftRelationCountQuery, usePublishDocumentMutation, usePublishManyDocumentsMutation, useUpdateDocumentMutation, useUnpublishDocumentMutation, useUnpublishManyDocumentsMutation, };
|
package/dist/server/index.js
CHANGED
@@ -1787,7 +1787,7 @@ const collectionTypes = {
|
|
1787
1787
|
permissionChecker2,
|
1788
1788
|
model,
|
1789
1789
|
// @ts-expect-error TODO: fix
|
1790
|
-
{ id, locale, publishedAt: null },
|
1790
|
+
{ documentId: id, locale, publishedAt: null },
|
1791
1791
|
{ availableLocales: true, availableStatus: false }
|
1792
1792
|
);
|
1793
1793
|
ctx.body = { data: {}, meta };
|
@@ -1924,11 +1924,17 @@ const collectionTypes = {
|
|
1924
1924
|
}
|
1925
1925
|
const isUpdate = !isCreate;
|
1926
1926
|
if (isUpdate) {
|
1927
|
-
|
1928
|
-
if (!
|
1927
|
+
const documentExists = documentManager2.exists(model, id);
|
1928
|
+
if (!documentExists) {
|
1929
1929
|
throw new strapiUtils.errors.NotFoundError("Document not found");
|
1930
1930
|
}
|
1931
|
-
|
1931
|
+
document = await documentManager2.findOne(id, model, { populate, locale });
|
1932
|
+
if (!document) {
|
1933
|
+
if (permissionChecker2.cannot.create({ locale }) || permissionChecker2.cannot.publish({ locale })) {
|
1934
|
+
throw new strapiUtils.errors.ForbiddenError();
|
1935
|
+
}
|
1936
|
+
document = await updateDocument(ctx);
|
1937
|
+
} else if (permissionChecker2.can.update(document)) {
|
1932
1938
|
await updateDocument(ctx);
|
1933
1939
|
}
|
1934
1940
|
}
|
@@ -1990,7 +1996,9 @@ const collectionTypes = {
|
|
1990
1996
|
if (permissionChecker2.cannot.unpublish()) {
|
1991
1997
|
return ctx.forbidden();
|
1992
1998
|
}
|
1993
|
-
const { locale } = await getDocumentLocaleAndStatus(body, model
|
1999
|
+
const { locale } = await getDocumentLocaleAndStatus(body, model, {
|
2000
|
+
allowMultipleLocales: true
|
2001
|
+
});
|
1994
2002
|
const entityPromises = documentIds.map(
|
1995
2003
|
(documentId) => documentManager2.findLocales(documentId, model, { locale, isPublished: true })
|
1996
2004
|
);
|
@@ -2380,11 +2388,8 @@ const validateLocale = (sourceUid, targetUid, locale) => {
|
|
2380
2388
|
const isLocalized = strapi.plugin("i18n").service("content-types").isLocalizedContentType;
|
2381
2389
|
const isSourceLocalized = isLocalized(sourceModel);
|
2382
2390
|
const isTargetLocalized = isLocalized(targetModel);
|
2383
|
-
let validatedLocale = locale;
|
2384
|
-
if (!targetModel || !isTargetLocalized)
|
2385
|
-
validatedLocale = void 0;
|
2386
2391
|
return {
|
2387
|
-
locale
|
2392
|
+
locale,
|
2388
2393
|
isSourceLocalized,
|
2389
2394
|
isTargetLocalized
|
2390
2395
|
};
|
@@ -2487,7 +2492,7 @@ const relations = {
|
|
2487
2492
|
attribute,
|
2488
2493
|
fieldsToSelect,
|
2489
2494
|
mainField,
|
2490
|
-
source: { schema: sourceSchema },
|
2495
|
+
source: { schema: sourceSchema, isLocalized: isSourceLocalized },
|
2491
2496
|
target: { schema: targetSchema, isLocalized: isTargetLocalized },
|
2492
2497
|
sourceSchema,
|
2493
2498
|
targetSchema,
|
@@ -2509,7 +2514,8 @@ const relations = {
|
|
2509
2514
|
fieldsToSelect,
|
2510
2515
|
mainField,
|
2511
2516
|
source: {
|
2512
|
-
schema: { uid: sourceUid, modelType: sourceModelType }
|
2517
|
+
schema: { uid: sourceUid, modelType: sourceModelType },
|
2518
|
+
isLocalized: isSourceLocalized
|
2513
2519
|
},
|
2514
2520
|
target: {
|
2515
2521
|
schema: { uid: targetUid },
|
@@ -2547,12 +2553,16 @@ const relations = {
|
|
2547
2553
|
} else {
|
2548
2554
|
where.id = id;
|
2549
2555
|
}
|
2550
|
-
|
2551
|
-
|
2556
|
+
const publishedAt = getPublishedAtClause(status, targetUid);
|
2557
|
+
if (!fp.isEmpty(publishedAt)) {
|
2558
|
+
where[`${alias}.published_at`] = publishedAt;
|
2552
2559
|
}
|
2553
|
-
if (
|
2560
|
+
if (isTargetLocalized && locale) {
|
2554
2561
|
where[`${alias}.locale`] = locale;
|
2555
2562
|
}
|
2563
|
+
if (isSourceLocalized && locale) {
|
2564
|
+
where.locale = locale;
|
2565
|
+
}
|
2556
2566
|
if ((idsToInclude?.length ?? 0) !== 0) {
|
2557
2567
|
where[`${alias}.id`].$notIn = idsToInclude;
|
2558
2568
|
}
|
@@ -2570,7 +2580,8 @@ const relations = {
|
|
2570
2580
|
id: { $notIn: fp.uniq(idsToOmit) }
|
2571
2581
|
});
|
2572
2582
|
}
|
2573
|
-
const
|
2583
|
+
const dbQuery = strapi.get("query-params").transform(targetUid, queryParams);
|
2584
|
+
const res = await strapi.db.query(targetUid).findPage(dbQuery);
|
2574
2585
|
ctx.body = {
|
2575
2586
|
...res,
|
2576
2587
|
results: await addStatusToRelations(targetUid, res.results)
|
@@ -2692,7 +2703,7 @@ const singleTypes = {
|
|
2692
2703
|
permissionChecker2,
|
2693
2704
|
model,
|
2694
2705
|
// @ts-expect-error - fix types
|
2695
|
-
{
|
2706
|
+
{ documentId: document.documentId, locale, publishedAt: null },
|
2696
2707
|
{ availableLocales: true, availableStatus: false }
|
2697
2708
|
);
|
2698
2709
|
ctx.body = { data: {}, meta };
|