@strapi/content-manager 0.0.0-next.7f1333f1967e625c57ab16648c057aea08c9dddb → 0.0.0-next.840550dc97a3782302ddf918d3a0d07e59dd11eb
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/server/index.js +234 -127
- package/dist/server/index.js.map +1 -1
- package/dist/server/index.mjs +234 -127
- package/dist/server/index.mjs.map +1 -1
- package/dist/server/src/controllers/index.d.ts.map +1 -1
- package/dist/server/src/history/services/utils.d.ts +2 -3
- package/dist/server/src/history/services/utils.d.ts.map +1 -1
- package/dist/server/src/preview/controllers/index.d.ts +2 -0
- package/dist/server/src/preview/controllers/index.d.ts.map +1 -0
- package/dist/server/src/preview/controllers/preview.d.ts +9 -0
- package/dist/server/src/preview/controllers/preview.d.ts.map +1 -0
- package/dist/server/src/preview/index.d.ts.map +1 -1
- package/dist/server/src/preview/routes/index.d.ts +8 -0
- package/dist/server/src/preview/routes/index.d.ts.map +1 -0
- package/dist/server/src/preview/routes/preview.d.ts +4 -0
- package/dist/server/src/preview/routes/preview.d.ts.map +1 -0
- package/dist/server/src/preview/services/index.d.ts +11 -0
- package/dist/server/src/preview/services/index.d.ts.map +1 -0
- package/dist/server/src/preview/services/preview-config.d.ts +30 -0
- package/dist/server/src/preview/services/preview-config.d.ts.map +1 -0
- package/dist/server/src/preview/services/preview.d.ts +6 -0
- package/dist/server/src/preview/services/preview.d.ts.map +1 -0
- package/dist/server/src/preview/utils.d.ts +14 -0
- package/dist/server/src/preview/utils.d.ts.map +1 -0
- package/dist/server/src/routes/index.d.ts.map +1 -1
- package/dist/server/src/services/index.d.ts.map +1 -1
- package/package.json +6 -6
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$2 = (name) => {
|
37
37
|
return strapi.plugin("content-manager").service(name);
|
38
38
|
};
|
39
|
-
function getService(strapi2, name) {
|
39
|
+
function getService$1(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$2("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(strapi2, "history").findVersionsPage({
|
83
|
+
const { results, pagination } = await getService$1(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$2("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(strapi2, "history").restoreVersion(
|
115
|
+
const restoredDocument = await getService$1(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$2 = {
|
125
125
|
"history-version": createHistoryVersionController
|
126
126
|
/**
|
127
127
|
* Casting is needed because the types aren't aware that Strapi supports
|
@@ -228,6 +228,17 @@ 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
|
+
};
|
231
242
|
const getDeepPopulate2 = (uid2, useDatabaseSyntax = false) => {
|
232
243
|
const model = strapi2.getModel(uid2);
|
233
244
|
const attributes = Object.entries(model.attributes);
|
@@ -251,13 +262,19 @@ const createServiceUtils = ({ strapi: strapi2 }) => {
|
|
251
262
|
}
|
252
263
|
case "component": {
|
253
264
|
const populate = getDeepPopulate2(attribute.component);
|
254
|
-
acc[attributeName] = {
|
265
|
+
acc[attributeName] = {
|
266
|
+
populate,
|
267
|
+
[fieldSelector]: getComponentFields(attribute.component)
|
268
|
+
};
|
255
269
|
break;
|
256
270
|
}
|
257
271
|
case "dynamiczone": {
|
258
272
|
const populatedComponents = (attribute.components || []).reduce(
|
259
273
|
(acc2, componentUID) => {
|
260
|
-
acc2[componentUID] = {
|
274
|
+
acc2[componentUID] = {
|
275
|
+
populate: getDeepPopulate2(componentUID),
|
276
|
+
[fieldSelector]: getComponentFields(componentUID)
|
277
|
+
};
|
261
278
|
return acc2;
|
262
279
|
},
|
263
280
|
{}
|
@@ -370,7 +387,7 @@ const createHistoryService = ({ strapi: strapi2 }) => {
|
|
370
387
|
const attributeValue = entry.data[attributeKey];
|
371
388
|
const attributeValues = Array.isArray(attributeValue) ? attributeValue : [attributeValue];
|
372
389
|
if (attributeSchema.type === "media") {
|
373
|
-
const permissionChecker2 = getService$
|
390
|
+
const permissionChecker2 = getService$2("permission-checker").create({
|
374
391
|
userAbility: params.state.userAbility,
|
375
392
|
model: "plugin::upload.file"
|
376
393
|
});
|
@@ -411,7 +428,7 @@ const createHistoryService = ({ strapi: strapi2 }) => {
|
|
411
428
|
[attributeKey]: adminUsers
|
412
429
|
};
|
413
430
|
}
|
414
|
-
const permissionChecker2 = getService$
|
431
|
+
const permissionChecker2 = getService$2("permission-checker").create({
|
415
432
|
userAbility: params.state.userAbility,
|
416
433
|
model: attributeSchema.target
|
417
434
|
});
|
@@ -587,7 +604,7 @@ const createLifecyclesService = ({ strapi: strapi2 }) => {
|
|
587
604
|
onCommit(async () => {
|
588
605
|
for (const entry of localeEntries) {
|
589
606
|
const status = await serviceUtils.getVersionStatus(uid2, entry);
|
590
|
-
await getService(strapi2, "history").createVersion({
|
607
|
+
await getService$1(strapi2, "history").createVersion({
|
591
608
|
contentType: uid2,
|
592
609
|
data: fp.omit(FIELDS_TO_IGNORE, entry),
|
593
610
|
relatedDocumentId: documentId,
|
@@ -620,17 +637,17 @@ const createLifecyclesService = ({ strapi: strapi2 }) => {
|
|
620
637
|
}
|
621
638
|
};
|
622
639
|
};
|
623
|
-
const services$
|
640
|
+
const services$2 = {
|
624
641
|
history: createHistoryService,
|
625
642
|
lifecycles: createLifecyclesService
|
626
643
|
};
|
627
|
-
const info = { pluginName: "content-manager", type: "admin" };
|
644
|
+
const info$1 = { pluginName: "content-manager", type: "admin" };
|
628
645
|
const historyVersionRouter = {
|
629
646
|
type: "admin",
|
630
647
|
routes: [
|
631
648
|
{
|
632
649
|
method: "GET",
|
633
|
-
info,
|
650
|
+
info: info$1,
|
634
651
|
path: "/history-versions",
|
635
652
|
handler: "history-version.findMany",
|
636
653
|
config: {
|
@@ -639,7 +656,7 @@ const historyVersionRouter = {
|
|
639
656
|
},
|
640
657
|
{
|
641
658
|
method: "PUT",
|
642
|
-
info,
|
659
|
+
info: info$1,
|
643
660
|
path: "/history-versions/:versionId/restore",
|
644
661
|
handler: "history-version.restoreVersion",
|
645
662
|
config: {
|
@@ -648,7 +665,7 @@ const historyVersionRouter = {
|
|
648
665
|
}
|
649
666
|
]
|
650
667
|
};
|
651
|
-
const routes$
|
668
|
+
const routes$2 = {
|
652
669
|
"history-version": historyVersionRouter
|
653
670
|
};
|
654
671
|
const historyVersion = {
|
@@ -702,14 +719,14 @@ const getFeature$1 = () => {
|
|
702
719
|
strapi2.get("models").add(historyVersion);
|
703
720
|
},
|
704
721
|
bootstrap({ strapi: strapi2 }) {
|
705
|
-
getService(strapi2, "lifecycles").bootstrap();
|
722
|
+
getService$1(strapi2, "lifecycles").bootstrap();
|
706
723
|
},
|
707
724
|
destroy({ strapi: strapi2 }) {
|
708
|
-
getService(strapi2, "lifecycles").destroy();
|
725
|
+
getService$1(strapi2, "lifecycles").destroy();
|
709
726
|
},
|
710
|
-
controllers: controllers$
|
711
|
-
services: services$
|
712
|
-
routes: routes$
|
727
|
+
controllers: controllers$2,
|
728
|
+
services: services$2,
|
729
|
+
routes: routes$2
|
713
730
|
};
|
714
731
|
}
|
715
732
|
return {
|
@@ -727,6 +744,88 @@ const ALLOWED_WEBHOOK_EVENTS = {
|
|
727
744
|
ENTRY_UNPUBLISH: "entry.unpublish"
|
728
745
|
};
|
729
746
|
const FEATURE_ID = "preview";
|
747
|
+
const info = { pluginName: "content-manager", type: "admin" };
|
748
|
+
const previewRouter = {
|
749
|
+
type: "admin",
|
750
|
+
routes: [
|
751
|
+
{
|
752
|
+
method: "GET",
|
753
|
+
info,
|
754
|
+
path: "/preview/url/:contentType",
|
755
|
+
handler: "preview.getPreviewURL",
|
756
|
+
config: {
|
757
|
+
policies: ["admin::isAuthenticatedAdmin"]
|
758
|
+
}
|
759
|
+
}
|
760
|
+
]
|
761
|
+
};
|
762
|
+
const routes$1 = {
|
763
|
+
preview: previewRouter
|
764
|
+
};
|
765
|
+
const createPreviewController = () => {
|
766
|
+
return {
|
767
|
+
async getPreviewURL(ctx) {
|
768
|
+
ctx.request;
|
769
|
+
return {
|
770
|
+
data: { url: "" }
|
771
|
+
};
|
772
|
+
}
|
773
|
+
};
|
774
|
+
};
|
775
|
+
const controllers$1 = {
|
776
|
+
preview: createPreviewController
|
777
|
+
/**
|
778
|
+
* Casting is needed because the types aren't aware that Strapi supports
|
779
|
+
* passing a controller factory as the value, instead of a controller object directly
|
780
|
+
*/
|
781
|
+
};
|
782
|
+
const createPreviewService = () => {
|
783
|
+
};
|
784
|
+
const createPreviewConfigService = ({ strapi: strapi2 }) => {
|
785
|
+
return {
|
786
|
+
isEnabled() {
|
787
|
+
const config = strapi2.config.get("admin.preview");
|
788
|
+
if (!config) {
|
789
|
+
return false;
|
790
|
+
}
|
791
|
+
return config?.enabled ?? true;
|
792
|
+
},
|
793
|
+
/**
|
794
|
+
* Validate if the configuration is valid
|
795
|
+
*/
|
796
|
+
validate() {
|
797
|
+
if (!this.isEnabled()) {
|
798
|
+
return;
|
799
|
+
}
|
800
|
+
const handler = this.getPreviewHandler();
|
801
|
+
if (typeof handler !== "function") {
|
802
|
+
throw new strapiUtils.errors.ValidationError(
|
803
|
+
"Preview configuration is invalid. Handler must be a function"
|
804
|
+
);
|
805
|
+
}
|
806
|
+
},
|
807
|
+
/**
|
808
|
+
* Utility to get the preview handler from the configuration
|
809
|
+
*/
|
810
|
+
getPreviewHandler() {
|
811
|
+
const config = strapi2.config.get("admin.preview");
|
812
|
+
const emptyHandler = () => {
|
813
|
+
return void 0;
|
814
|
+
};
|
815
|
+
if (!this.isEnabled()) {
|
816
|
+
return emptyHandler;
|
817
|
+
}
|
818
|
+
return config?.config?.handler || emptyHandler;
|
819
|
+
}
|
820
|
+
};
|
821
|
+
};
|
822
|
+
const services$1 = {
|
823
|
+
preview: createPreviewService,
|
824
|
+
"preview-config": createPreviewConfigService
|
825
|
+
};
|
826
|
+
function getService(strapi2, name) {
|
827
|
+
return strapi2.service(`plugin::content-manager.${name}`);
|
828
|
+
}
|
730
829
|
const getFeature = () => {
|
731
830
|
if (!strapi.features.future.isEnabled(FEATURE_ID)) {
|
732
831
|
return {};
|
@@ -734,7 +833,12 @@ const getFeature = () => {
|
|
734
833
|
return {
|
735
834
|
bootstrap() {
|
736
835
|
console.log("Bootstrapping preview server");
|
737
|
-
|
836
|
+
const config = getService(strapi, "preview-config");
|
837
|
+
config.validate();
|
838
|
+
},
|
839
|
+
routes: routes$1,
|
840
|
+
controllers: controllers$1,
|
841
|
+
services: services$1
|
738
842
|
};
|
739
843
|
};
|
740
844
|
const preview = getFeature();
|
@@ -742,10 +846,10 @@ const bootstrap = async () => {
|
|
742
846
|
Object.entries(ALLOWED_WEBHOOK_EVENTS).forEach(([key, value]) => {
|
743
847
|
strapi.get("webhookStore").addAllowedEvent(key, value);
|
744
848
|
});
|
745
|
-
getService$
|
746
|
-
await getService$
|
747
|
-
await getService$
|
748
|
-
await getService$
|
849
|
+
getService$2("field-sizes").setCustomFieldInputSizes();
|
850
|
+
await getService$2("components").syncConfigurations();
|
851
|
+
await getService$2("content-types").syncConfigurations();
|
852
|
+
await getService$2("permission").registerPermissions();
|
749
853
|
await history.bootstrap?.({ strapi });
|
750
854
|
await preview.bootstrap?.({ strapi });
|
751
855
|
};
|
@@ -1237,7 +1341,8 @@ const admin = {
|
|
1237
1341
|
};
|
1238
1342
|
const routes = {
|
1239
1343
|
admin,
|
1240
|
-
...history.routes ? history.routes : {}
|
1344
|
+
...history.routes ? history.routes : {},
|
1345
|
+
...preview.routes ? preview.routes : {}
|
1241
1346
|
};
|
1242
1347
|
const hasPermissionsSchema = strapiUtils.yup.object({
|
1243
1348
|
actions: strapiUtils.yup.array().of(strapiUtils.yup.string()),
|
@@ -1494,7 +1599,7 @@ const createMetadasSchema = (schema) => {
|
|
1494
1599
|
if (!value) {
|
1495
1600
|
return strapiUtils.yup.string();
|
1496
1601
|
}
|
1497
|
-
const targetSchema = getService$
|
1602
|
+
const targetSchema = getService$2("content-types").findContentType(
|
1498
1603
|
schema.attributes[key].targetModel
|
1499
1604
|
);
|
1500
1605
|
if (!targetSchema) {
|
@@ -1663,7 +1768,7 @@ const getDocumentLocaleAndStatus = async (request, model, opts = { allowMultiple
|
|
1663
1768
|
}
|
1664
1769
|
};
|
1665
1770
|
const formatDocumentWithMetadata = async (permissionChecker2, uid2, document, opts = {}) => {
|
1666
|
-
const documentMetadata2 = getService$
|
1771
|
+
const documentMetadata2 = getService$2("document-metadata");
|
1667
1772
|
const serviceOutput = await documentMetadata2.formatDocumentWithMetadata(uid2, document, opts);
|
1668
1773
|
let {
|
1669
1774
|
meta: { availableLocales, availableStatus }
|
@@ -1689,8 +1794,8 @@ const createDocument = async (ctx, opts) => {
|
|
1689
1794
|
const { userAbility, user } = ctx.state;
|
1690
1795
|
const { model } = ctx.params;
|
1691
1796
|
const { body } = ctx.request;
|
1692
|
-
const documentManager2 = getService$
|
1693
|
-
const permissionChecker2 = getService$
|
1797
|
+
const documentManager2 = getService$2("document-manager");
|
1798
|
+
const permissionChecker2 = getService$2("permission-checker").create({ userAbility, model });
|
1694
1799
|
if (permissionChecker2.cannot.create()) {
|
1695
1800
|
throw new strapiUtils.errors.ForbiddenError();
|
1696
1801
|
}
|
@@ -1710,13 +1815,13 @@ const updateDocument = async (ctx, opts) => {
|
|
1710
1815
|
const { userAbility, user } = ctx.state;
|
1711
1816
|
const { id, model } = ctx.params;
|
1712
1817
|
const { body } = ctx.request;
|
1713
|
-
const documentManager2 = getService$
|
1714
|
-
const permissionChecker2 = getService$
|
1818
|
+
const documentManager2 = getService$2("document-manager");
|
1819
|
+
const permissionChecker2 = getService$2("permission-checker").create({ userAbility, model });
|
1715
1820
|
if (permissionChecker2.cannot.update()) {
|
1716
1821
|
throw new strapiUtils.errors.ForbiddenError();
|
1717
1822
|
}
|
1718
1823
|
const permissionQuery = await permissionChecker2.sanitizedQuery.update(ctx.query);
|
1719
|
-
const populate = await getService$
|
1824
|
+
const populate = await getService$2("populate-builder")(model).populateFromQuery(permissionQuery).build();
|
1720
1825
|
const { locale } = await getDocumentLocaleAndStatus(body, model);
|
1721
1826
|
const [documentVersion, documentExists] = await Promise.all([
|
1722
1827
|
documentManager2.findOne(id, model, { populate, locale, status: "draft" }),
|
@@ -1747,14 +1852,14 @@ const collectionTypes = {
|
|
1747
1852
|
const { userAbility } = ctx.state;
|
1748
1853
|
const { model } = ctx.params;
|
1749
1854
|
const { query } = ctx.request;
|
1750
|
-
const documentMetadata2 = getService$
|
1751
|
-
const documentManager2 = getService$
|
1752
|
-
const permissionChecker2 = getService$
|
1855
|
+
const documentMetadata2 = getService$2("document-metadata");
|
1856
|
+
const documentManager2 = getService$2("document-manager");
|
1857
|
+
const permissionChecker2 = getService$2("permission-checker").create({ userAbility, model });
|
1753
1858
|
if (permissionChecker2.cannot.read()) {
|
1754
1859
|
return ctx.forbidden();
|
1755
1860
|
}
|
1756
1861
|
const permissionQuery = await permissionChecker2.sanitizedQuery.read(query);
|
1757
|
-
const populate = await getService$
|
1862
|
+
const populate = await getService$2("populate-builder")(model).populateFromQuery(permissionQuery).populateDeep(1).countRelations({ toOne: false, toMany: true }).build();
|
1758
1863
|
const { locale, status } = await getDocumentLocaleAndStatus(query, model);
|
1759
1864
|
const { results: documents, pagination } = await documentManager2.findPage(
|
1760
1865
|
{ ...permissionQuery, populate, locale, status },
|
@@ -1783,13 +1888,13 @@ const collectionTypes = {
|
|
1783
1888
|
async findOne(ctx) {
|
1784
1889
|
const { userAbility } = ctx.state;
|
1785
1890
|
const { model, id } = ctx.params;
|
1786
|
-
const documentManager2 = getService$
|
1787
|
-
const permissionChecker2 = getService$
|
1891
|
+
const documentManager2 = getService$2("document-manager");
|
1892
|
+
const permissionChecker2 = getService$2("permission-checker").create({ userAbility, model });
|
1788
1893
|
if (permissionChecker2.cannot.read()) {
|
1789
1894
|
return ctx.forbidden();
|
1790
1895
|
}
|
1791
1896
|
const permissionQuery = await permissionChecker2.sanitizedQuery.read(ctx.query);
|
1792
|
-
const populate = await getService$
|
1897
|
+
const populate = await getService$2("populate-builder")(model).populateFromQuery(permissionQuery).populateDeep(Infinity).countRelations().build();
|
1793
1898
|
const { locale, status } = await getDocumentLocaleAndStatus(ctx.query, model);
|
1794
1899
|
const version = await documentManager2.findOne(id, model, {
|
1795
1900
|
populate,
|
@@ -1820,7 +1925,7 @@ const collectionTypes = {
|
|
1820
1925
|
async create(ctx) {
|
1821
1926
|
const { userAbility } = ctx.state;
|
1822
1927
|
const { model } = ctx.params;
|
1823
|
-
const permissionChecker2 = getService$
|
1928
|
+
const permissionChecker2 = getService$2("permission-checker").create({ userAbility, model });
|
1824
1929
|
const [totalEntries, document] = await Promise.all([
|
1825
1930
|
strapi.db.query(model).count(),
|
1826
1931
|
createDocument(ctx)
|
@@ -1841,7 +1946,7 @@ const collectionTypes = {
|
|
1841
1946
|
async update(ctx) {
|
1842
1947
|
const { userAbility } = ctx.state;
|
1843
1948
|
const { model } = ctx.params;
|
1844
|
-
const permissionChecker2 = getService$
|
1949
|
+
const permissionChecker2 = getService$2("permission-checker").create({ userAbility, model });
|
1845
1950
|
const updatedVersion = await updateDocument(ctx);
|
1846
1951
|
const sanitizedVersion = await permissionChecker2.sanitizeOutput(updatedVersion);
|
1847
1952
|
ctx.body = await formatDocumentWithMetadata(permissionChecker2, model, sanitizedVersion);
|
@@ -1850,13 +1955,13 @@ const collectionTypes = {
|
|
1850
1955
|
const { userAbility, user } = ctx.state;
|
1851
1956
|
const { model, sourceId: id } = ctx.params;
|
1852
1957
|
const { body } = ctx.request;
|
1853
|
-
const documentManager2 = getService$
|
1854
|
-
const permissionChecker2 = getService$
|
1958
|
+
const documentManager2 = getService$2("document-manager");
|
1959
|
+
const permissionChecker2 = getService$2("permission-checker").create({ userAbility, model });
|
1855
1960
|
if (permissionChecker2.cannot.create()) {
|
1856
1961
|
return ctx.forbidden();
|
1857
1962
|
}
|
1858
1963
|
const permissionQuery = await permissionChecker2.sanitizedQuery.create(ctx.query);
|
1859
|
-
const populate = await getService$
|
1964
|
+
const populate = await getService$2("populate-builder")(model).populateFromQuery(permissionQuery).build();
|
1860
1965
|
const { locale } = await getDocumentLocaleAndStatus(body, model);
|
1861
1966
|
const document = await documentManager2.findOne(id, model, {
|
1862
1967
|
populate,
|
@@ -1895,13 +2000,13 @@ const collectionTypes = {
|
|
1895
2000
|
async delete(ctx) {
|
1896
2001
|
const { userAbility } = ctx.state;
|
1897
2002
|
const { id, model } = ctx.params;
|
1898
|
-
const documentManager2 = getService$
|
1899
|
-
const permissionChecker2 = getService$
|
2003
|
+
const documentManager2 = getService$2("document-manager");
|
2004
|
+
const permissionChecker2 = getService$2("permission-checker").create({ userAbility, model });
|
1900
2005
|
if (permissionChecker2.cannot.delete()) {
|
1901
2006
|
return ctx.forbidden();
|
1902
2007
|
}
|
1903
2008
|
const permissionQuery = await permissionChecker2.sanitizedQuery.delete(ctx.query);
|
1904
|
-
const populate = await getService$
|
2009
|
+
const populate = await getService$2("populate-builder")(model).populateFromQuery(permissionQuery).build();
|
1905
2010
|
const { locale } = await getDocumentLocaleAndStatus(ctx.query, model);
|
1906
2011
|
const documentLocales = await documentManager2.findLocales(id, model, { populate, locale });
|
1907
2012
|
if (documentLocales.length === 0) {
|
@@ -1923,14 +2028,14 @@ const collectionTypes = {
|
|
1923
2028
|
const { userAbility } = ctx.state;
|
1924
2029
|
const { id, model } = ctx.params;
|
1925
2030
|
const { body } = ctx.request;
|
1926
|
-
const documentManager2 = getService$
|
1927
|
-
const permissionChecker2 = getService$
|
2031
|
+
const documentManager2 = getService$2("document-manager");
|
2032
|
+
const permissionChecker2 = getService$2("permission-checker").create({ userAbility, model });
|
1928
2033
|
if (permissionChecker2.cannot.publish()) {
|
1929
2034
|
return ctx.forbidden();
|
1930
2035
|
}
|
1931
2036
|
const publishedDocument = await strapi.db.transaction(async () => {
|
1932
2037
|
const permissionQuery = await permissionChecker2.sanitizedQuery.publish(ctx.query);
|
1933
|
-
const populate = await getService$
|
2038
|
+
const populate = await getService$2("populate-builder")(model).populateFromQuery(permissionQuery).populateDeep(Infinity).countRelations().build();
|
1934
2039
|
let document;
|
1935
2040
|
const { locale } = await getDocumentLocaleAndStatus(body, model);
|
1936
2041
|
const isCreate = fp.isNil(id);
|
@@ -1978,13 +2083,13 @@ const collectionTypes = {
|
|
1978
2083
|
const { body } = ctx.request;
|
1979
2084
|
const { documentIds } = body;
|
1980
2085
|
await validateBulkActionInput(body);
|
1981
|
-
const documentManager2 = getService$
|
1982
|
-
const permissionChecker2 = getService$
|
2086
|
+
const documentManager2 = getService$2("document-manager");
|
2087
|
+
const permissionChecker2 = getService$2("permission-checker").create({ userAbility, model });
|
1983
2088
|
if (permissionChecker2.cannot.publish()) {
|
1984
2089
|
return ctx.forbidden();
|
1985
2090
|
}
|
1986
2091
|
const permissionQuery = await permissionChecker2.sanitizedQuery.publish(ctx.query);
|
1987
|
-
const populate = await getService$
|
2092
|
+
const populate = await getService$2("populate-builder")(model).populateFromQuery(permissionQuery).populateDeep(Infinity).countRelations().build();
|
1988
2093
|
const { locale } = await getDocumentLocaleAndStatus(body, model, {
|
1989
2094
|
allowMultipleLocales: true
|
1990
2095
|
});
|
@@ -2009,8 +2114,8 @@ const collectionTypes = {
|
|
2009
2114
|
const { body } = ctx.request;
|
2010
2115
|
const { documentIds } = body;
|
2011
2116
|
await validateBulkActionInput(body);
|
2012
|
-
const documentManager2 = getService$
|
2013
|
-
const permissionChecker2 = getService$
|
2117
|
+
const documentManager2 = getService$2("document-manager");
|
2118
|
+
const permissionChecker2 = getService$2("permission-checker").create({ userAbility, model });
|
2014
2119
|
if (permissionChecker2.cannot.unpublish()) {
|
2015
2120
|
return ctx.forbidden();
|
2016
2121
|
}
|
@@ -2039,8 +2144,8 @@ const collectionTypes = {
|
|
2039
2144
|
const {
|
2040
2145
|
body: { discardDraft, ...body }
|
2041
2146
|
} = ctx.request;
|
2042
|
-
const documentManager2 = getService$
|
2043
|
-
const permissionChecker2 = getService$
|
2147
|
+
const documentManager2 = getService$2("document-manager");
|
2148
|
+
const permissionChecker2 = getService$2("permission-checker").create({ userAbility, model });
|
2044
2149
|
if (permissionChecker2.cannot.unpublish()) {
|
2045
2150
|
return ctx.forbidden();
|
2046
2151
|
}
|
@@ -2048,7 +2153,7 @@ const collectionTypes = {
|
|
2048
2153
|
return ctx.forbidden();
|
2049
2154
|
}
|
2050
2155
|
const permissionQuery = await permissionChecker2.sanitizedQuery.unpublish(ctx.query);
|
2051
|
-
const populate = await getService$
|
2156
|
+
const populate = await getService$2("populate-builder")(model).populateFromQuery(permissionQuery).build();
|
2052
2157
|
const { locale } = await getDocumentLocaleAndStatus(body, model);
|
2053
2158
|
const document = await documentManager2.findOne(id, model, {
|
2054
2159
|
populate,
|
@@ -2079,13 +2184,13 @@ const collectionTypes = {
|
|
2079
2184
|
const { userAbility } = ctx.state;
|
2080
2185
|
const { id, model } = ctx.params;
|
2081
2186
|
const { body } = ctx.request;
|
2082
|
-
const documentManager2 = getService$
|
2083
|
-
const permissionChecker2 = getService$
|
2187
|
+
const documentManager2 = getService$2("document-manager");
|
2188
|
+
const permissionChecker2 = getService$2("permission-checker").create({ userAbility, model });
|
2084
2189
|
if (permissionChecker2.cannot.discard()) {
|
2085
2190
|
return ctx.forbidden();
|
2086
2191
|
}
|
2087
2192
|
const permissionQuery = await permissionChecker2.sanitizedQuery.discard(ctx.query);
|
2088
|
-
const populate = await getService$
|
2193
|
+
const populate = await getService$2("populate-builder")(model).populateFromQuery(permissionQuery).build();
|
2089
2194
|
const { locale } = await getDocumentLocaleAndStatus(body, model);
|
2090
2195
|
const document = await documentManager2.findOne(id, model, {
|
2091
2196
|
populate,
|
@@ -2110,13 +2215,13 @@ const collectionTypes = {
|
|
2110
2215
|
const { query, body } = ctx.request;
|
2111
2216
|
const { documentIds } = body;
|
2112
2217
|
await validateBulkActionInput(body);
|
2113
|
-
const documentManager2 = getService$
|
2114
|
-
const permissionChecker2 = getService$
|
2218
|
+
const documentManager2 = getService$2("document-manager");
|
2219
|
+
const permissionChecker2 = getService$2("permission-checker").create({ userAbility, model });
|
2115
2220
|
if (permissionChecker2.cannot.delete()) {
|
2116
2221
|
return ctx.forbidden();
|
2117
2222
|
}
|
2118
2223
|
const permissionQuery = await permissionChecker2.sanitizedQuery.delete(query);
|
2119
|
-
const populate = await getService$
|
2224
|
+
const populate = await getService$2("populate-builder")(model).populateFromQuery(permissionQuery).build();
|
2120
2225
|
const { locale } = await getDocumentLocaleAndStatus(body, model);
|
2121
2226
|
const documentLocales = await documentManager2.findLocales(documentIds, model, {
|
2122
2227
|
populate,
|
@@ -2137,13 +2242,13 @@ const collectionTypes = {
|
|
2137
2242
|
async countDraftRelations(ctx) {
|
2138
2243
|
const { userAbility } = ctx.state;
|
2139
2244
|
const { model, id } = ctx.params;
|
2140
|
-
const documentManager2 = getService$
|
2141
|
-
const permissionChecker2 = getService$
|
2245
|
+
const documentManager2 = getService$2("document-manager");
|
2246
|
+
const permissionChecker2 = getService$2("permission-checker").create({ userAbility, model });
|
2142
2247
|
if (permissionChecker2.cannot.read()) {
|
2143
2248
|
return ctx.forbidden();
|
2144
2249
|
}
|
2145
2250
|
const permissionQuery = await permissionChecker2.sanitizedQuery.read(ctx.query);
|
2146
|
-
const populate = await getService$
|
2251
|
+
const populate = await getService$2("populate-builder")(model).populateFromQuery(permissionQuery).build();
|
2147
2252
|
const { locale, status } = await getDocumentLocaleAndStatus(ctx.query, model);
|
2148
2253
|
const entity = await documentManager2.findOne(id, model, { populate, locale, status });
|
2149
2254
|
if (!entity) {
|
@@ -2162,8 +2267,8 @@ const collectionTypes = {
|
|
2162
2267
|
const ids = ctx.request.query.documentIds;
|
2163
2268
|
const locale = ctx.request.query.locale;
|
2164
2269
|
const { model } = ctx.params;
|
2165
|
-
const documentManager2 = getService$
|
2166
|
-
const permissionChecker2 = getService$
|
2270
|
+
const documentManager2 = getService$2("document-manager");
|
2271
|
+
const permissionChecker2 = getService$2("permission-checker").create({ userAbility, model });
|
2167
2272
|
if (permissionChecker2.cannot.read()) {
|
2168
2273
|
return ctx.forbidden();
|
2169
2274
|
}
|
@@ -2187,13 +2292,13 @@ const collectionTypes = {
|
|
2187
2292
|
};
|
2188
2293
|
const components$1 = {
|
2189
2294
|
findComponents(ctx) {
|
2190
|
-
const components2 = getService$
|
2191
|
-
const { toDto } = getService$
|
2295
|
+
const components2 = getService$2("components").findAllComponents();
|
2296
|
+
const { toDto } = getService$2("data-mapper");
|
2192
2297
|
ctx.body = { data: components2.map(toDto) };
|
2193
2298
|
},
|
2194
2299
|
async findComponentConfiguration(ctx) {
|
2195
2300
|
const { uid: uid2 } = ctx.params;
|
2196
|
-
const componentService = getService$
|
2301
|
+
const componentService = getService$2("components");
|
2197
2302
|
const component = componentService.findComponent(uid2);
|
2198
2303
|
if (!component) {
|
2199
2304
|
return ctx.notFound("component.notFound");
|
@@ -2210,7 +2315,7 @@ const components$1 = {
|
|
2210
2315
|
async updateComponentConfiguration(ctx) {
|
2211
2316
|
const { uid: uid2 } = ctx.params;
|
2212
2317
|
const { body } = ctx.request;
|
2213
|
-
const componentService = getService$
|
2318
|
+
const componentService = getService$2("components");
|
2214
2319
|
const component = componentService.findComponent(uid2);
|
2215
2320
|
if (!component) {
|
2216
2321
|
return ctx.notFound("component.notFound");
|
@@ -2244,12 +2349,12 @@ const contentTypes = {
|
|
2244
2349
|
} catch (error) {
|
2245
2350
|
return ctx.send({ error }, 400);
|
2246
2351
|
}
|
2247
|
-
const contentTypes2 = getService$
|
2248
|
-
const { toDto } = getService$
|
2352
|
+
const contentTypes2 = getService$2("content-types").findContentTypesByKind(kind);
|
2353
|
+
const { toDto } = getService$2("data-mapper");
|
2249
2354
|
ctx.body = { data: contentTypes2.map(toDto) };
|
2250
2355
|
},
|
2251
2356
|
async findContentTypesSettings(ctx) {
|
2252
|
-
const { findAllContentTypes, findConfiguration } = getService$
|
2357
|
+
const { findAllContentTypes, findConfiguration } = getService$2("content-types");
|
2253
2358
|
const contentTypes2 = await findAllContentTypes();
|
2254
2359
|
const configurations = await Promise.all(
|
2255
2360
|
contentTypes2.map(async (contentType) => {
|
@@ -2263,7 +2368,7 @@ const contentTypes = {
|
|
2263
2368
|
},
|
2264
2369
|
async findContentTypeConfiguration(ctx) {
|
2265
2370
|
const { uid: uid2 } = ctx.params;
|
2266
|
-
const contentTypeService = getService$
|
2371
|
+
const contentTypeService = getService$2("content-types");
|
2267
2372
|
const contentType = await contentTypeService.findContentType(uid2);
|
2268
2373
|
if (!contentType) {
|
2269
2374
|
return ctx.notFound("contentType.notFound");
|
@@ -2285,13 +2390,13 @@ const contentTypes = {
|
|
2285
2390
|
const { userAbility } = ctx.state;
|
2286
2391
|
const { uid: uid2 } = ctx.params;
|
2287
2392
|
const { body } = ctx.request;
|
2288
|
-
const contentTypeService = getService$
|
2289
|
-
const metricsService = getService$
|
2393
|
+
const contentTypeService = getService$2("content-types");
|
2394
|
+
const metricsService = getService$2("metrics");
|
2290
2395
|
const contentType = await contentTypeService.findContentType(uid2);
|
2291
2396
|
if (!contentType) {
|
2292
2397
|
return ctx.notFound("contentType.notFound");
|
2293
2398
|
}
|
2294
|
-
if (!getService$
|
2399
|
+
if (!getService$2("permission").canConfigureContentType({ userAbility, contentType })) {
|
2295
2400
|
return ctx.forbidden();
|
2296
2401
|
}
|
2297
2402
|
let input;
|
@@ -2324,10 +2429,10 @@ const contentTypes = {
|
|
2324
2429
|
};
|
2325
2430
|
const init = {
|
2326
2431
|
getInitData(ctx) {
|
2327
|
-
const { toDto } = getService$
|
2328
|
-
const { findAllComponents } = getService$
|
2329
|
-
const { getAllFieldSizes } = getService$
|
2330
|
-
const { findAllContentTypes } = getService$
|
2432
|
+
const { toDto } = getService$2("data-mapper");
|
2433
|
+
const { findAllComponents } = getService$2("components");
|
2434
|
+
const { getAllFieldSizes } = getService$2("field-sizes");
|
2435
|
+
const { findAllContentTypes } = getService$2("content-types");
|
2331
2436
|
ctx.body = {
|
2332
2437
|
data: {
|
2333
2438
|
fieldSizes: getAllFieldSizes(),
|
@@ -2363,7 +2468,7 @@ const addFiltersClause = (params, filtersClause) => {
|
|
2363
2468
|
params.filters.$and.push(filtersClause);
|
2364
2469
|
};
|
2365
2470
|
const sanitizeMainField = (model, mainField, userAbility) => {
|
2366
|
-
const permissionChecker2 = getService$
|
2471
|
+
const permissionChecker2 = getService$2("permission-checker").create({
|
2367
2472
|
userAbility,
|
2368
2473
|
model: model.uid
|
2369
2474
|
});
|
@@ -2381,7 +2486,7 @@ const addStatusToRelations = async (targetUid, relations2) => {
|
|
2381
2486
|
if (!strapiUtils.contentTypes.hasDraftAndPublish(strapi.getModel(targetUid))) {
|
2382
2487
|
return relations2;
|
2383
2488
|
}
|
2384
|
-
const documentMetadata2 = getService$
|
2489
|
+
const documentMetadata2 = getService$2("document-metadata");
|
2385
2490
|
if (!relations2.length) {
|
2386
2491
|
return relations2;
|
2387
2492
|
}
|
@@ -2459,7 +2564,7 @@ const relations = {
|
|
2459
2564
|
ctx.request?.query?.locale
|
2460
2565
|
);
|
2461
2566
|
const { status } = validateStatus(sourceUid, ctx.request?.query?.status);
|
2462
|
-
const permissionChecker2 = getService$
|
2567
|
+
const permissionChecker2 = getService$2("permission-checker").create({
|
2463
2568
|
userAbility,
|
2464
2569
|
model
|
2465
2570
|
});
|
@@ -2484,7 +2589,7 @@ const relations = {
|
|
2484
2589
|
where.id = id;
|
2485
2590
|
}
|
2486
2591
|
const permissionQuery = await permissionChecker2.sanitizedQuery.read(ctx.query);
|
2487
|
-
const populate = await getService$
|
2592
|
+
const populate = await getService$2("populate-builder")(model).populateFromQuery(permissionQuery).build();
|
2488
2593
|
const currentEntity = await strapi.db.query(model).findOne({
|
2489
2594
|
where,
|
2490
2595
|
populate
|
@@ -2499,7 +2604,7 @@ const relations = {
|
|
2499
2604
|
}
|
2500
2605
|
entryId = currentEntity.id;
|
2501
2606
|
}
|
2502
|
-
const modelConfig = isComponent2 ? await getService$
|
2607
|
+
const modelConfig = isComponent2 ? await getService$2("components").findConfiguration(sourceSchema) : await getService$2("content-types").findConfiguration(sourceSchema);
|
2503
2608
|
const targetSchema = strapi.getModel(targetUid);
|
2504
2609
|
const mainField = fp.flow(
|
2505
2610
|
fp.prop(`metadatas.${targetField}.edit.mainField`),
|
@@ -2553,7 +2658,7 @@ const relations = {
|
|
2553
2658
|
}
|
2554
2659
|
} = await this.extractAndValidateRequestInfo(ctx, id);
|
2555
2660
|
const { idsToOmit, idsToInclude, _q, ...query } = ctx.request.query;
|
2556
|
-
const permissionChecker2 = getService$
|
2661
|
+
const permissionChecker2 = getService$2("permission-checker").create({
|
2557
2662
|
userAbility: ctx.state.userAbility,
|
2558
2663
|
model: targetUid
|
2559
2664
|
});
|
@@ -2632,7 +2737,7 @@ const relations = {
|
|
2632
2737
|
} = await this.extractAndValidateRequestInfo(ctx, id);
|
2633
2738
|
const { uid: sourceUid } = sourceSchema;
|
2634
2739
|
const { uid: targetUid } = targetSchema;
|
2635
|
-
const permissionQuery = await getService$
|
2740
|
+
const permissionQuery = await getService$2("permission-checker").create({ userAbility, model: targetUid }).sanitizedQuery.read({ fields: fieldsToSelect });
|
2636
2741
|
const dbQuery = strapi.db.query(sourceUid);
|
2637
2742
|
const loadRelations = strapiUtils.relations.isAnyToMany(attribute) ? (...args) => dbQuery.loadPages(...args) : (...args) => dbQuery.load(...args).then((res2) => ({ results: res2 ? [res2] : [] }));
|
2638
2743
|
const filters = {};
|
@@ -2673,10 +2778,10 @@ const relations = {
|
|
2673
2778
|
}
|
2674
2779
|
};
|
2675
2780
|
const buildPopulateFromQuery = async (query, model) => {
|
2676
|
-
return getService$
|
2781
|
+
return getService$2("populate-builder")(model).populateFromQuery(query).populateDeep(Infinity).countRelations().build();
|
2677
2782
|
};
|
2678
2783
|
const findDocument = async (query, uid2, opts = {}) => {
|
2679
|
-
const documentManager2 = getService$
|
2784
|
+
const documentManager2 = getService$2("document-manager");
|
2680
2785
|
const populate = await buildPopulateFromQuery(query, uid2);
|
2681
2786
|
return documentManager2.findMany({ ...opts, populate }, uid2).then((documents) => documents[0]);
|
2682
2787
|
};
|
@@ -2684,8 +2789,8 @@ const createOrUpdateDocument = async (ctx, opts) => {
|
|
2684
2789
|
const { user, userAbility } = ctx.state;
|
2685
2790
|
const { model } = ctx.params;
|
2686
2791
|
const { body, query } = ctx.request;
|
2687
|
-
const documentManager2 = getService$
|
2688
|
-
const permissionChecker2 = getService$
|
2792
|
+
const documentManager2 = getService$2("document-manager");
|
2793
|
+
const permissionChecker2 = getService$2("permission-checker").create({ userAbility, model });
|
2689
2794
|
if (permissionChecker2.cannot.create() && permissionChecker2.cannot.update()) {
|
2690
2795
|
throw new strapiUtils.errors.ForbiddenError();
|
2691
2796
|
}
|
@@ -2726,7 +2831,7 @@ const singleTypes = {
|
|
2726
2831
|
const { userAbility } = ctx.state;
|
2727
2832
|
const { model } = ctx.params;
|
2728
2833
|
const { query = {} } = ctx.request;
|
2729
|
-
const permissionChecker2 = getService$
|
2834
|
+
const permissionChecker2 = getService$2("permission-checker").create({ userAbility, model });
|
2730
2835
|
if (permissionChecker2.cannot.read()) {
|
2731
2836
|
return ctx.forbidden();
|
2732
2837
|
}
|
@@ -2760,7 +2865,7 @@ const singleTypes = {
|
|
2760
2865
|
async createOrUpdate(ctx) {
|
2761
2866
|
const { userAbility } = ctx.state;
|
2762
2867
|
const { model } = ctx.params;
|
2763
|
-
const permissionChecker2 = getService$
|
2868
|
+
const permissionChecker2 = getService$2("permission-checker").create({ userAbility, model });
|
2764
2869
|
const document = await createOrUpdateDocument(ctx);
|
2765
2870
|
const sanitizedDocument = await permissionChecker2.sanitizeOutput(document);
|
2766
2871
|
ctx.body = await formatDocumentWithMetadata(permissionChecker2, model, sanitizedDocument);
|
@@ -2769,8 +2874,8 @@ const singleTypes = {
|
|
2769
2874
|
const { userAbility } = ctx.state;
|
2770
2875
|
const { model } = ctx.params;
|
2771
2876
|
const { query = {} } = ctx.request;
|
2772
|
-
const documentManager2 = getService$
|
2773
|
-
const permissionChecker2 = getService$
|
2877
|
+
const documentManager2 = getService$2("document-manager");
|
2878
|
+
const permissionChecker2 = getService$2("permission-checker").create({ userAbility, model });
|
2774
2879
|
if (permissionChecker2.cannot.delete()) {
|
2775
2880
|
return ctx.forbidden();
|
2776
2881
|
}
|
@@ -2798,8 +2903,8 @@ const singleTypes = {
|
|
2798
2903
|
const { userAbility } = ctx.state;
|
2799
2904
|
const { model } = ctx.params;
|
2800
2905
|
const { query = {} } = ctx.request;
|
2801
|
-
const documentManager2 = getService$
|
2802
|
-
const permissionChecker2 = getService$
|
2906
|
+
const documentManager2 = getService$2("document-manager");
|
2907
|
+
const permissionChecker2 = getService$2("permission-checker").create({ userAbility, model });
|
2803
2908
|
if (permissionChecker2.cannot.publish()) {
|
2804
2909
|
return ctx.forbidden();
|
2805
2910
|
}
|
@@ -2827,8 +2932,8 @@ const singleTypes = {
|
|
2827
2932
|
body: { discardDraft, ...body },
|
2828
2933
|
query = {}
|
2829
2934
|
} = ctx.request;
|
2830
|
-
const documentManager2 = getService$
|
2831
|
-
const permissionChecker2 = getService$
|
2935
|
+
const documentManager2 = getService$2("document-manager");
|
2936
|
+
const permissionChecker2 = getService$2("permission-checker").create({ userAbility, model });
|
2832
2937
|
if (permissionChecker2.cannot.unpublish()) {
|
2833
2938
|
return ctx.forbidden();
|
2834
2939
|
}
|
@@ -2862,8 +2967,8 @@ const singleTypes = {
|
|
2862
2967
|
const { userAbility } = ctx.state;
|
2863
2968
|
const { model } = ctx.params;
|
2864
2969
|
const { body, query = {} } = ctx.request;
|
2865
|
-
const documentManager2 = getService$
|
2866
|
-
const permissionChecker2 = getService$
|
2970
|
+
const documentManager2 = getService$2("document-manager");
|
2971
|
+
const permissionChecker2 = getService$2("permission-checker").create({ userAbility, model });
|
2867
2972
|
if (permissionChecker2.cannot.discard()) {
|
2868
2973
|
return ctx.forbidden();
|
2869
2974
|
}
|
@@ -2886,8 +2991,8 @@ const singleTypes = {
|
|
2886
2991
|
const { userAbility } = ctx.state;
|
2887
2992
|
const { model } = ctx.params;
|
2888
2993
|
const { query } = ctx.request;
|
2889
|
-
const documentManager2 = getService$
|
2890
|
-
const permissionChecker2 = getService$
|
2994
|
+
const documentManager2 = getService$2("document-manager");
|
2995
|
+
const permissionChecker2 = getService$2("permission-checker").create({ userAbility, model });
|
2891
2996
|
const { locale } = await getDocumentLocaleAndStatus(query, model);
|
2892
2997
|
if (permissionChecker2.cannot.read()) {
|
2893
2998
|
return ctx.forbidden();
|
@@ -2911,7 +3016,7 @@ const uid$1 = {
|
|
2911
3016
|
const { query = {} } = ctx.request;
|
2912
3017
|
const { locale } = await getDocumentLocaleAndStatus(query, contentTypeUID);
|
2913
3018
|
await validateUIDField(contentTypeUID, field);
|
2914
|
-
const uidService = getService$
|
3019
|
+
const uidService = getService$2("uid");
|
2915
3020
|
ctx.body = {
|
2916
3021
|
data: await uidService.generateUIDField({ contentTypeUID, field, data, locale })
|
2917
3022
|
};
|
@@ -2923,7 +3028,7 @@ const uid$1 = {
|
|
2923
3028
|
const { query = {} } = ctx.request;
|
2924
3029
|
const { locale } = await getDocumentLocaleAndStatus(query, contentTypeUID);
|
2925
3030
|
await validateUIDField(contentTypeUID, field);
|
2926
|
-
const uidService = getService$
|
3031
|
+
const uidService = getService$2("uid");
|
2927
3032
|
const isAvailable = await uidService.checkUIDAvailability({
|
2928
3033
|
contentTypeUID,
|
2929
3034
|
field,
|
@@ -2944,7 +3049,8 @@ const controllers = {
|
|
2944
3049
|
relations,
|
2945
3050
|
"single-types": singleTypes,
|
2946
3051
|
uid: uid$1,
|
2947
|
-
...history.controllers ? history.controllers : {}
|
3052
|
+
...history.controllers ? history.controllers : {},
|
3053
|
+
...preview.controllers ? preview.controllers : {}
|
2948
3054
|
};
|
2949
3055
|
const keys = {
|
2950
3056
|
CONFIGURATION: "configuration"
|
@@ -3095,12 +3201,12 @@ async function syncMetadatas(configuration, schema) {
|
|
3095
3201
|
return ___default.default.assign(metasWithDefaults, updatedMetas);
|
3096
3202
|
}
|
3097
3203
|
const getTargetSchema = (targetModel) => {
|
3098
|
-
return getService$
|
3204
|
+
return getService$2("content-types").findContentType(targetModel);
|
3099
3205
|
};
|
3100
3206
|
const DEFAULT_LIST_LENGTH = 4;
|
3101
3207
|
const MAX_ROW_SIZE = 12;
|
3102
3208
|
const isAllowedFieldSize = (type, size) => {
|
3103
|
-
const { getFieldSize } = getService$
|
3209
|
+
const { getFieldSize } = getService$2("field-sizes");
|
3104
3210
|
const fieldSize = getFieldSize(type);
|
3105
3211
|
if (!fieldSize.isResizable && size !== fieldSize.default) {
|
3106
3212
|
return false;
|
@@ -3108,7 +3214,7 @@ const isAllowedFieldSize = (type, size) => {
|
|
3108
3214
|
return size <= MAX_ROW_SIZE;
|
3109
3215
|
};
|
3110
3216
|
const getDefaultFieldSize = (attribute) => {
|
3111
|
-
const { hasFieldSize, getFieldSize } = getService$
|
3217
|
+
const { hasFieldSize, getFieldSize } = getService$2("field-sizes");
|
3112
3218
|
return getFieldSize(hasFieldSize(attribute.customField) ? attribute.customField : attribute.type).default;
|
3113
3219
|
};
|
3114
3220
|
async function createDefaultLayouts(schema) {
|
@@ -3143,7 +3249,7 @@ function syncLayouts(configuration, schema) {
|
|
3143
3249
|
for (const el of row) {
|
3144
3250
|
if (!hasEditableAttribute(schema, el.name))
|
3145
3251
|
continue;
|
3146
|
-
const { hasFieldSize } = getService$
|
3252
|
+
const { hasFieldSize } = getService$2("field-sizes");
|
3147
3253
|
const fieldType = hasFieldSize(schema.attributes[el.name].customField) ? schema.attributes[el.name].customField : schema.attributes[el.name].type;
|
3148
3254
|
if (!isAllowedFieldSize(fieldType, el.size)) {
|
3149
3255
|
elementsToReAppend.push(el.name);
|
@@ -3283,17 +3389,17 @@ const configurationService$1 = createConfigurationService({
|
|
3283
3389
|
isComponent: true,
|
3284
3390
|
prefix: STORE_KEY_PREFIX,
|
3285
3391
|
getModels() {
|
3286
|
-
const { toContentManagerModel } = getService$
|
3392
|
+
const { toContentManagerModel } = getService$2("data-mapper");
|
3287
3393
|
return fp.mapValues(toContentManagerModel, strapi.components);
|
3288
3394
|
}
|
3289
3395
|
});
|
3290
3396
|
const components = ({ strapi: strapi2 }) => ({
|
3291
3397
|
findAllComponents() {
|
3292
|
-
const { toContentManagerModel } = getService$
|
3398
|
+
const { toContentManagerModel } = getService$2("data-mapper");
|
3293
3399
|
return Object.values(strapi2.components).map(toContentManagerModel);
|
3294
3400
|
},
|
3295
3401
|
findComponent(uid2) {
|
3296
|
-
const { toContentManagerModel } = getService$
|
3402
|
+
const { toContentManagerModel } = getService$2("data-mapper");
|
3297
3403
|
const component = strapi2.components[uid2];
|
3298
3404
|
return fp.isNil(component) ? component : toContentManagerModel(component);
|
3299
3405
|
},
|
@@ -3344,17 +3450,17 @@ const configurationService = createConfigurationService({
|
|
3344
3450
|
storeUtils,
|
3345
3451
|
prefix: "content_types",
|
3346
3452
|
getModels() {
|
3347
|
-
const { toContentManagerModel } = getService$
|
3453
|
+
const { toContentManagerModel } = getService$2("data-mapper");
|
3348
3454
|
return fp.mapValues(toContentManagerModel, strapi.contentTypes);
|
3349
3455
|
}
|
3350
3456
|
});
|
3351
3457
|
const service = ({ strapi: strapi2 }) => ({
|
3352
3458
|
findAllContentTypes() {
|
3353
|
-
const { toContentManagerModel } = getService$
|
3459
|
+
const { toContentManagerModel } = getService$2("data-mapper");
|
3354
3460
|
return Object.values(strapi2.contentTypes).map(toContentManagerModel);
|
3355
3461
|
},
|
3356
3462
|
findContentType(uid2) {
|
3357
|
-
const { toContentManagerModel } = getService$
|
3463
|
+
const { toContentManagerModel } = getService$2("data-mapper");
|
3358
3464
|
const contentType = strapi2.contentTypes[uid2];
|
3359
3465
|
return fp.isNil(contentType) ? contentType : toContentManagerModel(contentType);
|
3360
3466
|
},
|
@@ -3383,7 +3489,7 @@ const service = ({ strapi: strapi2 }) => ({
|
|
3383
3489
|
return this.findConfiguration(contentType);
|
3384
3490
|
},
|
3385
3491
|
findComponentsConfigurations(contentType) {
|
3386
|
-
return getService$
|
3492
|
+
return getService$2("components").findComponentsConfigurations(contentType);
|
3387
3493
|
},
|
3388
3494
|
syncConfigurations() {
|
3389
3495
|
return configurationService.syncConfigurations();
|
@@ -3655,7 +3761,7 @@ const permission = ({ strapi: strapi2 }) => ({
|
|
3655
3761
|
return userAbility.can(action);
|
3656
3762
|
},
|
3657
3763
|
async registerPermissions() {
|
3658
|
-
const displayedContentTypes = getService$
|
3764
|
+
const displayedContentTypes = getService$2("content-types").findDisplayedContentTypes();
|
3659
3765
|
const contentTypesUids = displayedContentTypes.map(fp.prop("uid"));
|
3660
3766
|
const actions = [
|
3661
3767
|
{
|
@@ -3931,7 +4037,7 @@ const getQueryPopulate = async (uid2, query) => {
|
|
3931
4037
|
return populateQuery;
|
3932
4038
|
};
|
3933
4039
|
const buildDeepPopulate = (uid2) => {
|
3934
|
-
return getService$
|
4040
|
+
return getService$2("populate-builder")(uid2).populateDeep(Infinity).countRelations().build();
|
3935
4041
|
};
|
3936
4042
|
const populateBuilder = (uid2) => {
|
3937
4043
|
let getInitialPopulate = async () => {
|
@@ -4474,7 +4580,8 @@ const services = {
|
|
4474
4580
|
permission,
|
4475
4581
|
"populate-builder": populateBuilder$1,
|
4476
4582
|
uid,
|
4477
|
-
...history.services ? history.services : {}
|
4583
|
+
...history.services ? history.services : {},
|
4584
|
+
...preview.services ? preview.services : {}
|
4478
4585
|
};
|
4479
4586
|
const index = () => {
|
4480
4587
|
return {
|