@webiny/api-headless-cms 5.40.6-beta.3 → 5.41.0-beta.0
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/constants.d.ts +1 -1
- package/crud/AccessControl/AccessControl.d.ts +2 -2
- package/crud/contentEntry/abstractions/IListEntries.d.ts +2 -2
- package/crud/contentEntry/abstractions/IListEntries.js.map +1 -1
- package/crud/contentEntry/afterDelete.js +7 -1
- package/crud/contentEntry/afterDelete.js.map +1 -1
- package/crud/contentEntry/entryDataFactories/createEntryData.d.ts +1 -1
- package/crud/contentEntry/entryDataFactories/createEntryRevisionFromData.d.ts +1 -1
- package/crud/contentEntry/entryDataFactories/createPublishEntryData.d.ts +1 -1
- package/crud/contentEntry/entryDataFactories/createRepublishEntryData.d.ts +1 -1
- package/crud/contentEntry/entryDataFactories/createUnpublishEntryData.d.ts +1 -1
- package/crud/contentEntry/entryDataFactories/createUpdateEntryData.d.ts +1 -1
- package/crud/contentEntry/entryDataValidation.d.ts +1 -1
- package/crud/contentEntry/useCases/DeleteEntry/TransformEntryMoveToBin.js +0 -8
- package/crud/contentEntry/useCases/DeleteEntry/TransformEntryMoveToBin.js.map +1 -1
- package/crud/contentEntry/useCases/RestoreEntryFromBin/TransformEntryRestoreFromBin.js +0 -8
- package/crud/contentEntry/useCases/RestoreEntryFromBin/TransformEntryRestoreFromBin.js.map +1 -1
- package/crud/contentEntry.crud.js.map +1 -1
- package/crud/contentModel/validation.d.ts +50 -50
- package/crud/contentModel.crud.js.map +1 -1
- package/export/crud/sanitize.d.ts +1 -1
- package/export/crud/sanitize.js.map +1 -1
- package/export/types.d.ts +3 -3
- package/graphql/createExecutableSchema.js +14 -7
- package/graphql/createExecutableSchema.js.map +1 -1
- package/graphql/getSchema.js +6 -5
- package/graphql/getSchema.js.map +1 -1
- package/graphql/index.d.ts +1 -1
- package/graphql/schema/contentEntries.js.map +1 -1
- package/graphql/schema/createFieldResolvers.d.ts +1 -1
- package/graphql/schema/createFieldResolvers.js +1 -3
- package/graphql/schema/createFieldResolvers.js.map +1 -1
- package/graphql/schema/createSingularSDL.js +4 -0
- package/graphql/schema/createSingularSDL.js.map +1 -1
- package/graphql/schema/resolvers/manage/resolveCreate.d.ts +1 -1
- package/graphql/schema/resolvers/manage/resolveCreateFrom.d.ts +1 -1
- package/graphql/schema/resolvers/manage/resolveDelete.d.ts +1 -1
- package/graphql/schema/resolvers/manage/resolveDeleteMultiple.d.ts +1 -1
- package/graphql/schema/resolvers/manage/resolveGet.d.ts +1 -1
- package/graphql/schema/resolvers/manage/resolveGetByIds.d.ts +1 -1
- package/graphql/schema/resolvers/manage/resolveGetRevisions.d.ts +1 -1
- package/graphql/schema/resolvers/manage/resolveGetUniqueFieldValues.d.ts +1 -1
- package/graphql/schema/resolvers/manage/resolveList.d.ts +1 -1
- package/graphql/schema/resolvers/manage/resolveListDeleted.d.ts +1 -1
- package/graphql/schema/resolvers/manage/resolveMove.d.ts +1 -1
- package/graphql/schema/resolvers/manage/resolvePublish.d.ts +1 -1
- package/graphql/schema/resolvers/manage/resolveRepublish.d.ts +1 -1
- package/graphql/schema/resolvers/manage/resolveRestoreFromBin.d.ts +1 -1
- package/graphql/schema/resolvers/manage/resolveUnpublish.d.ts +1 -1
- package/graphql/schema/resolvers/manage/resolveUpdate.d.ts +1 -1
- package/graphql/schema/resolvers/manage/resolveValidate.d.ts +1 -1
- package/graphql/schema/resolvers/preview/resolveGet.d.ts +1 -1
- package/graphql/schema/resolvers/preview/resolveList.d.ts +1 -1
- package/graphql/schema/resolvers/read/resolveGet.d.ts +1 -1
- package/graphql/schema/resolvers/read/resolveList.d.ts +1 -1
- package/graphql/schema/resolvers/singular/resolveGet.d.ts +1 -1
- package/graphql/schema/resolvers/singular/resolveUpdate.d.ts +1 -1
- package/index.d.ts +4 -2
- package/index.js +24 -0
- package/index.js.map +1 -1
- package/package.json +26 -24
- package/plugins/CmsGraphQLSchemaPlugin/CmsGraphQLSchemaPlugin.d.ts +2 -2
- package/plugins/CmsModelPlugin.d.ts +1 -1
- package/plugins/CmsModelPlugin.js +1 -1
- package/plugins/CmsModelPlugin.js.map +1 -1
- package/plugins/CmsParametersPlugin.d.ts +2 -2
- package/types/context.d.ts +7 -7
- package/types/context.js.map +1 -1
- package/types/modelAst.d.ts +4 -4
- package/types/modelField.d.ts +3 -2
- package/types/modelField.js.map +1 -1
- package/types/types.d.ts +25 -17
- package/types/types.js.map +1 -1
- package/utils/contentEntryTraverser/ContentEntryTraverser.d.ts +4 -1
- package/utils/contentEntryTraverser/ContentEntryTraverser.js.map +1 -1
- package/utils/contentModelAst/CmsModelToAstConverter.d.ts +1 -1
- package/utils/contentModelAst/CmsModelToAstConverter.js.map +1 -1
- package/utils/index.d.ts +1 -0
- package/utils/index.js +11 -0
- package/utils/index.js.map +1 -1
- package/utils/modelFieldTraverser/ModelFieldTraverser.d.ts +16 -0
- package/utils/modelFieldTraverser/ModelFieldTraverser.js +41 -0
- package/utils/modelFieldTraverser/ModelFieldTraverser.js.map +1 -0
- package/utils/modelFieldTraverser/index.d.ts +1 -0
- package/utils/modelFieldTraverser/index.js +18 -0
- package/utils/modelFieldTraverser/index.js.map +1 -0
package/constants.d.ts
CHANGED
|
@@ -2,7 +2,7 @@ import { CmsIdentity } from "./types";
|
|
|
2
2
|
export declare const ROOT_FOLDER = "root";
|
|
3
3
|
export declare const CMS_MODEL_SINGLETON_TAG = "singleton";
|
|
4
4
|
export declare const ENTRY_META_FIELDS: readonly ["createdOn", "modifiedOn", "savedOn", "deletedOn", "restoredOn", "firstPublishedOn", "lastPublishedOn", "createdBy", "modifiedBy", "savedBy", "deletedBy", "restoredBy", "firstPublishedBy", "lastPublishedBy", "revisionCreatedOn", "revisionModifiedOn", "revisionSavedOn", "revisionDeletedOn", "revisionRestoredOn", "revisionFirstPublishedOn", "revisionLastPublishedOn", "revisionCreatedBy", "revisionModifiedBy", "revisionSavedBy", "revisionDeletedBy", "revisionRestoredBy", "revisionFirstPublishedBy", "revisionLastPublishedBy"];
|
|
5
|
-
export
|
|
5
|
+
export type EntryMetaFieldName = (typeof ENTRY_META_FIELDS)[number];
|
|
6
6
|
export interface RecordWithEntryMetaFields {
|
|
7
7
|
revisionCreatedOn: string;
|
|
8
8
|
revisionSavedOn: string;
|
|
@@ -32,11 +32,11 @@ interface AccessControlEntry {
|
|
|
32
32
|
canAccessNonOwned: boolean;
|
|
33
33
|
canAccessOnlyOwned: boolean;
|
|
34
34
|
}
|
|
35
|
-
|
|
35
|
+
type AccessControlList = AccessControlEntry[];
|
|
36
36
|
interface EntriesAccessControlEntry extends AccessControlEntry {
|
|
37
37
|
pw?: string;
|
|
38
38
|
}
|
|
39
|
-
|
|
39
|
+
type EntriesAccessControlList = EntriesAccessControlEntry[];
|
|
40
40
|
export declare class AccessControl {
|
|
41
41
|
getIdentity: AccessControlParams["getIdentity"];
|
|
42
42
|
getGroupsPermissions: AccessControlParams["getGroupsPermissions"];
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { CmsEntry, CmsEntryListParams, CmsEntryMeta, CmsModel } from "../../../types";
|
|
1
|
+
import { CmsEntry, CmsEntryListParams, CmsEntryMeta, CmsEntryValues, CmsModel } from "../../../types";
|
|
2
2
|
export interface IListEntries {
|
|
3
|
-
execute: <T>(model: CmsModel, params?: CmsEntryListParams) => Promise<[CmsEntry<T>[], CmsEntryMeta]>;
|
|
3
|
+
execute: <T extends CmsEntryValues>(model: CmsModel, params?: CmsEntryListParams) => Promise<[CmsEntry<T>[], CmsEntryMeta]>;
|
|
4
4
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":[],"sources":["IListEntries.ts"],"sourcesContent":["import { CmsEntry, CmsEntryListParams, CmsEntryMeta, CmsModel } from \"~/types\";\n\nexport interface IListEntries {\n execute: <T>(\n model: CmsModel,\n params?: CmsEntryListParams\n ) => Promise<[CmsEntry<T>[], CmsEntryMeta]>;\n}\n"],"mappings":"","ignoreList":[]}
|
|
1
|
+
{"version":3,"names":[],"sources":["IListEntries.ts"],"sourcesContent":["import { CmsEntry, CmsEntryListParams, CmsEntryMeta, CmsEntryValues, CmsModel } from \"~/types\";\n\nexport interface IListEntries {\n execute: <T extends CmsEntryValues>(\n model: CmsModel,\n params?: CmsEntryListParams\n ) => Promise<[CmsEntry<T>[], CmsEntryMeta]>;\n}\n"],"mappings":"","ignoreList":[]}
|
|
@@ -13,8 +13,14 @@ const assignAfterEntryDelete = params => {
|
|
|
13
13
|
onEntryAfterDelete.subscribe(async params => {
|
|
14
14
|
const {
|
|
15
15
|
entry,
|
|
16
|
-
model
|
|
16
|
+
model,
|
|
17
|
+
permanent
|
|
17
18
|
} = params;
|
|
19
|
+
|
|
20
|
+
// If the entry is being moved to the trash, we keep the model fields locked because the entry can be restored.
|
|
21
|
+
if (!permanent) {
|
|
22
|
+
return;
|
|
23
|
+
}
|
|
18
24
|
const {
|
|
19
25
|
items
|
|
20
26
|
} = await context.cms.storageOperations.entries.list(model, {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["_markLockedFields","require","assignAfterEntryDelete","params","context","onEntryAfterDelete","subscribe","entry","model","items","cms","storageOperations","entries","list","where","entryId_not","entryId","latest","limit","length","markUnlockedFields","exports"],"sources":["afterDelete.ts"],"sourcesContent":["import { Topic } from \"@webiny/pubsub/types\";\nimport { OnEntryAfterDeleteTopicParams, CmsContext } from \"~/types\";\nimport { markUnlockedFields } from \"./markLockedFields\";\n\ninterface AssignAfterEntryDeleteParams {\n context: CmsContext;\n onEntryAfterDelete: Topic<OnEntryAfterDeleteTopicParams>;\n}\nexport const assignAfterEntryDelete = (params: AssignAfterEntryDeleteParams) => {\n const { context, onEntryAfterDelete } = params;\n\n onEntryAfterDelete.subscribe(async params => {\n const { entry, model } = params;\n\n const { items } = await context.cms.storageOperations.entries.list(model, {\n where: {\n entryId_not: entry.entryId,\n latest: true\n },\n limit: 1\n });\n if (items.length > 0) {\n return;\n }\n await markUnlockedFields({\n context,\n model\n });\n });\n};\n"],"mappings":";;;;;;AAEA,IAAAA,iBAAA,GAAAC,OAAA;AAMO,MAAMC,sBAAsB,GAAIC,MAAoC,IAAK;EAC5E,MAAM;IAAEC,OAAO;IAAEC;EAAmB,CAAC,GAAGF,MAAM;EAE9CE,kBAAkB,CAACC,SAAS,CAAC,MAAMH,MAAM,IAAI;IACzC,MAAM;MAAEI,KAAK;MAAEC;
|
|
1
|
+
{"version":3,"names":["_markLockedFields","require","assignAfterEntryDelete","params","context","onEntryAfterDelete","subscribe","entry","model","permanent","items","cms","storageOperations","entries","list","where","entryId_not","entryId","latest","limit","length","markUnlockedFields","exports"],"sources":["afterDelete.ts"],"sourcesContent":["import { Topic } from \"@webiny/pubsub/types\";\nimport { OnEntryAfterDeleteTopicParams, CmsContext } from \"~/types\";\nimport { markUnlockedFields } from \"./markLockedFields\";\n\ninterface AssignAfterEntryDeleteParams {\n context: CmsContext;\n onEntryAfterDelete: Topic<OnEntryAfterDeleteTopicParams>;\n}\nexport const assignAfterEntryDelete = (params: AssignAfterEntryDeleteParams) => {\n const { context, onEntryAfterDelete } = params;\n\n onEntryAfterDelete.subscribe(async params => {\n const { entry, model, permanent } = params;\n\n // If the entry is being moved to the trash, we keep the model fields locked because the entry can be restored.\n if (!permanent) {\n return;\n }\n const { items } = await context.cms.storageOperations.entries.list(model, {\n where: {\n entryId_not: entry.entryId,\n latest: true\n },\n limit: 1\n });\n if (items.length > 0) {\n return;\n }\n await markUnlockedFields({\n context,\n model\n });\n });\n};\n"],"mappings":";;;;;;AAEA,IAAAA,iBAAA,GAAAC,OAAA;AAMO,MAAMC,sBAAsB,GAAIC,MAAoC,IAAK;EAC5E,MAAM;IAAEC,OAAO;IAAEC;EAAmB,CAAC,GAAGF,MAAM;EAE9CE,kBAAkB,CAACC,SAAS,CAAC,MAAMH,MAAM,IAAI;IACzC,MAAM;MAAEI,KAAK;MAAEC,KAAK;MAAEC;IAAU,CAAC,GAAGN,MAAM;;IAE1C;IACA,IAAI,CAACM,SAAS,EAAE;MACZ;IACJ;IACA,MAAM;MAAEC;IAAM,CAAC,GAAG,MAAMN,OAAO,CAACO,GAAG,CAACC,iBAAiB,CAACC,OAAO,CAACC,IAAI,CAACN,KAAK,EAAE;MACtEO,KAAK,EAAE;QACHC,WAAW,EAAET,KAAK,CAACU,OAAO;QAC1BC,MAAM,EAAE;MACZ,CAAC;MACDC,KAAK,EAAE;IACX,CAAC,CAAC;IACF,IAAIT,KAAK,CAACU,MAAM,GAAG,CAAC,EAAE;MAClB;IACJ;IACA,MAAM,IAAAC,oCAAkB,EAAC;MACrBjB,OAAO;MACPI;IACJ,CAAC,CAAC;EACN,CAAC,CAAC;AACN,CAAC;AAACc,OAAA,CAAApB,sBAAA,GAAAA,sBAAA","ignoreList":[]}
|
|
@@ -3,7 +3,7 @@ import { I18NLocale } from "@webiny/api-i18n/types";
|
|
|
3
3
|
import { SecurityIdentity } from "@webiny/api-security/types";
|
|
4
4
|
import { Tenant } from "@webiny/api-tenancy/types";
|
|
5
5
|
import { AccessControl } from "../../AccessControl/AccessControl";
|
|
6
|
-
|
|
6
|
+
type CreateEntryDataParams = {
|
|
7
7
|
model: CmsModel;
|
|
8
8
|
rawInput: CreateCmsEntryInput;
|
|
9
9
|
options?: CreateCmsEntryOptionsInput;
|
|
@@ -3,7 +3,7 @@ import { SecurityIdentity } from "@webiny/api-security/types";
|
|
|
3
3
|
import { Tenant } from "@webiny/api-tenancy/types";
|
|
4
4
|
import { I18NLocale } from "@webiny/api-i18n/types";
|
|
5
5
|
import { AccessControl } from "../../AccessControl/AccessControl";
|
|
6
|
-
|
|
6
|
+
type CreateEntryRevisionFromDataParams = {
|
|
7
7
|
sourceId: string;
|
|
8
8
|
model: CmsModel;
|
|
9
9
|
rawInput: CreateCmsEntryInput;
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { CmsContext, CmsEntry, CmsModel } from "../../../types";
|
|
2
2
|
import { SecurityIdentity } from "@webiny/api-security/types";
|
|
3
|
-
|
|
3
|
+
type CreatePublishEntryDataParams = {
|
|
4
4
|
model: CmsModel;
|
|
5
5
|
context: CmsContext;
|
|
6
6
|
getIdentity: () => SecurityIdentity;
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { CmsContext, CmsEntry, CmsModel } from "../../../types";
|
|
2
2
|
import { SecurityIdentity } from "@webiny/api-security/types";
|
|
3
|
-
|
|
3
|
+
type CreateRepublishEntryDataParams = {
|
|
4
4
|
model: CmsModel;
|
|
5
5
|
context: CmsContext;
|
|
6
6
|
getIdentity: () => SecurityIdentity;
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { CmsContext, CmsEntry, CmsModel } from "../../../types";
|
|
2
2
|
import { SecurityIdentity } from "@webiny/api-security/types";
|
|
3
|
-
|
|
3
|
+
type CreateRepublishEntryDataParams = {
|
|
4
4
|
model: CmsModel;
|
|
5
5
|
context: CmsContext;
|
|
6
6
|
getIdentity: () => SecurityIdentity;
|
|
@@ -2,7 +2,7 @@ import { CmsContext, CmsEntry, CmsModel, UpdateCmsEntryInput, UpdateCmsEntryOpti
|
|
|
2
2
|
import { SecurityIdentity } from "@webiny/api-security/types";
|
|
3
3
|
import { Tenant } from "@webiny/api-tenancy/types";
|
|
4
4
|
import { I18NLocale } from "@webiny/api-i18n/types";
|
|
5
|
-
|
|
5
|
+
type CreateEntryRevisionFromDataParams = {
|
|
6
6
|
metaInput?: Record<string, any>;
|
|
7
7
|
model: CmsModel;
|
|
8
8
|
rawInput: UpdateCmsEntryInput;
|
|
@@ -7,7 +7,6 @@ exports.TransformEntryMoveToBin = void 0;
|
|
|
7
7
|
var _entryStorage = require("../../../../utils/entryStorage");
|
|
8
8
|
var _date = require("../../../../utils/date");
|
|
9
9
|
var _identity = require("../../../../utils/identity");
|
|
10
|
-
var _entryDataValidation = require("../../entryDataValidation");
|
|
11
10
|
var _constants = require("../../../../constants");
|
|
12
11
|
class TransformEntryMoveToBin {
|
|
13
12
|
constructor(context, getIdentity) {
|
|
@@ -24,13 +23,6 @@ class TransformEntryMoveToBin {
|
|
|
24
23
|
};
|
|
25
24
|
}
|
|
26
25
|
async createDeleteEntryData(model, originalEntry) {
|
|
27
|
-
await (0, _entryDataValidation.validateModelEntryDataOrThrow)({
|
|
28
|
-
context: this.context,
|
|
29
|
-
model,
|
|
30
|
-
data: originalEntry.values,
|
|
31
|
-
entry: originalEntry,
|
|
32
|
-
skipValidators: ["required"]
|
|
33
|
-
});
|
|
34
26
|
const currentDateTime = new Date().toISOString();
|
|
35
27
|
const currentIdentity = this.getIdentity();
|
|
36
28
|
const entry = {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["_entryStorage","require","_date","_identity","
|
|
1
|
+
{"version":3,"names":["_entryStorage","require","_date","_identity","_constants","TransformEntryMoveToBin","constructor","context","getIdentity","execute","model","initialEntry","originalEntry","entryFromStorageTransform","entry","createDeleteEntryData","storageEntry","entryToStorageTransform","currentDateTime","Date","toISOString","currentIdentity","wbyDeleted","location","folderId","ROOT_FOLDER","binOriginalFolderId","deletedOn","getDate","deletedBy","revisionDeletedOn","revisionDeletedBy","exports"],"sources":["TransformEntryMoveToBin.ts"],"sourcesContent":["import { SecurityIdentity } from \"@webiny/api-security/types\";\nimport { entryFromStorageTransform, entryToStorageTransform } from \"~/utils/entryStorage\";\nimport { getDate } from \"~/utils/date\";\nimport { getIdentity } from \"~/utils/identity\";\nimport { CmsContext, CmsEntry, CmsEntryStorageOperationsMoveToBinParams, CmsModel } from \"~/types\";\nimport { ROOT_FOLDER } from \"~/constants\";\n\nexport class TransformEntryMoveToBin {\n private context: CmsContext;\n private getIdentity: () => SecurityIdentity;\n\n constructor(context: CmsContext, getIdentity: () => SecurityIdentity) {\n this.context = context;\n this.getIdentity = getIdentity;\n }\n async execute(\n model: CmsModel,\n initialEntry: CmsEntry\n ): Promise<CmsEntryStorageOperationsMoveToBinParams> {\n const originalEntry = await entryFromStorageTransform(this.context, model, initialEntry);\n const entry = await this.createDeleteEntryData(model, originalEntry);\n const storageEntry = await entryToStorageTransform(this.context, model, entry);\n\n return {\n entry,\n storageEntry\n };\n }\n\n private async createDeleteEntryData(model: CmsModel, originalEntry: CmsEntry) {\n const currentDateTime = new Date().toISOString();\n const currentIdentity = this.getIdentity();\n\n const entry: CmsEntry = {\n ...originalEntry,\n wbyDeleted: true,\n\n /**\n * Entry location fields. 👇\n */\n location: {\n folderId: ROOT_FOLDER\n },\n binOriginalFolderId: originalEntry.location?.folderId,\n\n /**\n * Entry-level meta fields. 👇\n */\n deletedOn: getDate(currentDateTime, null),\n deletedBy: getIdentity(currentIdentity, null),\n\n /**\n * Revision-level meta fields. 👇\n */\n revisionDeletedOn: getDate(currentDateTime, null),\n revisionDeletedBy: getIdentity(currentIdentity, null)\n };\n\n return entry;\n }\n}\n"],"mappings":";;;;;;AACA,IAAAA,aAAA,GAAAC,OAAA;AACA,IAAAC,KAAA,GAAAD,OAAA;AACA,IAAAE,SAAA,GAAAF,OAAA;AAEA,IAAAG,UAAA,GAAAH,OAAA;AAEO,MAAMI,uBAAuB,CAAC;EAIjCC,WAAWA,CAACC,OAAmB,EAAEC,WAAmC,EAAE;IAClE,IAAI,CAACD,OAAO,GAAGA,OAAO;IACtB,IAAI,CAACC,WAAW,GAAGA,WAAW;EAClC;EACA,MAAMC,OAAOA,CACTC,KAAe,EACfC,YAAsB,EAC2B;IACjD,MAAMC,aAAa,GAAG,MAAM,IAAAC,uCAAyB,EAAC,IAAI,CAACN,OAAO,EAAEG,KAAK,EAAEC,YAAY,CAAC;IACxF,MAAMG,KAAK,GAAG,MAAM,IAAI,CAACC,qBAAqB,CAACL,KAAK,EAAEE,aAAa,CAAC;IACpE,MAAMI,YAAY,GAAG,MAAM,IAAAC,qCAAuB,EAAC,IAAI,CAACV,OAAO,EAAEG,KAAK,EAAEI,KAAK,CAAC;IAE9E,OAAO;MACHA,KAAK;MACLE;IACJ,CAAC;EACL;EAEA,MAAcD,qBAAqBA,CAACL,KAAe,EAAEE,aAAuB,EAAE;IAC1E,MAAMM,eAAe,GAAG,IAAIC,IAAI,CAAC,CAAC,CAACC,WAAW,CAAC,CAAC;IAChD,MAAMC,eAAe,GAAG,IAAI,CAACb,WAAW,CAAC,CAAC;IAE1C,MAAMM,KAAe,GAAG;MACpB,GAAGF,aAAa;MAChBU,UAAU,EAAE,IAAI;MAEhB;AACZ;AACA;MACYC,QAAQ,EAAE;QACNC,QAAQ,EAAEC;MACd,CAAC;MACDC,mBAAmB,EAAEd,aAAa,CAACW,QAAQ,EAAEC,QAAQ;MAErD;AACZ;AACA;MACYG,SAAS,EAAE,IAAAC,aAAO,EAACV,eAAe,EAAE,IAAI,CAAC;MACzCW,SAAS,EAAE,IAAArB,qBAAW,EAACa,eAAe,EAAE,IAAI,CAAC;MAE7C;AACZ;AACA;MACYS,iBAAiB,EAAE,IAAAF,aAAO,EAACV,eAAe,EAAE,IAAI,CAAC;MACjDa,iBAAiB,EAAE,IAAAvB,qBAAW,EAACa,eAAe,EAAE,IAAI;IACxD,CAAC;IAED,OAAOP,KAAK;EAChB;AACJ;AAACkB,OAAA,CAAA3B,uBAAA,GAAAA,uBAAA","ignoreList":[]}
|
|
@@ -7,7 +7,6 @@ exports.TransformEntryRestoreFromBin = void 0;
|
|
|
7
7
|
var _entryStorage = require("../../../../utils/entryStorage");
|
|
8
8
|
var _date = require("../../../../utils/date");
|
|
9
9
|
var _identity = require("../../../../utils/identity");
|
|
10
|
-
var _entryDataValidation = require("../../entryDataValidation");
|
|
11
10
|
class TransformEntryRestoreFromBin {
|
|
12
11
|
constructor(context, getIdentity) {
|
|
13
12
|
this.context = context;
|
|
@@ -23,13 +22,6 @@ class TransformEntryRestoreFromBin {
|
|
|
23
22
|
};
|
|
24
23
|
}
|
|
25
24
|
async createRestoreFromBinEntryData(model, originalEntry) {
|
|
26
|
-
await (0, _entryDataValidation.validateModelEntryDataOrThrow)({
|
|
27
|
-
context: this.context,
|
|
28
|
-
model,
|
|
29
|
-
data: originalEntry.values,
|
|
30
|
-
entry: originalEntry,
|
|
31
|
-
skipValidators: ["required"]
|
|
32
|
-
});
|
|
33
25
|
const currentDateTime = new Date().toISOString();
|
|
34
26
|
const currentIdentity = this.getIdentity();
|
|
35
27
|
const entry = {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["_entryStorage","require","_date","_identity","
|
|
1
|
+
{"version":3,"names":["_entryStorage","require","_date","_identity","TransformEntryRestoreFromBin","constructor","context","getIdentity","execute","model","initialEntry","originalEntry","entryFromStorageTransform","entry","createRestoreFromBinEntryData","storageEntry","entryToStorageTransform","currentDateTime","Date","toISOString","currentIdentity","wbyDeleted","location","folderId","binOriginalFolderId","restoredOn","getDate","restoredBy","revisionRestoredOn","revisionRestoredBy","exports"],"sources":["TransformEntryRestoreFromBin.ts"],"sourcesContent":["import { SecurityIdentity } from \"@webiny/api-security/types\";\nimport { entryFromStorageTransform, entryToStorageTransform } from \"~/utils/entryStorage\";\nimport { getDate } from \"~/utils/date\";\nimport { getIdentity } from \"~/utils/identity\";\nimport { CmsContext, CmsEntry, CmsEntryStorageOperationsMoveToBinParams, CmsModel } from \"~/types\";\n\nexport class TransformEntryRestoreFromBin {\n private context: CmsContext;\n private getIdentity: () => SecurityIdentity;\n\n constructor(context: CmsContext, getIdentity: () => SecurityIdentity) {\n this.context = context;\n this.getIdentity = getIdentity;\n }\n async execute(\n model: CmsModel,\n initialEntry: CmsEntry\n ): Promise<CmsEntryStorageOperationsMoveToBinParams> {\n const originalEntry = await entryFromStorageTransform(this.context, model, initialEntry);\n const entry = await this.createRestoreFromBinEntryData(model, originalEntry);\n const storageEntry = await entryToStorageTransform(this.context, model, entry);\n\n return {\n entry,\n storageEntry\n };\n }\n\n private async createRestoreFromBinEntryData(model: CmsModel, originalEntry: CmsEntry) {\n const currentDateTime = new Date().toISOString();\n const currentIdentity = this.getIdentity();\n\n const entry: CmsEntry = {\n ...originalEntry,\n wbyDeleted: false,\n\n /**\n * Entry location fields. 👇\n */\n location: {\n folderId: originalEntry.binOriginalFolderId\n },\n binOriginalFolderId: null,\n\n /**\n * Entry-level meta fields. 👇\n */\n restoredOn: getDate(currentDateTime, null),\n restoredBy: getIdentity(currentIdentity, null),\n\n /**\n * Revision-level meta fields. 👇\n */\n revisionRestoredOn: getDate(currentDateTime, null),\n revisionRestoredBy: getIdentity(currentIdentity, null)\n };\n\n return entry;\n }\n}\n"],"mappings":";;;;;;AACA,IAAAA,aAAA,GAAAC,OAAA;AACA,IAAAC,KAAA,GAAAD,OAAA;AACA,IAAAE,SAAA,GAAAF,OAAA;AAGO,MAAMG,4BAA4B,CAAC;EAItCC,WAAWA,CAACC,OAAmB,EAAEC,WAAmC,EAAE;IAClE,IAAI,CAACD,OAAO,GAAGA,OAAO;IACtB,IAAI,CAACC,WAAW,GAAGA,WAAW;EAClC;EACA,MAAMC,OAAOA,CACTC,KAAe,EACfC,YAAsB,EAC2B;IACjD,MAAMC,aAAa,GAAG,MAAM,IAAAC,uCAAyB,EAAC,IAAI,CAACN,OAAO,EAAEG,KAAK,EAAEC,YAAY,CAAC;IACxF,MAAMG,KAAK,GAAG,MAAM,IAAI,CAACC,6BAA6B,CAACL,KAAK,EAAEE,aAAa,CAAC;IAC5E,MAAMI,YAAY,GAAG,MAAM,IAAAC,qCAAuB,EAAC,IAAI,CAACV,OAAO,EAAEG,KAAK,EAAEI,KAAK,CAAC;IAE9E,OAAO;MACHA,KAAK;MACLE;IACJ,CAAC;EACL;EAEA,MAAcD,6BAA6BA,CAACL,KAAe,EAAEE,aAAuB,EAAE;IAClF,MAAMM,eAAe,GAAG,IAAIC,IAAI,CAAC,CAAC,CAACC,WAAW,CAAC,CAAC;IAChD,MAAMC,eAAe,GAAG,IAAI,CAACb,WAAW,CAAC,CAAC;IAE1C,MAAMM,KAAe,GAAG;MACpB,GAAGF,aAAa;MAChBU,UAAU,EAAE,KAAK;MAEjB;AACZ;AACA;MACYC,QAAQ,EAAE;QACNC,QAAQ,EAAEZ,aAAa,CAACa;MAC5B,CAAC;MACDA,mBAAmB,EAAE,IAAI;MAEzB;AACZ;AACA;MACYC,UAAU,EAAE,IAAAC,aAAO,EAACT,eAAe,EAAE,IAAI,CAAC;MAC1CU,UAAU,EAAE,IAAApB,qBAAW,EAACa,eAAe,EAAE,IAAI,CAAC;MAE9C;AACZ;AACA;MACYQ,kBAAkB,EAAE,IAAAF,aAAO,EAACT,eAAe,EAAE,IAAI,CAAC;MAClDY,kBAAkB,EAAE,IAAAtB,qBAAW,EAACa,eAAe,EAAE,IAAI;IACzD,CAAC;IAED,OAAOP,KAAK;EAChB;AACJ;AAACiB,OAAA,CAAA1B,4BAAA,GAAAA,4BAAA","ignoreList":[]}
|