@strapi/core 0.0.0-experimental.3f7b2587c5e3d548262671895cf11d8bf8c9166e → 0.0.0-experimental.90ca9123352ed07e0a9cedaf4bcad1475e74137f
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.
Potentially problematic release.
This version of @strapi/core might be problematic. Click here for more details.
- package/dist/Strapi.d.ts.map +1 -1
- package/dist/Strapi.js +7 -3
- package/dist/Strapi.js.map +1 -1
- package/dist/Strapi.mjs +6 -2
- package/dist/Strapi.mjs.map +1 -1
- package/dist/core-api/controller/collection-type.d.ts +1 -1
- package/dist/core-api/controller/collection-type.d.ts.map +1 -1
- package/dist/core-api/controller/collection-type.js +9 -20
- package/dist/core-api/controller/collection-type.js.map +1 -1
- package/dist/core-api/controller/collection-type.mjs +8 -20
- package/dist/core-api/controller/collection-type.mjs.map +1 -1
- package/dist/core-api/controller/index.d.ts.map +1 -1
- package/dist/core-api/controller/index.js +2 -2
- package/dist/core-api/controller/index.js.map +1 -1
- package/dist/core-api/controller/index.mjs +2 -2
- package/dist/core-api/controller/index.mjs.map +1 -1
- package/dist/core-api/controller/single-type.d.ts +1 -1
- package/dist/core-api/controller/single-type.d.ts.map +1 -1
- package/dist/core-api/controller/single-type.js +6 -11
- package/dist/core-api/controller/single-type.js.map +1 -1
- package/dist/core-api/controller/single-type.mjs +5 -11
- package/dist/core-api/controller/single-type.mjs.map +1 -1
- package/dist/core-api/controller/transform.d.ts +2 -11
- package/dist/core-api/controller/transform.d.ts.map +1 -1
- package/dist/core-api/controller/transform.js +2 -16
- package/dist/core-api/controller/transform.js.map +1 -1
- package/dist/core-api/controller/transform.mjs +2 -16
- package/dist/core-api/controller/transform.mjs.map +1 -1
- package/dist/core-api/service/collection-type.d.ts +28 -5
- package/dist/core-api/service/collection-type.d.ts.map +1 -1
- package/dist/core-api/service/collection-type.js +47 -49
- package/dist/core-api/service/collection-type.js.map +1 -1
- package/dist/core-api/service/collection-type.mjs +47 -50
- package/dist/core-api/service/collection-type.mjs.map +1 -1
- package/dist/core-api/service/core-service.d.ts +4 -0
- package/dist/core-api/service/core-service.d.ts.map +1 -0
- package/dist/core-api/service/core-service.js +12 -0
- package/dist/core-api/service/core-service.js.map +1 -0
- package/dist/core-api/service/core-service.mjs +12 -0
- package/dist/core-api/service/core-service.mjs.map +1 -0
- package/dist/core-api/service/index.js +2 -2
- package/dist/core-api/service/index.js.map +1 -1
- package/dist/core-api/service/index.mjs +4 -4
- package/dist/core-api/service/index.mjs.map +1 -1
- package/dist/core-api/service/pagination.d.ts +1 -5
- package/dist/core-api/service/pagination.d.ts.map +1 -1
- package/dist/core-api/service/pagination.js +0 -11
- package/dist/core-api/service/pagination.js.map +1 -1
- package/dist/core-api/service/pagination.mjs +0 -11
- package/dist/core-api/service/pagination.mjs.map +1 -1
- package/dist/core-api/service/single-type.d.ts +13 -8
- package/dist/core-api/service/single-type.d.ts.map +1 -1
- package/dist/core-api/service/single-type.js +25 -51
- package/dist/core-api/service/single-type.js.map +1 -1
- package/dist/core-api/service/single-type.mjs +24 -51
- package/dist/core-api/service/single-type.mjs.map +1 -1
- package/dist/factories.d.ts.map +1 -1
- package/dist/factories.js +2 -12
- package/dist/factories.js.map +1 -1
- package/dist/factories.mjs +2 -12
- package/dist/factories.mjs.map +1 -1
- package/dist/registries/content-types.d.ts.map +1 -1
- package/dist/registries/content-types.js +1 -2
- package/dist/registries/content-types.js.map +1 -1
- package/dist/registries/content-types.mjs +1 -2
- package/dist/registries/content-types.mjs.map +1 -1
- package/dist/services/document-service/collection-type.d.ts +4 -0
- package/dist/services/document-service/collection-type.d.ts.map +1 -0
- package/dist/services/document-service/collection-type.js +145 -0
- package/dist/services/document-service/collection-type.js.map +1 -0
- package/dist/services/document-service/collection-type.mjs +145 -0
- package/dist/services/document-service/collection-type.mjs.map +1 -0
- package/dist/services/document-service/common.d.ts +4 -0
- package/dist/services/document-service/common.d.ts.map +1 -0
- package/dist/services/document-service/common.js +7 -0
- package/dist/services/document-service/common.js.map +1 -0
- package/dist/services/document-service/common.mjs +7 -0
- package/dist/services/document-service/common.mjs.map +1 -0
- package/dist/services/document-service/document-engine.d.ts.map +1 -1
- package/dist/services/document-service/document-engine.js +130 -81
- package/dist/services/document-service/document-engine.js.map +1 -1
- package/dist/services/document-service/document-engine.mjs +125 -76
- package/dist/services/document-service/document-engine.mjs.map +1 -1
- package/dist/services/document-service/draft-and-publish.d.ts +24 -0
- package/dist/services/document-service/draft-and-publish.d.ts.map +1 -0
- package/dist/services/document-service/draft-and-publish.js +41 -0
- package/dist/services/document-service/draft-and-publish.js.map +1 -0
- package/dist/services/document-service/draft-and-publish.mjs +41 -0
- package/dist/services/document-service/draft-and-publish.mjs.map +1 -0
- package/dist/services/document-service/{document-service.d.ts → index.d.ts} +2 -4
- package/dist/services/document-service/index.d.ts.map +1 -0
- package/dist/services/document-service/index.js +22 -0
- package/dist/services/document-service/index.js.map +1 -0
- package/dist/services/document-service/index.mjs +22 -0
- package/dist/services/document-service/index.mjs.map +1 -0
- package/dist/services/document-service/internationalization.d.ts +7 -0
- package/dist/services/document-service/internationalization.d.ts.map +1 -0
- package/dist/services/document-service/internationalization.js +40 -0
- package/dist/services/document-service/internationalization.js.map +1 -0
- package/dist/services/document-service/internationalization.mjs +40 -0
- package/dist/services/document-service/internationalization.mjs.map +1 -0
- package/dist/services/document-service/middlewares.d.ts +8 -0
- package/dist/services/document-service/middlewares.d.ts.map +1 -0
- package/dist/services/document-service/middlewares.js +46 -0
- package/dist/services/document-service/middlewares.js.map +1 -0
- package/dist/services/document-service/middlewares.mjs +46 -0
- package/dist/services/document-service/middlewares.mjs.map +1 -0
- package/dist/services/document-service/repository-factory.d.ts +3 -0
- package/dist/services/document-service/repository-factory.d.ts.map +1 -0
- package/dist/services/document-service/repository-factory.js +12 -0
- package/dist/services/document-service/repository-factory.js.map +1 -0
- package/dist/services/document-service/repository-factory.mjs +12 -0
- package/dist/services/document-service/repository-factory.mjs.map +1 -0
- package/dist/services/document-service/single-type.d.ts +4 -0
- package/dist/services/document-service/single-type.d.ts.map +1 -0
- package/dist/services/document-service/single-type.js +92 -0
- package/dist/services/document-service/single-type.js.map +1 -0
- package/dist/services/document-service/single-type.mjs +92 -0
- package/dist/services/document-service/single-type.mjs.map +1 -0
- package/dist/services/document-service/transform/data.d.ts +5 -0
- package/dist/services/document-service/transform/data.d.ts.map +1 -0
- package/dist/services/document-service/transform/data.js +13 -0
- package/dist/services/document-service/transform/data.js.map +1 -0
- package/dist/services/document-service/transform/data.mjs +13 -0
- package/dist/services/document-service/transform/data.mjs.map +1 -0
- package/dist/services/document-service/transform/fields.d.ts +5 -0
- package/dist/services/document-service/transform/fields.d.ts.map +1 -0
- package/dist/services/document-service/transform/fields.js +23 -0
- package/dist/services/document-service/transform/fields.js.map +1 -0
- package/dist/services/document-service/transform/fields.mjs +23 -0
- package/dist/services/document-service/transform/fields.mjs.map +1 -0
- package/dist/services/document-service/transform/filters.d.ts +3 -0
- package/dist/services/document-service/transform/filters.d.ts.map +1 -0
- package/dist/services/document-service/transform/filters.js +49 -0
- package/dist/services/document-service/transform/filters.js.map +1 -0
- package/dist/services/document-service/transform/filters.mjs +49 -0
- package/dist/services/document-service/transform/filters.mjs.map +1 -0
- package/dist/services/document-service/transform/id-map.d.ts +23 -0
- package/dist/services/document-service/transform/id-map.d.ts.map +1 -0
- package/dist/services/document-service/transform/id-map.js +72 -0
- package/dist/services/document-service/transform/id-map.js.map +1 -0
- package/dist/services/document-service/transform/id-map.mjs +72 -0
- package/dist/services/document-service/transform/id-map.mjs.map +1 -0
- package/dist/services/document-service/transform/id-transform.d.ts +26 -0
- package/dist/services/document-service/transform/id-transform.d.ts.map +1 -0
- package/dist/services/document-service/transform/id-transform.js +57 -0
- package/dist/services/document-service/transform/id-transform.js.map +1 -0
- package/dist/services/document-service/transform/id-transform.mjs +57 -0
- package/dist/services/document-service/transform/id-transform.mjs.map +1 -0
- package/dist/services/document-service/transform/populate.d.ts +3 -0
- package/dist/services/document-service/transform/populate.d.ts.map +1 -0
- package/dist/services/document-service/transform/populate.js +31 -0
- package/dist/services/document-service/transform/populate.js.map +1 -0
- package/dist/services/document-service/transform/populate.mjs +31 -0
- package/dist/services/document-service/transform/populate.mjs.map +1 -0
- package/dist/services/document-service/transform/relations/extract/data-ids.d.ts +13 -0
- package/dist/services/document-service/transform/relations/extract/data-ids.d.ts.map +1 -0
- package/dist/services/document-service/transform/relations/extract/data-ids.js +76 -0
- package/dist/services/document-service/transform/relations/extract/data-ids.js.map +1 -0
- package/dist/services/document-service/transform/relations/extract/data-ids.mjs +76 -0
- package/dist/services/document-service/transform/relations/extract/data-ids.mjs.map +1 -0
- package/dist/services/document-service/transform/relations/transform/data-ids.d.ts +10 -0
- package/dist/services/document-service/transform/relations/transform/data-ids.d.ts.map +1 -0
- package/dist/services/document-service/transform/relations/transform/data-ids.js +115 -0
- package/dist/services/document-service/transform/relations/transform/data-ids.js.map +1 -0
- package/dist/services/document-service/transform/relations/transform/data-ids.mjs +115 -0
- package/dist/services/document-service/transform/relations/transform/data-ids.mjs.map +1 -0
- package/dist/services/document-service/transform/relations/transform/output-ids.d.ts +4 -0
- package/dist/services/document-service/transform/relations/transform/output-ids.d.ts.map +1 -0
- package/dist/services/document-service/transform/relations/transform/output-ids.js +26 -0
- package/dist/services/document-service/transform/relations/transform/output-ids.js.map +1 -0
- package/dist/services/document-service/transform/relations/transform/output-ids.mjs +26 -0
- package/dist/services/document-service/transform/relations/transform/output-ids.mjs.map +1 -0
- package/dist/services/document-service/transform/relations/utils/data.d.ts +6 -0
- package/dist/services/document-service/transform/relations/utils/data.d.ts.map +1 -0
- package/dist/services/document-service/transform/relations/utils/data.js +12 -0
- package/dist/services/document-service/transform/relations/utils/data.js.map +1 -0
- package/dist/services/document-service/transform/relations/utils/data.mjs +12 -0
- package/dist/services/document-service/transform/relations/utils/data.mjs.map +1 -0
- package/dist/services/document-service/transform/relations/utils/i18n.d.ts +10 -0
- package/dist/services/document-service/transform/relations/utils/i18n.d.ts.map +1 -0
- package/dist/services/document-service/transform/relations/utils/i18n.js +31 -0
- package/dist/services/document-service/transform/relations/utils/i18n.js.map +1 -0
- package/dist/services/document-service/transform/relations/utils/i18n.mjs +31 -0
- package/dist/services/document-service/transform/relations/utils/i18n.mjs.map +1 -0
- package/dist/services/document-service/transform/relations/utils/types.d.ts +8 -0
- package/dist/services/document-service/transform/relations/utils/types.d.ts.map +1 -0
- package/dist/services/document-service/transform/sort.d.ts +5 -0
- package/dist/services/document-service/transform/sort.d.ts.map +1 -0
- package/dist/services/document-service/transform/sort.js +44 -0
- package/dist/services/document-service/transform/sort.js.map +1 -0
- package/dist/services/document-service/transform/sort.mjs +44 -0
- package/dist/services/document-service/transform/sort.mjs.map +1 -0
- package/dist/services/document-service/transform/types.d.ts +13 -0
- package/dist/services/document-service/transform/types.d.ts.map +1 -0
- package/dist/services/document-service/transform/utils.d.ts +9 -0
- package/dist/services/document-service/transform/utils.d.ts.map +1 -0
- package/dist/services/document-service/transform/utils.js +23 -0
- package/dist/services/document-service/transform/utils.js.map +1 -0
- package/dist/services/document-service/transform/utils.mjs +23 -0
- package/dist/services/document-service/transform/utils.mjs.map +1 -0
- package/dist/services/document-service/utils/populate.d.ts +3 -0
- package/dist/services/document-service/utils/populate.d.ts.map +1 -0
- package/dist/services/document-service/utils/populate.js +41 -0
- package/dist/services/document-service/utils/populate.js.map +1 -0
- package/dist/services/document-service/utils/populate.mjs +41 -0
- package/dist/services/document-service/utils/populate.mjs.map +1 -0
- package/dist/services/entity-validator/blocks-validator.d.ts.map +1 -1
- package/dist/services/entity-validator/blocks-validator.js +22 -2
- package/dist/services/entity-validator/blocks-validator.js.map +1 -1
- package/dist/services/entity-validator/blocks-validator.mjs +22 -2
- package/dist/services/entity-validator/blocks-validator.mjs.map +1 -1
- package/dist/services/entity-validator/validators.d.ts.map +1 -1
- package/dist/services/entity-validator/validators.js +7 -8
- package/dist/services/entity-validator/validators.js.map +1 -1
- package/dist/services/entity-validator/validators.mjs +7 -8
- package/dist/services/entity-validator/validators.mjs.map +1 -1
- package/dist/services/server/compose-endpoint.d.ts.map +1 -1
- package/dist/services/server/compose-endpoint.js +3 -0
- package/dist/services/server/compose-endpoint.js.map +1 -1
- package/dist/services/server/compose-endpoint.mjs +3 -0
- package/dist/services/server/compose-endpoint.mjs.map +1 -1
- package/dist/services/webhook-store.js +2 -2
- package/dist/services/webhook-store.js.map +1 -1
- package/dist/services/webhook-store.mjs +2 -2
- package/dist/services/webhook-store.mjs.map +1 -1
- package/package.json +14 -14
- package/dist/core-api/service/get-fetch-params.d.ts +0 -7
- package/dist/core-api/service/get-fetch-params.d.ts.map +0 -1
- package/dist/core-api/service/get-fetch-params.js +0 -14
- package/dist/core-api/service/get-fetch-params.js.map +0 -1
- package/dist/core-api/service/get-fetch-params.mjs +0 -14
- package/dist/core-api/service/get-fetch-params.mjs.map +0 -1
- package/dist/services/document-service/document-service.d.ts.map +0 -1
- package/dist/services/document-service/document-service.js +0 -132
- package/dist/services/document-service/document-service.js.map +0 -1
- package/dist/services/document-service/document-service.mjs +0 -132
- package/dist/services/document-service/document-service.mjs.map +0 -1
- package/dist/services/document-service/middlewares/defaults/draft-and-publish.d.ts +0 -26
- package/dist/services/document-service/middlewares/defaults/draft-and-publish.d.ts.map +0 -1
- package/dist/services/document-service/middlewares/defaults/draft-and-publish.js +0 -58
- package/dist/services/document-service/middlewares/defaults/draft-and-publish.js.map +0 -1
- package/dist/services/document-service/middlewares/defaults/draft-and-publish.mjs +0 -58
- package/dist/services/document-service/middlewares/defaults/draft-and-publish.mjs.map +0 -1
- package/dist/services/document-service/middlewares/defaults/index.d.ts +0 -3
- package/dist/services/document-service/middlewares/defaults/index.d.ts.map +0 -1
- package/dist/services/document-service/middlewares/defaults/index.js +0 -82
- package/dist/services/document-service/middlewares/defaults/index.js.map +0 -1
- package/dist/services/document-service/middlewares/defaults/index.mjs +0 -82
- package/dist/services/document-service/middlewares/defaults/index.mjs.map +0 -1
- package/dist/services/document-service/middlewares/defaults/locales.d.ts +0 -18
- package/dist/services/document-service/middlewares/defaults/locales.d.ts.map +0 -1
- package/dist/services/document-service/middlewares/defaults/locales.js +0 -50
- package/dist/services/document-service/middlewares/defaults/locales.js.map +0 -1
- package/dist/services/document-service/middlewares/defaults/locales.mjs +0 -50
- package/dist/services/document-service/middlewares/defaults/locales.mjs.map +0 -1
- package/dist/services/document-service/middlewares/index.d.ts +0 -11
- package/dist/services/document-service/middlewares/index.d.ts.map +0 -1
- package/dist/services/document-service/middlewares/index.js +0 -59
- package/dist/services/document-service/middlewares/index.js.map +0 -1
- package/dist/services/document-service/middlewares/index.mjs +0 -59
- package/dist/services/document-service/middlewares/index.mjs.map +0 -1
package/dist/factories.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"factories.d.ts","sourceRoot":"","sources":["../src/factories.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,KAAK,EAAE,MAAM,eAAe,CAAC;AAUpE,KAAK,kBAAkB,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,SAAS;IAAE,MAAM,EAAE,MAAM,CAAA;CAAE,EAAE,MAAM,EAAE,CAAC,KAAK,CAAC,CAAC,CAAC;
|
|
1
|
+
{"version":3,"file":"factories.d.ts","sourceRoot":"","sources":["../src/factories.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,KAAK,EAAE,MAAM,eAAe,CAAC;AAUpE,KAAK,kBAAkB,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,SAAS;IAAE,MAAM,EAAE,MAAM,CAAA;CAAE,EAAE,MAAM,EAAE,CAAC,KAAK,CAAC,CAAC,CAAC;AAElF,QAAA,MAAM,oBAAoB;YAOM,MAAM;yNAwBrC,CAAC;AAEF,iBAAS,iBAAiB,CACxB,IAAI,SAAS,MAAM,CAAC,GAAG,CAAC,WAAW,EACnC,QAAQ,SAAS,OAAO,CAAC,OAAO,CAAC,UAAU,CAAC,IAAI,CAAC,EAEjD,GAAG,EAAE,IAAI,EACT,GAAG,CAAC,EAAE,kBAAkB,CAAC,KAAK,CAAC,eAAe,CAAC,OAAO,CAAC,OAAO,CAAC,UAAU,CAAC,IAAI,CAAC,GAAG,QAAQ,CAAC,CAAC;YAE9D,MAAM;MAAK,QAAQ,GAAG,QAAQ,OAAO,CAAC,WAAW,CAAC,IAAI,CAAC,CActF;AAED,iBAAS,gBAAgB,CAAC,CAAC,SAAS,MAAM,CAAC,GAAG,CAAC,WAAW,EACxD,GAAG,EAAE,CAAC,EACN,GAAG,CAAC,EAAE,OAAO,CAAC,MAAM,CAAC,YAAY,CAAC,CAAC,CAAC,GACnC,OAAO,CAAC,MAAM,CAAC,MAAM,CA+BvB;AAED,QAAA,MAAM,kBAAkB,kDAAiD,OAExE,CAAC;AAEF,OAAO,EAAE,oBAAoB,EAAE,iBAAiB,EAAE,gBAAgB,EAAE,kBAAkB,EAAE,CAAC"}
|
package/dist/factories.js
CHANGED
|
@@ -7,19 +7,9 @@ const index$2 = require("./core-api/routes/index.js");
|
|
|
7
7
|
const symbols = {
|
|
8
8
|
CustomController: Symbol("StrapiCustomCoreController")
|
|
9
9
|
};
|
|
10
|
-
const getContentTypeProxy = (strapi2, uid) => {
|
|
11
|
-
return new Proxy(strapi2.contentType(uid), {
|
|
12
|
-
get(target, prop) {
|
|
13
|
-
const contentType = strapi2.contentType(uid);
|
|
14
|
-
if (prop in contentType) {
|
|
15
|
-
return contentType[prop];
|
|
16
|
-
}
|
|
17
|
-
}
|
|
18
|
-
});
|
|
19
|
-
};
|
|
20
10
|
const createCoreController = (uid, cfg) => {
|
|
21
11
|
return ({ strapi: strapi2 }) => {
|
|
22
|
-
const baseController = index.createController({ contentType:
|
|
12
|
+
const baseController = index.createController({ contentType: strapi2.contentType(uid) });
|
|
23
13
|
const userCtrl = typeof cfg === "function" ? cfg({ strapi: strapi2 }) : cfg ?? {};
|
|
24
14
|
for (const methodName of Object.keys(baseController)) {
|
|
25
15
|
if (userCtrl[methodName] === void 0) {
|
|
@@ -40,7 +30,7 @@ const createCoreController = (uid, cfg) => {
|
|
|
40
30
|
};
|
|
41
31
|
function createCoreService(uid, cfg) {
|
|
42
32
|
return ({ strapi: strapi2 }) => {
|
|
43
|
-
const baseService = index$1.createService({ contentType:
|
|
33
|
+
const baseService = index$1.createService({ contentType: strapi2.contentType(uid) });
|
|
44
34
|
const userService = typeof cfg === "function" ? cfg({ strapi: strapi2 }) : cfg ?? {};
|
|
45
35
|
for (const methodName of Object.keys(baseService)) {
|
|
46
36
|
if (userService[methodName] === void 0) {
|
package/dist/factories.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"factories.js","sources":["../src/factories.ts"],"sourcesContent":["import { pipe, omit, pick } from 'lodash/fp';\nimport type { Strapi, Common, CoreApi, Utils } from '@strapi/types';\n\nimport { createController } from './core-api/controller';\nimport { createService } from './core-api/service';\nimport { createRoutes } from './core-api/routes';\n\nconst symbols = {\n CustomController: Symbol('StrapiCustomCoreController'),\n} as const;\n\ntype WithStrapiCallback<T> = T | (<S extends { strapi: Strapi }>(params: S) => T);\n\
|
|
1
|
+
{"version":3,"file":"factories.js","sources":["../src/factories.ts"],"sourcesContent":["import { pipe, omit, pick } from 'lodash/fp';\nimport type { Strapi, Common, CoreApi, Utils } from '@strapi/types';\n\nimport { createController } from './core-api/controller';\nimport { createService } from './core-api/service';\nimport { createRoutes } from './core-api/routes';\n\nconst symbols = {\n CustomController: Symbol('StrapiCustomCoreController'),\n} as const;\n\ntype WithStrapiCallback<T> = T | (<S extends { strapi: Strapi }>(params: S) => T);\n\nconst createCoreController = <\n TUID extends Common.UID.ContentType,\n TController extends CoreApi.Controller.Extendable<TUID>\n>(\n uid: TUID,\n cfg?: WithStrapiCallback<Utils.PartialWithThis<CoreApi.Controller.Extendable<TUID> & TController>>\n) => {\n return ({ strapi }: { strapi: Strapi }): TController & CoreApi.Controller.ContentType<TUID> => {\n const baseController = createController({ contentType: strapi.contentType(uid) });\n\n const userCtrl = typeof cfg === 'function' ? cfg({ strapi }) : cfg ?? ({} as any);\n\n for (const methodName of Object.keys(baseController) as Array<keyof typeof baseController>) {\n if (userCtrl[methodName] === undefined) {\n userCtrl[methodName] = baseController[methodName];\n }\n }\n\n Object.setPrototypeOf(userCtrl, baseController);\n\n const isCustom = typeof cfg !== 'undefined';\n if (isCustom) {\n Object.defineProperty(userCtrl, symbols.CustomController, {\n writable: false,\n configurable: false,\n enumerable: false,\n });\n }\n\n return userCtrl;\n };\n};\n\nfunction createCoreService<\n TUID extends Common.UID.ContentType,\n TService extends CoreApi.Service.Extendable<TUID>\n>(\n uid: TUID,\n cfg?: WithStrapiCallback<Utils.PartialWithThis<CoreApi.Service.Extendable<TUID> & TService>>\n) {\n return ({ strapi }: { strapi: Strapi }): TService & CoreApi.Service.ContentType<TUID> => {\n const baseService = createService({ contentType: strapi.contentType(uid) });\n\n const userService = typeof cfg === 'function' ? cfg({ strapi }) : cfg ?? ({} as any);\n\n for (const methodName of Object.keys(baseService) as Array<keyof typeof baseService>) {\n if (userService[methodName] === undefined) {\n userService[methodName] = baseService[methodName];\n }\n }\n\n Object.setPrototypeOf(userService, baseService);\n return userService;\n };\n}\n\nfunction createCoreRouter<T extends Common.UID.ContentType>(\n uid: T,\n cfg?: CoreApi.Router.RouterConfig<T>\n): CoreApi.Router.Router {\n const { prefix, config = {}, only, except, type = 'content-api' } = cfg ?? {};\n let routes: CoreApi.Router.Route[];\n\n return {\n type,\n prefix,\n get routes() {\n if (!routes) {\n const contentType = strapi.contentType(uid);\n\n const defaultRoutes = createRoutes({ contentType });\n const keys = Object.keys(defaultRoutes) as Array<keyof typeof defaultRoutes>;\n\n keys.forEach((routeName) => {\n const defaultRoute = defaultRoutes[routeName];\n\n Object.assign(defaultRoute.config, config[routeName] || {});\n });\n\n const selectedRoutes = pipe(\n (routes) => (except ? omit(except, routes) : routes),\n (routes) => (only ? pick(only, routes) : routes)\n )(defaultRoutes);\n\n routes = Object.values(selectedRoutes);\n }\n\n return routes;\n },\n };\n}\n\nconst isCustomController = <T extends Common.Controller>(controller: T): boolean => {\n return symbols.CustomController in controller;\n};\n\nexport { createCoreController, createCoreService, createCoreRouter, isCustomController };\n"],"names":["strapi","createController","createService","createRoutes","pipe","routes","omit","pick"],"mappings":";;;;;;AAOA,MAAM,UAAU;AAAA,EACd,kBAAkB,OAAO,4BAA4B;AACvD;AAIM,MAAA,uBAAuB,CAI3B,KACA,QACG;AACH,SAAO,CAAC,EAAE,QAAAA,cAAqF;AACvF,UAAA,iBAAiBC,uBAAiB,EAAE,aAAaD,QAAO,YAAY,GAAG,GAAG;AAE1E,UAAA,WAAW,OAAO,QAAQ,aAAa,IAAI,EAAE,QAAAA,QAAQ,CAAA,IAAI,OAAQ;AAEvE,eAAW,cAAc,OAAO,KAAK,cAAc,GAAyC;AACtF,UAAA,SAAS,UAAU,MAAM,QAAW;AAC7B,iBAAA,UAAU,IAAI,eAAe,UAAU;AAAA,MAClD;AAAA,IACF;AAEO,WAAA,eAAe,UAAU,cAAc;AAExC,UAAA,WAAW,OAAO,QAAQ;AAChC,QAAI,UAAU;AACL,aAAA,eAAe,UAAU,QAAQ,kBAAkB;AAAA,QACxD,UAAU;AAAA,QACV,cAAc;AAAA,QACd,YAAY;AAAA,MAAA,CACb;AAAA,IACH;AAEO,WAAA;AAAA,EAAA;AAEX;AAEA,SAAS,kBAIP,KACA,KACA;AACA,SAAO,CAAC,EAAE,QAAAA,cAA+E;AACjF,UAAA,cAAcE,sBAAc,EAAE,aAAaF,QAAO,YAAY,GAAG,GAAG;AAEpE,UAAA,cAAc,OAAO,QAAQ,aAAa,IAAI,EAAE,QAAAA,QAAQ,CAAA,IAAI,OAAQ;AAE1E,eAAW,cAAc,OAAO,KAAK,WAAW,GAAsC;AAChF,UAAA,YAAY,UAAU,MAAM,QAAW;AAC7B,oBAAA,UAAU,IAAI,YAAY,UAAU;AAAA,MAClD;AAAA,IACF;AAEO,WAAA,eAAe,aAAa,WAAW;AACvC,WAAA;AAAA,EAAA;AAEX;AAEA,SAAS,iBACP,KACA,KACuB;AACjB,QAAA,EAAE,QAAQ,SAAS,CAAA,GAAI,MAAM,QAAQ,OAAO,cAAA,IAAkB,OAAO;AACvE,MAAA;AAEG,SAAA;AAAA,IACL;AAAA,IACA;AAAA,IACA,IAAI,SAAS;AACX,UAAI,CAAC,QAAQ;AACL,cAAA,cAAc,OAAO,YAAY,GAAG;AAE1C,cAAM,gBAAgBG,QAAAA,aAAa,EAAE,YAAa,CAAA;AAC5C,cAAA,OAAO,OAAO,KAAK,aAAa;AAEjC,aAAA,QAAQ,CAAC,cAAc;AACpB,gBAAA,eAAe,cAAc,SAAS;AAE5C,iBAAO,OAAO,aAAa,QAAQ,OAAO,SAAS,KAAK,CAAA,CAAE;AAAA,QAAA,CAC3D;AAED,cAAM,iBAAiBC,EAAA;AAAA,UACrB,CAACC,YAAY,SAASC,EAAAA,KAAK,QAAQD,OAAM,IAAIA;AAAAA,UAC7C,CAACA,YAAY,OAAOE,EAAAA,KAAK,MAAMF,OAAM,IAAIA;AAAAA,UACzC,aAAa;AAEN,iBAAA,OAAO,OAAO,cAAc;AAAA,MACvC;AAEO,aAAA;AAAA,IACT;AAAA,EAAA;AAEJ;AAEM,MAAA,qBAAqB,CAA8B,eAA2B;AAClF,SAAO,QAAQ,oBAAoB;AACrC;;;;;"}
|
package/dist/factories.mjs
CHANGED
|
@@ -5,19 +5,9 @@ import { createRoutes } from "./core-api/routes/index.mjs";
|
|
|
5
5
|
const symbols = {
|
|
6
6
|
CustomController: Symbol("StrapiCustomCoreController")
|
|
7
7
|
};
|
|
8
|
-
const getContentTypeProxy = (strapi2, uid) => {
|
|
9
|
-
return new Proxy(strapi2.contentType(uid), {
|
|
10
|
-
get(target, prop) {
|
|
11
|
-
const contentType = strapi2.contentType(uid);
|
|
12
|
-
if (prop in contentType) {
|
|
13
|
-
return contentType[prop];
|
|
14
|
-
}
|
|
15
|
-
}
|
|
16
|
-
});
|
|
17
|
-
};
|
|
18
8
|
const createCoreController = (uid, cfg) => {
|
|
19
9
|
return ({ strapi: strapi2 }) => {
|
|
20
|
-
const baseController = createController({ contentType:
|
|
10
|
+
const baseController = createController({ contentType: strapi2.contentType(uid) });
|
|
21
11
|
const userCtrl = typeof cfg === "function" ? cfg({ strapi: strapi2 }) : cfg ?? {};
|
|
22
12
|
for (const methodName of Object.keys(baseController)) {
|
|
23
13
|
if (userCtrl[methodName] === void 0) {
|
|
@@ -38,7 +28,7 @@ const createCoreController = (uid, cfg) => {
|
|
|
38
28
|
};
|
|
39
29
|
function createCoreService(uid, cfg) {
|
|
40
30
|
return ({ strapi: strapi2 }) => {
|
|
41
|
-
const baseService = createService({ contentType:
|
|
31
|
+
const baseService = createService({ contentType: strapi2.contentType(uid) });
|
|
42
32
|
const userService = typeof cfg === "function" ? cfg({ strapi: strapi2 }) : cfg ?? {};
|
|
43
33
|
for (const methodName of Object.keys(baseService)) {
|
|
44
34
|
if (userService[methodName] === void 0) {
|
package/dist/factories.mjs.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"factories.mjs","sources":["../src/factories.ts"],"sourcesContent":["import { pipe, omit, pick } from 'lodash/fp';\nimport type { Strapi, Common, CoreApi, Utils } from '@strapi/types';\n\nimport { createController } from './core-api/controller';\nimport { createService } from './core-api/service';\nimport { createRoutes } from './core-api/routes';\n\nconst symbols = {\n CustomController: Symbol('StrapiCustomCoreController'),\n} as const;\n\ntype WithStrapiCallback<T> = T | (<S extends { strapi: Strapi }>(params: S) => T);\n\
|
|
1
|
+
{"version":3,"file":"factories.mjs","sources":["../src/factories.ts"],"sourcesContent":["import { pipe, omit, pick } from 'lodash/fp';\nimport type { Strapi, Common, CoreApi, Utils } from '@strapi/types';\n\nimport { createController } from './core-api/controller';\nimport { createService } from './core-api/service';\nimport { createRoutes } from './core-api/routes';\n\nconst symbols = {\n CustomController: Symbol('StrapiCustomCoreController'),\n} as const;\n\ntype WithStrapiCallback<T> = T | (<S extends { strapi: Strapi }>(params: S) => T);\n\nconst createCoreController = <\n TUID extends Common.UID.ContentType,\n TController extends CoreApi.Controller.Extendable<TUID>\n>(\n uid: TUID,\n cfg?: WithStrapiCallback<Utils.PartialWithThis<CoreApi.Controller.Extendable<TUID> & TController>>\n) => {\n return ({ strapi }: { strapi: Strapi }): TController & CoreApi.Controller.ContentType<TUID> => {\n const baseController = createController({ contentType: strapi.contentType(uid) });\n\n const userCtrl = typeof cfg === 'function' ? cfg({ strapi }) : cfg ?? ({} as any);\n\n for (const methodName of Object.keys(baseController) as Array<keyof typeof baseController>) {\n if (userCtrl[methodName] === undefined) {\n userCtrl[methodName] = baseController[methodName];\n }\n }\n\n Object.setPrototypeOf(userCtrl, baseController);\n\n const isCustom = typeof cfg !== 'undefined';\n if (isCustom) {\n Object.defineProperty(userCtrl, symbols.CustomController, {\n writable: false,\n configurable: false,\n enumerable: false,\n });\n }\n\n return userCtrl;\n };\n};\n\nfunction createCoreService<\n TUID extends Common.UID.ContentType,\n TService extends CoreApi.Service.Extendable<TUID>\n>(\n uid: TUID,\n cfg?: WithStrapiCallback<Utils.PartialWithThis<CoreApi.Service.Extendable<TUID> & TService>>\n) {\n return ({ strapi }: { strapi: Strapi }): TService & CoreApi.Service.ContentType<TUID> => {\n const baseService = createService({ contentType: strapi.contentType(uid) });\n\n const userService = typeof cfg === 'function' ? cfg({ strapi }) : cfg ?? ({} as any);\n\n for (const methodName of Object.keys(baseService) as Array<keyof typeof baseService>) {\n if (userService[methodName] === undefined) {\n userService[methodName] = baseService[methodName];\n }\n }\n\n Object.setPrototypeOf(userService, baseService);\n return userService;\n };\n}\n\nfunction createCoreRouter<T extends Common.UID.ContentType>(\n uid: T,\n cfg?: CoreApi.Router.RouterConfig<T>\n): CoreApi.Router.Router {\n const { prefix, config = {}, only, except, type = 'content-api' } = cfg ?? {};\n let routes: CoreApi.Router.Route[];\n\n return {\n type,\n prefix,\n get routes() {\n if (!routes) {\n const contentType = strapi.contentType(uid);\n\n const defaultRoutes = createRoutes({ contentType });\n const keys = Object.keys(defaultRoutes) as Array<keyof typeof defaultRoutes>;\n\n keys.forEach((routeName) => {\n const defaultRoute = defaultRoutes[routeName];\n\n Object.assign(defaultRoute.config, config[routeName] || {});\n });\n\n const selectedRoutes = pipe(\n (routes) => (except ? omit(except, routes) : routes),\n (routes) => (only ? pick(only, routes) : routes)\n )(defaultRoutes);\n\n routes = Object.values(selectedRoutes);\n }\n\n return routes;\n },\n };\n}\n\nconst isCustomController = <T extends Common.Controller>(controller: T): boolean => {\n return symbols.CustomController in controller;\n};\n\nexport { createCoreController, createCoreService, createCoreRouter, isCustomController };\n"],"names":["strapi","routes"],"mappings":";;;;AAOA,MAAM,UAAU;AAAA,EACd,kBAAkB,OAAO,4BAA4B;AACvD;AAIM,MAAA,uBAAuB,CAI3B,KACA,QACG;AACH,SAAO,CAAC,EAAE,QAAAA,cAAqF;AACvF,UAAA,iBAAiB,iBAAiB,EAAE,aAAaA,QAAO,YAAY,GAAG,GAAG;AAE1E,UAAA,WAAW,OAAO,QAAQ,aAAa,IAAI,EAAE,QAAAA,QAAQ,CAAA,IAAI,OAAQ;AAEvE,eAAW,cAAc,OAAO,KAAK,cAAc,GAAyC;AACtF,UAAA,SAAS,UAAU,MAAM,QAAW;AAC7B,iBAAA,UAAU,IAAI,eAAe,UAAU;AAAA,MAClD;AAAA,IACF;AAEO,WAAA,eAAe,UAAU,cAAc;AAExC,UAAA,WAAW,OAAO,QAAQ;AAChC,QAAI,UAAU;AACL,aAAA,eAAe,UAAU,QAAQ,kBAAkB;AAAA,QACxD,UAAU;AAAA,QACV,cAAc;AAAA,QACd,YAAY;AAAA,MAAA,CACb;AAAA,IACH;AAEO,WAAA;AAAA,EAAA;AAEX;AAEA,SAAS,kBAIP,KACA,KACA;AACA,SAAO,CAAC,EAAE,QAAAA,cAA+E;AACjF,UAAA,cAAc,cAAc,EAAE,aAAaA,QAAO,YAAY,GAAG,GAAG;AAEpE,UAAA,cAAc,OAAO,QAAQ,aAAa,IAAI,EAAE,QAAAA,QAAQ,CAAA,IAAI,OAAQ;AAE1E,eAAW,cAAc,OAAO,KAAK,WAAW,GAAsC;AAChF,UAAA,YAAY,UAAU,MAAM,QAAW;AAC7B,oBAAA,UAAU,IAAI,YAAY,UAAU;AAAA,MAClD;AAAA,IACF;AAEO,WAAA,eAAe,aAAa,WAAW;AACvC,WAAA;AAAA,EAAA;AAEX;AAEA,SAAS,iBACP,KACA,KACuB;AACjB,QAAA,EAAE,QAAQ,SAAS,CAAA,GAAI,MAAM,QAAQ,OAAO,cAAA,IAAkB,OAAO;AACvE,MAAA;AAEG,SAAA;AAAA,IACL;AAAA,IACA;AAAA,IACA,IAAI,SAAS;AACX,UAAI,CAAC,QAAQ;AACL,cAAA,cAAc,OAAO,YAAY,GAAG;AAE1C,cAAM,gBAAgB,aAAa,EAAE,YAAa,CAAA;AAC5C,cAAA,OAAO,OAAO,KAAK,aAAa;AAEjC,aAAA,QAAQ,CAAC,cAAc;AACpB,gBAAA,eAAe,cAAc,SAAS;AAE5C,iBAAO,OAAO,aAAa,QAAQ,OAAO,SAAS,KAAK,CAAA,CAAE;AAAA,QAAA,CAC3D;AAED,cAAM,iBAAiB;AAAA,UACrB,CAACC,YAAY,SAAS,KAAK,QAAQA,OAAM,IAAIA;AAAAA,UAC7C,CAACA,YAAY,OAAO,KAAK,MAAMA,OAAM,IAAIA;AAAAA,UACzC,aAAa;AAEN,iBAAA,OAAO,OAAO,cAAc;AAAA,MACvC;AAEO,aAAA;AAAA,IACT;AAAA,EAAA;AAEJ;AAEM,MAAA,qBAAqB,CAA8B,eAA2B;AAClF,SAAO,QAAQ,oBAAoB;AACrC;"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"content-types.d.ts","sourceRoot":"","sources":["../../src/registries/content-types.ts"],"names":[],"mappings":";AACA,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,eAAe,CAAC;AACpD,OAAO,EAAqB,qBAAqB,EAAE,MAAM,wBAAwB,CAAC;AAGlF,KAAK,iBAAiB,GAAG,MAAM,CAAC,MAAM,EAAE,qBAAqB,CAAC,CAAC;AAC/D,KAAK,mBAAmB,GAAG,CAAC,WAAW,EAAE,MAAM,CAAC,WAAW,KAAK,MAAM,CAAC,WAAW,CAAC;AAcnF,QAAA,MAAM,oBAAoB;IAItB;;OAEG;;IAKH;;OAEG;aACM,OAAO,GAAG,CAAC,WAAW;IAI/B;;OAEG;sBACe,MAAM;IAIxB;;OAEG;aACM,OAAO,GAAG,CAAC,WAAW,eAAe,OAAO,WAAW;IAKhE;;OAEG;mBACY,MAAM,mBAAmB,iBAAiB;IAczD;;OAEG;kBACW,OAAO,GAAG,CAAC,WAAW,YAAY,mBAAmB;
|
|
1
|
+
{"version":3,"file":"content-types.d.ts","sourceRoot":"","sources":["../../src/registries/content-types.ts"],"names":[],"mappings":";AACA,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,eAAe,CAAC;AACpD,OAAO,EAAqB,qBAAqB,EAAE,MAAM,wBAAwB,CAAC;AAGlF,KAAK,iBAAiB,GAAG,MAAM,CAAC,MAAM,EAAE,qBAAqB,CAAC,CAAC;AAC/D,KAAK,mBAAmB,GAAG,CAAC,WAAW,EAAE,MAAM,CAAC,WAAW,KAAK,MAAM,CAAC,WAAW,CAAC;AAcnF,QAAA,MAAM,oBAAoB;IAItB;;OAEG;;IAKH;;OAEG;aACM,OAAO,GAAG,CAAC,WAAW;IAI/B;;OAEG;sBACe,MAAM;IAIxB;;OAEG;aACM,OAAO,GAAG,CAAC,WAAW,eAAe,OAAO,WAAW;IAKhE;;OAEG;mBACY,MAAM,mBAAmB,iBAAiB;IAczD;;OAEG;kBACW,OAAO,GAAG,CAAC,WAAW,YAAY,mBAAmB;CAYtE,CAAC;AAEF,eAAe,oBAAoB,CAAC"}
|
|
@@ -61,8 +61,7 @@ const contentTypesRegistry = () => {
|
|
|
61
61
|
if (!currentContentType) {
|
|
62
62
|
throw new Error(`Content-Type ${ctUID} doesn't exist`);
|
|
63
63
|
}
|
|
64
|
-
|
|
65
|
-
contentTypes[ctUID] = newContentType;
|
|
64
|
+
extendFn(currentContentType);
|
|
66
65
|
return this;
|
|
67
66
|
}
|
|
68
67
|
};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"content-types.js","sources":["../../src/registries/content-types.ts"],"sourcesContent":["import { pickBy, has } from 'lodash/fp';\nimport type { Common, Schema } from '@strapi/types';\nimport { createContentType, ContentTypeDefinition } from '../domain/content-type';\nimport { addNamespace, hasNamespace } from './namespace';\n\ntype ContentTypesInput = Record<string, ContentTypeDefinition>;\ntype ContentTypeExtendFn = (contentType: Schema.ContentType) => Schema.ContentType;\n\nconst validateKeySameToSingularName = (contentTypes: ContentTypesInput) => {\n for (const ctName of Object.keys(contentTypes)) {\n const contentType = contentTypes[ctName];\n\n if (ctName !== contentType.schema.info.singularName) {\n throw new Error(\n `The key of the content-type should be the same as its singularName. Found ${ctName} and ${contentType.schema.info.singularName}.`\n );\n }\n }\n};\n\nconst contentTypesRegistry = () => {\n const contentTypes: Record<string, Schema.ContentType> = {};\n\n return {\n /**\n * Returns this list of registered contentTypes uids\n */\n keys() {\n return Object.keys(contentTypes);\n },\n\n /**\n * Returns the instance of a contentType. Instantiate the contentType if not already done\n */\n get(uid: Common.UID.ContentType) {\n return contentTypes[uid];\n },\n\n /**\n * Returns a map with all the contentTypes in a namespace\n */\n getAll(namespace: string) {\n return pickBy((_, uid) => hasNamespace(uid, namespace))(contentTypes);\n },\n\n /**\n * Registers a contentType\n */\n set(uid: Common.UID.ContentType, contentType: Schema.ContentType) {\n contentTypes[uid] = contentType;\n return this;\n },\n\n /**\n * Registers a map of contentTypes for a specific namespace\n */\n add(namespace: string, newContentTypes: ContentTypesInput) {\n validateKeySameToSingularName(newContentTypes);\n\n for (const rawCtName of Object.keys(newContentTypes)) {\n const uid = addNamespace(rawCtName, namespace);\n\n if (has(uid, contentTypes)) {\n throw new Error(`Content-type ${uid} has already been registered.`);\n }\n\n contentTypes[uid] = createContentType(uid, newContentTypes[rawCtName]);\n }\n },\n\n /**\n * Wraps a contentType to extend it\n */\n extend(ctUID: Common.UID.ContentType, extendFn: ContentTypeExtendFn) {\n const currentContentType = this.get(ctUID);\n\n if (!currentContentType) {\n throw new Error(`Content-Type ${ctUID} doesn't exist`);\n }\n\n
|
|
1
|
+
{"version":3,"file":"content-types.js","sources":["../../src/registries/content-types.ts"],"sourcesContent":["import { pickBy, has } from 'lodash/fp';\nimport type { Common, Schema } from '@strapi/types';\nimport { createContentType, ContentTypeDefinition } from '../domain/content-type';\nimport { addNamespace, hasNamespace } from './namespace';\n\ntype ContentTypesInput = Record<string, ContentTypeDefinition>;\ntype ContentTypeExtendFn = (contentType: Schema.ContentType) => Schema.ContentType;\n\nconst validateKeySameToSingularName = (contentTypes: ContentTypesInput) => {\n for (const ctName of Object.keys(contentTypes)) {\n const contentType = contentTypes[ctName];\n\n if (ctName !== contentType.schema.info.singularName) {\n throw new Error(\n `The key of the content-type should be the same as its singularName. Found ${ctName} and ${contentType.schema.info.singularName}.`\n );\n }\n }\n};\n\nconst contentTypesRegistry = () => {\n const contentTypes: Record<string, Schema.ContentType> = {};\n\n return {\n /**\n * Returns this list of registered contentTypes uids\n */\n keys() {\n return Object.keys(contentTypes);\n },\n\n /**\n * Returns the instance of a contentType. Instantiate the contentType if not already done\n */\n get(uid: Common.UID.ContentType) {\n return contentTypes[uid];\n },\n\n /**\n * Returns a map with all the contentTypes in a namespace\n */\n getAll(namespace: string) {\n return pickBy((_, uid) => hasNamespace(uid, namespace))(contentTypes);\n },\n\n /**\n * Registers a contentType\n */\n set(uid: Common.UID.ContentType, contentType: Schema.ContentType) {\n contentTypes[uid] = contentType;\n return this;\n },\n\n /**\n * Registers a map of contentTypes for a specific namespace\n */\n add(namespace: string, newContentTypes: ContentTypesInput) {\n validateKeySameToSingularName(newContentTypes);\n\n for (const rawCtName of Object.keys(newContentTypes)) {\n const uid = addNamespace(rawCtName, namespace);\n\n if (has(uid, contentTypes)) {\n throw new Error(`Content-type ${uid} has already been registered.`);\n }\n\n contentTypes[uid] = createContentType(uid, newContentTypes[rawCtName]);\n }\n },\n\n /**\n * Wraps a contentType to extend it\n */\n extend(ctUID: Common.UID.ContentType, extendFn: ContentTypeExtendFn) {\n const currentContentType = this.get(ctUID);\n\n if (!currentContentType) {\n throw new Error(`Content-Type ${ctUID} doesn't exist`);\n }\n\n extendFn(currentContentType);\n\n return this;\n },\n };\n};\n\nexport default contentTypesRegistry;\n"],"names":["namespace","pickBy","_","hasNamespace","addNamespace","has","createContentType"],"mappings":";;;;AAQA,MAAM,gCAAgC,CAAC,iBAAoC;AACzE,aAAW,UAAU,OAAO,KAAK,YAAY,GAAG;AACxC,UAAA,cAAc,aAAa,MAAM;AAEvC,QAAI,WAAW,YAAY,OAAO,KAAK,cAAc;AACnD,YAAM,IAAI;AAAA,QACR,6EAA6E,MAAM,QAAQ,YAAY,OAAO,KAAK,YAAY;AAAA,MAAA;AAAA,IAEnI;AAAA,EACF;AACF;AAEA,MAAM,uBAAuB,MAAM;AACjC,QAAM,eAAmD,CAAA;AAElD,SAAA;AAAA;AAAA;AAAA;AAAA,IAIL,OAAO;AACE,aAAA,OAAO,KAAK,YAAY;AAAA,IACjC;AAAA;AAAA;AAAA;AAAA,IAKA,IAAI,KAA6B;AAC/B,aAAO,aAAa,GAAG;AAAA,IACzB;AAAA;AAAA;AAAA;AAAA,IAKA,OAAOA,aAAmB;AACjB,aAAAC,EAAA,OAAO,CAACC,IAAG,QAAQC,UAAAA,aAAa,KAAKH,WAAS,CAAC,EAAE,YAAY;AAAA,IACtE;AAAA;AAAA;AAAA;AAAA,IAKA,IAAI,KAA6B,aAAiC;AAChE,mBAAa,GAAG,IAAI;AACb,aAAA;AAAA,IACT;AAAA;AAAA;AAAA;AAAA,IAKA,IAAIA,aAAmB,iBAAoC;AACzD,oCAA8B,eAAe;AAE7C,iBAAW,aAAa,OAAO,KAAK,eAAe,GAAG;AAC9C,cAAA,MAAMI,UAAAA,aAAa,WAAWJ,WAAS;AAEzC,YAAAK,EAAA,IAAI,KAAK,YAAY,GAAG;AAC1B,gBAAM,IAAI,MAAM,gBAAgB,GAAG,+BAA+B;AAAA,QACpE;AAEA,qBAAa,GAAG,IAAIC,MAAA,kBAAkB,KAAK,gBAAgB,SAAS,CAAC;AAAA,MACvE;AAAA,IACF;AAAA;AAAA;AAAA;AAAA,IAKA,OAAO,OAA+B,UAA+B;AAC7D,YAAA,qBAAqB,KAAK,IAAI,KAAK;AAEzC,UAAI,CAAC,oBAAoB;AACvB,cAAM,IAAI,MAAM,gBAAgB,KAAK,gBAAgB;AAAA,MACvD;AAEA,eAAS,kBAAkB;AAEpB,aAAA;AAAA,IACT;AAAA,EAAA;AAEJ;;"}
|
|
@@ -60,8 +60,7 @@ const contentTypesRegistry = () => {
|
|
|
60
60
|
if (!currentContentType) {
|
|
61
61
|
throw new Error(`Content-Type ${ctUID} doesn't exist`);
|
|
62
62
|
}
|
|
63
|
-
|
|
64
|
-
contentTypes[ctUID] = newContentType;
|
|
63
|
+
extendFn(currentContentType);
|
|
65
64
|
return this;
|
|
66
65
|
}
|
|
67
66
|
};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"content-types.mjs","sources":["../../src/registries/content-types.ts"],"sourcesContent":["import { pickBy, has } from 'lodash/fp';\nimport type { Common, Schema } from '@strapi/types';\nimport { createContentType, ContentTypeDefinition } from '../domain/content-type';\nimport { addNamespace, hasNamespace } from './namespace';\n\ntype ContentTypesInput = Record<string, ContentTypeDefinition>;\ntype ContentTypeExtendFn = (contentType: Schema.ContentType) => Schema.ContentType;\n\nconst validateKeySameToSingularName = (contentTypes: ContentTypesInput) => {\n for (const ctName of Object.keys(contentTypes)) {\n const contentType = contentTypes[ctName];\n\n if (ctName !== contentType.schema.info.singularName) {\n throw new Error(\n `The key of the content-type should be the same as its singularName. Found ${ctName} and ${contentType.schema.info.singularName}.`\n );\n }\n }\n};\n\nconst contentTypesRegistry = () => {\n const contentTypes: Record<string, Schema.ContentType> = {};\n\n return {\n /**\n * Returns this list of registered contentTypes uids\n */\n keys() {\n return Object.keys(contentTypes);\n },\n\n /**\n * Returns the instance of a contentType. Instantiate the contentType if not already done\n */\n get(uid: Common.UID.ContentType) {\n return contentTypes[uid];\n },\n\n /**\n * Returns a map with all the contentTypes in a namespace\n */\n getAll(namespace: string) {\n return pickBy((_, uid) => hasNamespace(uid, namespace))(contentTypes);\n },\n\n /**\n * Registers a contentType\n */\n set(uid: Common.UID.ContentType, contentType: Schema.ContentType) {\n contentTypes[uid] = contentType;\n return this;\n },\n\n /**\n * Registers a map of contentTypes for a specific namespace\n */\n add(namespace: string, newContentTypes: ContentTypesInput) {\n validateKeySameToSingularName(newContentTypes);\n\n for (const rawCtName of Object.keys(newContentTypes)) {\n const uid = addNamespace(rawCtName, namespace);\n\n if (has(uid, contentTypes)) {\n throw new Error(`Content-type ${uid} has already been registered.`);\n }\n\n contentTypes[uid] = createContentType(uid, newContentTypes[rawCtName]);\n }\n },\n\n /**\n * Wraps a contentType to extend it\n */\n extend(ctUID: Common.UID.ContentType, extendFn: ContentTypeExtendFn) {\n const currentContentType = this.get(ctUID);\n\n if (!currentContentType) {\n throw new Error(`Content-Type ${ctUID} doesn't exist`);\n }\n\n
|
|
1
|
+
{"version":3,"file":"content-types.mjs","sources":["../../src/registries/content-types.ts"],"sourcesContent":["import { pickBy, has } from 'lodash/fp';\nimport type { Common, Schema } from '@strapi/types';\nimport { createContentType, ContentTypeDefinition } from '../domain/content-type';\nimport { addNamespace, hasNamespace } from './namespace';\n\ntype ContentTypesInput = Record<string, ContentTypeDefinition>;\ntype ContentTypeExtendFn = (contentType: Schema.ContentType) => Schema.ContentType;\n\nconst validateKeySameToSingularName = (contentTypes: ContentTypesInput) => {\n for (const ctName of Object.keys(contentTypes)) {\n const contentType = contentTypes[ctName];\n\n if (ctName !== contentType.schema.info.singularName) {\n throw new Error(\n `The key of the content-type should be the same as its singularName. Found ${ctName} and ${contentType.schema.info.singularName}.`\n );\n }\n }\n};\n\nconst contentTypesRegistry = () => {\n const contentTypes: Record<string, Schema.ContentType> = {};\n\n return {\n /**\n * Returns this list of registered contentTypes uids\n */\n keys() {\n return Object.keys(contentTypes);\n },\n\n /**\n * Returns the instance of a contentType. Instantiate the contentType if not already done\n */\n get(uid: Common.UID.ContentType) {\n return contentTypes[uid];\n },\n\n /**\n * Returns a map with all the contentTypes in a namespace\n */\n getAll(namespace: string) {\n return pickBy((_, uid) => hasNamespace(uid, namespace))(contentTypes);\n },\n\n /**\n * Registers a contentType\n */\n set(uid: Common.UID.ContentType, contentType: Schema.ContentType) {\n contentTypes[uid] = contentType;\n return this;\n },\n\n /**\n * Registers a map of contentTypes for a specific namespace\n */\n add(namespace: string, newContentTypes: ContentTypesInput) {\n validateKeySameToSingularName(newContentTypes);\n\n for (const rawCtName of Object.keys(newContentTypes)) {\n const uid = addNamespace(rawCtName, namespace);\n\n if (has(uid, contentTypes)) {\n throw new Error(`Content-type ${uid} has already been registered.`);\n }\n\n contentTypes[uid] = createContentType(uid, newContentTypes[rawCtName]);\n }\n },\n\n /**\n * Wraps a contentType to extend it\n */\n extend(ctUID: Common.UID.ContentType, extendFn: ContentTypeExtendFn) {\n const currentContentType = this.get(ctUID);\n\n if (!currentContentType) {\n throw new Error(`Content-Type ${ctUID} doesn't exist`);\n }\n\n extendFn(currentContentType);\n\n return this;\n },\n };\n};\n\nexport default contentTypesRegistry;\n"],"names":[],"mappings":";;;AAQA,MAAM,gCAAgC,CAAC,iBAAoC;AACzE,aAAW,UAAU,OAAO,KAAK,YAAY,GAAG;AACxC,UAAA,cAAc,aAAa,MAAM;AAEvC,QAAI,WAAW,YAAY,OAAO,KAAK,cAAc;AACnD,YAAM,IAAI;AAAA,QACR,6EAA6E,MAAM,QAAQ,YAAY,OAAO,KAAK,YAAY;AAAA,MAAA;AAAA,IAEnI;AAAA,EACF;AACF;AAEA,MAAM,uBAAuB,MAAM;AACjC,QAAM,eAAmD,CAAA;AAElD,SAAA;AAAA;AAAA;AAAA;AAAA,IAIL,OAAO;AACE,aAAA,OAAO,KAAK,YAAY;AAAA,IACjC;AAAA;AAAA;AAAA;AAAA,IAKA,IAAI,KAA6B;AAC/B,aAAO,aAAa,GAAG;AAAA,IACzB;AAAA;AAAA;AAAA;AAAA,IAKA,OAAO,WAAmB;AACjB,aAAA,OAAO,CAAC,GAAG,QAAQ,aAAa,KAAK,SAAS,CAAC,EAAE,YAAY;AAAA,IACtE;AAAA;AAAA;AAAA;AAAA,IAKA,IAAI,KAA6B,aAAiC;AAChE,mBAAa,GAAG,IAAI;AACb,aAAA;AAAA,IACT;AAAA;AAAA;AAAA;AAAA,IAKA,IAAI,WAAmB,iBAAoC;AACzD,oCAA8B,eAAe;AAE7C,iBAAW,aAAa,OAAO,KAAK,eAAe,GAAG;AAC9C,cAAA,MAAM,aAAa,WAAW,SAAS;AAEzC,YAAA,IAAI,KAAK,YAAY,GAAG;AAC1B,gBAAM,IAAI,MAAM,gBAAgB,GAAG,+BAA+B;AAAA,QACpE;AAEA,qBAAa,GAAG,IAAI,kBAAkB,KAAK,gBAAgB,SAAS,CAAC;AAAA,MACvE;AAAA,IACF;AAAA;AAAA;AAAA;AAAA,IAKA,OAAO,OAA+B,UAA+B;AAC7D,YAAA,qBAAqB,KAAK,IAAI,KAAK;AAEzC,UAAI,CAAC,oBAAoB;AACvB,cAAM,IAAI,MAAM,gBAAgB,KAAK,gBAAgB;AAAA,MACvD;AAEA,eAAS,kBAAkB;AAEpB,aAAA;AAAA,IACT;AAAA,EAAA;AAEJ;"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"collection-type.d.ts","sourceRoot":"","sources":["../../../src/services/document-service/collection-type.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,eAAe,CAAC;AAG5C,OAAO,EAAqB,KAAK,uBAAuB,EAAE,MAAM,UAAU,CAAC;AAK3E,eAAO,MAAM,8BAA8B,EAAE,uBAAuB,CAAC,MAAM,CAAC,cAAc,CA2KzF,CAAC"}
|
|
@@ -0,0 +1,145 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
|
|
3
|
+
const _ = require("lodash/fp");
|
|
4
|
+
const strapiUtils = require("@strapi/utils");
|
|
5
|
+
const common = require("./common.js");
|
|
6
|
+
const documentEngine = require("./document-engine.js");
|
|
7
|
+
const draftAndPublish = require("./draft-and-publish.js");
|
|
8
|
+
const internationalization = require("./internationalization.js");
|
|
9
|
+
const createCollectionTypeRepository = (contentType) => {
|
|
10
|
+
const { uid } = contentType;
|
|
11
|
+
const documents = documentEngine({ strapi, db: strapi?.db });
|
|
12
|
+
async function findMany(params = {}) {
|
|
13
|
+
const queryParams = await strapiUtils.pipeAsync(
|
|
14
|
+
draftAndPublish.defaultToDraft,
|
|
15
|
+
draftAndPublish.statusToLookup,
|
|
16
|
+
internationalization.defaultLocale(contentType),
|
|
17
|
+
internationalization.localeToLookup(contentType)
|
|
18
|
+
)(params);
|
|
19
|
+
return documents.findMany(uid, queryParams);
|
|
20
|
+
}
|
|
21
|
+
async function findFirst(params = {}) {
|
|
22
|
+
const queryParams = await strapiUtils.pipeAsync(
|
|
23
|
+
draftAndPublish.defaultToDraft,
|
|
24
|
+
draftAndPublish.statusToLookup,
|
|
25
|
+
internationalization.defaultLocale(contentType),
|
|
26
|
+
internationalization.localeToLookup(contentType)
|
|
27
|
+
)(params);
|
|
28
|
+
return documents.findFirst(uid, queryParams);
|
|
29
|
+
}
|
|
30
|
+
async function findOne(id, params = {}) {
|
|
31
|
+
const queryParams = await strapiUtils.pipeAsync(
|
|
32
|
+
draftAndPublish.defaultToDraft,
|
|
33
|
+
draftAndPublish.statusToLookup,
|
|
34
|
+
internationalization.defaultLocale(contentType),
|
|
35
|
+
internationalization.localeToLookup(contentType)
|
|
36
|
+
)(params);
|
|
37
|
+
return documents.findOne(uid, id, queryParams);
|
|
38
|
+
}
|
|
39
|
+
async function deleteFn(id, params = {}) {
|
|
40
|
+
const queryParams = await strapiUtils.pipeAsync(_.omit("status"), internationalization.localeToLookup(contentType))(params);
|
|
41
|
+
return documents.delete(uid, id, queryParams);
|
|
42
|
+
}
|
|
43
|
+
async function create(params = {}) {
|
|
44
|
+
const queryParams = await strapiUtils.pipeAsync(
|
|
45
|
+
draftAndPublish.setStatusToDraft,
|
|
46
|
+
draftAndPublish.statusToData,
|
|
47
|
+
draftAndPublish.filterDataPublishedAt,
|
|
48
|
+
internationalization.defaultLocale(contentType),
|
|
49
|
+
internationalization.localeToData(contentType)
|
|
50
|
+
)(params);
|
|
51
|
+
const doc = await documents.create(uid, queryParams);
|
|
52
|
+
if (params.status === "published") {
|
|
53
|
+
return documents.create(uid, {
|
|
54
|
+
...queryParams,
|
|
55
|
+
data: {
|
|
56
|
+
...queryParams.data,
|
|
57
|
+
documentId: doc.id,
|
|
58
|
+
publishedAt: params?.data?.publishedAt ?? /* @__PURE__ */ new Date()
|
|
59
|
+
}
|
|
60
|
+
});
|
|
61
|
+
}
|
|
62
|
+
return doc;
|
|
63
|
+
}
|
|
64
|
+
async function clone(id, params = {}) {
|
|
65
|
+
const queryParams = await strapiUtils.pipeAsync(
|
|
66
|
+
draftAndPublish.filterDataPublishedAt,
|
|
67
|
+
internationalization.localeToLookup(contentType)
|
|
68
|
+
)(params);
|
|
69
|
+
return documents.clone(uid, id, queryParams);
|
|
70
|
+
}
|
|
71
|
+
async function update(id, params = {}) {
|
|
72
|
+
const queryParams = await strapiUtils.pipeAsync(
|
|
73
|
+
draftAndPublish.setStatusToDraft,
|
|
74
|
+
draftAndPublish.statusToLookup,
|
|
75
|
+
draftAndPublish.statusToData,
|
|
76
|
+
draftAndPublish.filterDataPublishedAt,
|
|
77
|
+
// Default locale will be set if not provided
|
|
78
|
+
internationalization.defaultLocale(contentType),
|
|
79
|
+
internationalization.localeToLookup(contentType),
|
|
80
|
+
internationalization.localeToData(contentType)
|
|
81
|
+
)(params);
|
|
82
|
+
let updatedDraft = await documents.update(uid, id, queryParams);
|
|
83
|
+
if (!updatedDraft) {
|
|
84
|
+
const documentExists = await strapi.db.query(contentType.uid).findOne({ where: { documentId: id } });
|
|
85
|
+
if (documentExists) {
|
|
86
|
+
updatedDraft = await create({
|
|
87
|
+
...queryParams,
|
|
88
|
+
data: { ...queryParams.data, documentId: id }
|
|
89
|
+
});
|
|
90
|
+
}
|
|
91
|
+
}
|
|
92
|
+
if (updatedDraft && params.status === "published") {
|
|
93
|
+
await documents.delete(uid, id, {
|
|
94
|
+
...queryParams,
|
|
95
|
+
status: "published",
|
|
96
|
+
lookup: { ...params?.lookup, publishedAt: { $notNull: true } }
|
|
97
|
+
});
|
|
98
|
+
return documents.create(uid, {
|
|
99
|
+
...queryParams,
|
|
100
|
+
data: {
|
|
101
|
+
...queryParams.data,
|
|
102
|
+
documentId: updatedDraft.id,
|
|
103
|
+
publishedAt: params?.data?.publishedAt ?? /* @__PURE__ */ new Date()
|
|
104
|
+
}
|
|
105
|
+
});
|
|
106
|
+
}
|
|
107
|
+
return updatedDraft;
|
|
108
|
+
}
|
|
109
|
+
async function count(params = {}) {
|
|
110
|
+
const queryParams = await strapiUtils.pipeAsync(
|
|
111
|
+
draftAndPublish.defaultToDraft,
|
|
112
|
+
draftAndPublish.statusToLookup,
|
|
113
|
+
internationalization.defaultLocale(contentType),
|
|
114
|
+
internationalization.localeToLookup(contentType)
|
|
115
|
+
)(params);
|
|
116
|
+
return documents.count(uid, queryParams);
|
|
117
|
+
}
|
|
118
|
+
async function publish(id, params = {}) {
|
|
119
|
+
const queryParams = internationalization.localeToLookup(contentType, params);
|
|
120
|
+
return documents.publish(uid, id, queryParams);
|
|
121
|
+
}
|
|
122
|
+
async function unpublish(id, params = {}) {
|
|
123
|
+
const queryParams = internationalization.localeToLookup(contentType, params);
|
|
124
|
+
return documents.unpublish(uid, id, queryParams);
|
|
125
|
+
}
|
|
126
|
+
async function discardDraft(id, params = {}) {
|
|
127
|
+
const queryParams = internationalization.localeToLookup(contentType, params);
|
|
128
|
+
return documents.discardDraft(uid, id, queryParams);
|
|
129
|
+
}
|
|
130
|
+
return {
|
|
131
|
+
findMany: common.wrapInTransaction(findMany),
|
|
132
|
+
findFirst: common.wrapInTransaction(findFirst),
|
|
133
|
+
findOne: common.wrapInTransaction(findOne),
|
|
134
|
+
delete: common.wrapInTransaction(deleteFn),
|
|
135
|
+
create: common.wrapInTransaction(create),
|
|
136
|
+
clone: common.wrapInTransaction(clone),
|
|
137
|
+
update: common.wrapInTransaction(update),
|
|
138
|
+
count: common.wrapInTransaction(count),
|
|
139
|
+
publish: common.wrapInTransaction(publish),
|
|
140
|
+
unpublish: common.wrapInTransaction(unpublish),
|
|
141
|
+
discardDraft: common.wrapInTransaction(discardDraft)
|
|
142
|
+
};
|
|
143
|
+
};
|
|
144
|
+
exports.createCollectionTypeRepository = createCollectionTypeRepository;
|
|
145
|
+
//# sourceMappingURL=collection-type.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"collection-type.js","sources":["../../../src/services/document-service/collection-type.ts"],"sourcesContent":["import { omit } from 'lodash/fp';\n\nimport type { Schema } from '@strapi/types';\nimport { pipeAsync } from '@strapi/utils';\n\nimport { wrapInTransaction, type RepositoryFactoryMethod } from './common';\nimport createDocumentEngine from './document-engine';\nimport * as DP from './draft-and-publish';\nimport * as i18n from './internationalization';\n\nexport const createCollectionTypeRepository: RepositoryFactoryMethod<Schema.CollectionType> = (\n contentType\n) => {\n const { uid } = contentType;\n\n // TODO: move the code back into here instead of using the document-engine\n const documents = createDocumentEngine({ strapi, db: strapi?.db });\n\n async function findMany(params = {} as any) {\n // TODO: replace with chaining\n const queryParams = await pipeAsync(\n DP.defaultToDraft,\n DP.statusToLookup,\n i18n.defaultLocale(contentType),\n i18n.localeToLookup(contentType)\n )(params);\n\n return documents.findMany(uid, queryParams);\n }\n\n async function findFirst(params = {} as any) {\n const queryParams = await pipeAsync(\n DP.defaultToDraft,\n DP.statusToLookup,\n i18n.defaultLocale(contentType),\n i18n.localeToLookup(contentType)\n )(params);\n\n return documents.findFirst(uid, queryParams);\n }\n\n async function findOne(id: string, params = {} as any) {\n const queryParams = await pipeAsync(\n DP.defaultToDraft,\n DP.statusToLookup,\n i18n.defaultLocale(contentType),\n i18n.localeToLookup(contentType)\n )(params);\n\n return documents.findOne(uid, id, queryParams);\n }\n\n async function deleteFn(id: string, params = {} as any) {\n const queryParams = await pipeAsync(omit('status'), i18n.localeToLookup(contentType))(params);\n\n return documents.delete(uid, id, queryParams);\n }\n\n async function create(params = {} as any) {\n const queryParams = await pipeAsync(\n DP.setStatusToDraft,\n DP.statusToData,\n DP.filterDataPublishedAt,\n i18n.defaultLocale(contentType),\n i18n.localeToData(contentType)\n )(params);\n\n const doc = await documents.create(uid, queryParams);\n\n if (params.status === 'published') {\n return documents.create(uid, {\n ...queryParams,\n data: {\n ...queryParams.data,\n documentId: doc.id,\n publishedAt: params?.data?.publishedAt ?? new Date(),\n },\n });\n }\n\n return doc;\n }\n\n async function clone(id: string, params = {} as any) {\n const queryParams = await pipeAsync(\n DP.filterDataPublishedAt,\n i18n.localeToLookup(contentType)\n )(params);\n\n return documents.clone(uid, id, queryParams);\n }\n\n async function update(id: string, params = {} as any) {\n const queryParams = await pipeAsync(\n DP.setStatusToDraft,\n DP.statusToLookup,\n DP.statusToData,\n DP.filterDataPublishedAt,\n // Default locale will be set if not provided\n i18n.defaultLocale(contentType),\n i18n.localeToLookup(contentType),\n i18n.localeToData(contentType)\n )(params);\n\n let updatedDraft = await documents.update(uid, id, queryParams);\n\n if (!updatedDraft) {\n const documentExists = await strapi.db\n .query(contentType.uid)\n .findOne({ where: { documentId: id } });\n\n if (documentExists) {\n updatedDraft = await create({\n ...queryParams,\n data: { ...queryParams.data, documentId: id },\n });\n }\n }\n\n if (updatedDraft && params.status === 'published') {\n await documents.delete(uid, id, {\n ...queryParams,\n status: 'published',\n lookup: { ...params?.lookup, publishedAt: { $notNull: true } },\n });\n\n return documents.create(uid, {\n ...queryParams,\n data: {\n ...queryParams.data,\n documentId: updatedDraft.id,\n publishedAt: params?.data?.publishedAt ?? new Date(),\n },\n });\n }\n\n return updatedDraft;\n }\n\n async function count(params = {} as any) {\n const queryParams = await pipeAsync(\n DP.defaultToDraft,\n DP.statusToLookup,\n i18n.defaultLocale(contentType),\n i18n.localeToLookup(contentType)\n )(params);\n\n return documents.count(uid, queryParams);\n }\n\n async function publish(id: string, params = {} as any) {\n const queryParams = i18n.localeToLookup(contentType, params);\n\n return documents.publish(uid, id, queryParams);\n }\n\n async function unpublish(id: string, params = {} as any) {\n const queryParams = i18n.localeToLookup(contentType, params);\n\n return documents.unpublish(uid, id, queryParams);\n }\n\n async function discardDraft(id: string, params = {} as any) {\n const queryParams = i18n.localeToLookup(contentType, params);\n\n return documents.discardDraft(uid, id, queryParams);\n }\n\n return {\n findMany: wrapInTransaction(findMany),\n findFirst: wrapInTransaction(findFirst),\n findOne: wrapInTransaction(findOne),\n delete: wrapInTransaction(deleteFn),\n create: wrapInTransaction(create),\n clone: wrapInTransaction(clone),\n update: wrapInTransaction(update),\n count: wrapInTransaction(count),\n publish: wrapInTransaction(publish),\n unpublish: wrapInTransaction(unpublish),\n discardDraft: wrapInTransaction(discardDraft),\n };\n};\n"],"names":["createDocumentEngine","pipeAsync","DP.defaultToDraft","DP.statusToLookup","i18n.defaultLocale","i18n.localeToLookup","omit","DP.setStatusToDraft","DP.statusToData","DP.filterDataPublishedAt","i18n.localeToData","wrapInTransaction"],"mappings":"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"}
|
|
@@ -0,0 +1,145 @@
|
|
|
1
|
+
import { omit } from "lodash/fp";
|
|
2
|
+
import { pipeAsync } from "@strapi/utils";
|
|
3
|
+
import { wrapInTransaction } from "./common.mjs";
|
|
4
|
+
import createDocumentEngine from "./document-engine.mjs";
|
|
5
|
+
import { defaultToDraft, statusToLookup, setStatusToDraft, statusToData, filterDataPublishedAt } from "./draft-and-publish.mjs";
|
|
6
|
+
import { defaultLocale as defaultLocaleCurry, localeToLookup as localeToLookupCurry, localeToData as localeToDataCurry } from "./internationalization.mjs";
|
|
7
|
+
const createCollectionTypeRepository = (contentType) => {
|
|
8
|
+
const { uid } = contentType;
|
|
9
|
+
const documents = createDocumentEngine({ strapi, db: strapi?.db });
|
|
10
|
+
async function findMany(params = {}) {
|
|
11
|
+
const queryParams = await pipeAsync(
|
|
12
|
+
defaultToDraft,
|
|
13
|
+
statusToLookup,
|
|
14
|
+
defaultLocaleCurry(contentType),
|
|
15
|
+
localeToLookupCurry(contentType)
|
|
16
|
+
)(params);
|
|
17
|
+
return documents.findMany(uid, queryParams);
|
|
18
|
+
}
|
|
19
|
+
async function findFirst(params = {}) {
|
|
20
|
+
const queryParams = await pipeAsync(
|
|
21
|
+
defaultToDraft,
|
|
22
|
+
statusToLookup,
|
|
23
|
+
defaultLocaleCurry(contentType),
|
|
24
|
+
localeToLookupCurry(contentType)
|
|
25
|
+
)(params);
|
|
26
|
+
return documents.findFirst(uid, queryParams);
|
|
27
|
+
}
|
|
28
|
+
async function findOne(id, params = {}) {
|
|
29
|
+
const queryParams = await pipeAsync(
|
|
30
|
+
defaultToDraft,
|
|
31
|
+
statusToLookup,
|
|
32
|
+
defaultLocaleCurry(contentType),
|
|
33
|
+
localeToLookupCurry(contentType)
|
|
34
|
+
)(params);
|
|
35
|
+
return documents.findOne(uid, id, queryParams);
|
|
36
|
+
}
|
|
37
|
+
async function deleteFn(id, params = {}) {
|
|
38
|
+
const queryParams = await pipeAsync(omit("status"), localeToLookupCurry(contentType))(params);
|
|
39
|
+
return documents.delete(uid, id, queryParams);
|
|
40
|
+
}
|
|
41
|
+
async function create(params = {}) {
|
|
42
|
+
const queryParams = await pipeAsync(
|
|
43
|
+
setStatusToDraft,
|
|
44
|
+
statusToData,
|
|
45
|
+
filterDataPublishedAt,
|
|
46
|
+
defaultLocaleCurry(contentType),
|
|
47
|
+
localeToDataCurry(contentType)
|
|
48
|
+
)(params);
|
|
49
|
+
const doc = await documents.create(uid, queryParams);
|
|
50
|
+
if (params.status === "published") {
|
|
51
|
+
return documents.create(uid, {
|
|
52
|
+
...queryParams,
|
|
53
|
+
data: {
|
|
54
|
+
...queryParams.data,
|
|
55
|
+
documentId: doc.id,
|
|
56
|
+
publishedAt: params?.data?.publishedAt ?? /* @__PURE__ */ new Date()
|
|
57
|
+
}
|
|
58
|
+
});
|
|
59
|
+
}
|
|
60
|
+
return doc;
|
|
61
|
+
}
|
|
62
|
+
async function clone(id, params = {}) {
|
|
63
|
+
const queryParams = await pipeAsync(
|
|
64
|
+
filterDataPublishedAt,
|
|
65
|
+
localeToLookupCurry(contentType)
|
|
66
|
+
)(params);
|
|
67
|
+
return documents.clone(uid, id, queryParams);
|
|
68
|
+
}
|
|
69
|
+
async function update(id, params = {}) {
|
|
70
|
+
const queryParams = await pipeAsync(
|
|
71
|
+
setStatusToDraft,
|
|
72
|
+
statusToLookup,
|
|
73
|
+
statusToData,
|
|
74
|
+
filterDataPublishedAt,
|
|
75
|
+
// Default locale will be set if not provided
|
|
76
|
+
defaultLocaleCurry(contentType),
|
|
77
|
+
localeToLookupCurry(contentType),
|
|
78
|
+
localeToDataCurry(contentType)
|
|
79
|
+
)(params);
|
|
80
|
+
let updatedDraft = await documents.update(uid, id, queryParams);
|
|
81
|
+
if (!updatedDraft) {
|
|
82
|
+
const documentExists = await strapi.db.query(contentType.uid).findOne({ where: { documentId: id } });
|
|
83
|
+
if (documentExists) {
|
|
84
|
+
updatedDraft = await create({
|
|
85
|
+
...queryParams,
|
|
86
|
+
data: { ...queryParams.data, documentId: id }
|
|
87
|
+
});
|
|
88
|
+
}
|
|
89
|
+
}
|
|
90
|
+
if (updatedDraft && params.status === "published") {
|
|
91
|
+
await documents.delete(uid, id, {
|
|
92
|
+
...queryParams,
|
|
93
|
+
status: "published",
|
|
94
|
+
lookup: { ...params?.lookup, publishedAt: { $notNull: true } }
|
|
95
|
+
});
|
|
96
|
+
return documents.create(uid, {
|
|
97
|
+
...queryParams,
|
|
98
|
+
data: {
|
|
99
|
+
...queryParams.data,
|
|
100
|
+
documentId: updatedDraft.id,
|
|
101
|
+
publishedAt: params?.data?.publishedAt ?? /* @__PURE__ */ new Date()
|
|
102
|
+
}
|
|
103
|
+
});
|
|
104
|
+
}
|
|
105
|
+
return updatedDraft;
|
|
106
|
+
}
|
|
107
|
+
async function count(params = {}) {
|
|
108
|
+
const queryParams = await pipeAsync(
|
|
109
|
+
defaultToDraft,
|
|
110
|
+
statusToLookup,
|
|
111
|
+
defaultLocaleCurry(contentType),
|
|
112
|
+
localeToLookupCurry(contentType)
|
|
113
|
+
)(params);
|
|
114
|
+
return documents.count(uid, queryParams);
|
|
115
|
+
}
|
|
116
|
+
async function publish(id, params = {}) {
|
|
117
|
+
const queryParams = localeToLookupCurry(contentType, params);
|
|
118
|
+
return documents.publish(uid, id, queryParams);
|
|
119
|
+
}
|
|
120
|
+
async function unpublish(id, params = {}) {
|
|
121
|
+
const queryParams = localeToLookupCurry(contentType, params);
|
|
122
|
+
return documents.unpublish(uid, id, queryParams);
|
|
123
|
+
}
|
|
124
|
+
async function discardDraft(id, params = {}) {
|
|
125
|
+
const queryParams = localeToLookupCurry(contentType, params);
|
|
126
|
+
return documents.discardDraft(uid, id, queryParams);
|
|
127
|
+
}
|
|
128
|
+
return {
|
|
129
|
+
findMany: wrapInTransaction(findMany),
|
|
130
|
+
findFirst: wrapInTransaction(findFirst),
|
|
131
|
+
findOne: wrapInTransaction(findOne),
|
|
132
|
+
delete: wrapInTransaction(deleteFn),
|
|
133
|
+
create: wrapInTransaction(create),
|
|
134
|
+
clone: wrapInTransaction(clone),
|
|
135
|
+
update: wrapInTransaction(update),
|
|
136
|
+
count: wrapInTransaction(count),
|
|
137
|
+
publish: wrapInTransaction(publish),
|
|
138
|
+
unpublish: wrapInTransaction(unpublish),
|
|
139
|
+
discardDraft: wrapInTransaction(discardDraft)
|
|
140
|
+
};
|
|
141
|
+
};
|
|
142
|
+
export {
|
|
143
|
+
createCollectionTypeRepository
|
|
144
|
+
};
|
|
145
|
+
//# sourceMappingURL=collection-type.mjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"collection-type.mjs","sources":["../../../src/services/document-service/collection-type.ts"],"sourcesContent":["import { omit } from 'lodash/fp';\n\nimport type { Schema } from '@strapi/types';\nimport { pipeAsync } from '@strapi/utils';\n\nimport { wrapInTransaction, type RepositoryFactoryMethod } from './common';\nimport createDocumentEngine from './document-engine';\nimport * as DP from './draft-and-publish';\nimport * as i18n from './internationalization';\n\nexport const createCollectionTypeRepository: RepositoryFactoryMethod<Schema.CollectionType> = (\n contentType\n) => {\n const { uid } = contentType;\n\n // TODO: move the code back into here instead of using the document-engine\n const documents = createDocumentEngine({ strapi, db: strapi?.db });\n\n async function findMany(params = {} as any) {\n // TODO: replace with chaining\n const queryParams = await pipeAsync(\n DP.defaultToDraft,\n DP.statusToLookup,\n i18n.defaultLocale(contentType),\n i18n.localeToLookup(contentType)\n )(params);\n\n return documents.findMany(uid, queryParams);\n }\n\n async function findFirst(params = {} as any) {\n const queryParams = await pipeAsync(\n DP.defaultToDraft,\n DP.statusToLookup,\n i18n.defaultLocale(contentType),\n i18n.localeToLookup(contentType)\n )(params);\n\n return documents.findFirst(uid, queryParams);\n }\n\n async function findOne(id: string, params = {} as any) {\n const queryParams = await pipeAsync(\n DP.defaultToDraft,\n DP.statusToLookup,\n i18n.defaultLocale(contentType),\n i18n.localeToLookup(contentType)\n )(params);\n\n return documents.findOne(uid, id, queryParams);\n }\n\n async function deleteFn(id: string, params = {} as any) {\n const queryParams = await pipeAsync(omit('status'), i18n.localeToLookup(contentType))(params);\n\n return documents.delete(uid, id, queryParams);\n }\n\n async function create(params = {} as any) {\n const queryParams = await pipeAsync(\n DP.setStatusToDraft,\n DP.statusToData,\n DP.filterDataPublishedAt,\n i18n.defaultLocale(contentType),\n i18n.localeToData(contentType)\n )(params);\n\n const doc = await documents.create(uid, queryParams);\n\n if (params.status === 'published') {\n return documents.create(uid, {\n ...queryParams,\n data: {\n ...queryParams.data,\n documentId: doc.id,\n publishedAt: params?.data?.publishedAt ?? new Date(),\n },\n });\n }\n\n return doc;\n }\n\n async function clone(id: string, params = {} as any) {\n const queryParams = await pipeAsync(\n DP.filterDataPublishedAt,\n i18n.localeToLookup(contentType)\n )(params);\n\n return documents.clone(uid, id, queryParams);\n }\n\n async function update(id: string, params = {} as any) {\n const queryParams = await pipeAsync(\n DP.setStatusToDraft,\n DP.statusToLookup,\n DP.statusToData,\n DP.filterDataPublishedAt,\n // Default locale will be set if not provided\n i18n.defaultLocale(contentType),\n i18n.localeToLookup(contentType),\n i18n.localeToData(contentType)\n )(params);\n\n let updatedDraft = await documents.update(uid, id, queryParams);\n\n if (!updatedDraft) {\n const documentExists = await strapi.db\n .query(contentType.uid)\n .findOne({ where: { documentId: id } });\n\n if (documentExists) {\n updatedDraft = await create({\n ...queryParams,\n data: { ...queryParams.data, documentId: id },\n });\n }\n }\n\n if (updatedDraft && params.status === 'published') {\n await documents.delete(uid, id, {\n ...queryParams,\n status: 'published',\n lookup: { ...params?.lookup, publishedAt: { $notNull: true } },\n });\n\n return documents.create(uid, {\n ...queryParams,\n data: {\n ...queryParams.data,\n documentId: updatedDraft.id,\n publishedAt: params?.data?.publishedAt ?? new Date(),\n },\n });\n }\n\n return updatedDraft;\n }\n\n async function count(params = {} as any) {\n const queryParams = await pipeAsync(\n DP.defaultToDraft,\n DP.statusToLookup,\n i18n.defaultLocale(contentType),\n i18n.localeToLookup(contentType)\n )(params);\n\n return documents.count(uid, queryParams);\n }\n\n async function publish(id: string, params = {} as any) {\n const queryParams = i18n.localeToLookup(contentType, params);\n\n return documents.publish(uid, id, queryParams);\n }\n\n async function unpublish(id: string, params = {} as any) {\n const queryParams = i18n.localeToLookup(contentType, params);\n\n return documents.unpublish(uid, id, queryParams);\n }\n\n async function discardDraft(id: string, params = {} as any) {\n const queryParams = i18n.localeToLookup(contentType, params);\n\n return documents.discardDraft(uid, id, queryParams);\n }\n\n return {\n findMany: wrapInTransaction(findMany),\n findFirst: wrapInTransaction(findFirst),\n findOne: wrapInTransaction(findOne),\n delete: wrapInTransaction(deleteFn),\n create: wrapInTransaction(create),\n clone: wrapInTransaction(clone),\n update: wrapInTransaction(update),\n count: wrapInTransaction(count),\n publish: wrapInTransaction(publish),\n unpublish: wrapInTransaction(unpublish),\n discardDraft: wrapInTransaction(discardDraft),\n };\n};\n"],"names":["DP.defaultToDraft","DP.statusToLookup","i18n.defaultLocale","i18n.localeToLookup","DP.setStatusToDraft","DP.statusToData","DP.filterDataPublishedAt","i18n.localeToData"],"mappings":"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"}
|
|
@@ -0,0 +1,4 @@
|
|
|
1
|
+
import type { Schema } from '@strapi/types';
|
|
2
|
+
export type RepositoryFactoryMethod<TContentType extends Schema.SingleType | Schema.CollectionType> = (contentType: TContentType) => any;
|
|
3
|
+
export declare const wrapInTransaction: (fn: (...args: any) => any) => (...args: any[]) => Promise<any>;
|
|
4
|
+
//# sourceMappingURL=common.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"common.d.ts","sourceRoot":"","sources":["../../../src/services/document-service/common.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,eAAe,CAAC;AAE5C,MAAM,MAAM,uBAAuB,CACjC,YAAY,SAAS,MAAM,CAAC,UAAU,GAAG,MAAM,CAAC,cAAc,IAC5D,CAAC,WAAW,EAAE,YAAY,KAAK,GAAG,CAAC;AAEvC,eAAO,MAAM,iBAAiB,iBAAkB,GAAG,KAAK,GAAG,eACxC,GAAG,EAAE,iBACvB,CAAC"}
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
|
|
3
|
+
const wrapInTransaction = (fn) => {
|
|
4
|
+
return (...args) => strapi.db.transaction?.(() => fn(...args));
|
|
5
|
+
};
|
|
6
|
+
exports.wrapInTransaction = wrapInTransaction;
|
|
7
|
+
//# sourceMappingURL=common.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"common.js","sources":["../../../src/services/document-service/common.ts"],"sourcesContent":["import type { Schema } from '@strapi/types';\n\nexport type RepositoryFactoryMethod<\n TContentType extends Schema.SingleType | Schema.CollectionType\n> = (contentType: TContentType) => any;\n\nexport const wrapInTransaction = (fn: (...args: any) => any) => {\n return (...args: any[]) => strapi.db.transaction?.(() => fn(...args));\n};\n"],"names":[],"mappings":";;AAMa,MAAA,oBAAoB,CAAC,OAA8B;AACvD,SAAA,IAAI,SAAgB,OAAO,GAAG,cAAc,MAAM,GAAG,GAAG,IAAI,CAAC;AACtE;;"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"common.mjs","sources":["../../../src/services/document-service/common.ts"],"sourcesContent":["import type { Schema } from '@strapi/types';\n\nexport type RepositoryFactoryMethod<\n TContentType extends Schema.SingleType | Schema.CollectionType\n> = (contentType: TContentType) => any;\n\nexport const wrapInTransaction = (fn: (...args: any) => any) => {\n return (...args: any[]) => strapi.db.transaction?.(() => fn(...args));\n};\n"],"names":[],"mappings":"AAMa,MAAA,oBAAoB,CAAC,OAA8B;AACvD,SAAA,IAAI,SAAgB,OAAO,GAAG,cAAc,MAAM,GAAG,GAAG,IAAI,CAAC;AACtE;"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"document-engine.d.ts","sourceRoot":"","sources":["../../../src/services/document-service/document-engine.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,kBAAkB,CAAC;AACjD,OAAO,KAAK,
|
|
1
|
+
{"version":3,"file":"document-engine.d.ts","sourceRoot":"","sources":["../../../src/services/document-service/document-engine.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,kBAAkB,CAAC;AACjD,OAAO,KAAK,EAAE,SAAS,EAAU,MAAM,EAAE,MAAM,eAAe,CAAC;8BA8W1C;IAAE,QAAQ,MAAM,CAAC;IAAC,EAAE,EAAE,QAAQ,CAAA;CAAE,KAAG,UAAU,MAAM;AAAxE,wBAKE"}
|