@strapi/core 0.0.0-experimental.90ca9123352ed07e0a9cedaf4bcad1475e74137f → 0.0.0-experimental.e3e48deb89bd0a1b6cc69b698696566fa7854a95
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/Strapi.d.ts +5 -3
- package/dist/Strapi.d.ts.map +1 -1
- package/dist/Strapi.js +19 -7
- package/dist/Strapi.js.map +1 -1
- package/dist/Strapi.mjs +19 -7
- package/dist/Strapi.mjs.map +1 -1
- package/dist/configuration/index.d.ts.map +1 -1
- package/dist/configuration/index.js +4 -4
- package/dist/configuration/index.js.map +1 -1
- package/dist/configuration/index.mjs +1 -1
- package/dist/configuration/index.mjs.map +1 -1
- package/dist/configuration/urls.d.ts +8 -0
- package/dist/configuration/urls.d.ts.map +1 -0
- package/dist/configuration/urls.js +68 -0
- package/dist/configuration/urls.js.map +1 -0
- package/dist/configuration/urls.mjs +66 -0
- package/dist/configuration/urls.mjs.map +1 -0
- package/dist/core-api/controller/collection-type.js.map +1 -1
- 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 +6 -1
- package/dist/core-api/controller/index.js.map +1 -1
- package/dist/core-api/controller/index.mjs +6 -1
- package/dist/core-api/controller/index.mjs.map +1 -1
- package/dist/core-api/controller/single-type.js.map +1 -1
- package/dist/core-api/controller/single-type.mjs.map +1 -1
- package/dist/core-api/controller/transform.d.ts +8 -7
- package/dist/core-api/controller/transform.d.ts.map +1 -1
- package/dist/core-api/controller/transform.js +16 -7
- package/dist/core-api/controller/transform.js.map +1 -1
- package/dist/core-api/controller/transform.mjs +16 -7
- package/dist/core-api/controller/transform.mjs.map +1 -1
- package/dist/core-api/service/collection-type.d.ts.map +1 -1
- package/dist/core-api/service/collection-type.js.map +1 -1
- package/dist/core-api/service/collection-type.mjs.map +1 -1
- package/dist/core-api/service/single-type.d.ts +3 -2
- package/dist/core-api/service/single-type.d.ts.map +1 -1
- package/dist/core-api/service/single-type.js +14 -3
- package/dist/core-api/service/single-type.js.map +1 -1
- package/dist/core-api/service/single-type.mjs +14 -3
- package/dist/core-api/service/single-type.mjs.map +1 -1
- package/dist/domain/content-type/index.d.ts.map +1 -1
- package/dist/domain/content-type/index.js +3 -0
- package/dist/domain/content-type/index.js.map +1 -1
- package/dist/domain/content-type/index.mjs +3 -0
- package/dist/domain/content-type/index.mjs.map +1 -1
- package/dist/domain/content-type/validator.d.ts.map +1 -1
- package/dist/domain/content-type/validator.js +1 -1
- package/dist/domain/content-type/validator.js.map +1 -1
- package/dist/domain/content-type/validator.mjs +2 -2
- package/dist/domain/content-type/validator.mjs.map +1 -1
- package/dist/domain/module/index.d.ts.map +1 -1
- package/dist/domain/module/index.js +2 -3
- package/dist/domain/module/index.js.map +1 -1
- package/dist/domain/module/index.mjs +2 -3
- package/dist/domain/module/index.mjs.map +1 -1
- package/dist/ee/index.js.map +1 -1
- package/dist/ee/index.mjs.map +1 -1
- package/dist/loaders/apis.js +1 -1
- package/dist/loaders/apis.js.map +1 -1
- package/dist/loaders/apis.mjs +2 -2
- package/dist/loaders/apis.mjs.map +1 -1
- package/dist/loaders/plugins/get-enabled-plugins.js +1 -1
- package/dist/loaders/plugins/get-enabled-plugins.js.map +1 -1
- package/dist/loaders/plugins/get-enabled-plugins.mjs +2 -2
- package/dist/loaders/plugins/get-enabled-plugins.mjs.map +1 -1
- package/dist/middlewares/security.d.ts.map +1 -1
- package/dist/middlewares/security.js +2 -2
- package/dist/middlewares/security.js.map +1 -1
- package/dist/middlewares/security.mjs +2 -2
- package/dist/middlewares/security.mjs.map +1 -1
- package/dist/migrations/draft-publish.d.ts +17 -0
- package/dist/migrations/draft-publish.d.ts.map +1 -0
- package/dist/migrations/draft-publish.js +59 -0
- package/dist/migrations/draft-publish.js.map +1 -0
- package/dist/migrations/draft-publish.mjs +59 -0
- package/dist/migrations/draft-publish.mjs.map +1 -0
- package/dist/registries/config.d.ts +2 -2
- package/dist/registries/config.d.ts.map +1 -1
- package/dist/registries/config.js +14 -6
- package/dist/registries/config.js.map +1 -1
- package/dist/registries/config.mjs +15 -5
- package/dist/registries/config.mjs.map +1 -1
- package/dist/services/document-service/common.d.ts +2 -2
- package/dist/services/document-service/common.d.ts.map +1 -1
- package/dist/services/document-service/common.js.map +1 -1
- package/dist/services/document-service/common.mjs.map +1 -1
- package/dist/services/document-service/draft-and-publish.d.ts +9 -23
- package/dist/services/document-service/draft-and-publish.d.ts.map +1 -1
- package/dist/services/document-service/draft-and-publish.js +37 -9
- package/dist/services/document-service/draft-and-publish.js.map +1 -1
- package/dist/services/document-service/draft-and-publish.mjs +38 -10
- package/dist/services/document-service/draft-and-publish.mjs.map +1 -1
- package/dist/services/document-service/index.d.ts.map +1 -1
- package/dist/services/document-service/index.js +4 -4
- package/dist/services/document-service/index.js.map +1 -1
- package/dist/services/document-service/index.mjs +2 -2
- package/dist/services/document-service/index.mjs.map +1 -1
- package/dist/services/document-service/internationalization.d.ts +2 -1
- package/dist/services/document-service/internationalization.d.ts.map +1 -1
- package/dist/services/document-service/internationalization.js +14 -0
- package/dist/services/document-service/internationalization.js.map +1 -1
- package/dist/services/document-service/internationalization.mjs +15 -1
- package/dist/services/document-service/internationalization.mjs.map +1 -1
- package/dist/services/document-service/repository.d.ts +3 -0
- package/dist/services/document-service/repository.d.ts.map +1 -0
- package/dist/services/document-service/repository.js +295 -0
- package/dist/services/document-service/repository.js.map +1 -0
- package/dist/services/document-service/repository.mjs +295 -0
- package/dist/services/document-service/repository.mjs.map +1 -0
- package/dist/services/document-service/transform/fields.d.ts.map +1 -1
- package/dist/services/document-service/transform/fields.js +11 -10
- package/dist/services/document-service/transform/fields.js.map +1 -1
- package/dist/services/document-service/transform/fields.mjs +11 -10
- package/dist/services/document-service/transform/fields.mjs.map +1 -1
- package/dist/services/document-service/transform/id-map.d.ts +1 -1
- package/dist/services/document-service/transform/id-map.d.ts.map +1 -1
- package/dist/services/document-service/transform/id-map.js +15 -9
- package/dist/services/document-service/transform/id-map.js.map +1 -1
- package/dist/services/document-service/transform/id-map.mjs +16 -10
- package/dist/services/document-service/transform/id-map.mjs.map +1 -1
- package/dist/services/document-service/transform/id-transform.d.ts +4 -25
- package/dist/services/document-service/transform/id-transform.d.ts.map +1 -1
- package/dist/services/document-service/transform/id-transform.js +19 -43
- package/dist/services/document-service/transform/id-transform.js.map +1 -1
- package/dist/services/document-service/transform/id-transform.mjs +20 -44
- package/dist/services/document-service/transform/id-transform.mjs.map +1 -1
- package/dist/services/document-service/transform/populate.d.ts +5 -2
- package/dist/services/document-service/transform/populate.d.ts.map +1 -1
- package/dist/services/document-service/transform/populate.js +0 -10
- package/dist/services/document-service/transform/populate.js.map +1 -1
- package/dist/services/document-service/transform/populate.mjs +0 -10
- package/dist/services/document-service/transform/populate.mjs.map +1 -1
- package/dist/services/document-service/transform/relations/extract/data-ids.d.ts +1 -1
- package/dist/services/document-service/transform/relations/extract/data-ids.d.ts.map +1 -1
- package/dist/services/document-service/transform/relations/extract/data-ids.js +28 -14
- package/dist/services/document-service/transform/relations/extract/data-ids.js.map +1 -1
- package/dist/services/document-service/transform/relations/extract/data-ids.mjs +28 -14
- package/dist/services/document-service/transform/relations/extract/data-ids.mjs.map +1 -1
- package/dist/services/document-service/transform/relations/transform/data-ids.d.ts +1 -1
- package/dist/services/document-service/transform/relations/transform/data-ids.d.ts.map +1 -1
- package/dist/services/document-service/transform/relations/transform/data-ids.js +65 -39
- package/dist/services/document-service/transform/relations/transform/data-ids.js.map +1 -1
- package/dist/services/document-service/transform/relations/transform/data-ids.mjs +66 -40
- package/dist/services/document-service/transform/relations/transform/data-ids.mjs.map +1 -1
- package/dist/services/document-service/transform/relations/utils/data.d.ts +2 -4
- package/dist/services/document-service/transform/relations/utils/data.d.ts.map +1 -1
- package/dist/services/document-service/transform/relations/utils/data.js +1 -1
- package/dist/services/document-service/transform/relations/utils/data.js.map +1 -1
- package/dist/services/document-service/transform/relations/utils/data.mjs +1 -1
- package/dist/services/document-service/transform/relations/utils/data.mjs.map +1 -1
- package/dist/services/document-service/transform/relations/utils/dp.d.ts +10 -0
- package/dist/services/document-service/transform/relations/utils/dp.d.ts.map +1 -0
- package/dist/services/document-service/transform/relations/utils/dp.js +25 -0
- package/dist/services/document-service/transform/relations/utils/dp.js.map +1 -0
- package/dist/services/document-service/transform/relations/utils/dp.mjs +25 -0
- package/dist/services/document-service/transform/relations/utils/dp.mjs.map +1 -0
- package/dist/services/document-service/transform/relations/utils/i18n.d.ts +2 -2
- package/dist/services/document-service/transform/relations/utils/i18n.d.ts.map +1 -1
- package/dist/services/document-service/transform/relations/utils/i18n.js.map +1 -1
- package/dist/services/document-service/transform/relations/utils/i18n.mjs.map +1 -1
- package/dist/services/document-service/transform/relations/utils/types.d.ts +9 -2
- package/dist/services/document-service/transform/relations/utils/types.d.ts.map +1 -1
- package/dist/services/document-service/transform/types.d.ts +1 -1
- package/dist/services/document-service/transform/types.d.ts.map +1 -1
- package/dist/services/document-service/utils/populate.d.ts +8 -1
- package/dist/services/document-service/utils/populate.d.ts.map +1 -1
- package/dist/services/document-service/utils/populate.js +5 -5
- package/dist/services/document-service/utils/populate.js.map +1 -1
- package/dist/services/document-service/utils/populate.mjs +5 -5
- package/dist/services/document-service/utils/populate.mjs.map +1 -1
- package/dist/services/entity-service/components.d.ts +1 -4
- package/dist/services/entity-service/components.d.ts.map +1 -1
- package/dist/services/entity-service/components.js +13 -99
- package/dist/services/entity-service/components.js.map +1 -1
- package/dist/services/entity-service/components.mjs +14 -100
- package/dist/services/entity-service/components.mjs.map +1 -1
- package/dist/services/entity-service/index.d.ts +1 -3
- package/dist/services/entity-service/index.d.ts.map +1 -1
- package/dist/services/entity-service/index.js +34 -199
- package/dist/services/entity-service/index.js.map +1 -1
- package/dist/services/entity-service/index.mjs +27 -192
- package/dist/services/entity-service/index.mjs.map +1 -1
- package/dist/services/entity-service/params.d.ts +4 -4
- package/dist/services/entity-service/params.d.ts.map +1 -1
- package/dist/services/entity-service/params.js +1 -1
- package/dist/services/entity-service/params.js.map +1 -1
- package/dist/services/entity-service/params.mjs +1 -1
- package/dist/services/entity-service/params.mjs.map +1 -1
- package/dist/services/entity-validator/index.js +1 -1
- package/dist/services/entity-validator/index.js.map +1 -1
- package/dist/services/entity-validator/index.mjs +1 -1
- package/dist/services/entity-validator/index.mjs.map +1 -1
- package/dist/utils/is-initialized.js +1 -1
- package/dist/utils/is-initialized.js.map +1 -1
- package/dist/utils/is-initialized.mjs +1 -1
- package/dist/utils/is-initialized.mjs.map +1 -1
- package/dist/utils/load-config-file.js +1 -1
- package/dist/utils/load-config-file.js.map +1 -1
- package/dist/utils/load-config-file.mjs +2 -2
- package/dist/utils/load-config-file.mjs.map +1 -1
- package/dist/utils/transform-content-types-to-models.d.ts +174 -3
- package/dist/utils/transform-content-types-to-models.d.ts.map +1 -1
- package/dist/utils/transform-content-types-to-models.js +80 -41
- package/dist/utils/transform-content-types-to-models.js.map +1 -1
- package/dist/utils/transform-content-types-to-models.mjs +79 -41
- package/dist/utils/transform-content-types-to-models.mjs.map +1 -1
- package/package.json +14 -14
- package/dist/services/document-service/collection-type.d.ts +0 -4
- package/dist/services/document-service/collection-type.d.ts.map +0 -1
- package/dist/services/document-service/collection-type.js +0 -145
- package/dist/services/document-service/collection-type.js.map +0 -1
- package/dist/services/document-service/collection-type.mjs +0 -145
- package/dist/services/document-service/collection-type.mjs.map +0 -1
- package/dist/services/document-service/document-engine.d.ts +0 -8
- package/dist/services/document-service/document-engine.d.ts.map +0 -1
- package/dist/services/document-service/document-engine.js +0 -249
- package/dist/services/document-service/document-engine.js.map +0 -1
- package/dist/services/document-service/document-engine.mjs +0 -250
- package/dist/services/document-service/document-engine.mjs.map +0 -1
- package/dist/services/document-service/repository-factory.d.ts +0 -3
- package/dist/services/document-service/repository-factory.d.ts.map +0 -1
- package/dist/services/document-service/repository-factory.js +0 -12
- package/dist/services/document-service/repository-factory.js.map +0 -1
- package/dist/services/document-service/repository-factory.mjs +0 -12
- package/dist/services/document-service/repository-factory.mjs.map +0 -1
- package/dist/services/document-service/single-type.d.ts +0 -4
- package/dist/services/document-service/single-type.d.ts.map +0 -1
- package/dist/services/document-service/single-type.js +0 -92
- package/dist/services/document-service/single-type.js.map +0 -1
- package/dist/services/document-service/single-type.mjs +0 -92
- package/dist/services/document-service/single-type.mjs.map +0 -1
- package/dist/services/document-service/transform/filters.js +0 -49
- package/dist/services/document-service/transform/filters.js.map +0 -1
- package/dist/services/document-service/transform/filters.mjs +0 -49
- package/dist/services/document-service/transform/filters.mjs.map +0 -1
- package/dist/services/document-service/transform/relations/transform/output-ids.js +0 -26
- package/dist/services/document-service/transform/relations/transform/output-ids.js.map +0 -1
- package/dist/services/document-service/transform/relations/transform/output-ids.mjs +0 -26
- package/dist/services/document-service/transform/relations/transform/output-ids.mjs.map +0 -1
- package/dist/services/document-service/transform/sort.js +0 -44
- package/dist/services/document-service/transform/sort.js.map +0 -1
- package/dist/services/document-service/transform/sort.mjs +0 -44
- package/dist/services/document-service/transform/sort.mjs.map +0 -1
- package/dist/services/document-service/transform/utils.js +0 -23
- package/dist/services/document-service/transform/utils.js.map +0 -1
- package/dist/services/document-service/transform/utils.mjs +0 -23
- package/dist/services/document-service/transform/utils.mjs.map +0 -1
- package/dist/services/utils/upload-files.d.ts +0 -8
- package/dist/services/utils/upload-files.d.ts.map +0 -1
- package/dist/services/utils/upload-files.js +0 -64
- package/dist/services/utils/upload-files.js.map +0 -1
- package/dist/services/utils/upload-files.mjs +0 -63
- package/dist/services/utils/upload-files.mjs.map +0 -1
package/package.json
CHANGED
@@ -1,6 +1,6 @@
|
|
1
1
|
{
|
2
2
|
"name": "@strapi/core",
|
3
|
-
"version": "0.0.0-experimental.
|
3
|
+
"version": "0.0.0-experimental.e3e48deb89bd0a1b6cc69b698696566fa7854a95",
|
4
4
|
"description": "Core of Strapi",
|
5
5
|
"homepage": "https://strapi.io",
|
6
6
|
"bugs": {
|
@@ -55,16 +55,16 @@
|
|
55
55
|
"@koa/cors": "3.4.3",
|
56
56
|
"@koa/router": "10.1.1",
|
57
57
|
"@paralleldrive/cuid2": "2.2.2",
|
58
|
-
"@strapi/admin": "0.0.0-experimental.
|
59
|
-
"@strapi/database": "0.0.0-experimental.
|
60
|
-
"@strapi/generate-new": "0.0.0-experimental.
|
61
|
-
"@strapi/generators": "0.0.0-experimental.
|
62
|
-
"@strapi/logger": "0.0.0-experimental.
|
63
|
-
"@strapi/pack-up": "0.0.0-experimental.
|
64
|
-
"@strapi/permissions": "0.0.0-experimental.
|
65
|
-
"@strapi/types": "0.0.0-experimental.
|
66
|
-
"@strapi/typescript-utils": "0.0.0-experimental.
|
67
|
-
"@strapi/utils": "0.0.0-experimental.
|
58
|
+
"@strapi/admin": "0.0.0-experimental.e3e48deb89bd0a1b6cc69b698696566fa7854a95",
|
59
|
+
"@strapi/database": "0.0.0-experimental.e3e48deb89bd0a1b6cc69b698696566fa7854a95",
|
60
|
+
"@strapi/generate-new": "0.0.0-experimental.e3e48deb89bd0a1b6cc69b698696566fa7854a95",
|
61
|
+
"@strapi/generators": "0.0.0-experimental.e3e48deb89bd0a1b6cc69b698696566fa7854a95",
|
62
|
+
"@strapi/logger": "0.0.0-experimental.e3e48deb89bd0a1b6cc69b698696566fa7854a95",
|
63
|
+
"@strapi/pack-up": "0.0.0-experimental.e3e48deb89bd0a1b6cc69b698696566fa7854a95",
|
64
|
+
"@strapi/permissions": "0.0.0-experimental.e3e48deb89bd0a1b6cc69b698696566fa7854a95",
|
65
|
+
"@strapi/types": "0.0.0-experimental.e3e48deb89bd0a1b6cc69b698696566fa7854a95",
|
66
|
+
"@strapi/typescript-utils": "0.0.0-experimental.e3e48deb89bd0a1b6cc69b698696566fa7854a95",
|
67
|
+
"@strapi/utils": "0.0.0-experimental.e3e48deb89bd0a1b6cc69b698696566fa7854a95",
|
68
68
|
"bcryptjs": "2.4.3",
|
69
69
|
"boxen": "5.1.2",
|
70
70
|
"chalk": "4.1.2",
|
@@ -122,13 +122,13 @@
|
|
122
122
|
"@types/node": "18.18.4",
|
123
123
|
"@types/node-schedule": "2.1.0",
|
124
124
|
"@types/statuses": "2.0.1",
|
125
|
-
"eslint-config-custom": "0.0.0-experimental.
|
125
|
+
"eslint-config-custom": "0.0.0-experimental.e3e48deb89bd0a1b6cc69b698696566fa7854a95",
|
126
126
|
"supertest": "6.3.3",
|
127
|
-
"tsconfig": "0.0.0-experimental.
|
127
|
+
"tsconfig": "0.0.0-experimental.e3e48deb89bd0a1b6cc69b698696566fa7854a95"
|
128
128
|
},
|
129
129
|
"engines": {
|
130
130
|
"node": ">=18.0.0 <=20.x.x",
|
131
131
|
"npm": ">=6.0.0"
|
132
132
|
},
|
133
|
-
"gitHead": "
|
133
|
+
"gitHead": "e3e48deb89bd0a1b6cc69b698696566fa7854a95"
|
134
134
|
}
|
@@ -1 +0,0 @@
|
|
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"}
|
@@ -1,145 +0,0 @@
|
|
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
|
@@ -1 +0,0 @@
|
|
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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"}
|
@@ -1,145 +0,0 @@
|
|
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
|
@@ -1 +0,0 @@
|
|
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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"}
|
@@ -1,8 +0,0 @@
|
|
1
|
-
import type { Database } from '@strapi/database';
|
2
|
-
import type { Documents, Strapi } from '@strapi/types';
|
3
|
-
declare const _default: (ctx: {
|
4
|
-
strapi: Strapi;
|
5
|
-
db: Database;
|
6
|
-
}) => Documents.Engine;
|
7
|
-
export default _default;
|
8
|
-
//# sourceMappingURL=document-engine.d.ts.map
|
@@ -1 +0,0 @@
|
|
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"}
|
@@ -1,249 +0,0 @@
|
|
1
|
-
"use strict";
|
2
|
-
const strapiUtils = require("@strapi/utils");
|
3
|
-
const _ = require("lodash/fp");
|
4
|
-
const components = require("../entity-service/components.js");
|
5
|
-
const transformContentTypesToModels = require("../../utils/transform-content-types-to-models.js");
|
6
|
-
const index$1 = require("../entity-service/attributes/index.js");
|
7
|
-
const index = require("../entity-validator/index.js");
|
8
|
-
const params = require("../entity-service/params.js");
|
9
|
-
const idTransform = require("./transform/id-transform.js");
|
10
|
-
const populate = require("./utils/populate.js");
|
11
|
-
const outputIds = require("./transform/relations/transform/output-ids.js");
|
12
|
-
const data = require("./transform/data.js");
|
13
|
-
const { transformParamsToQuery } = strapiUtils.convertQueryParams;
|
14
|
-
const createPipeline = (data2, context) => {
|
15
|
-
return index$1.applyTransforms(data2, context);
|
16
|
-
};
|
17
|
-
const updatePipeline = (data2, context) => {
|
18
|
-
return index$1.applyTransforms(data2, context);
|
19
|
-
};
|
20
|
-
const createDocumentEngine = ({
|
21
|
-
strapi,
|
22
|
-
db
|
23
|
-
}) => ({
|
24
|
-
async findMany(uid, params2) {
|
25
|
-
const query = await strapiUtils.pipeAsync(
|
26
|
-
(params22) => idTransform.transformParamsDocumentId(uid, params22, { isDraft: true, locale: params22.locale }),
|
27
|
-
(params22) => transformParamsToQuery(uid, params22),
|
28
|
-
(query2) => _.set("where", { ...params2?.lookup, ...query2.where }, query2)
|
29
|
-
)(params2 || {});
|
30
|
-
return db.query(uid).findMany(query).then((doc) => idTransform.transformOutputDocumentId(uid, doc));
|
31
|
-
},
|
32
|
-
async findFirst(uid, params2) {
|
33
|
-
const query = await strapiUtils.pipeAsync(
|
34
|
-
(params22) => idTransform.transformParamsDocumentId(uid, params22, { isDraft: true, locale: params22.locale }),
|
35
|
-
(params22) => transformParamsToQuery(uid, params22)
|
36
|
-
)(params2 || {});
|
37
|
-
return db.query(uid).findOne({ ...query, where: { ...params2?.lookup, ...query.where } }).then((doc) => idTransform.transformOutputDocumentId(uid, doc));
|
38
|
-
},
|
39
|
-
async findOne(uid, documentId, params2) {
|
40
|
-
const query = await strapiUtils.pipeAsync(
|
41
|
-
(params22) => idTransform.transformParamsDocumentId(uid, params22, { isDraft: true, locale: params22.locale }),
|
42
|
-
(params22) => transformParamsToQuery(uid, params22)
|
43
|
-
)(params2 || {});
|
44
|
-
return db.query(uid).findOne({ ...query, where: { ...params2?.lookup, ...query.where, documentId } }).then((doc) => idTransform.transformOutputDocumentId(uid, doc));
|
45
|
-
},
|
46
|
-
async delete(uid, documentId, params2 = {}) {
|
47
|
-
const query = await strapiUtils.pipeAsync(
|
48
|
-
// TODO: What if we are deleting more than one locale / publication state?
|
49
|
-
(params22) => idTransform.transformParamsDocumentId(uid, params22, { isDraft: true, locale: params22.locale }),
|
50
|
-
(params22) => transformParamsToQuery(uid, params22),
|
51
|
-
(query2) => _.set("where", { ...params2?.lookup, ...query2.where, documentId }, query2)
|
52
|
-
)(params2);
|
53
|
-
if (params2.status === "draft") {
|
54
|
-
throw new Error("Cannot delete a draft document");
|
55
|
-
}
|
56
|
-
const entriesToDelete = await db.query(uid).findMany(query);
|
57
|
-
await strapiUtils.mapAsync(entriesToDelete, async (entryToDelete) => {
|
58
|
-
await this.deleteEntry(uid, entryToDelete.id);
|
59
|
-
});
|
60
|
-
return { deletedEntries: entriesToDelete.length };
|
61
|
-
},
|
62
|
-
async deleteEntry(uid, entryId) {
|
63
|
-
const componentsToDelete = await components.getComponents(uid, { id: entryId });
|
64
|
-
await db.query(uid).delete({ where: { id: entryId } });
|
65
|
-
await components.deleteComponents(uid, componentsToDelete, { loadComponents: false });
|
66
|
-
},
|
67
|
-
async create(uid, params$1) {
|
68
|
-
const { data: data2, ...restParams } = await idTransform.transformParamsDocumentId(uid, params$1, {
|
69
|
-
locale: params$1.locale,
|
70
|
-
// @ts-expect-error - published at is not always present
|
71
|
-
// User can not set publishedAt on create, but other methods in the engine can (publish)
|
72
|
-
isDraft: !params$1.data?.publishedAt
|
73
|
-
});
|
74
|
-
const query = transformParamsToQuery(uid, params.pickSelectionParams(restParams));
|
75
|
-
if (!params$1.data) {
|
76
|
-
throw new Error("Create requires data attribute");
|
77
|
-
}
|
78
|
-
const contentType = strapi.contentType(uid);
|
79
|
-
const validData = await index.validateEntityCreation(contentType, data2, {
|
80
|
-
isDraft: !data2.publishedAt,
|
81
|
-
locale: params$1?.locale
|
82
|
-
});
|
83
|
-
const componentData = await components.createComponents(uid, validData);
|
84
|
-
const entryData = createPipeline(
|
85
|
-
Object.assign(components.omitComponentData(contentType, validData), componentData),
|
86
|
-
{ contentType }
|
87
|
-
);
|
88
|
-
return db.query(uid).create({ ...query, data: entryData }).then((doc) => idTransform.transformOutputDocumentId(uid, doc));
|
89
|
-
},
|
90
|
-
// NOTE: What happens if user doesn't provide specific publications state and locale to update?
|
91
|
-
async update(uid, documentId, params$1) {
|
92
|
-
const { data: data2, ...restParams } = await idTransform.transformParamsDocumentId(uid, params$1 || {}, {
|
93
|
-
isDraft: true,
|
94
|
-
locale: params$1?.locale
|
95
|
-
});
|
96
|
-
const query = transformParamsToQuery(uid, params.pickSelectionParams(restParams || {}));
|
97
|
-
const model = strapi.contentType(uid);
|
98
|
-
const entryToUpdate = await db.query(uid).findOne({ ...query, where: { ...params$1?.lookup, ...query?.where, documentId } });
|
99
|
-
if (!entryToUpdate)
|
100
|
-
return null;
|
101
|
-
const validData = await index.validateEntityUpdate(
|
102
|
-
model,
|
103
|
-
data2,
|
104
|
-
{
|
105
|
-
isDraft: true,
|
106
|
-
// Always update the draft version
|
107
|
-
locale: params$1?.locale
|
108
|
-
},
|
109
|
-
entryToUpdate
|
110
|
-
);
|
111
|
-
const componentData = await components.updateComponents(uid, entryToUpdate, validData);
|
112
|
-
const entryData = updatePipeline(
|
113
|
-
Object.assign(components.omitComponentData(model, validData), componentData),
|
114
|
-
{ contentType: model }
|
115
|
-
);
|
116
|
-
return db.query(uid).update({ ...query, where: { id: entryToUpdate.id }, data: entryData }).then((doc) => idTransform.transformOutputDocumentId(uid, doc));
|
117
|
-
},
|
118
|
-
async count(uid, params2 = void 0) {
|
119
|
-
const query = await strapiUtils.pipeAsync(
|
120
|
-
(params22) => idTransform.transformParamsDocumentId(uid, params22, { isDraft: true, locale: params22.locale }),
|
121
|
-
(params22) => transformParamsToQuery(uid, params22),
|
122
|
-
(query2) => _.set("where", { ...params2?.lookup, ...query2.where }, query2)
|
123
|
-
)(params2 || {});
|
124
|
-
return db.query(uid).count(query);
|
125
|
-
},
|
126
|
-
async clone(uid, documentId, params$1) {
|
127
|
-
const { data: data2, ...restParams } = await idTransform.transformParamsDocumentId(uid, params$1 || {}, {
|
128
|
-
isDraft: true,
|
129
|
-
locale: params$1?.locale
|
130
|
-
});
|
131
|
-
const query = transformParamsToQuery(uid, params.pickSelectionParams(restParams));
|
132
|
-
const model = strapi.contentType(uid);
|
133
|
-
const entries = await db.query(uid).findMany({
|
134
|
-
...query,
|
135
|
-
where: { ...params$1?.lookup, ...query.where, documentId }
|
136
|
-
});
|
137
|
-
if (!entries.length) {
|
138
|
-
return null;
|
139
|
-
}
|
140
|
-
const newDocumentId = transformContentTypesToModels.createDocumentId();
|
141
|
-
const versions = await strapiUtils.mapAsync(entries, async (entryToClone) => {
|
142
|
-
const isDraft = strapiUtils.contentTypes.isDraft(data2);
|
143
|
-
const validData = await index.validateEntityUpdate(
|
144
|
-
model,
|
145
|
-
// Omit id fields, the cloned entity id will be generated by the database
|
146
|
-
_.omit(["id"], data2),
|
147
|
-
{ isDraft, ...params$1?.lookup },
|
148
|
-
entryToClone
|
149
|
-
);
|
150
|
-
const componentData = await components.cloneComponents(uid, entryToClone, validData);
|
151
|
-
const entityData = createPipeline(
|
152
|
-
Object.assign(components.omitComponentData(model, validData), componentData),
|
153
|
-
{ contentType: model }
|
154
|
-
);
|
155
|
-
return db.query(uid).clone(entryToClone.id, {
|
156
|
-
...query,
|
157
|
-
// Allows entityData to override the documentId (e.g. when publishing)
|
158
|
-
data: { documentId: newDocumentId, ...entityData, locale: entryToClone.locale }
|
159
|
-
}).then((doc) => idTransform.transformOutputDocumentId(uid, doc));
|
160
|
-
});
|
161
|
-
return { id: newDocumentId, versions };
|
162
|
-
},
|
163
|
-
// TODO: Handle relations so they target the published version
|
164
|
-
async publish(uid, documentId, params2) {
|
165
|
-
await this.delete(uid, documentId, {
|
166
|
-
...params2,
|
167
|
-
lookup: { ...params2?.lookup, publishedAt: { $ne: null } }
|
168
|
-
});
|
169
|
-
const entriesToPublish = await strapi.db?.query(uid).findMany({
|
170
|
-
where: {
|
171
|
-
...params2?.lookup,
|
172
|
-
documentId,
|
173
|
-
publishedAt: null
|
174
|
-
},
|
175
|
-
populate: populate.getDeepPopulate(uid)
|
176
|
-
});
|
177
|
-
const publishedEntries = await strapiUtils.mapAsync(
|
178
|
-
entriesToPublish,
|
179
|
-
strapiUtils.pipeAsync(
|
180
|
-
_.set("publishedAt", /* @__PURE__ */ new Date()),
|
181
|
-
_.set("documentId", documentId),
|
182
|
-
_.omit("id"),
|
183
|
-
// draft entryId -> documentId
|
184
|
-
(entry) => outputIds.transformOutputIds(uid, entry),
|
185
|
-
// documentId -> published entryId
|
186
|
-
(entry) => {
|
187
|
-
const opts = { uid, locale: entry.locale, isDraft: false, allowMissingId: true };
|
188
|
-
return data.transformData(entry, opts);
|
189
|
-
},
|
190
|
-
// Create the published entry
|
191
|
-
(data2) => this.create(uid, { ...params2, data: data2, locale: data2.locale })
|
192
|
-
)
|
193
|
-
);
|
194
|
-
return { versions: publishedEntries };
|
195
|
-
},
|
196
|
-
async unpublish(uid, documentId, params2) {
|
197
|
-
return this.delete(uid, documentId, {
|
198
|
-
...params2,
|
199
|
-
lookup: { ...params2?.lookup, publishedAt: { $ne: null } }
|
200
|
-
}).then(({ deletedEntries }) => ({ versions: deletedEntries }));
|
201
|
-
},
|
202
|
-
/**
|
203
|
-
* Steps:
|
204
|
-
* - Delete the matching draft versions (publishedAt = null)
|
205
|
-
* - Clone the matching published versions into draft versions
|
206
|
-
*
|
207
|
-
* If the document has a published version, the draft version will be created from the published version.
|
208
|
-
* If the document has no published version, the version will be removed.
|
209
|
-
*/
|
210
|
-
async discardDraft(uid, documentId, params2) {
|
211
|
-
await this.delete(uid, documentId, {
|
212
|
-
...params2,
|
213
|
-
// Delete all drafts that match query
|
214
|
-
lookup: { ...params2?.lookup, publishedAt: null }
|
215
|
-
});
|
216
|
-
const entriesToDraft = await strapi.db?.query(uid).findMany({
|
217
|
-
where: {
|
218
|
-
...params2?.lookup,
|
219
|
-
documentId,
|
220
|
-
publishedAt: { $ne: null }
|
221
|
-
},
|
222
|
-
populate: populate.getDeepPopulate(uid)
|
223
|
-
});
|
224
|
-
const draftEntries = await strapiUtils.mapAsync(
|
225
|
-
entriesToDraft,
|
226
|
-
strapiUtils.pipeAsync(
|
227
|
-
_.set("publishedAt", null),
|
228
|
-
_.set("documentId", documentId),
|
229
|
-
_.omit("id"),
|
230
|
-
// published entryId -> document
|
231
|
-
(entry) => outputIds.transformOutputIds(uid, entry),
|
232
|
-
// documentId -> draft entryId
|
233
|
-
(entry) => {
|
234
|
-
const opts = { uid, locale: entry.locale, isDraft: true, allowMissingId: true };
|
235
|
-
return data.transformData(entry, opts);
|
236
|
-
},
|
237
|
-
// Create the draft entry
|
238
|
-
(data2) => this.create(uid, { ...params2, locale: data2.locale, data: data2 })
|
239
|
-
)
|
240
|
-
);
|
241
|
-
return { versions: draftEntries };
|
242
|
-
}
|
243
|
-
});
|
244
|
-
const createDocumentEngine$1 = (ctx) => {
|
245
|
-
const implementation = createDocumentEngine(ctx);
|
246
|
-
return implementation;
|
247
|
-
};
|
248
|
-
module.exports = createDocumentEngine$1;
|
249
|
-
//# sourceMappingURL=document-engine.js.map
|