@strapi/content-manager 5.0.4 → 5.0.6
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-CIjXcRAB.mjs → ComponentConfigurationPage-DfFSZQxe.mjs} +4 -4
- package/dist/_chunks/{ComponentConfigurationPage-CIjXcRAB.mjs.map → ComponentConfigurationPage-DfFSZQxe.mjs.map} +1 -1
- package/dist/_chunks/{ComponentConfigurationPage-gsCd80MU.js → ComponentConfigurationPage-FqfsxQ1j.js} +4 -4
- package/dist/_chunks/{ComponentConfigurationPage-gsCd80MU.js.map → ComponentConfigurationPage-FqfsxQ1j.js.map} +1 -1
- package/dist/_chunks/{EditConfigurationPage-DHDQKBzw.js → EditConfigurationPage-Cn0e8t3I.js} +4 -4
- package/dist/_chunks/{EditConfigurationPage-DHDQKBzw.js.map → EditConfigurationPage-Cn0e8t3I.js.map} +1 -1
- package/dist/_chunks/{EditConfigurationPage-BglmD_BF.mjs → EditConfigurationPage-DdPNAbl3.mjs} +4 -4
- package/dist/_chunks/{EditConfigurationPage-BglmD_BF.mjs.map → EditConfigurationPage-DdPNAbl3.mjs.map} +1 -1
- package/dist/_chunks/{EditViewPage-CiwVPMaK.mjs → EditViewPage-B82x_x1b.mjs} +3 -3
- package/dist/_chunks/EditViewPage-B82x_x1b.mjs.map +1 -0
- package/dist/_chunks/{EditViewPage-C4iTxUPU.js → EditViewPage-DlxEHhUt.js} +3 -3
- package/dist/_chunks/EditViewPage-DlxEHhUt.js.map +1 -0
- package/dist/_chunks/{Field-DhXEK8y1.js → Field-COL25JiC.js} +4 -4
- package/dist/_chunks/{Field-DhXEK8y1.js.map → Field-COL25JiC.js.map} +1 -1
- package/dist/_chunks/{Field-DIjL1b5d.mjs → Field-DufHXW17.mjs} +4 -4
- package/dist/_chunks/{Field-DIjL1b5d.mjs.map → Field-DufHXW17.mjs.map} +1 -1
- package/dist/_chunks/{Form-CwmJ4sWe.js → Form-BssUwrTO.js} +2 -2
- package/dist/_chunks/{Form-CwmJ4sWe.js.map → Form-BssUwrTO.js.map} +1 -1
- package/dist/_chunks/{Form-CmNesrvR.mjs → Form-u_kAOhwB.mjs} +2 -2
- package/dist/_chunks/{Form-CmNesrvR.mjs.map → Form-u_kAOhwB.mjs.map} +1 -1
- package/dist/_chunks/{History-BLCCNgCt.js → History-C9t9UqpO.js} +5 -5
- package/dist/_chunks/History-C9t9UqpO.js.map +1 -0
- package/dist/_chunks/{History-D-99Wh30.mjs → History-DRwA3oMM.mjs} +5 -5
- package/dist/_chunks/History-DRwA3oMM.mjs.map +1 -0
- package/dist/_chunks/{ListConfigurationPage-DxWpeZrO.js → ListConfigurationPage-BXYPohh-.js} +3 -3
- package/dist/_chunks/{ListConfigurationPage-DxWpeZrO.js.map → ListConfigurationPage-BXYPohh-.js.map} +1 -1
- package/dist/_chunks/{ListConfigurationPage-JPWZz7Kg.mjs → ListConfigurationPage-BxfQJzPk.mjs} +3 -3
- package/dist/_chunks/{ListConfigurationPage-JPWZz7Kg.mjs.map → ListConfigurationPage-BxfQJzPk.mjs.map} +1 -1
- package/dist/_chunks/{ListViewPage-DSK3f0ST.mjs → ListViewPage-CELx2ysp.mjs} +4 -15
- package/dist/_chunks/{ListViewPage-DSK3f0ST.mjs.map → ListViewPage-CELx2ysp.mjs.map} +1 -1
- package/dist/_chunks/{ListViewPage-CIQekSFz.js → ListViewPage-D2VD8Szg.js} +4 -15
- package/dist/_chunks/ListViewPage-D2VD8Szg.js.map +1 -0
- package/dist/_chunks/{NoContentTypePage-C5cxKvC2.js → NoContentTypePage-BV9IjJSM.js} +2 -2
- package/dist/_chunks/{NoContentTypePage-C5cxKvC2.js.map → NoContentTypePage-BV9IjJSM.js.map} +1 -1
- package/dist/_chunks/{NoContentTypePage-D99LU1YP.mjs → NoContentTypePage-DtJ9jcfk.mjs} +2 -2
- package/dist/_chunks/{NoContentTypePage-D99LU1YP.mjs.map → NoContentTypePage-DtJ9jcfk.mjs.map} +1 -1
- package/dist/_chunks/{NoPermissionsPage-DBrBw-0y.mjs → NoPermissionsPage-DWleVYK7.mjs} +2 -2
- package/dist/_chunks/{NoPermissionsPage-DBrBw-0y.mjs.map → NoPermissionsPage-DWleVYK7.mjs.map} +1 -1
- package/dist/_chunks/{NoPermissionsPage-Oy4tmUrW.js → NoPermissionsPage-Dp8NpF9I.js} +2 -2
- package/dist/_chunks/{NoPermissionsPage-Oy4tmUrW.js.map → NoPermissionsPage-Dp8NpF9I.js.map} +1 -1
- package/dist/_chunks/{Relations-BBmhcWFV.mjs → Relations-BTcf5xaw.mjs} +17 -41
- package/dist/_chunks/Relations-BTcf5xaw.mjs.map +1 -0
- package/dist/_chunks/{Relations-eG-9p_qS.js → Relations-DR7EUgyC.js} +16 -40
- package/dist/_chunks/Relations-DR7EUgyC.js.map +1 -0
- package/dist/_chunks/{index-BIWDoFLK.js → index-BdMf2lfT.js} +21 -45
- package/dist/_chunks/index-BdMf2lfT.js.map +1 -0
- package/dist/_chunks/{index-BrUzbQ30.mjs → index-wnqzm4Q8.mjs} +21 -44
- package/dist/_chunks/index-wnqzm4Q8.mjs.map +1 -0
- package/dist/_chunks/{layout-_5-cXs34.mjs → layout-2CfjL0T9.mjs} +3 -3
- package/dist/_chunks/{layout-_5-cXs34.mjs.map → layout-2CfjL0T9.mjs.map} +1 -1
- package/dist/_chunks/{layout-lMc9i1-Z.js → layout-B2MyZU-_.js} +3 -3
- package/dist/_chunks/{layout-lMc9i1-Z.js.map → layout-B2MyZU-_.js.map} +1 -1
- package/dist/_chunks/{objects-BcXOv6_9.js → objects-gigeqt7s.js} +4 -2
- package/dist/_chunks/{objects-BcXOv6_9.js.map → objects-gigeqt7s.js.map} +1 -1
- package/dist/_chunks/{objects-D6yBsdmx.mjs → objects-mKMAmfec.mjs} +4 -2
- package/dist/_chunks/{objects-D6yBsdmx.mjs.map → objects-mKMAmfec.mjs.map} +1 -1
- package/dist/_chunks/{relations-BRHithi8.js → relations-BH7JJGGe.js} +7 -3
- package/dist/_chunks/relations-BH7JJGGe.js.map +1 -0
- package/dist/_chunks/{relations-B_VLk-DD.mjs → relations-C0w0GcXi.mjs} +7 -3
- package/dist/_chunks/relations-C0w0GcXi.mjs.map +1 -0
- package/dist/admin/index.js +1 -1
- package/dist/admin/index.mjs +1 -1
- package/dist/server/index.js +144 -344
- package/dist/server/index.js.map +1 -1
- package/dist/server/index.mjs +144 -344
- package/dist/server/index.mjs.map +1 -1
- package/dist/server/src/bootstrap.d.ts.map +1 -1
- package/dist/server/src/controllers/index.d.ts.map +1 -1
- package/dist/server/src/controllers/relations.d.ts.map +1 -1
- package/dist/server/src/controllers/utils/metadata.d.ts +1 -15
- package/dist/server/src/controllers/utils/metadata.d.ts.map +1 -1
- package/dist/server/src/history/services/lifecycles.d.ts.map +1 -1
- package/dist/server/src/history/services/utils.d.ts +3 -2
- package/dist/server/src/history/services/utils.d.ts.map +1 -1
- package/dist/server/src/index.d.ts +4 -4
- package/dist/server/src/routes/index.d.ts.map +1 -1
- package/dist/server/src/services/document-metadata.d.ts +8 -8
- package/dist/server/src/services/document-metadata.d.ts.map +1 -1
- package/dist/server/src/services/index.d.ts +4 -4
- package/dist/server/src/services/index.d.ts.map +1 -1
- package/dist/server/src/services/utils/configuration/index.d.ts +2 -2
- package/dist/server/src/services/utils/configuration/layouts.d.ts +2 -2
- package/dist/server/src/utils/index.d.ts +0 -2
- package/dist/server/src/utils/index.d.ts.map +1 -1
- package/dist/shared/contracts/index.d.ts +0 -1
- package/dist/shared/contracts/index.d.ts.map +1 -1
- package/dist/shared/index.js +0 -4
- package/dist/shared/index.js.map +1 -1
- package/dist/shared/index.mjs +0 -4
- package/dist/shared/index.mjs.map +1 -1
- package/package.json +6 -6
- package/dist/_chunks/EditViewPage-C4iTxUPU.js.map +0 -1
- package/dist/_chunks/EditViewPage-CiwVPMaK.mjs.map +0 -1
- package/dist/_chunks/History-BLCCNgCt.js.map +0 -1
- package/dist/_chunks/History-D-99Wh30.mjs.map +0 -1
- package/dist/_chunks/ListViewPage-CIQekSFz.js.map +0 -1
- package/dist/_chunks/Relations-BBmhcWFV.mjs.map +0 -1
- package/dist/_chunks/Relations-eG-9p_qS.js.map +0 -1
- package/dist/_chunks/index-BIWDoFLK.js.map +0 -1
- package/dist/_chunks/index-BrUzbQ30.mjs.map +0 -1
- package/dist/_chunks/relations-BRHithi8.js.map +0 -1
- package/dist/_chunks/relations-B_VLk-DD.mjs.map +0 -1
- package/dist/admin/src/preview/constants.d.ts +0 -1
- package/dist/admin/src/preview/index.d.ts +0 -4
- package/dist/server/src/preview/constants.d.ts +0 -2
- package/dist/server/src/preview/constants.d.ts.map +0 -1
- package/dist/server/src/preview/controllers/index.d.ts +0 -2
- package/dist/server/src/preview/controllers/index.d.ts.map +0 -1
- package/dist/server/src/preview/controllers/preview.d.ts +0 -13
- package/dist/server/src/preview/controllers/preview.d.ts.map +0 -1
- package/dist/server/src/preview/controllers/validation/preview.d.ts +0 -6
- package/dist/server/src/preview/controllers/validation/preview.d.ts.map +0 -1
- package/dist/server/src/preview/index.d.ts +0 -4
- package/dist/server/src/preview/index.d.ts.map +0 -1
- package/dist/server/src/preview/routes/index.d.ts +0 -8
- package/dist/server/src/preview/routes/index.d.ts.map +0 -1
- package/dist/server/src/preview/routes/preview.d.ts +0 -4
- package/dist/server/src/preview/routes/preview.d.ts.map +0 -1
- package/dist/server/src/preview/services/index.d.ts +0 -15
- package/dist/server/src/preview/services/index.d.ts.map +0 -1
- package/dist/server/src/preview/services/preview-config.d.ts +0 -30
- package/dist/server/src/preview/services/preview-config.d.ts.map +0 -1
- package/dist/server/src/preview/services/preview.d.ts +0 -12
- package/dist/server/src/preview/services/preview.d.ts.map +0 -1
- package/dist/server/src/preview/utils.d.ts +0 -18
- package/dist/server/src/preview/utils.d.ts.map +0 -1
- package/dist/shared/contracts/preview.d.ts +0 -27
- package/dist/shared/contracts/preview.d.ts.map +0 -1
package/dist/server/index.js
CHANGED
@@ -33,10 +33,10 @@ const isNil__default = /* @__PURE__ */ _interopDefault(isNil);
|
|
33
33
|
const ___default = /* @__PURE__ */ _interopDefault(_);
|
34
34
|
const qs__default = /* @__PURE__ */ _interopDefault(qs);
|
35
35
|
const slugify__default = /* @__PURE__ */ _interopDefault(slugify);
|
36
|
-
const getService$
|
36
|
+
const getService$1 = (name) => {
|
37
37
|
return strapi.plugin("content-manager").service(name);
|
38
38
|
};
|
39
|
-
function getService
|
39
|
+
function getService(strapi2, name) {
|
40
40
|
return strapi2.service(`plugin::content-manager.${name}`);
|
41
41
|
}
|
42
42
|
const historyRestoreVersionSchema = yup__namespace.object().shape({
|
@@ -72,7 +72,7 @@ const createHistoryVersionController = ({ strapi: strapi2 }) => {
|
|
72
72
|
if (!isSingleType && (!contentTypeUid || !ctx.query.documentId)) {
|
73
73
|
throw new strapiUtils.errors.ForbiddenError("contentType and documentId are required");
|
74
74
|
}
|
75
|
-
const permissionChecker2 = getService$
|
75
|
+
const permissionChecker2 = getService$1("permission-checker").create({
|
76
76
|
userAbility: ctx.state.userAbility,
|
77
77
|
model: ctx.query.contentType
|
78
78
|
});
|
@@ -80,7 +80,7 @@ const createHistoryVersionController = ({ strapi: strapi2 }) => {
|
|
80
80
|
return ctx.forbidden();
|
81
81
|
}
|
82
82
|
const query = await permissionChecker2.sanitizeQuery(ctx.query);
|
83
|
-
const { results, pagination } = await getService
|
83
|
+
const { results, pagination } = await getService(strapi2, "history").findVersionsPage({
|
84
84
|
query: {
|
85
85
|
...query,
|
86
86
|
...getValidPagination({ page: query.page, pageSize: query.pageSize })
|
@@ -105,14 +105,14 @@ const createHistoryVersionController = ({ strapi: strapi2 }) => {
|
|
105
105
|
async restoreVersion(ctx) {
|
106
106
|
const request = ctx.request;
|
107
107
|
await validateRestoreVersion(request.body, "contentType is required");
|
108
|
-
const permissionChecker2 = getService$
|
108
|
+
const permissionChecker2 = getService$1("permission-checker").create({
|
109
109
|
userAbility: ctx.state.userAbility,
|
110
110
|
model: request.body.contentType
|
111
111
|
});
|
112
112
|
if (permissionChecker2.cannot.update()) {
|
113
113
|
throw new strapiUtils.errors.ForbiddenError();
|
114
114
|
}
|
115
|
-
const restoredDocument = await getService
|
115
|
+
const restoredDocument = await getService(strapi2, "history").restoreVersion(
|
116
116
|
request.params.versionId
|
117
117
|
);
|
118
118
|
return {
|
@@ -121,7 +121,7 @@ const createHistoryVersionController = ({ strapi: strapi2 }) => {
|
|
121
121
|
}
|
122
122
|
};
|
123
123
|
};
|
124
|
-
const controllers$
|
124
|
+
const controllers$1 = {
|
125
125
|
"history-version": createHistoryVersionController
|
126
126
|
/**
|
127
127
|
* Casting is needed because the types aren't aware that Strapi supports
|
@@ -228,17 +228,6 @@ const createServiceUtils = ({ strapi: strapi2 }) => {
|
|
228
228
|
const meta = await documentMetadataService.getMetadata(contentTypeUid, document);
|
229
229
|
return documentMetadataService.getStatus(document, meta.availableStatus);
|
230
230
|
};
|
231
|
-
const getComponentFields = (componentUID) => {
|
232
|
-
return Object.entries(strapi2.getModel(componentUID).attributes).reduce(
|
233
|
-
(fieldsAcc, [key, attribute]) => {
|
234
|
-
if (!["relation", "media", "component", "dynamiczone"].includes(attribute.type)) {
|
235
|
-
fieldsAcc.push(key);
|
236
|
-
}
|
237
|
-
return fieldsAcc;
|
238
|
-
},
|
239
|
-
[]
|
240
|
-
);
|
241
|
-
};
|
242
231
|
const getDeepPopulate2 = (uid2, useDatabaseSyntax = false) => {
|
243
232
|
const model = strapi2.getModel(uid2);
|
244
233
|
const attributes = Object.entries(model.attributes);
|
@@ -262,19 +251,13 @@ const createServiceUtils = ({ strapi: strapi2 }) => {
|
|
262
251
|
}
|
263
252
|
case "component": {
|
264
253
|
const populate = getDeepPopulate2(attribute.component);
|
265
|
-
acc[attributeName] = {
|
266
|
-
populate,
|
267
|
-
[fieldSelector]: getComponentFields(attribute.component)
|
268
|
-
};
|
254
|
+
acc[attributeName] = { populate };
|
269
255
|
break;
|
270
256
|
}
|
271
257
|
case "dynamiczone": {
|
272
258
|
const populatedComponents = (attribute.components || []).reduce(
|
273
259
|
(acc2, componentUID) => {
|
274
|
-
acc2[componentUID] = {
|
275
|
-
populate: getDeepPopulate2(componentUID),
|
276
|
-
[fieldSelector]: getComponentFields(componentUID)
|
277
|
-
};
|
260
|
+
acc2[componentUID] = { populate: getDeepPopulate2(componentUID) };
|
278
261
|
return acc2;
|
279
262
|
},
|
280
263
|
{}
|
@@ -387,7 +370,7 @@ const createHistoryService = ({ strapi: strapi2 }) => {
|
|
387
370
|
const attributeValue = entry.data[attributeKey];
|
388
371
|
const attributeValues = Array.isArray(attributeValue) ? attributeValue : [attributeValue];
|
389
372
|
if (attributeSchema.type === "media") {
|
390
|
-
const permissionChecker2 = getService$
|
373
|
+
const permissionChecker2 = getService$1("permission-checker").create({
|
391
374
|
userAbility: params.state.userAbility,
|
392
375
|
model: "plugin::upload.file"
|
393
376
|
});
|
@@ -428,7 +411,7 @@ const createHistoryService = ({ strapi: strapi2 }) => {
|
|
428
411
|
[attributeKey]: adminUsers
|
429
412
|
};
|
430
413
|
}
|
431
|
-
const permissionChecker2 = getService$
|
414
|
+
const permissionChecker2 = getService$1("permission-checker").create({
|
432
415
|
userAbility: params.state.userAbility,
|
433
416
|
model: attributeSchema.target
|
434
417
|
});
|
@@ -604,7 +587,7 @@ const createLifecyclesService = ({ strapi: strapi2 }) => {
|
|
604
587
|
onCommit(async () => {
|
605
588
|
for (const entry of localeEntries) {
|
606
589
|
const status = await serviceUtils.getVersionStatus(uid2, entry);
|
607
|
-
await getService
|
590
|
+
await getService(strapi2, "history").createVersion({
|
608
591
|
contentType: uid2,
|
609
592
|
data: fp.omit(FIELDS_TO_IGNORE, entry),
|
610
593
|
relatedDocumentId: documentId,
|
@@ -617,19 +600,15 @@ const createLifecyclesService = ({ strapi: strapi2 }) => {
|
|
617
600
|
});
|
618
601
|
return result;
|
619
602
|
});
|
620
|
-
state.deleteExpiredJob = nodeSchedule.scheduleJob("
|
603
|
+
state.deleteExpiredJob = nodeSchedule.scheduleJob("0 0 * * *", () => {
|
621
604
|
const retentionDaysInMilliseconds = serviceUtils.getRetentionDays() * 24 * 60 * 60 * 1e3;
|
622
605
|
const expirationDate = new Date(Date.now() - retentionDaysInMilliseconds);
|
623
606
|
strapi2.db.query(HISTORY_VERSION_UID).deleteMany({
|
624
607
|
where: {
|
625
608
|
created_at: {
|
626
|
-
$lt: expirationDate
|
609
|
+
$lt: expirationDate.toISOString()
|
627
610
|
}
|
628
611
|
}
|
629
|
-
}).catch((error) => {
|
630
|
-
if (error instanceof Error) {
|
631
|
-
strapi2.log.error("Error deleting expired history versions", error.message);
|
632
|
-
}
|
633
612
|
});
|
634
613
|
});
|
635
614
|
state.isInitialized = true;
|
@@ -641,17 +620,17 @@ const createLifecyclesService = ({ strapi: strapi2 }) => {
|
|
641
620
|
}
|
642
621
|
};
|
643
622
|
};
|
644
|
-
const services$
|
623
|
+
const services$1 = {
|
645
624
|
history: createHistoryService,
|
646
625
|
lifecycles: createLifecyclesService
|
647
626
|
};
|
648
|
-
const info
|
627
|
+
const info = { pluginName: "content-manager", type: "admin" };
|
649
628
|
const historyVersionRouter = {
|
650
629
|
type: "admin",
|
651
630
|
routes: [
|
652
631
|
{
|
653
632
|
method: "GET",
|
654
|
-
info
|
633
|
+
info,
|
655
634
|
path: "/history-versions",
|
656
635
|
handler: "history-version.findMany",
|
657
636
|
config: {
|
@@ -660,7 +639,7 @@ const historyVersionRouter = {
|
|
660
639
|
},
|
661
640
|
{
|
662
641
|
method: "PUT",
|
663
|
-
info
|
642
|
+
info,
|
664
643
|
path: "/history-versions/:versionId/restore",
|
665
644
|
handler: "history-version.restoreVersion",
|
666
645
|
config: {
|
@@ -669,7 +648,7 @@ const historyVersionRouter = {
|
|
669
648
|
}
|
670
649
|
]
|
671
650
|
};
|
672
|
-
const routes$
|
651
|
+
const routes$1 = {
|
673
652
|
"history-version": historyVersionRouter
|
674
653
|
};
|
675
654
|
const historyVersion = {
|
@@ -716,21 +695,21 @@ const historyVersion = {
|
|
716
695
|
}
|
717
696
|
}
|
718
697
|
};
|
719
|
-
const getFeature
|
698
|
+
const getFeature = () => {
|
720
699
|
if (strapi.ee.features.isEnabled("cms-content-history")) {
|
721
700
|
return {
|
722
701
|
register({ strapi: strapi2 }) {
|
723
702
|
strapi2.get("models").add(historyVersion);
|
724
703
|
},
|
725
704
|
bootstrap({ strapi: strapi2 }) {
|
726
|
-
getService
|
705
|
+
getService(strapi2, "lifecycles").bootstrap();
|
727
706
|
},
|
728
707
|
destroy({ strapi: strapi2 }) {
|
729
|
-
getService
|
708
|
+
getService(strapi2, "lifecycles").destroy();
|
730
709
|
},
|
731
|
-
controllers: controllers$
|
732
|
-
services: services$
|
733
|
-
routes: routes$
|
710
|
+
controllers: controllers$1,
|
711
|
+
services: services$1,
|
712
|
+
routes: routes$1
|
734
713
|
};
|
735
714
|
}
|
736
715
|
return {
|
@@ -739,7 +718,7 @@ const getFeature$1 = () => {
|
|
739
718
|
}
|
740
719
|
};
|
741
720
|
};
|
742
|
-
const history = getFeature
|
721
|
+
const history = getFeature();
|
743
722
|
const register = async ({ strapi: strapi2 }) => {
|
744
723
|
await history.register?.({ strapi: strapi2 });
|
745
724
|
};
|
@@ -747,165 +726,15 @@ const ALLOWED_WEBHOOK_EVENTS = {
|
|
747
726
|
ENTRY_PUBLISH: "entry.publish",
|
748
727
|
ENTRY_UNPUBLISH: "entry.unpublish"
|
749
728
|
};
|
750
|
-
const FEATURE_ID = "preview";
|
751
|
-
const info = { pluginName: "content-manager", type: "admin" };
|
752
|
-
const previewRouter = {
|
753
|
-
type: "admin",
|
754
|
-
routes: [
|
755
|
-
{
|
756
|
-
method: "GET",
|
757
|
-
info,
|
758
|
-
path: "/preview/url/:contentType",
|
759
|
-
handler: "preview.getPreviewUrl",
|
760
|
-
config: {
|
761
|
-
policies: ["admin::isAuthenticatedAdmin"]
|
762
|
-
}
|
763
|
-
}
|
764
|
-
]
|
765
|
-
};
|
766
|
-
const routes$1 = {
|
767
|
-
preview: previewRouter
|
768
|
-
};
|
769
|
-
function getService(strapi2, name) {
|
770
|
-
return strapi2.service(`plugin::content-manager.${name}`);
|
771
|
-
}
|
772
|
-
const getPreviewUrlSchema = yup__namespace.object().shape({
|
773
|
-
// Will be undefined for single types
|
774
|
-
documentId: yup__namespace.string(),
|
775
|
-
locale: yup__namespace.string().nullable(),
|
776
|
-
status: yup__namespace.string()
|
777
|
-
}).required();
|
778
|
-
const validatePreviewUrl = async (strapi2, uid2, params) => {
|
779
|
-
await strapiUtils.validateYupSchema(getPreviewUrlSchema)(params);
|
780
|
-
const newParams = fp.pick(["documentId", "locale", "status"], params);
|
781
|
-
const model = strapi2.getModel(uid2);
|
782
|
-
if (!model || model.modelType !== "contentType") {
|
783
|
-
throw new strapiUtils.errors.ValidationError("Invalid content type");
|
784
|
-
}
|
785
|
-
const isSingleType = model?.kind === "singleType";
|
786
|
-
if (!isSingleType && !params.documentId) {
|
787
|
-
throw new strapiUtils.errors.ValidationError("documentId is required for Collection Types");
|
788
|
-
}
|
789
|
-
if (isSingleType) {
|
790
|
-
const doc = await strapi2.documents(uid2).findFirst();
|
791
|
-
if (!doc) {
|
792
|
-
throw new strapiUtils.errors.NotFoundError("Document not found");
|
793
|
-
}
|
794
|
-
newParams.documentId = doc?.documentId;
|
795
|
-
}
|
796
|
-
return newParams;
|
797
|
-
};
|
798
|
-
const createPreviewController = () => {
|
799
|
-
return {
|
800
|
-
/**
|
801
|
-
* Transforms an entry into a preview URL, so that it can be previewed
|
802
|
-
* in the Content Manager.
|
803
|
-
*/
|
804
|
-
async getPreviewUrl(ctx) {
|
805
|
-
const uid2 = ctx.params.contentType;
|
806
|
-
const query = ctx.request.query;
|
807
|
-
const params = await validatePreviewUrl(strapi, uid2, query);
|
808
|
-
const previewService = getService(strapi, "preview");
|
809
|
-
const url = await previewService.getPreviewUrl(uid2, params);
|
810
|
-
if (!url) {
|
811
|
-
ctx.status = 204;
|
812
|
-
}
|
813
|
-
return {
|
814
|
-
data: { url }
|
815
|
-
};
|
816
|
-
}
|
817
|
-
};
|
818
|
-
};
|
819
|
-
const controllers$1 = {
|
820
|
-
preview: createPreviewController
|
821
|
-
/**
|
822
|
-
* Casting is needed because the types aren't aware that Strapi supports
|
823
|
-
* passing a controller factory as the value, instead of a controller object directly
|
824
|
-
*/
|
825
|
-
};
|
826
|
-
const createPreviewService = ({ strapi: strapi2 }) => {
|
827
|
-
const config = getService(strapi2, "preview-config");
|
828
|
-
return {
|
829
|
-
async getPreviewUrl(uid2, params) {
|
830
|
-
const handler = config.getPreviewHandler();
|
831
|
-
try {
|
832
|
-
return handler(uid2, params);
|
833
|
-
} catch (error) {
|
834
|
-
strapi2.log.error(`Failed to get preview URL: ${error}`);
|
835
|
-
throw new strapiUtils.errors.ApplicationError("Failed to get preview URL");
|
836
|
-
}
|
837
|
-
return;
|
838
|
-
}
|
839
|
-
};
|
840
|
-
};
|
841
|
-
const createPreviewConfigService = ({ strapi: strapi2 }) => {
|
842
|
-
return {
|
843
|
-
isEnabled() {
|
844
|
-
const config = strapi2.config.get("admin.preview");
|
845
|
-
if (!config) {
|
846
|
-
return false;
|
847
|
-
}
|
848
|
-
return config?.enabled ?? true;
|
849
|
-
},
|
850
|
-
/**
|
851
|
-
* Validate if the configuration is valid
|
852
|
-
*/
|
853
|
-
validate() {
|
854
|
-
if (!this.isEnabled()) {
|
855
|
-
return;
|
856
|
-
}
|
857
|
-
const handler = this.getPreviewHandler();
|
858
|
-
if (typeof handler !== "function") {
|
859
|
-
throw new strapiUtils.errors.ValidationError(
|
860
|
-
"Preview configuration is invalid. Handler must be a function"
|
861
|
-
);
|
862
|
-
}
|
863
|
-
},
|
864
|
-
/**
|
865
|
-
* Utility to get the preview handler from the configuration
|
866
|
-
*/
|
867
|
-
getPreviewHandler() {
|
868
|
-
const config = strapi2.config.get("admin.preview");
|
869
|
-
const emptyHandler = () => {
|
870
|
-
return void 0;
|
871
|
-
};
|
872
|
-
if (!this.isEnabled()) {
|
873
|
-
return emptyHandler;
|
874
|
-
}
|
875
|
-
return config?.config?.handler || emptyHandler;
|
876
|
-
}
|
877
|
-
};
|
878
|
-
};
|
879
|
-
const services$1 = {
|
880
|
-
preview: createPreviewService,
|
881
|
-
"preview-config": createPreviewConfigService
|
882
|
-
};
|
883
|
-
const getFeature = () => {
|
884
|
-
if (!strapi.features.future.isEnabled(FEATURE_ID)) {
|
885
|
-
return {};
|
886
|
-
}
|
887
|
-
return {
|
888
|
-
bootstrap() {
|
889
|
-
console.log("Bootstrapping preview server");
|
890
|
-
const config = getService(strapi, "preview-config");
|
891
|
-
config.validate();
|
892
|
-
},
|
893
|
-
routes: routes$1,
|
894
|
-
controllers: controllers$1,
|
895
|
-
services: services$1
|
896
|
-
};
|
897
|
-
};
|
898
|
-
const preview = getFeature();
|
899
729
|
const bootstrap = async () => {
|
900
730
|
Object.entries(ALLOWED_WEBHOOK_EVENTS).forEach(([key, value]) => {
|
901
731
|
strapi.get("webhookStore").addAllowedEvent(key, value);
|
902
732
|
});
|
903
|
-
getService$
|
904
|
-
await getService$
|
905
|
-
await getService$
|
906
|
-
await getService$
|
733
|
+
getService$1("field-sizes").setCustomFieldInputSizes();
|
734
|
+
await getService$1("components").syncConfigurations();
|
735
|
+
await getService$1("content-types").syncConfigurations();
|
736
|
+
await getService$1("permission").registerPermissions();
|
907
737
|
await history.bootstrap?.({ strapi });
|
908
|
-
await preview.bootstrap?.({ strapi });
|
909
738
|
};
|
910
739
|
const destroy = async ({ strapi: strapi2 }) => {
|
911
740
|
await history.destroy?.({ strapi: strapi2 });
|
@@ -1395,8 +1224,7 @@ const admin = {
|
|
1395
1224
|
};
|
1396
1225
|
const routes = {
|
1397
1226
|
admin,
|
1398
|
-
...history.routes ? history.routes : {}
|
1399
|
-
...preview.routes ? preview.routes : {}
|
1227
|
+
...history.routes ? history.routes : {}
|
1400
1228
|
};
|
1401
1229
|
const hasPermissionsSchema = strapiUtils.yup.object({
|
1402
1230
|
actions: strapiUtils.yup.array().of(strapiUtils.yup.string()),
|
@@ -1653,7 +1481,7 @@ const createMetadasSchema = (schema) => {
|
|
1653
1481
|
if (!value) {
|
1654
1482
|
return strapiUtils.yup.string();
|
1655
1483
|
}
|
1656
|
-
const targetSchema = getService$
|
1484
|
+
const targetSchema = getService$1("content-types").findContentType(
|
1657
1485
|
schema.attributes[key].targetModel
|
1658
1486
|
);
|
1659
1487
|
if (!targetSchema) {
|
@@ -1822,7 +1650,7 @@ const getDocumentLocaleAndStatus = async (request, model, opts = { allowMultiple
|
|
1822
1650
|
}
|
1823
1651
|
};
|
1824
1652
|
const formatDocumentWithMetadata = async (permissionChecker2, uid2, document, opts = {}) => {
|
1825
|
-
const documentMetadata2 = getService$
|
1653
|
+
const documentMetadata2 = getService$1("document-metadata");
|
1826
1654
|
const serviceOutput = await documentMetadata2.formatDocumentWithMetadata(uid2, document, opts);
|
1827
1655
|
let {
|
1828
1656
|
meta: { availableLocales, availableStatus }
|
@@ -1848,8 +1676,8 @@ const createDocument = async (ctx, opts) => {
|
|
1848
1676
|
const { userAbility, user } = ctx.state;
|
1849
1677
|
const { model } = ctx.params;
|
1850
1678
|
const { body } = ctx.request;
|
1851
|
-
const documentManager2 = getService$
|
1852
|
-
const permissionChecker2 = getService$
|
1679
|
+
const documentManager2 = getService$1("document-manager");
|
1680
|
+
const permissionChecker2 = getService$1("permission-checker").create({ userAbility, model });
|
1853
1681
|
if (permissionChecker2.cannot.create()) {
|
1854
1682
|
throw new strapiUtils.errors.ForbiddenError();
|
1855
1683
|
}
|
@@ -1869,13 +1697,13 @@ const updateDocument = async (ctx, opts) => {
|
|
1869
1697
|
const { userAbility, user } = ctx.state;
|
1870
1698
|
const { id, model } = ctx.params;
|
1871
1699
|
const { body } = ctx.request;
|
1872
|
-
const documentManager2 = getService$
|
1873
|
-
const permissionChecker2 = getService$
|
1700
|
+
const documentManager2 = getService$1("document-manager");
|
1701
|
+
const permissionChecker2 = getService$1("permission-checker").create({ userAbility, model });
|
1874
1702
|
if (permissionChecker2.cannot.update()) {
|
1875
1703
|
throw new strapiUtils.errors.ForbiddenError();
|
1876
1704
|
}
|
1877
1705
|
const permissionQuery = await permissionChecker2.sanitizedQuery.update(ctx.query);
|
1878
|
-
const populate = await getService$
|
1706
|
+
const populate = await getService$1("populate-builder")(model).populateFromQuery(permissionQuery).build();
|
1879
1707
|
const { locale } = await getDocumentLocaleAndStatus(body, model);
|
1880
1708
|
const [documentVersion, documentExists] = await Promise.all([
|
1881
1709
|
documentManager2.findOne(id, model, { populate, locale, status: "draft" }),
|
@@ -1906,14 +1734,14 @@ const collectionTypes = {
|
|
1906
1734
|
const { userAbility } = ctx.state;
|
1907
1735
|
const { model } = ctx.params;
|
1908
1736
|
const { query } = ctx.request;
|
1909
|
-
const documentMetadata2 = getService$
|
1910
|
-
const documentManager2 = getService$
|
1911
|
-
const permissionChecker2 = getService$
|
1737
|
+
const documentMetadata2 = getService$1("document-metadata");
|
1738
|
+
const documentManager2 = getService$1("document-manager");
|
1739
|
+
const permissionChecker2 = getService$1("permission-checker").create({ userAbility, model });
|
1912
1740
|
if (permissionChecker2.cannot.read()) {
|
1913
1741
|
return ctx.forbidden();
|
1914
1742
|
}
|
1915
1743
|
const permissionQuery = await permissionChecker2.sanitizedQuery.read(query);
|
1916
|
-
const populate = await getService$
|
1744
|
+
const populate = await getService$1("populate-builder")(model).populateFromQuery(permissionQuery).populateDeep(1).countRelations({ toOne: false, toMany: true }).build();
|
1917
1745
|
const { locale, status } = await getDocumentLocaleAndStatus(query, model);
|
1918
1746
|
const { results: documents, pagination } = await documentManager2.findPage(
|
1919
1747
|
{ ...permissionQuery, populate, locale, status },
|
@@ -1942,13 +1770,13 @@ const collectionTypes = {
|
|
1942
1770
|
async findOne(ctx) {
|
1943
1771
|
const { userAbility } = ctx.state;
|
1944
1772
|
const { model, id } = ctx.params;
|
1945
|
-
const documentManager2 = getService$
|
1946
|
-
const permissionChecker2 = getService$
|
1773
|
+
const documentManager2 = getService$1("document-manager");
|
1774
|
+
const permissionChecker2 = getService$1("permission-checker").create({ userAbility, model });
|
1947
1775
|
if (permissionChecker2.cannot.read()) {
|
1948
1776
|
return ctx.forbidden();
|
1949
1777
|
}
|
1950
1778
|
const permissionQuery = await permissionChecker2.sanitizedQuery.read(ctx.query);
|
1951
|
-
const populate = await getService$
|
1779
|
+
const populate = await getService$1("populate-builder")(model).populateFromQuery(permissionQuery).populateDeep(Infinity).countRelations().build();
|
1952
1780
|
const { locale, status } = await getDocumentLocaleAndStatus(ctx.query, model);
|
1953
1781
|
const version = await documentManager2.findOne(id, model, {
|
1954
1782
|
populate,
|
@@ -1979,7 +1807,7 @@ const collectionTypes = {
|
|
1979
1807
|
async create(ctx) {
|
1980
1808
|
const { userAbility } = ctx.state;
|
1981
1809
|
const { model } = ctx.params;
|
1982
|
-
const permissionChecker2 = getService$
|
1810
|
+
const permissionChecker2 = getService$1("permission-checker").create({ userAbility, model });
|
1983
1811
|
const [totalEntries, document] = await Promise.all([
|
1984
1812
|
strapi.db.query(model).count(),
|
1985
1813
|
createDocument(ctx)
|
@@ -2000,7 +1828,7 @@ const collectionTypes = {
|
|
2000
1828
|
async update(ctx) {
|
2001
1829
|
const { userAbility } = ctx.state;
|
2002
1830
|
const { model } = ctx.params;
|
2003
|
-
const permissionChecker2 = getService$
|
1831
|
+
const permissionChecker2 = getService$1("permission-checker").create({ userAbility, model });
|
2004
1832
|
const updatedVersion = await updateDocument(ctx);
|
2005
1833
|
const sanitizedVersion = await permissionChecker2.sanitizeOutput(updatedVersion);
|
2006
1834
|
ctx.body = await formatDocumentWithMetadata(permissionChecker2, model, sanitizedVersion);
|
@@ -2009,13 +1837,13 @@ const collectionTypes = {
|
|
2009
1837
|
const { userAbility, user } = ctx.state;
|
2010
1838
|
const { model, sourceId: id } = ctx.params;
|
2011
1839
|
const { body } = ctx.request;
|
2012
|
-
const documentManager2 = getService$
|
2013
|
-
const permissionChecker2 = getService$
|
1840
|
+
const documentManager2 = getService$1("document-manager");
|
1841
|
+
const permissionChecker2 = getService$1("permission-checker").create({ userAbility, model });
|
2014
1842
|
if (permissionChecker2.cannot.create()) {
|
2015
1843
|
return ctx.forbidden();
|
2016
1844
|
}
|
2017
1845
|
const permissionQuery = await permissionChecker2.sanitizedQuery.create(ctx.query);
|
2018
|
-
const populate = await getService$
|
1846
|
+
const populate = await getService$1("populate-builder")(model).populateFromQuery(permissionQuery).build();
|
2019
1847
|
const { locale } = await getDocumentLocaleAndStatus(body, model);
|
2020
1848
|
const document = await documentManager2.findOne(id, model, {
|
2021
1849
|
populate,
|
@@ -2054,13 +1882,13 @@ const collectionTypes = {
|
|
2054
1882
|
async delete(ctx) {
|
2055
1883
|
const { userAbility } = ctx.state;
|
2056
1884
|
const { id, model } = ctx.params;
|
2057
|
-
const documentManager2 = getService$
|
2058
|
-
const permissionChecker2 = getService$
|
1885
|
+
const documentManager2 = getService$1("document-manager");
|
1886
|
+
const permissionChecker2 = getService$1("permission-checker").create({ userAbility, model });
|
2059
1887
|
if (permissionChecker2.cannot.delete()) {
|
2060
1888
|
return ctx.forbidden();
|
2061
1889
|
}
|
2062
1890
|
const permissionQuery = await permissionChecker2.sanitizedQuery.delete(ctx.query);
|
2063
|
-
const populate = await getService$
|
1891
|
+
const populate = await getService$1("populate-builder")(model).populateFromQuery(permissionQuery).build();
|
2064
1892
|
const { locale } = await getDocumentLocaleAndStatus(ctx.query, model);
|
2065
1893
|
const documentLocales = await documentManager2.findLocales(id, model, { populate, locale });
|
2066
1894
|
if (documentLocales.length === 0) {
|
@@ -2082,14 +1910,14 @@ const collectionTypes = {
|
|
2082
1910
|
const { userAbility } = ctx.state;
|
2083
1911
|
const { id, model } = ctx.params;
|
2084
1912
|
const { body } = ctx.request;
|
2085
|
-
const documentManager2 = getService$
|
2086
|
-
const permissionChecker2 = getService$
|
1913
|
+
const documentManager2 = getService$1("document-manager");
|
1914
|
+
const permissionChecker2 = getService$1("permission-checker").create({ userAbility, model });
|
2087
1915
|
if (permissionChecker2.cannot.publish()) {
|
2088
1916
|
return ctx.forbidden();
|
2089
1917
|
}
|
2090
1918
|
const publishedDocument = await strapi.db.transaction(async () => {
|
2091
1919
|
const permissionQuery = await permissionChecker2.sanitizedQuery.publish(ctx.query);
|
2092
|
-
const populate = await getService$
|
1920
|
+
const populate = await getService$1("populate-builder")(model).populateFromQuery(permissionQuery).populateDeep(Infinity).countRelations().build();
|
2093
1921
|
let document;
|
2094
1922
|
const { locale } = await getDocumentLocaleAndStatus(body, model);
|
2095
1923
|
const isCreate = fp.isNil(id);
|
@@ -2137,13 +1965,13 @@ const collectionTypes = {
|
|
2137
1965
|
const { body } = ctx.request;
|
2138
1966
|
const { documentIds } = body;
|
2139
1967
|
await validateBulkActionInput(body);
|
2140
|
-
const documentManager2 = getService$
|
2141
|
-
const permissionChecker2 = getService$
|
1968
|
+
const documentManager2 = getService$1("document-manager");
|
1969
|
+
const permissionChecker2 = getService$1("permission-checker").create({ userAbility, model });
|
2142
1970
|
if (permissionChecker2.cannot.publish()) {
|
2143
1971
|
return ctx.forbidden();
|
2144
1972
|
}
|
2145
1973
|
const permissionQuery = await permissionChecker2.sanitizedQuery.publish(ctx.query);
|
2146
|
-
const populate = await getService$
|
1974
|
+
const populate = await getService$1("populate-builder")(model).populateFromQuery(permissionQuery).populateDeep(Infinity).countRelations().build();
|
2147
1975
|
const { locale } = await getDocumentLocaleAndStatus(body, model, {
|
2148
1976
|
allowMultipleLocales: true
|
2149
1977
|
});
|
@@ -2168,8 +1996,8 @@ const collectionTypes = {
|
|
2168
1996
|
const { body } = ctx.request;
|
2169
1997
|
const { documentIds } = body;
|
2170
1998
|
await validateBulkActionInput(body);
|
2171
|
-
const documentManager2 = getService$
|
2172
|
-
const permissionChecker2 = getService$
|
1999
|
+
const documentManager2 = getService$1("document-manager");
|
2000
|
+
const permissionChecker2 = getService$1("permission-checker").create({ userAbility, model });
|
2173
2001
|
if (permissionChecker2.cannot.unpublish()) {
|
2174
2002
|
return ctx.forbidden();
|
2175
2003
|
}
|
@@ -2198,8 +2026,8 @@ const collectionTypes = {
|
|
2198
2026
|
const {
|
2199
2027
|
body: { discardDraft, ...body }
|
2200
2028
|
} = ctx.request;
|
2201
|
-
const documentManager2 = getService$
|
2202
|
-
const permissionChecker2 = getService$
|
2029
|
+
const documentManager2 = getService$1("document-manager");
|
2030
|
+
const permissionChecker2 = getService$1("permission-checker").create({ userAbility, model });
|
2203
2031
|
if (permissionChecker2.cannot.unpublish()) {
|
2204
2032
|
return ctx.forbidden();
|
2205
2033
|
}
|
@@ -2207,7 +2035,7 @@ const collectionTypes = {
|
|
2207
2035
|
return ctx.forbidden();
|
2208
2036
|
}
|
2209
2037
|
const permissionQuery = await permissionChecker2.sanitizedQuery.unpublish(ctx.query);
|
2210
|
-
const populate = await getService$
|
2038
|
+
const populate = await getService$1("populate-builder")(model).populateFromQuery(permissionQuery).build();
|
2211
2039
|
const { locale } = await getDocumentLocaleAndStatus(body, model);
|
2212
2040
|
const document = await documentManager2.findOne(id, model, {
|
2213
2041
|
populate,
|
@@ -2238,13 +2066,13 @@ const collectionTypes = {
|
|
2238
2066
|
const { userAbility } = ctx.state;
|
2239
2067
|
const { id, model } = ctx.params;
|
2240
2068
|
const { body } = ctx.request;
|
2241
|
-
const documentManager2 = getService$
|
2242
|
-
const permissionChecker2 = getService$
|
2069
|
+
const documentManager2 = getService$1("document-manager");
|
2070
|
+
const permissionChecker2 = getService$1("permission-checker").create({ userAbility, model });
|
2243
2071
|
if (permissionChecker2.cannot.discard()) {
|
2244
2072
|
return ctx.forbidden();
|
2245
2073
|
}
|
2246
2074
|
const permissionQuery = await permissionChecker2.sanitizedQuery.discard(ctx.query);
|
2247
|
-
const populate = await getService$
|
2075
|
+
const populate = await getService$1("populate-builder")(model).populateFromQuery(permissionQuery).build();
|
2248
2076
|
const { locale } = await getDocumentLocaleAndStatus(body, model);
|
2249
2077
|
const document = await documentManager2.findOne(id, model, {
|
2250
2078
|
populate,
|
@@ -2269,13 +2097,13 @@ const collectionTypes = {
|
|
2269
2097
|
const { query, body } = ctx.request;
|
2270
2098
|
const { documentIds } = body;
|
2271
2099
|
await validateBulkActionInput(body);
|
2272
|
-
const documentManager2 = getService$
|
2273
|
-
const permissionChecker2 = getService$
|
2100
|
+
const documentManager2 = getService$1("document-manager");
|
2101
|
+
const permissionChecker2 = getService$1("permission-checker").create({ userAbility, model });
|
2274
2102
|
if (permissionChecker2.cannot.delete()) {
|
2275
2103
|
return ctx.forbidden();
|
2276
2104
|
}
|
2277
2105
|
const permissionQuery = await permissionChecker2.sanitizedQuery.delete(query);
|
2278
|
-
const populate = await getService$
|
2106
|
+
const populate = await getService$1("populate-builder")(model).populateFromQuery(permissionQuery).build();
|
2279
2107
|
const { locale } = await getDocumentLocaleAndStatus(body, model);
|
2280
2108
|
const documentLocales = await documentManager2.findLocales(documentIds, model, {
|
2281
2109
|
populate,
|
@@ -2296,13 +2124,13 @@ const collectionTypes = {
|
|
2296
2124
|
async countDraftRelations(ctx) {
|
2297
2125
|
const { userAbility } = ctx.state;
|
2298
2126
|
const { model, id } = ctx.params;
|
2299
|
-
const documentManager2 = getService$
|
2300
|
-
const permissionChecker2 = getService$
|
2127
|
+
const documentManager2 = getService$1("document-manager");
|
2128
|
+
const permissionChecker2 = getService$1("permission-checker").create({ userAbility, model });
|
2301
2129
|
if (permissionChecker2.cannot.read()) {
|
2302
2130
|
return ctx.forbidden();
|
2303
2131
|
}
|
2304
2132
|
const permissionQuery = await permissionChecker2.sanitizedQuery.read(ctx.query);
|
2305
|
-
const populate = await getService$
|
2133
|
+
const populate = await getService$1("populate-builder")(model).populateFromQuery(permissionQuery).build();
|
2306
2134
|
const { locale, status } = await getDocumentLocaleAndStatus(ctx.query, model);
|
2307
2135
|
const entity = await documentManager2.findOne(id, model, { populate, locale, status });
|
2308
2136
|
if (!entity) {
|
@@ -2321,8 +2149,8 @@ const collectionTypes = {
|
|
2321
2149
|
const ids = ctx.request.query.documentIds;
|
2322
2150
|
const locale = ctx.request.query.locale;
|
2323
2151
|
const { model } = ctx.params;
|
2324
|
-
const documentManager2 = getService$
|
2325
|
-
const permissionChecker2 = getService$
|
2152
|
+
const documentManager2 = getService$1("document-manager");
|
2153
|
+
const permissionChecker2 = getService$1("permission-checker").create({ userAbility, model });
|
2326
2154
|
if (permissionChecker2.cannot.read()) {
|
2327
2155
|
return ctx.forbidden();
|
2328
2156
|
}
|
@@ -2346,13 +2174,13 @@ const collectionTypes = {
|
|
2346
2174
|
};
|
2347
2175
|
const components$1 = {
|
2348
2176
|
findComponents(ctx) {
|
2349
|
-
const components2 = getService$
|
2350
|
-
const { toDto } = getService$
|
2177
|
+
const components2 = getService$1("components").findAllComponents();
|
2178
|
+
const { toDto } = getService$1("data-mapper");
|
2351
2179
|
ctx.body = { data: components2.map(toDto) };
|
2352
2180
|
},
|
2353
2181
|
async findComponentConfiguration(ctx) {
|
2354
2182
|
const { uid: uid2 } = ctx.params;
|
2355
|
-
const componentService = getService$
|
2183
|
+
const componentService = getService$1("components");
|
2356
2184
|
const component = componentService.findComponent(uid2);
|
2357
2185
|
if (!component) {
|
2358
2186
|
return ctx.notFound("component.notFound");
|
@@ -2369,7 +2197,7 @@ const components$1 = {
|
|
2369
2197
|
async updateComponentConfiguration(ctx) {
|
2370
2198
|
const { uid: uid2 } = ctx.params;
|
2371
2199
|
const { body } = ctx.request;
|
2372
|
-
const componentService = getService$
|
2200
|
+
const componentService = getService$1("components");
|
2373
2201
|
const component = componentService.findComponent(uid2);
|
2374
2202
|
if (!component) {
|
2375
2203
|
return ctx.notFound("component.notFound");
|
@@ -2403,12 +2231,12 @@ const contentTypes = {
|
|
2403
2231
|
} catch (error) {
|
2404
2232
|
return ctx.send({ error }, 400);
|
2405
2233
|
}
|
2406
|
-
const contentTypes2 = getService$
|
2407
|
-
const { toDto } = getService$
|
2234
|
+
const contentTypes2 = getService$1("content-types").findContentTypesByKind(kind);
|
2235
|
+
const { toDto } = getService$1("data-mapper");
|
2408
2236
|
ctx.body = { data: contentTypes2.map(toDto) };
|
2409
2237
|
},
|
2410
2238
|
async findContentTypesSettings(ctx) {
|
2411
|
-
const { findAllContentTypes, findConfiguration } = getService$
|
2239
|
+
const { findAllContentTypes, findConfiguration } = getService$1("content-types");
|
2412
2240
|
const contentTypes2 = await findAllContentTypes();
|
2413
2241
|
const configurations = await Promise.all(
|
2414
2242
|
contentTypes2.map(async (contentType) => {
|
@@ -2422,7 +2250,7 @@ const contentTypes = {
|
|
2422
2250
|
},
|
2423
2251
|
async findContentTypeConfiguration(ctx) {
|
2424
2252
|
const { uid: uid2 } = ctx.params;
|
2425
|
-
const contentTypeService = getService$
|
2253
|
+
const contentTypeService = getService$1("content-types");
|
2426
2254
|
const contentType = await contentTypeService.findContentType(uid2);
|
2427
2255
|
if (!contentType) {
|
2428
2256
|
return ctx.notFound("contentType.notFound");
|
@@ -2444,13 +2272,13 @@ const contentTypes = {
|
|
2444
2272
|
const { userAbility } = ctx.state;
|
2445
2273
|
const { uid: uid2 } = ctx.params;
|
2446
2274
|
const { body } = ctx.request;
|
2447
|
-
const contentTypeService = getService$
|
2448
|
-
const metricsService = getService$
|
2275
|
+
const contentTypeService = getService$1("content-types");
|
2276
|
+
const metricsService = getService$1("metrics");
|
2449
2277
|
const contentType = await contentTypeService.findContentType(uid2);
|
2450
2278
|
if (!contentType) {
|
2451
2279
|
return ctx.notFound("contentType.notFound");
|
2452
2280
|
}
|
2453
|
-
if (!getService$
|
2281
|
+
if (!getService$1("permission").canConfigureContentType({ userAbility, contentType })) {
|
2454
2282
|
return ctx.forbidden();
|
2455
2283
|
}
|
2456
2284
|
let input;
|
@@ -2483,10 +2311,10 @@ const contentTypes = {
|
|
2483
2311
|
};
|
2484
2312
|
const init = {
|
2485
2313
|
getInitData(ctx) {
|
2486
|
-
const { toDto } = getService$
|
2487
|
-
const { findAllComponents } = getService$
|
2488
|
-
const { getAllFieldSizes } = getService$
|
2489
|
-
const { findAllContentTypes } = getService$
|
2314
|
+
const { toDto } = getService$1("data-mapper");
|
2315
|
+
const { findAllComponents } = getService$1("components");
|
2316
|
+
const { getAllFieldSizes } = getService$1("field-sizes");
|
2317
|
+
const { findAllContentTypes } = getService$1("content-types");
|
2490
2318
|
ctx.body = {
|
2491
2319
|
data: {
|
2492
2320
|
fieldSizes: getAllFieldSizes(),
|
@@ -2522,7 +2350,7 @@ const addFiltersClause = (params, filtersClause) => {
|
|
2522
2350
|
params.filters.$and.push(filtersClause);
|
2523
2351
|
};
|
2524
2352
|
const sanitizeMainField = (model, mainField, userAbility) => {
|
2525
|
-
const permissionChecker2 = getService$
|
2353
|
+
const permissionChecker2 = getService$1("permission-checker").create({
|
2526
2354
|
userAbility,
|
2527
2355
|
model: model.uid
|
2528
2356
|
});
|
@@ -2536,27 +2364,15 @@ const sanitizeMainField = (model, mainField, userAbility) => {
|
|
2536
2364
|
}
|
2537
2365
|
return mainField;
|
2538
2366
|
};
|
2539
|
-
const addStatusToRelations = async (
|
2540
|
-
if (!strapiUtils.contentTypes.hasDraftAndPublish(strapi.
|
2541
|
-
return relations2;
|
2542
|
-
}
|
2543
|
-
const documentMetadata2 = getService$2("document-metadata");
|
2544
|
-
if (!relations2.length) {
|
2367
|
+
const addStatusToRelations = async (uid2, relations2) => {
|
2368
|
+
if (!strapiUtils.contentTypes.hasDraftAndPublish(strapi.contentTypes[uid2])) {
|
2545
2369
|
return relations2;
|
2546
2370
|
}
|
2547
|
-
const
|
2548
|
-
const
|
2549
|
-
documentId: { $in: relations2.map((r) => r.documentId) },
|
2550
|
-
// NOTE: find the "opposite" status
|
2551
|
-
publishedAt: firstRelation.publishedAt !== null ? { $null: true } : { $notNull: true }
|
2552
|
-
};
|
2553
|
-
const availableStatus = await strapi.query(targetUid).findMany({
|
2554
|
-
select: ["id", "documentId", "locale", "updatedAt", "createdAt", "publishedAt"],
|
2555
|
-
filters
|
2556
|
-
});
|
2371
|
+
const documentMetadata2 = getService$1("document-metadata");
|
2372
|
+
const documentsAvailableStatus = await documentMetadata2.getManyAvailableStatus(uid2, relations2);
|
2557
2373
|
return relations2.map((relation) => {
|
2558
|
-
const availableStatuses =
|
2559
|
-
(availableDocument) => availableDocument.documentId === relation.documentId
|
2374
|
+
const availableStatuses = documentsAvailableStatus.filter(
|
2375
|
+
(availableDocument) => availableDocument.documentId === relation.documentId
|
2560
2376
|
);
|
2561
2377
|
return {
|
2562
2378
|
...relation,
|
@@ -2618,7 +2434,7 @@ const relations = {
|
|
2618
2434
|
ctx.request?.query?.locale
|
2619
2435
|
);
|
2620
2436
|
const { status } = validateStatus(sourceUid, ctx.request?.query?.status);
|
2621
|
-
const permissionChecker2 = getService$
|
2437
|
+
const permissionChecker2 = getService$1("permission-checker").create({
|
2622
2438
|
userAbility,
|
2623
2439
|
model
|
2624
2440
|
});
|
@@ -2643,7 +2459,7 @@ const relations = {
|
|
2643
2459
|
where.id = id;
|
2644
2460
|
}
|
2645
2461
|
const permissionQuery = await permissionChecker2.sanitizedQuery.read(ctx.query);
|
2646
|
-
const populate = await getService$
|
2462
|
+
const populate = await getService$1("populate-builder")(model).populateFromQuery(permissionQuery).build();
|
2647
2463
|
const currentEntity = await strapi.db.query(model).findOne({
|
2648
2464
|
where,
|
2649
2465
|
populate
|
@@ -2658,7 +2474,7 @@ const relations = {
|
|
2658
2474
|
}
|
2659
2475
|
entryId = currentEntity.id;
|
2660
2476
|
}
|
2661
|
-
const modelConfig = isComponent2 ? await getService$
|
2477
|
+
const modelConfig = isComponent2 ? await getService$1("components").findConfiguration(sourceSchema) : await getService$1("content-types").findConfiguration(sourceSchema);
|
2662
2478
|
const targetSchema = strapi.getModel(targetUid);
|
2663
2479
|
const mainField = fp.flow(
|
2664
2480
|
fp.prop(`metadatas.${targetField}.edit.mainField`),
|
@@ -2712,7 +2528,7 @@ const relations = {
|
|
2712
2528
|
}
|
2713
2529
|
} = await this.extractAndValidateRequestInfo(ctx, id);
|
2714
2530
|
const { idsToOmit, idsToInclude, _q, ...query } = ctx.request.query;
|
2715
|
-
const permissionChecker2 = getService$
|
2531
|
+
const permissionChecker2 = getService$1("permission-checker").create({
|
2716
2532
|
userAbility: ctx.state.userAbility,
|
2717
2533
|
model: targetUid
|
2718
2534
|
});
|
@@ -2785,33 +2601,21 @@ const relations = {
|
|
2785
2601
|
attribute,
|
2786
2602
|
targetField,
|
2787
2603
|
fieldsToSelect,
|
2788
|
-
|
2789
|
-
|
2790
|
-
|
2604
|
+
source: {
|
2605
|
+
schema: { uid: sourceUid }
|
2606
|
+
},
|
2607
|
+
target: {
|
2608
|
+
schema: { uid: targetUid }
|
2609
|
+
}
|
2791
2610
|
} = await this.extractAndValidateRequestInfo(ctx, id);
|
2792
|
-
const {
|
2793
|
-
const { uid: targetUid } = targetSchema;
|
2794
|
-
const permissionQuery = await getService$2("permission-checker").create({ userAbility, model: targetUid }).sanitizedQuery.read({ fields: fieldsToSelect });
|
2611
|
+
const permissionQuery = await getService$1("permission-checker").create({ userAbility, model: targetUid }).sanitizedQuery.read({ fields: fieldsToSelect });
|
2795
2612
|
const dbQuery = strapi.db.query(sourceUid);
|
2796
2613
|
const loadRelations = strapiUtils.relations.isAnyToMany(attribute) ? (...args) => dbQuery.loadPages(...args) : (...args) => dbQuery.load(...args).then((res2) => ({ results: res2 ? [res2] : [] }));
|
2797
|
-
const filters = {};
|
2798
|
-
if (sourceSchema?.options?.draftAndPublish) {
|
2799
|
-
if (targetSchema?.options?.draftAndPublish) {
|
2800
|
-
if (status === "published") {
|
2801
|
-
filters.publishedAt = { $notNull: true };
|
2802
|
-
} else {
|
2803
|
-
filters.publishedAt = { $null: true };
|
2804
|
-
}
|
2805
|
-
}
|
2806
|
-
} else if (targetSchema?.options?.draftAndPublish) {
|
2807
|
-
filters.publishedAt = { $null: true };
|
2808
|
-
}
|
2809
2614
|
const res = await loadRelations({ id: entryId }, targetField, {
|
2810
|
-
select: ["id", "documentId", "locale", "publishedAt"
|
2615
|
+
select: ["id", "documentId", "locale", "publishedAt"],
|
2811
2616
|
ordering: "desc",
|
2812
2617
|
page: ctx.request.query.page,
|
2813
|
-
pageSize: ctx.request.query.pageSize
|
2814
|
-
filters
|
2618
|
+
pageSize: ctx.request.query.pageSize
|
2815
2619
|
});
|
2816
2620
|
const loadedIds = res.results.map((item) => item.id);
|
2817
2621
|
addFiltersClause(permissionQuery, { id: { $in: loadedIds } });
|
@@ -2832,10 +2636,10 @@ const relations = {
|
|
2832
2636
|
}
|
2833
2637
|
};
|
2834
2638
|
const buildPopulateFromQuery = async (query, model) => {
|
2835
|
-
return getService$
|
2639
|
+
return getService$1("populate-builder")(model).populateFromQuery(query).populateDeep(Infinity).countRelations().build();
|
2836
2640
|
};
|
2837
2641
|
const findDocument = async (query, uid2, opts = {}) => {
|
2838
|
-
const documentManager2 = getService$
|
2642
|
+
const documentManager2 = getService$1("document-manager");
|
2839
2643
|
const populate = await buildPopulateFromQuery(query, uid2);
|
2840
2644
|
return documentManager2.findMany({ ...opts, populate }, uid2).then((documents) => documents[0]);
|
2841
2645
|
};
|
@@ -2843,8 +2647,8 @@ const createOrUpdateDocument = async (ctx, opts) => {
|
|
2843
2647
|
const { user, userAbility } = ctx.state;
|
2844
2648
|
const { model } = ctx.params;
|
2845
2649
|
const { body, query } = ctx.request;
|
2846
|
-
const documentManager2 = getService$
|
2847
|
-
const permissionChecker2 = getService$
|
2650
|
+
const documentManager2 = getService$1("document-manager");
|
2651
|
+
const permissionChecker2 = getService$1("permission-checker").create({ userAbility, model });
|
2848
2652
|
if (permissionChecker2.cannot.create() && permissionChecker2.cannot.update()) {
|
2849
2653
|
throw new strapiUtils.errors.ForbiddenError();
|
2850
2654
|
}
|
@@ -2885,7 +2689,7 @@ const singleTypes = {
|
|
2885
2689
|
const { userAbility } = ctx.state;
|
2886
2690
|
const { model } = ctx.params;
|
2887
2691
|
const { query = {} } = ctx.request;
|
2888
|
-
const permissionChecker2 = getService$
|
2692
|
+
const permissionChecker2 = getService$1("permission-checker").create({ userAbility, model });
|
2889
2693
|
if (permissionChecker2.cannot.read()) {
|
2890
2694
|
return ctx.forbidden();
|
2891
2695
|
}
|
@@ -2919,7 +2723,7 @@ const singleTypes = {
|
|
2919
2723
|
async createOrUpdate(ctx) {
|
2920
2724
|
const { userAbility } = ctx.state;
|
2921
2725
|
const { model } = ctx.params;
|
2922
|
-
const permissionChecker2 = getService$
|
2726
|
+
const permissionChecker2 = getService$1("permission-checker").create({ userAbility, model });
|
2923
2727
|
const document = await createOrUpdateDocument(ctx);
|
2924
2728
|
const sanitizedDocument = await permissionChecker2.sanitizeOutput(document);
|
2925
2729
|
ctx.body = await formatDocumentWithMetadata(permissionChecker2, model, sanitizedDocument);
|
@@ -2928,8 +2732,8 @@ const singleTypes = {
|
|
2928
2732
|
const { userAbility } = ctx.state;
|
2929
2733
|
const { model } = ctx.params;
|
2930
2734
|
const { query = {} } = ctx.request;
|
2931
|
-
const documentManager2 = getService$
|
2932
|
-
const permissionChecker2 = getService$
|
2735
|
+
const documentManager2 = getService$1("document-manager");
|
2736
|
+
const permissionChecker2 = getService$1("permission-checker").create({ userAbility, model });
|
2933
2737
|
if (permissionChecker2.cannot.delete()) {
|
2934
2738
|
return ctx.forbidden();
|
2935
2739
|
}
|
@@ -2957,8 +2761,8 @@ const singleTypes = {
|
|
2957
2761
|
const { userAbility } = ctx.state;
|
2958
2762
|
const { model } = ctx.params;
|
2959
2763
|
const { query = {} } = ctx.request;
|
2960
|
-
const documentManager2 = getService$
|
2961
|
-
const permissionChecker2 = getService$
|
2764
|
+
const documentManager2 = getService$1("document-manager");
|
2765
|
+
const permissionChecker2 = getService$1("permission-checker").create({ userAbility, model });
|
2962
2766
|
if (permissionChecker2.cannot.publish()) {
|
2963
2767
|
return ctx.forbidden();
|
2964
2768
|
}
|
@@ -2986,8 +2790,8 @@ const singleTypes = {
|
|
2986
2790
|
body: { discardDraft, ...body },
|
2987
2791
|
query = {}
|
2988
2792
|
} = ctx.request;
|
2989
|
-
const documentManager2 = getService$
|
2990
|
-
const permissionChecker2 = getService$
|
2793
|
+
const documentManager2 = getService$1("document-manager");
|
2794
|
+
const permissionChecker2 = getService$1("permission-checker").create({ userAbility, model });
|
2991
2795
|
if (permissionChecker2.cannot.unpublish()) {
|
2992
2796
|
return ctx.forbidden();
|
2993
2797
|
}
|
@@ -3021,8 +2825,8 @@ const singleTypes = {
|
|
3021
2825
|
const { userAbility } = ctx.state;
|
3022
2826
|
const { model } = ctx.params;
|
3023
2827
|
const { body, query = {} } = ctx.request;
|
3024
|
-
const documentManager2 = getService$
|
3025
|
-
const permissionChecker2 = getService$
|
2828
|
+
const documentManager2 = getService$1("document-manager");
|
2829
|
+
const permissionChecker2 = getService$1("permission-checker").create({ userAbility, model });
|
3026
2830
|
if (permissionChecker2.cannot.discard()) {
|
3027
2831
|
return ctx.forbidden();
|
3028
2832
|
}
|
@@ -3045,8 +2849,8 @@ const singleTypes = {
|
|
3045
2849
|
const { userAbility } = ctx.state;
|
3046
2850
|
const { model } = ctx.params;
|
3047
2851
|
const { query } = ctx.request;
|
3048
|
-
const documentManager2 = getService$
|
3049
|
-
const permissionChecker2 = getService$
|
2852
|
+
const documentManager2 = getService$1("document-manager");
|
2853
|
+
const permissionChecker2 = getService$1("permission-checker").create({ userAbility, model });
|
3050
2854
|
const { locale } = await getDocumentLocaleAndStatus(query, model);
|
3051
2855
|
if (permissionChecker2.cannot.read()) {
|
3052
2856
|
return ctx.forbidden();
|
@@ -3070,7 +2874,7 @@ const uid$1 = {
|
|
3070
2874
|
const { query = {} } = ctx.request;
|
3071
2875
|
const { locale } = await getDocumentLocaleAndStatus(query, contentTypeUID);
|
3072
2876
|
await validateUIDField(contentTypeUID, field);
|
3073
|
-
const uidService = getService$
|
2877
|
+
const uidService = getService$1("uid");
|
3074
2878
|
ctx.body = {
|
3075
2879
|
data: await uidService.generateUIDField({ contentTypeUID, field, data, locale })
|
3076
2880
|
};
|
@@ -3082,7 +2886,7 @@ const uid$1 = {
|
|
3082
2886
|
const { query = {} } = ctx.request;
|
3083
2887
|
const { locale } = await getDocumentLocaleAndStatus(query, contentTypeUID);
|
3084
2888
|
await validateUIDField(contentTypeUID, field);
|
3085
|
-
const uidService = getService$
|
2889
|
+
const uidService = getService$1("uid");
|
3086
2890
|
const isAvailable = await uidService.checkUIDAvailability({
|
3087
2891
|
contentTypeUID,
|
3088
2892
|
field,
|
@@ -3103,8 +2907,7 @@ const controllers = {
|
|
3103
2907
|
relations,
|
3104
2908
|
"single-types": singleTypes,
|
3105
2909
|
uid: uid$1,
|
3106
|
-
...history.controllers ? history.controllers : {}
|
3107
|
-
...preview.controllers ? preview.controllers : {}
|
2910
|
+
...history.controllers ? history.controllers : {}
|
3108
2911
|
};
|
3109
2912
|
const keys = {
|
3110
2913
|
CONFIGURATION: "configuration"
|
@@ -3255,12 +3058,12 @@ async function syncMetadatas(configuration, schema) {
|
|
3255
3058
|
return ___default.default.assign(metasWithDefaults, updatedMetas);
|
3256
3059
|
}
|
3257
3060
|
const getTargetSchema = (targetModel) => {
|
3258
|
-
return getService$
|
3061
|
+
return getService$1("content-types").findContentType(targetModel);
|
3259
3062
|
};
|
3260
3063
|
const DEFAULT_LIST_LENGTH = 4;
|
3261
3064
|
const MAX_ROW_SIZE = 12;
|
3262
3065
|
const isAllowedFieldSize = (type, size) => {
|
3263
|
-
const { getFieldSize } = getService$
|
3066
|
+
const { getFieldSize } = getService$1("field-sizes");
|
3264
3067
|
const fieldSize = getFieldSize(type);
|
3265
3068
|
if (!fieldSize.isResizable && size !== fieldSize.default) {
|
3266
3069
|
return false;
|
@@ -3268,7 +3071,7 @@ const isAllowedFieldSize = (type, size) => {
|
|
3268
3071
|
return size <= MAX_ROW_SIZE;
|
3269
3072
|
};
|
3270
3073
|
const getDefaultFieldSize = (attribute) => {
|
3271
|
-
const { hasFieldSize, getFieldSize } = getService$
|
3074
|
+
const { hasFieldSize, getFieldSize } = getService$1("field-sizes");
|
3272
3075
|
return getFieldSize(hasFieldSize(attribute.customField) ? attribute.customField : attribute.type).default;
|
3273
3076
|
};
|
3274
3077
|
async function createDefaultLayouts(schema) {
|
@@ -3303,7 +3106,7 @@ function syncLayouts(configuration, schema) {
|
|
3303
3106
|
for (const el of row) {
|
3304
3107
|
if (!hasEditableAttribute(schema, el.name))
|
3305
3108
|
continue;
|
3306
|
-
const { hasFieldSize } = getService$
|
3109
|
+
const { hasFieldSize } = getService$1("field-sizes");
|
3307
3110
|
const fieldType = hasFieldSize(schema.attributes[el.name].customField) ? schema.attributes[el.name].customField : schema.attributes[el.name].type;
|
3308
3111
|
if (!isAllowedFieldSize(fieldType, el.size)) {
|
3309
3112
|
elementsToReAppend.push(el.name);
|
@@ -3443,17 +3246,17 @@ const configurationService$1 = createConfigurationService({
|
|
3443
3246
|
isComponent: true,
|
3444
3247
|
prefix: STORE_KEY_PREFIX,
|
3445
3248
|
getModels() {
|
3446
|
-
const { toContentManagerModel } = getService$
|
3249
|
+
const { toContentManagerModel } = getService$1("data-mapper");
|
3447
3250
|
return fp.mapValues(toContentManagerModel, strapi.components);
|
3448
3251
|
}
|
3449
3252
|
});
|
3450
3253
|
const components = ({ strapi: strapi2 }) => ({
|
3451
3254
|
findAllComponents() {
|
3452
|
-
const { toContentManagerModel } = getService$
|
3255
|
+
const { toContentManagerModel } = getService$1("data-mapper");
|
3453
3256
|
return Object.values(strapi2.components).map(toContentManagerModel);
|
3454
3257
|
},
|
3455
3258
|
findComponent(uid2) {
|
3456
|
-
const { toContentManagerModel } = getService$
|
3259
|
+
const { toContentManagerModel } = getService$1("data-mapper");
|
3457
3260
|
const component = strapi2.components[uid2];
|
3458
3261
|
return fp.isNil(component) ? component : toContentManagerModel(component);
|
3459
3262
|
},
|
@@ -3504,17 +3307,17 @@ const configurationService = createConfigurationService({
|
|
3504
3307
|
storeUtils,
|
3505
3308
|
prefix: "content_types",
|
3506
3309
|
getModels() {
|
3507
|
-
const { toContentManagerModel } = getService$
|
3310
|
+
const { toContentManagerModel } = getService$1("data-mapper");
|
3508
3311
|
return fp.mapValues(toContentManagerModel, strapi.contentTypes);
|
3509
3312
|
}
|
3510
3313
|
});
|
3511
3314
|
const service = ({ strapi: strapi2 }) => ({
|
3512
3315
|
findAllContentTypes() {
|
3513
|
-
const { toContentManagerModel } = getService$
|
3316
|
+
const { toContentManagerModel } = getService$1("data-mapper");
|
3514
3317
|
return Object.values(strapi2.contentTypes).map(toContentManagerModel);
|
3515
3318
|
},
|
3516
3319
|
findContentType(uid2) {
|
3517
|
-
const { toContentManagerModel } = getService$
|
3320
|
+
const { toContentManagerModel } = getService$1("data-mapper");
|
3518
3321
|
const contentType = strapi2.contentTypes[uid2];
|
3519
3322
|
return fp.isNil(contentType) ? contentType : toContentManagerModel(contentType);
|
3520
3323
|
},
|
@@ -3543,7 +3346,7 @@ const service = ({ strapi: strapi2 }) => ({
|
|
3543
3346
|
return this.findConfiguration(contentType);
|
3544
3347
|
},
|
3545
3348
|
findComponentsConfigurations(contentType) {
|
3546
|
-
return getService$
|
3349
|
+
return getService$1("components").findComponentsConfigurations(contentType);
|
3547
3350
|
},
|
3548
3351
|
syncConfigurations() {
|
3549
3352
|
return configurationService.syncConfigurations();
|
@@ -3815,7 +3618,7 @@ const permission = ({ strapi: strapi2 }) => ({
|
|
3815
3618
|
return userAbility.can(action);
|
3816
3619
|
},
|
3817
3620
|
async registerPermissions() {
|
3818
|
-
const displayedContentTypes = getService$
|
3621
|
+
const displayedContentTypes = getService$1("content-types").findDisplayedContentTypes();
|
3819
3622
|
const contentTypesUids = displayedContentTypes.map(fp.prop("uid"));
|
3820
3623
|
const actions = [
|
3821
3624
|
{
|
@@ -4091,7 +3894,7 @@ const getQueryPopulate = async (uid2, query) => {
|
|
4091
3894
|
return populateQuery;
|
4092
3895
|
};
|
4093
3896
|
const buildDeepPopulate = (uid2) => {
|
4094
|
-
return getService$
|
3897
|
+
return getService$1("populate-builder")(uid2).populateDeep(Infinity).countRelations().build();
|
4095
3898
|
};
|
4096
3899
|
const populateBuilder = (uid2) => {
|
4097
3900
|
let getInitialPopulate = async () => {
|
@@ -4276,9 +4079,7 @@ const documentMetadata = ({ strapi: strapi2 }) => ({
|
|
4276
4079
|
*/
|
4277
4080
|
async getAvailableLocales(uid2, version, allVersions, validatableFields = []) {
|
4278
4081
|
const versionsByLocale = fp.groupBy("locale", allVersions);
|
4279
|
-
|
4280
|
-
delete versionsByLocale[version.locale];
|
4281
|
-
}
|
4082
|
+
delete versionsByLocale[version.locale];
|
4282
4083
|
const model = strapi2.getModel(uid2);
|
4283
4084
|
const keysToKeep = [...AVAILABLE_LOCALES_FIELDS, ...validatableFields];
|
4284
4085
|
const traversalFunction = async (localeVersion) => strapiUtils.traverseEntity(
|
@@ -4634,8 +4435,7 @@ const services = {
|
|
4634
4435
|
permission,
|
4635
4436
|
"populate-builder": populateBuilder$1,
|
4636
4437
|
uid,
|
4637
|
-
...history.services ? history.services : {}
|
4638
|
-
...preview.services ? preview.services : {}
|
4438
|
+
...history.services ? history.services : {}
|
4639
4439
|
};
|
4640
4440
|
const index = () => {
|
4641
4441
|
return {
|