@webiny/api-headless-cms 6.0.0 → 6.1.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/crud/contentEntry/entryDataFactories/createEntryData.js +3 -1
- package/crud/contentEntry/entryDataFactories/createEntryData.js.map +1 -1
- package/crud/contentEntry.crud.js +0 -11
- package/crud/contentEntry.crud.js.map +1 -1
- package/crud/contentModel/validation.d.ts +209 -917
- package/crud/contentModel/validation.js +52 -29
- package/crud/contentModel/validation.js.map +1 -1
- package/domain/contentEntry/EntryId.d.ts +1 -0
- package/domain/contentEntry/EntryId.js +2 -0
- package/domain/contentEntry/EntryId.js.map +1 -1
- package/domain/contentEntry/errors.d.ts +2 -2
- package/domain/contentEntry/errors.js.map +1 -1
- package/domain/contentModel/schemas.d.ts +162 -718
- package/domain/contentModel/schemas.js +34 -20
- package/domain/contentModel/schemas.js.map +1 -1
- package/domain/contentModelGroup/validation.d.ts +34 -82
- package/domain/contentModelGroup/validation.js +2 -2
- package/domain/contentModelGroup/validation.js.map +1 -1
- package/exports/api/cms/entry.d.ts +1 -0
- package/exports/api/cms/entry.js +2 -0
- package/exports/api/cms/entry.js.map +1 -1
- package/exports/api/cms/model.d.ts +5 -2
- package/exports/api/cms/model.js +3 -1
- package/exports/api/cms/model.js.map +1 -1
- package/extensions/entryHooks/OnEntryBeforeCreate.d.ts +2 -6
- package/extensions/index.d.ts +2 -6
- package/features/contentEntry/ContentEntriesFeature.js +4 -0
- package/features/contentEntry/ContentEntriesFeature.js.map +1 -1
- package/{utils/contentEntryTraverser → features/contentEntry/ContentEntryTraverser}/ContentEntryTraverser.d.ts +1 -1
- package/features/contentEntry/ContentEntryTraverser/ContentEntryTraverserProvider.d.ts +14 -0
- package/features/contentEntry/ContentEntryTraverser/ContentEntryTraverserProvider.js +25 -0
- package/features/contentEntry/ContentEntryTraverser/ContentEntryTraverserProvider.js.map +1 -0
- package/features/contentEntry/ContentEntryTraverser/abstractions.d.ts +12 -0
- package/features/contentEntry/ContentEntryTraverser/abstractions.js +7 -0
- package/features/contentEntry/ContentEntryTraverser/abstractions.js.map +1 -0
- package/features/contentEntry/ContentEntryTraverser/feature.d.ts +1 -0
- package/features/contentEntry/ContentEntryTraverser/feature.js +10 -0
- package/features/contentEntry/ContentEntryTraverser/feature.js.map +1 -0
- package/features/contentEntry/ContentEntryTraverser/index.d.ts +2 -0
- package/features/contentEntry/ContentEntryTraverser/index.js +4 -0
- package/features/contentEntry/ContentEntryTraverser/index.js.map +1 -0
- package/features/contentEntry/CreateEntry/abstractions.d.ts +1 -0
- package/features/contentEntry/CreateEntry/abstractions.js +1 -0
- package/features/contentEntry/CreateEntry/abstractions.js.map +1 -1
- package/features/contentEntry/CreateEntry/events.d.ts +2 -0
- package/features/contentEntry/CreateEntry/events.js +4 -0
- package/features/contentEntry/CreateEntry/events.js.map +1 -1
- package/features/contentEntry/CreateEntryRevisionFrom/abstractions.d.ts +1 -0
- package/features/contentEntry/CreateEntryRevisionFrom/abstractions.js +1 -0
- package/features/contentEntry/CreateEntryRevisionFrom/abstractions.js.map +1 -1
- package/features/contentEntry/CreateEntryRevisionFrom/events.d.ts +2 -0
- package/features/contentEntry/CreateEntryRevisionFrom/events.js +4 -0
- package/features/contentEntry/CreateEntryRevisionFrom/events.js.map +1 -1
- package/features/contentEntry/DeleteEntry/abstractions.d.ts +2 -0
- package/features/contentEntry/DeleteEntry/abstractions.js +2 -0
- package/features/contentEntry/DeleteEntry/abstractions.js.map +1 -1
- package/features/contentEntry/DeleteEntry/events.d.ts +2 -0
- package/features/contentEntry/DeleteEntry/events.js +4 -0
- package/features/contentEntry/DeleteEntry/events.js.map +1 -1
- package/features/contentEntry/DeleteEntryRevision/abstractions.d.ts +1 -0
- package/features/contentEntry/DeleteEntryRevision/abstractions.js +1 -0
- package/features/contentEntry/DeleteEntryRevision/abstractions.js.map +1 -1
- package/features/contentEntry/DeleteEntryRevision/events.d.ts +2 -0
- package/features/contentEntry/DeleteEntryRevision/events.js +4 -0
- package/features/contentEntry/DeleteEntryRevision/events.js.map +1 -1
- package/features/contentEntry/DeleteMultipleEntries/abstractions.d.ts +1 -0
- package/features/contentEntry/DeleteMultipleEntries/abstractions.js +1 -0
- package/features/contentEntry/DeleteMultipleEntries/abstractions.js.map +1 -1
- package/features/contentEntry/DeleteMultipleEntries/events.d.ts +2 -0
- package/features/contentEntry/DeleteMultipleEntries/events.js +4 -0
- package/features/contentEntry/DeleteMultipleEntries/events.js.map +1 -1
- package/features/contentEntry/GetEntriesByIds/abstractions.d.ts +1 -0
- package/features/contentEntry/GetEntriesByIds/abstractions.js +1 -0
- package/features/contentEntry/GetEntriesByIds/abstractions.js.map +1 -1
- package/features/contentEntry/GetEntry/abstractions.d.ts +1 -0
- package/features/contentEntry/GetEntry/abstractions.js +1 -0
- package/features/contentEntry/GetEntry/abstractions.js.map +1 -1
- package/features/contentEntry/GetEntryById/abstractions.d.ts +1 -0
- package/features/contentEntry/GetEntryById/abstractions.js +1 -0
- package/features/contentEntry/GetEntryById/abstractions.js.map +1 -1
- package/features/contentEntry/GetLatestEntriesByIds/abstractions.d.ts +1 -0
- package/features/contentEntry/GetLatestEntriesByIds/abstractions.js +1 -0
- package/features/contentEntry/GetLatestEntriesByIds/abstractions.js.map +1 -1
- package/features/contentEntry/GetLatestRevisionByEntryId/abstractions.d.ts +4 -9
- package/features/contentEntry/GetLatestRevisionByEntryId/abstractions.js +4 -9
- package/features/contentEntry/GetLatestRevisionByEntryId/abstractions.js.map +1 -1
- package/features/contentEntry/GetPreviousRevisionByEntryId/abstractions.d.ts +2 -3
- package/features/contentEntry/GetPreviousRevisionByEntryId/abstractions.js +2 -3
- package/features/contentEntry/GetPreviousRevisionByEntryId/abstractions.js.map +1 -1
- package/features/contentEntry/GetPublishedEntriesByIds/abstractions.d.ts +1 -0
- package/features/contentEntry/GetPublishedEntriesByIds/abstractions.js +1 -0
- package/features/contentEntry/GetPublishedEntriesByIds/abstractions.js.map +1 -1
- package/features/contentEntry/GetPublishedRevisionByEntryId/abstractions.d.ts +1 -0
- package/features/contentEntry/GetPublishedRevisionByEntryId/abstractions.js +1 -0
- package/features/contentEntry/GetPublishedRevisionByEntryId/abstractions.js.map +1 -1
- package/features/contentEntry/GetRevisionById/abstractions.d.ts +1 -0
- package/features/contentEntry/GetRevisionById/abstractions.js +1 -0
- package/features/contentEntry/GetRevisionById/abstractions.js.map +1 -1
- package/features/contentEntry/GetRevisionsByEntryId/abstractions.d.ts +1 -0
- package/features/contentEntry/GetRevisionsByEntryId/abstractions.js +1 -0
- package/features/contentEntry/GetRevisionsByEntryId/abstractions.js.map +1 -1
- package/features/contentEntry/GetSingletonEntry/abstractions.d.ts +1 -0
- package/features/contentEntry/GetSingletonEntry/abstractions.js +1 -0
- package/features/contentEntry/GetSingletonEntry/abstractions.js.map +1 -1
- package/features/contentEntry/ListEntries/ListEntriesRepository.js +6 -1
- package/features/contentEntry/ListEntries/ListEntriesRepository.js.map +1 -1
- package/features/contentEntry/ListEntries/abstractions.d.ts +4 -0
- package/features/contentEntry/ListEntries/abstractions.js +4 -0
- package/features/contentEntry/ListEntries/abstractions.js.map +1 -1
- package/features/contentEntry/MoveEntry/abstractions.d.ts +1 -0
- package/features/contentEntry/MoveEntry/abstractions.js +1 -0
- package/features/contentEntry/MoveEntry/abstractions.js.map +1 -1
- package/features/contentEntry/MoveEntry/events.d.ts +2 -0
- package/features/contentEntry/MoveEntry/events.js +4 -0
- package/features/contentEntry/MoveEntry/events.js.map +1 -1
- package/features/contentEntry/PublishEntry/abstractions.d.ts +1 -0
- package/features/contentEntry/PublishEntry/abstractions.js +1 -0
- package/features/contentEntry/PublishEntry/abstractions.js.map +1 -1
- package/features/contentEntry/PublishEntry/events.d.ts +2 -0
- package/features/contentEntry/PublishEntry/events.js +4 -0
- package/features/contentEntry/PublishEntry/events.js.map +1 -1
- package/features/contentEntry/RepublishEntry/abstractions.d.ts +1 -0
- package/features/contentEntry/RepublishEntry/abstractions.js +1 -0
- package/features/contentEntry/RepublishEntry/abstractions.js.map +1 -1
- package/features/contentEntry/RepublishEntry/events.d.ts +2 -0
- package/features/contentEntry/RepublishEntry/events.js +4 -0
- package/features/contentEntry/RepublishEntry/events.js.map +1 -1
- package/features/contentEntry/RestoreEntryFromBin/abstractions.d.ts +1 -0
- package/features/contentEntry/RestoreEntryFromBin/abstractions.js +1 -0
- package/features/contentEntry/RestoreEntryFromBin/abstractions.js.map +1 -1
- package/features/contentEntry/RestoreEntryFromBin/events.d.ts +2 -0
- package/features/contentEntry/RestoreEntryFromBin/events.js +4 -0
- package/features/contentEntry/RestoreEntryFromBin/events.js.map +1 -1
- package/features/contentEntry/UnpublishEntry/abstractions.d.ts +1 -0
- package/features/contentEntry/UnpublishEntry/abstractions.js +1 -0
- package/features/contentEntry/UnpublishEntry/abstractions.js.map +1 -1
- package/features/contentEntry/UnpublishEntry/events.d.ts +2 -0
- package/features/contentEntry/UnpublishEntry/events.js +4 -0
- package/features/contentEntry/UnpublishEntry/events.js.map +1 -1
- package/features/contentEntry/UpdateEntry/abstractions.d.ts +1 -0
- package/features/contentEntry/UpdateEntry/abstractions.js +1 -0
- package/features/contentEntry/UpdateEntry/abstractions.js.map +1 -1
- package/features/contentEntry/UpdateEntry/events.d.ts +2 -0
- package/features/contentEntry/UpdateEntry/events.js +4 -0
- package/features/contentEntry/UpdateEntry/events.js.map +1 -1
- package/features/contentEntry/UpdateSingletonEntry/abstractions.d.ts +1 -0
- package/features/contentEntry/UpdateSingletonEntry/abstractions.js +1 -0
- package/features/contentEntry/UpdateSingletonEntry/abstractions.js.map +1 -1
- package/features/contentEntry/ValidateEntry/abstractions.d.ts +1 -0
- package/features/contentEntry/ValidateEntry/abstractions.js +1 -0
- package/features/contentEntry/ValidateEntry/abstractions.js.map +1 -1
- package/features/contentModel/CreateModel/abstractions.d.ts +1 -0
- package/features/contentModel/CreateModel/abstractions.js +1 -0
- package/features/contentModel/CreateModel/abstractions.js.map +1 -1
- package/features/contentModel/CreateModel/events.d.ts +2 -0
- package/features/contentModel/CreateModel/events.js +4 -0
- package/features/contentModel/CreateModel/events.js.map +1 -1
- package/features/contentModel/CreateModelFrom/abstractions.d.ts +1 -0
- package/features/contentModel/CreateModelFrom/abstractions.js +1 -0
- package/features/contentModel/CreateModelFrom/abstractions.js.map +1 -1
- package/features/contentModel/CreateModelFrom/events.d.ts +2 -0
- package/features/contentModel/CreateModelFrom/events.js +4 -0
- package/features/contentModel/CreateModelFrom/events.js.map +1 -1
- package/features/contentModel/DeleteModel/abstractions.d.ts +1 -0
- package/features/contentModel/DeleteModel/abstractions.js +1 -0
- package/features/contentModel/DeleteModel/abstractions.js.map +1 -1
- package/features/contentModel/DeleteModel/events.d.ts +2 -0
- package/features/contentModel/DeleteModel/events.js +4 -0
- package/features/contentModel/DeleteModel/events.js.map +1 -1
- package/features/contentModel/GetModel/abstractions.d.ts +1 -0
- package/features/contentModel/GetModel/abstractions.js +1 -0
- package/features/contentModel/GetModel/abstractions.js.map +1 -1
- package/features/contentModel/ListModels/abstractions.d.ts +1 -0
- package/features/contentModel/ListModels/abstractions.js +1 -0
- package/features/contentModel/ListModels/abstractions.js.map +1 -1
- package/features/contentModel/UpdateModel/abstractions.d.ts +1 -0
- package/features/contentModel/UpdateModel/abstractions.js +1 -0
- package/features/contentModel/UpdateModel/abstractions.js.map +1 -1
- package/features/contentModel/UpdateModel/events.d.ts +2 -0
- package/features/contentModel/UpdateModel/events.js +4 -0
- package/features/contentModel/UpdateModel/events.js.map +1 -1
- package/features/contentModelGroup/CreateGroup/abstractions.d.ts +1 -0
- package/features/contentModelGroup/CreateGroup/abstractions.js +1 -0
- package/features/contentModelGroup/CreateGroup/abstractions.js.map +1 -1
- package/features/contentModelGroup/CreateGroup/events.d.ts +2 -0
- package/features/contentModelGroup/CreateGroup/events.js +4 -0
- package/features/contentModelGroup/CreateGroup/events.js.map +1 -1
- package/features/contentModelGroup/DeleteGroup/abstractions.d.ts +1 -0
- package/features/contentModelGroup/DeleteGroup/abstractions.js +1 -0
- package/features/contentModelGroup/DeleteGroup/abstractions.js.map +1 -1
- package/features/contentModelGroup/DeleteGroup/events.d.ts +2 -0
- package/features/contentModelGroup/DeleteGroup/events.js +4 -0
- package/features/contentModelGroup/DeleteGroup/events.js.map +1 -1
- package/features/contentModelGroup/GetGroup/abstractions.d.ts +1 -0
- package/features/contentModelGroup/GetGroup/abstractions.js +1 -0
- package/features/contentModelGroup/GetGroup/abstractions.js.map +1 -1
- package/features/contentModelGroup/ListGroups/abstractions.d.ts +1 -0
- package/features/contentModelGroup/ListGroups/abstractions.js +1 -0
- package/features/contentModelGroup/ListGroups/abstractions.js.map +1 -1
- package/features/contentModelGroup/UpdateGroup/abstractions.d.ts +1 -0
- package/features/contentModelGroup/UpdateGroup/abstractions.js +1 -0
- package/features/contentModelGroup/UpdateGroup/abstractions.js.map +1 -1
- package/features/contentModelGroup/UpdateGroup/events.d.ts +2 -0
- package/features/contentModelGroup/UpdateGroup/events.js +4 -0
- package/features/contentModelGroup/UpdateGroup/events.js.map +1 -1
- package/features/contentModelGroup/shared/abstractions.d.ts +1 -0
- package/features/contentModelGroup/shared/abstractions.js +1 -0
- package/features/contentModelGroup/shared/abstractions.js.map +1 -1
- package/features/modelBuilder/abstractions.d.ts +8 -4
- package/features/modelBuilder/abstractions.js +5 -2
- package/features/modelBuilder/abstractions.js.map +1 -1
- package/features/modelBuilder/fields/BooleanFieldType.d.ts +6 -4
- package/features/modelBuilder/fields/BooleanFieldType.js +2 -2
- package/features/modelBuilder/fields/BooleanFieldType.js.map +1 -1
- package/features/modelBuilder/fields/DataFieldBuilder.d.ts +6 -14
- package/features/modelBuilder/fields/DataFieldBuilder.js +1 -9
- package/features/modelBuilder/fields/DataFieldBuilder.js.map +1 -1
- package/features/modelBuilder/fields/DateTimeFieldType.d.ts +3 -3
- package/features/modelBuilder/fields/DateTimeFieldType.js +2 -2
- package/features/modelBuilder/fields/DateTimeFieldType.js.map +1 -1
- package/features/modelBuilder/fields/DynamicZoneFieldType.d.ts +2 -2
- package/features/modelBuilder/fields/DynamicZoneFieldType.js +2 -2
- package/features/modelBuilder/fields/DynamicZoneFieldType.js.map +1 -1
- package/features/modelBuilder/fields/FieldBuilder.d.ts +2 -2
- package/features/modelBuilder/fields/FieldBuilder.js +1 -1
- package/features/modelBuilder/fields/FieldBuilder.js.map +1 -1
- package/features/modelBuilder/fields/FieldBuilderRegistry.d.ts +3 -3
- package/features/modelBuilder/fields/FileFieldType.d.ts +3 -3
- package/features/modelBuilder/fields/FileFieldType.js +2 -2
- package/features/modelBuilder/fields/FileFieldType.js.map +1 -1
- package/features/modelBuilder/fields/JsonFieldType.d.ts +2 -2
- package/features/modelBuilder/fields/JsonFieldType.js +2 -2
- package/features/modelBuilder/fields/JsonFieldType.js.map +1 -1
- package/features/modelBuilder/fields/LongTextFieldType.d.ts +3 -4
- package/features/modelBuilder/fields/LongTextFieldType.js +2 -2
- package/features/modelBuilder/fields/LongTextFieldType.js.map +1 -1
- package/features/modelBuilder/fields/NumberFieldType.d.ts +3 -3
- package/features/modelBuilder/fields/NumberFieldType.js +2 -2
- package/features/modelBuilder/fields/NumberFieldType.js.map +1 -1
- package/features/modelBuilder/fields/ObjectFieldType.d.ts +3 -3
- package/features/modelBuilder/fields/ObjectFieldType.js +2 -2
- package/features/modelBuilder/fields/ObjectFieldType.js.map +1 -1
- package/features/modelBuilder/fields/RefFieldType.d.ts +3 -3
- package/features/modelBuilder/fields/RefFieldType.js +2 -2
- package/features/modelBuilder/fields/RefFieldType.js.map +1 -1
- package/features/modelBuilder/fields/RichTextFieldType.d.ts +2 -2
- package/features/modelBuilder/fields/RichTextFieldType.js +2 -2
- package/features/modelBuilder/fields/RichTextFieldType.js.map +1 -1
- package/features/modelBuilder/fields/SearchableJsonFieldType.d.ts +2 -2
- package/features/modelBuilder/fields/SearchableJsonFieldType.js +2 -2
- package/features/modelBuilder/fields/SearchableJsonFieldType.js.map +1 -1
- package/features/modelBuilder/fields/TextFieldType.d.ts +3 -3
- package/features/modelBuilder/fields/TextFieldType.js +2 -2
- package/features/modelBuilder/fields/TextFieldType.js.map +1 -1
- package/features/modelBuilder/fields/abstractions.d.ts +4 -1
- package/features/modelBuilder/fields/abstractions.js +1 -1
- package/features/modelBuilder/fields/abstractions.js.map +1 -1
- package/features/modelBuilder/fields/{validators.d.ts → fieldTypeValidator.d.ts} +22 -0
- package/features/modelBuilder/fields/fieldTypeValidator.js +31 -0
- package/features/modelBuilder/fields/fieldTypeValidator.js.map +1 -0
- package/features/sortMapper/abstractions.d.ts +1 -0
- package/features/sortMapper/abstractions.js +1 -0
- package/features/sortMapper/abstractions.js.map +1 -1
- package/features/whereMapper/abstractions.d.ts +1 -0
- package/features/whereMapper/abstractions.js +1 -0
- package/features/whereMapper/abstractions.js.map +1 -1
- package/graphql/schema/cms/listEntriesResolver.d.ts +1 -0
- package/graphql/schema/cms/listEntriesResolver.js +5 -1
- package/graphql/schema/cms/listEntriesResolver.js.map +1 -1
- package/graphql/schema/cms/typeDefs/query.js +1 -0
- package/graphql/schema/cms/typeDefs/query.js.map +1 -1
- package/graphql/schema/createSingularSDL.js +1 -0
- package/graphql/schema/createSingularSDL.js.map +1 -1
- package/graphql/schema/resolvers/manage/normalizeGraphQlInput.js +4 -1
- package/graphql/schema/resolvers/manage/normalizeGraphQlInput.js.map +1 -1
- package/index.d.ts +2 -1
- package/index.js +2 -1
- package/index.js.map +1 -1
- package/package.json +25 -25
- package/types/context.d.ts +0 -5
- package/types/context.js.map +1 -1
- package/features/modelBuilder/fields/validators.js +0 -3
- package/features/modelBuilder/fields/validators.js.map +0 -1
- /package/{utils/contentEntryTraverser → features/contentEntry/ContentEntryTraverser}/ContentEntryTraverser.js +0 -0
- /package/{utils/contentEntryTraverser → features/contentEntry/ContentEntryTraverser}/ContentEntryTraverser.js.map +0 -0
|
@@ -220,7 +220,9 @@ export const createEntryData = async ({
|
|
|
220
220
|
system: getSystem({
|
|
221
221
|
input: rawInput
|
|
222
222
|
}),
|
|
223
|
-
live:
|
|
223
|
+
live: status === STATUS_PUBLISHED ? {
|
|
224
|
+
version
|
|
225
|
+
} : null
|
|
224
226
|
};
|
|
225
227
|
if (status !== STATUS_DRAFT) {
|
|
226
228
|
if (status === STATUS_PUBLISHED) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["getDate","ROOT_FOLDER","WebinyError","validateModelEntryDataOrThrow","referenceFieldsMapping","createIdentifier","mdbid","STATUS_DRAFT","STATUS_PUBLISHED","STATUS_UNPUBLISHED","getIdentity","getSystem","convertDefaultValue","field","value","type","Boolean","Number","getDefaultValue","settings","list","defaultValue","undefined","predefinedValues","enabled","Array","isArray","values","selectedValue","find","selected","filter","map","createEntryId","input","entryId","id","match","version","cleanInputValues","model","fields","reduce","acc","fieldId","key","createEntryData","rawInput","options","context","getSecurityIdentity","getTenant","accessControl","initialValues","skipValidators","validateEntries","currentIdentity","currentDateTime","Date","status","ensureCanAccessEntry","pw","locked","revisionLevelPublishingMetaFields","revisionFirstPublishedOn","revisionLastPublishedOn","revisionFirstPublishedBy","revisionLastPublishedBy","entryLevelPublishingMetaFields","firstPublishedOn","lastPublishedOn","firstPublishedBy","lastPublishedBy","entry","tenant","modelId","createdOn","modifiedOn","savedOn","deletedOn","restoredOn","createdBy","modifiedBy","savedBy","deletedBy","restoredBy","revisionCreatedOn","revisionModifiedOn","revisionSavedOn","revisionDeletedOn","revisionRestoredOn","revisionCreatedBy","revisionModifiedBy","revisionSavedBy","revisionDeletedBy","revisionRestoredBy","location","folderId","wbyAco_location","system","live","structuredClone"],"sources":["createEntryData.ts"],"sourcesContent":["import type {\n CmsContext,\n CmsEntry,\n CmsEntryValues,\n CmsModel,\n CmsModelField,\n CreateCmsEntryInput,\n CreateCmsEntryOptionsInput\n} from \"~/types/index.js\";\nimport { getDate } from \"~/utils/date.js\";\nimport { ROOT_FOLDER } from \"~/constants.js\";\nimport WebinyError from \"@webiny/error\";\nimport { validateModelEntryDataOrThrow } from \"~/crud/contentEntry/entryDataValidation.js\";\nimport { referenceFieldsMapping } from \"~/crud/contentEntry/referenceFieldsMapping.js\";\nimport { createIdentifier, mdbid } from \"@webiny/utils\";\nimport { STATUS_DRAFT, STATUS_PUBLISHED, STATUS_UNPUBLISHED } from \"./statuses.js\";\nimport { getIdentity } from \"~/utils/identity.js\";\nimport type { AccessControl } from \"~/crud/AccessControl/AccessControl.js\";\nimport { getSystem } from \"./system.js\";\nimport type { SecurityIdentity } from \"@webiny/api-core/types/security.js\";\nimport type { Tenant } from \"@webiny/api-core/types/tenancy.js\";\n\ntype DefaultValue = boolean | number | string | null;\n\n/**\n * Used for some fields to convert their values.\n */\nconst convertDefaultValue = (field: CmsModelField, value: DefaultValue): DefaultValue => {\n switch (field.type) {\n case \"boolean\":\n return Boolean(value);\n case \"number\":\n return Number(value);\n default:\n return value;\n }\n};\n\nconst getDefaultValue = (field: CmsModelField): (DefaultValue | DefaultValue[]) | undefined => {\n const { settings, list } = field;\n if (settings && settings.defaultValue !== undefined) {\n return convertDefaultValue(field, settings.defaultValue);\n }\n const { predefinedValues } = field;\n if (\n !predefinedValues ||\n !predefinedValues.enabled ||\n Array.isArray(predefinedValues.values) === false\n ) {\n return undefined;\n }\n if (!list) {\n const selectedValue = predefinedValues.values.find(value => {\n return !!value.selected;\n });\n if (selectedValue) {\n return convertDefaultValue(field, selectedValue.value);\n }\n return undefined;\n }\n return predefinedValues.values\n .filter(({ selected }) => !!selected)\n .map(({ value }) => {\n return convertDefaultValue(field, value);\n });\n};\n\nconst createEntryId = (input: CreateCmsEntryInput) => {\n let entryId = mdbid();\n if (input.id) {\n if (input.id.match(/^([a-zA-Z0-9])([a-zA-Z0-9\\-]+)([a-zA-Z0-9])$/) === null) {\n throw new WebinyError(\n \"The provided ID is not valid. It must be a string which can be A-Z, a-z, 0-9, - and it cannot start or end with a -.\",\n \"INVALID_ID\",\n {\n id: input.id\n }\n );\n }\n entryId = input.id;\n }\n const version = 1;\n return {\n entryId,\n version,\n id: createIdentifier({\n id: entryId,\n version\n })\n };\n};\n\n/**\n * Cleans and adds default values to create input data.\n */\nconst cleanInputValues = <TValues extends CmsEntryValues = CmsEntryValues>(\n model: CmsModel,\n input: TValues\n) => {\n return model.fields.reduce<TValues>((acc, field) => {\n /**\n * This should never happen, but let's make it sure.\n * The fix would be for the user to add the fieldId on the field definition.\n */\n if (!field.fieldId) {\n throw new WebinyError(\"Field does not have an fieldId.\", \"MISSING_FIELD_ID\", {\n field\n });\n }\n const key = field.fieldId as keyof TValues;\n const value = input[key] as TValues[keyof TValues];\n /**\n * We set the default value on create input if value is not defined.\n */\n acc[key] = value === undefined ? (getDefaultValue(field) as TValues[keyof TValues]) : value;\n return acc;\n }, {} as TValues);\n};\n\ninterface CreateEntryDataParams<TValues extends CmsEntryValues = CmsEntryValues> {\n model: CmsModel;\n rawInput: CreateCmsEntryInput<TValues>;\n options?: CreateCmsEntryOptionsInput;\n context: CmsContext;\n getIdentity: () => SecurityIdentity;\n getTenant: () => Tenant;\n accessControl: AccessControl;\n}\n\ninterface ICreateEntryDataResponse<TValues extends CmsEntryValues = CmsEntryValues> {\n entry: CmsEntry<TValues>;\n input: CreateCmsEntryInput<TValues>;\n}\n\nexport const createEntryData = async <TValues extends CmsEntryValues = CmsEntryValues>({\n model,\n rawInput,\n options,\n context,\n getIdentity: getSecurityIdentity,\n getTenant,\n accessControl\n}: CreateEntryDataParams<TValues>): Promise<ICreateEntryDataResponse<TValues>> => {\n const initialValues = cleanInputValues<TValues>(model, rawInput.values || ({} as TValues));\n\n await validateModelEntryDataOrThrow({\n context,\n model,\n values: initialValues,\n skipValidators: options?.skipValidators\n });\n\n const values = await referenceFieldsMapping<TValues>({\n context,\n model,\n values: initialValues,\n validateEntries: true\n });\n\n const { id, entryId, version } = createEntryId(rawInput);\n\n /**\n * There is a possibility that user sends an ID in the input, so we will use that one.\n * There is no check if the ID is unique or not, that is up to the user.\n */\n const currentIdentity = getSecurityIdentity();\n const currentDateTime = new Date();\n\n /**\n * Users can set the initial status of the entry. If so, we need to make\n * sure they have the required permissions and also that all the fields\n * are filled in correctly.\n */\n const status = rawInput.status || STATUS_DRAFT;\n if (status !== STATUS_DRAFT) {\n if (status === STATUS_PUBLISHED) {\n await accessControl.ensureCanAccessEntry({ model, pw: \"p\" });\n } else if (status === STATUS_UNPUBLISHED) {\n // If setting the status other than draft, we have to check if the user has permissions to publish.\n await accessControl.ensureCanAccessEntry({ model, pw: \"u\" });\n }\n }\n\n const locked = status !== STATUS_DRAFT;\n\n let revisionLevelPublishingMetaFields: Pick<\n CmsEntry,\n | \"revisionFirstPublishedOn\"\n | \"revisionLastPublishedOn\"\n | \"revisionFirstPublishedBy\"\n | \"revisionLastPublishedBy\"\n > = {\n revisionFirstPublishedOn: null,\n revisionLastPublishedOn: null,\n revisionFirstPublishedBy: null,\n revisionLastPublishedBy: null\n };\n\n let entryLevelPublishingMetaFields: Pick<\n CmsEntry,\n \"firstPublishedOn\" | \"lastPublishedOn\" | \"firstPublishedBy\" | \"lastPublishedBy\"\n > = {\n firstPublishedOn: null,\n lastPublishedOn: null,\n firstPublishedBy: null,\n lastPublishedBy: null\n };\n\n if (status === STATUS_PUBLISHED) {\n revisionLevelPublishingMetaFields = {\n revisionFirstPublishedOn: getDate(rawInput.revisionFirstPublishedOn, currentDateTime),\n revisionLastPublishedOn: getDate(rawInput.revisionLastPublishedOn, currentDateTime),\n revisionFirstPublishedBy: getIdentity(\n rawInput.revisionFirstPublishedBy,\n currentIdentity\n ),\n revisionLastPublishedBy: getIdentity(rawInput.revisionLastPublishedBy, currentIdentity)\n };\n\n entryLevelPublishingMetaFields = {\n firstPublishedOn: getDate(rawInput.firstPublishedOn, currentDateTime),\n lastPublishedOn: getDate(rawInput.lastPublishedOn, currentDateTime),\n firstPublishedBy: getIdentity(rawInput.firstPublishedBy, currentIdentity),\n lastPublishedBy: getIdentity(rawInput.lastPublishedBy, currentIdentity)\n };\n }\n\n const entry: CmsEntry<TValues> = {\n tenant: getTenant().id,\n entryId,\n id,\n modelId: model.modelId,\n\n /**\n * Entry-level meta fields. 👇\n */\n createdOn: getDate(rawInput.createdOn, currentDateTime),\n modifiedOn: getDate(rawInput.modifiedOn, null),\n savedOn: getDate(rawInput.savedOn, currentDateTime),\n deletedOn: getDate(rawInput.deletedOn, null),\n restoredOn: getDate(rawInput.restoredOn, null),\n createdBy: getIdentity(rawInput.createdBy, currentIdentity)!,\n modifiedBy: getIdentity(rawInput.modifiedBy, null),\n savedBy: getIdentity(rawInput.savedBy, currentIdentity)!,\n deletedBy: getIdentity(rawInput.deletedBy, null),\n restoredBy: getIdentity(rawInput.restoredBy, null),\n ...entryLevelPublishingMetaFields,\n\n /**\n * Revision-level meta fields. 👇\n */\n revisionCreatedOn: getDate(rawInput.revisionCreatedOn, currentDateTime),\n revisionModifiedOn: getDate(rawInput.revisionModifiedOn, null),\n revisionSavedOn: getDate(rawInput.revisionSavedOn, currentDateTime),\n revisionDeletedOn: getDate(rawInput.revisionDeletedOn, null),\n revisionRestoredOn: getDate(rawInput.revisionRestoredOn, null),\n revisionCreatedBy: getIdentity(rawInput.revisionCreatedBy, currentIdentity)!,\n revisionModifiedBy: getIdentity(rawInput.revisionModifiedBy, null),\n revisionSavedBy: getIdentity(rawInput.revisionSavedBy, currentIdentity)!,\n revisionDeletedBy: getIdentity(rawInput.revisionDeletedBy, null),\n revisionRestoredBy: getIdentity(rawInput.revisionRestoredBy, null),\n ...revisionLevelPublishingMetaFields,\n\n version,\n status,\n locked,\n values,\n location: {\n folderId:\n rawInput.location?.folderId || rawInput.wbyAco_location?.folderId || ROOT_FOLDER\n },\n system: getSystem({\n input: rawInput\n }),\n live: null\n };\n\n if (status !== STATUS_DRAFT) {\n if (status === STATUS_PUBLISHED) {\n await accessControl.ensureCanAccessEntry({ model, entry, pw: \"p\" });\n } else if (status === STATUS_UNPUBLISHED) {\n // If setting the status other than draft, we have to check if the user has permissions to publish.\n await accessControl.ensureCanAccessEntry({ model, entry, pw: \"u\" });\n }\n }\n\n return {\n entry,\n input: {\n ...rawInput,\n values: structuredClone(values)\n }\n };\n};\n"],"mappings":"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","ignoreList":[]}
|
|
1
|
+
{"version":3,"names":["getDate","ROOT_FOLDER","WebinyError","validateModelEntryDataOrThrow","referenceFieldsMapping","createIdentifier","mdbid","STATUS_DRAFT","STATUS_PUBLISHED","STATUS_UNPUBLISHED","getIdentity","getSystem","convertDefaultValue","field","value","type","Boolean","Number","getDefaultValue","settings","list","defaultValue","undefined","predefinedValues","enabled","Array","isArray","values","selectedValue","find","selected","filter","map","createEntryId","input","entryId","id","match","version","cleanInputValues","model","fields","reduce","acc","fieldId","key","createEntryData","rawInput","options","context","getSecurityIdentity","getTenant","accessControl","initialValues","skipValidators","validateEntries","currentIdentity","currentDateTime","Date","status","ensureCanAccessEntry","pw","locked","revisionLevelPublishingMetaFields","revisionFirstPublishedOn","revisionLastPublishedOn","revisionFirstPublishedBy","revisionLastPublishedBy","entryLevelPublishingMetaFields","firstPublishedOn","lastPublishedOn","firstPublishedBy","lastPublishedBy","entry","tenant","modelId","createdOn","modifiedOn","savedOn","deletedOn","restoredOn","createdBy","modifiedBy","savedBy","deletedBy","restoredBy","revisionCreatedOn","revisionModifiedOn","revisionSavedOn","revisionDeletedOn","revisionRestoredOn","revisionCreatedBy","revisionModifiedBy","revisionSavedBy","revisionDeletedBy","revisionRestoredBy","location","folderId","wbyAco_location","system","live","structuredClone"],"sources":["createEntryData.ts"],"sourcesContent":["import type {\n CmsContext,\n CmsEntry,\n CmsEntryValues,\n CmsModel,\n CmsModelField,\n CreateCmsEntryInput,\n CreateCmsEntryOptionsInput\n} from \"~/types/index.js\";\nimport { getDate } from \"~/utils/date.js\";\nimport { ROOT_FOLDER } from \"~/constants.js\";\nimport WebinyError from \"@webiny/error\";\nimport { validateModelEntryDataOrThrow } from \"~/crud/contentEntry/entryDataValidation.js\";\nimport { referenceFieldsMapping } from \"~/crud/contentEntry/referenceFieldsMapping.js\";\nimport { createIdentifier, mdbid } from \"@webiny/utils\";\nimport { STATUS_DRAFT, STATUS_PUBLISHED, STATUS_UNPUBLISHED } from \"./statuses.js\";\nimport { getIdentity } from \"~/utils/identity.js\";\nimport type { AccessControl } from \"~/crud/AccessControl/AccessControl.js\";\nimport { getSystem } from \"./system.js\";\nimport type { SecurityIdentity } from \"@webiny/api-core/types/security.js\";\nimport type { Tenant } from \"@webiny/api-core/types/tenancy.js\";\n\ntype DefaultValue = boolean | number | string | null;\n\n/**\n * Used for some fields to convert their values.\n */\nconst convertDefaultValue = (field: CmsModelField, value: DefaultValue): DefaultValue => {\n switch (field.type) {\n case \"boolean\":\n return Boolean(value);\n case \"number\":\n return Number(value);\n default:\n return value;\n }\n};\n\nconst getDefaultValue = (field: CmsModelField): (DefaultValue | DefaultValue[]) | undefined => {\n const { settings, list } = field;\n if (settings && settings.defaultValue !== undefined) {\n return convertDefaultValue(field, settings.defaultValue);\n }\n const { predefinedValues } = field;\n if (\n !predefinedValues ||\n !predefinedValues.enabled ||\n Array.isArray(predefinedValues.values) === false\n ) {\n return undefined;\n }\n if (!list) {\n const selectedValue = predefinedValues.values.find(value => {\n return !!value.selected;\n });\n if (selectedValue) {\n return convertDefaultValue(field, selectedValue.value);\n }\n return undefined;\n }\n return predefinedValues.values\n .filter(({ selected }) => !!selected)\n .map(({ value }) => {\n return convertDefaultValue(field, value);\n });\n};\n\nconst createEntryId = (input: CreateCmsEntryInput) => {\n let entryId = mdbid();\n if (input.id) {\n if (input.id.match(/^([a-zA-Z0-9])([a-zA-Z0-9\\-]+)([a-zA-Z0-9])$/) === null) {\n throw new WebinyError(\n \"The provided ID is not valid. It must be a string which can be A-Z, a-z, 0-9, - and it cannot start or end with a -.\",\n \"INVALID_ID\",\n {\n id: input.id\n }\n );\n }\n entryId = input.id;\n }\n const version = 1;\n return {\n entryId,\n version,\n id: createIdentifier({\n id: entryId,\n version\n })\n };\n};\n\n/**\n * Cleans and adds default values to create input data.\n */\nconst cleanInputValues = <TValues extends CmsEntryValues = CmsEntryValues>(\n model: CmsModel,\n input: TValues\n) => {\n return model.fields.reduce<TValues>((acc, field) => {\n /**\n * This should never happen, but let's make it sure.\n * The fix would be for the user to add the fieldId on the field definition.\n */\n if (!field.fieldId) {\n throw new WebinyError(\"Field does not have an fieldId.\", \"MISSING_FIELD_ID\", {\n field\n });\n }\n const key = field.fieldId as keyof TValues;\n const value = input[key] as TValues[keyof TValues];\n /**\n * We set the default value on create input if value is not defined.\n */\n acc[key] = value === undefined ? (getDefaultValue(field) as TValues[keyof TValues]) : value;\n return acc;\n }, {} as TValues);\n};\n\ninterface CreateEntryDataParams<TValues extends CmsEntryValues = CmsEntryValues> {\n model: CmsModel;\n rawInput: CreateCmsEntryInput<TValues>;\n options?: CreateCmsEntryOptionsInput;\n context: CmsContext;\n getIdentity: () => SecurityIdentity;\n getTenant: () => Tenant;\n accessControl: AccessControl;\n}\n\ninterface ICreateEntryDataResponse<TValues extends CmsEntryValues = CmsEntryValues> {\n entry: CmsEntry<TValues>;\n input: CreateCmsEntryInput<TValues>;\n}\n\nexport const createEntryData = async <TValues extends CmsEntryValues = CmsEntryValues>({\n model,\n rawInput,\n options,\n context,\n getIdentity: getSecurityIdentity,\n getTenant,\n accessControl\n}: CreateEntryDataParams<TValues>): Promise<ICreateEntryDataResponse<TValues>> => {\n const initialValues = cleanInputValues<TValues>(model, rawInput.values || ({} as TValues));\n\n await validateModelEntryDataOrThrow({\n context,\n model,\n values: initialValues,\n skipValidators: options?.skipValidators\n });\n\n const values = await referenceFieldsMapping<TValues>({\n context,\n model,\n values: initialValues,\n validateEntries: true\n });\n\n const { id, entryId, version } = createEntryId(rawInput);\n\n /**\n * There is a possibility that user sends an ID in the input, so we will use that one.\n * There is no check if the ID is unique or not, that is up to the user.\n */\n const currentIdentity = getSecurityIdentity();\n const currentDateTime = new Date();\n\n /**\n * Users can set the initial status of the entry. If so, we need to make\n * sure they have the required permissions and also that all the fields\n * are filled in correctly.\n */\n const status = rawInput.status || STATUS_DRAFT;\n if (status !== STATUS_DRAFT) {\n if (status === STATUS_PUBLISHED) {\n await accessControl.ensureCanAccessEntry({ model, pw: \"p\" });\n } else if (status === STATUS_UNPUBLISHED) {\n // If setting the status other than draft, we have to check if the user has permissions to publish.\n await accessControl.ensureCanAccessEntry({ model, pw: \"u\" });\n }\n }\n\n const locked = status !== STATUS_DRAFT;\n\n let revisionLevelPublishingMetaFields: Pick<\n CmsEntry,\n | \"revisionFirstPublishedOn\"\n | \"revisionLastPublishedOn\"\n | \"revisionFirstPublishedBy\"\n | \"revisionLastPublishedBy\"\n > = {\n revisionFirstPublishedOn: null,\n revisionLastPublishedOn: null,\n revisionFirstPublishedBy: null,\n revisionLastPublishedBy: null\n };\n\n let entryLevelPublishingMetaFields: Pick<\n CmsEntry,\n \"firstPublishedOn\" | \"lastPublishedOn\" | \"firstPublishedBy\" | \"lastPublishedBy\"\n > = {\n firstPublishedOn: null,\n lastPublishedOn: null,\n firstPublishedBy: null,\n lastPublishedBy: null\n };\n\n if (status === STATUS_PUBLISHED) {\n revisionLevelPublishingMetaFields = {\n revisionFirstPublishedOn: getDate(rawInput.revisionFirstPublishedOn, currentDateTime),\n revisionLastPublishedOn: getDate(rawInput.revisionLastPublishedOn, currentDateTime),\n revisionFirstPublishedBy: getIdentity(\n rawInput.revisionFirstPublishedBy,\n currentIdentity\n ),\n revisionLastPublishedBy: getIdentity(rawInput.revisionLastPublishedBy, currentIdentity)\n };\n\n entryLevelPublishingMetaFields = {\n firstPublishedOn: getDate(rawInput.firstPublishedOn, currentDateTime),\n lastPublishedOn: getDate(rawInput.lastPublishedOn, currentDateTime),\n firstPublishedBy: getIdentity(rawInput.firstPublishedBy, currentIdentity),\n lastPublishedBy: getIdentity(rawInput.lastPublishedBy, currentIdentity)\n };\n }\n\n const entry: CmsEntry<TValues> = {\n tenant: getTenant().id,\n entryId,\n id,\n modelId: model.modelId,\n\n /**\n * Entry-level meta fields. 👇\n */\n createdOn: getDate(rawInput.createdOn, currentDateTime),\n modifiedOn: getDate(rawInput.modifiedOn, null),\n savedOn: getDate(rawInput.savedOn, currentDateTime),\n deletedOn: getDate(rawInput.deletedOn, null),\n restoredOn: getDate(rawInput.restoredOn, null),\n createdBy: getIdentity(rawInput.createdBy, currentIdentity)!,\n modifiedBy: getIdentity(rawInput.modifiedBy, null),\n savedBy: getIdentity(rawInput.savedBy, currentIdentity)!,\n deletedBy: getIdentity(rawInput.deletedBy, null),\n restoredBy: getIdentity(rawInput.restoredBy, null),\n ...entryLevelPublishingMetaFields,\n\n /**\n * Revision-level meta fields. 👇\n */\n revisionCreatedOn: getDate(rawInput.revisionCreatedOn, currentDateTime),\n revisionModifiedOn: getDate(rawInput.revisionModifiedOn, null),\n revisionSavedOn: getDate(rawInput.revisionSavedOn, currentDateTime),\n revisionDeletedOn: getDate(rawInput.revisionDeletedOn, null),\n revisionRestoredOn: getDate(rawInput.revisionRestoredOn, null),\n revisionCreatedBy: getIdentity(rawInput.revisionCreatedBy, currentIdentity)!,\n revisionModifiedBy: getIdentity(rawInput.revisionModifiedBy, null),\n revisionSavedBy: getIdentity(rawInput.revisionSavedBy, currentIdentity)!,\n revisionDeletedBy: getIdentity(rawInput.revisionDeletedBy, null),\n revisionRestoredBy: getIdentity(rawInput.revisionRestoredBy, null),\n ...revisionLevelPublishingMetaFields,\n\n version,\n status,\n locked,\n values,\n location: {\n folderId:\n rawInput.location?.folderId || rawInput.wbyAco_location?.folderId || ROOT_FOLDER\n },\n system: getSystem({\n input: rawInput\n }),\n live:\n status === STATUS_PUBLISHED\n ? {\n version\n }\n : null\n };\n\n if (status !== STATUS_DRAFT) {\n if (status === STATUS_PUBLISHED) {\n await accessControl.ensureCanAccessEntry({ model, entry, pw: \"p\" });\n } else if (status === STATUS_UNPUBLISHED) {\n // If setting the status other than draft, we have to check if the user has permissions to publish.\n await accessControl.ensureCanAccessEntry({ model, entry, pw: \"u\" });\n }\n }\n\n return {\n entry,\n input: {\n ...rawInput,\n values: structuredClone(values)\n }\n };\n};\n"],"mappings":"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","ignoreList":[]}
|
|
@@ -1,5 +1,4 @@
|
|
|
1
1
|
import WebinyError from "@webiny/error";
|
|
2
|
-
import { ContentEntryTraverser } from "../utils/contentEntryTraverser/ContentEntryTraverser.js";
|
|
3
2
|
import { CreateEntryUseCase } from "../features/contentEntry/CreateEntry/index.js";
|
|
4
3
|
import { CreateEntryRevisionFromUseCase } from "../features/contentEntry/CreateEntryRevisionFrom/abstractions.js";
|
|
5
4
|
import { UpdateEntryUseCase } from "../features/contentEntry/UpdateEntry/index.js";
|
|
@@ -137,17 +136,7 @@ export const createContentEntryCrud = params => {
|
|
|
137
136
|
}
|
|
138
137
|
return result.value;
|
|
139
138
|
};
|
|
140
|
-
const getEntryTraverser = async modelId => {
|
|
141
|
-
const modelAstConverter = context.cms.getModelToAstConverter();
|
|
142
|
-
const model = await context.cms.getModel(modelId);
|
|
143
|
-
if (!model) {
|
|
144
|
-
throw new Error(`Missing "${modelId}" model!`);
|
|
145
|
-
}
|
|
146
|
-
const modelAst = modelAstConverter.toAst(model);
|
|
147
|
-
return new ContentEntryTraverser(modelAst);
|
|
148
|
-
};
|
|
149
139
|
return {
|
|
150
|
-
getEntryTraverser,
|
|
151
140
|
/**
|
|
152
141
|
* Get entries by exact revision IDs from the database.
|
|
153
142
|
*/
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["WebinyError","ContentEntryTraverser","CreateEntryUseCase","CreateEntryRevisionFromUseCase","UpdateEntryUseCase","ValidateEntryUseCase","MoveEntryUseCase","RepublishEntryUseCase","PublishEntryUseCase","ListDeletedEntriesUseCase","ListLatestEntriesUseCase","ListPublishedEntriesUseCase","ListEntriesUseCase","GetEntriesByIdsUseCase","GetEntryByIdUseCase","GetPublishedEntriesByIdsUseCase","GetLatestEntriesByIdsUseCase","GetRevisionsByEntryIdUseCase","GetEntryUseCase","DeleteEntryRevisionUseCase","DeleteEntryUseCase","DeleteMultipleEntriesUseCase","RestoreEntryFromBinUseCase","UnpublishEntryUseCase","GetUniqueFieldValuesUseCase","createContentEntryCrud","params","context","createEntry","model","rawInput","options","useCase","container","resolve","result","execute","isFail","error","message","code","data","value","createEntryRevisionFrom","sourceId","updateEntry","id","metaInput","validateEntry","input","moveEntry","folderId","modelId","republishEntry","deleteEntryRevision","revisionId","deleteMultipleEntries","publishEntry","unpublishEntry","getUniqueFieldValues","getEntryTraverser","modelAstConverter","cms","getModelToAstConverter","getModel","Error","modelAst","toAst","getEntriesByIds","ids","benchmark","measure","getEntryById","getPublishedEntriesByIds","getLatestEntriesByIds","getEntryRevisions","entryId","getEntry","listEntries","entries","meta","listLatestEntries","listDeletedEntries","listPublishedEntries","deleteEntry","deleteEntryUseCase","restoreEntryFromBin"],"sources":["contentEntry.crud.ts"],"sourcesContent":["import WebinyError from \"@webiny/error\";\nimport type {\n CmsContext,\n CmsEntry,\n CmsEntryContext,\n CmsEntryGetParams,\n CmsEntryListParams,\n CmsEntryMeta,\n CmsEntryValues,\n CmsModel,\n CreateCmsEntryInput,\n CreateCmsEntryOptionsInput,\n CreateFromCmsEntryInput,\n CreateRevisionCmsEntryOptionsInput,\n UpdateCmsEntryInput,\n UpdateCmsEntryOptionsInput\n} from \"~/types/index.js\";\nimport { ContentEntryTraverser } from \"~/utils/contentEntryTraverser/ContentEntryTraverser.js\";\nimport type { GenericRecord } from \"@webiny/api/types.js\";\nimport { CreateEntryUseCase } from \"~/features/contentEntry/CreateEntry/index.js\";\nimport { CreateEntryRevisionFromUseCase } from \"~/features/contentEntry/CreateEntryRevisionFrom/abstractions.js\";\nimport { UpdateEntryUseCase } from \"~/features/contentEntry/UpdateEntry/index.js\";\nimport { ValidateEntryUseCase } from \"~/features/contentEntry/ValidateEntry/abstractions.js\";\nimport { MoveEntryUseCase } from \"~/features/contentEntry/MoveEntry/abstractions.js\";\nimport { RepublishEntryUseCase } from \"~/features/contentEntry/RepublishEntry/abstractions.js\";\nimport { PublishEntryUseCase } from \"~/features/contentEntry/PublishEntry/abstractions.js\";\nimport {\n ListDeletedEntriesUseCase,\n ListLatestEntriesUseCase,\n ListPublishedEntriesUseCase\n} from \"~/features/contentEntry/ListEntries/index.js\";\nimport { ListEntriesUseCase } from \"~/features/contentEntry/ListEntries/abstractions.js\";\nimport { GetEntriesByIdsUseCase } from \"~/features/contentEntry/GetEntriesByIds/index.js\";\nimport { GetEntryByIdUseCase } from \"~/features/contentEntry/GetEntryById/index.js\";\nimport { GetPublishedEntriesByIdsUseCase } from \"~/features/contentEntry/GetPublishedEntriesByIds/index.js\";\nimport { GetLatestEntriesByIdsUseCase } from \"~/features/contentEntry/GetLatestEntriesByIds/index.js\";\nimport { GetRevisionsByEntryIdUseCase } from \"~/features/contentEntry/GetRevisionsByEntryId/index.js\";\nimport { GetEntryUseCase } from \"~/features/contentEntry/GetEntry/index.js\";\nimport { DeleteEntryRevisionUseCase } from \"~/features/contentEntry/DeleteEntryRevision/index.js\";\nimport { DeleteEntryUseCase } from \"~/features/contentEntry/DeleteEntry/index.js\";\nimport { DeleteMultipleEntriesUseCase } from \"~/features/contentEntry/DeleteMultipleEntries/abstractions.js\";\nimport { RestoreEntryFromBinUseCase } from \"~/features/contentEntry/RestoreEntryFromBin/abstractions.js\";\nimport { UnpublishEntryUseCase } from \"~/features/contentEntry/UnpublishEntry/index.js\";\nimport { GetUniqueFieldValuesUseCase } from \"~/features/contentEntry/GetUniqueFieldValues/index.js\";\n\ninterface CreateContentEntryCrudParams {\n context: CmsContext;\n}\n\nexport const createContentEntryCrud = (params: CreateContentEntryCrudParams): CmsEntryContext => {\n const { context } = params;\n\n const createEntry: CmsEntryContext[\"createEntry\"] = async <\n T extends CmsEntryValues = CmsEntryValues\n >(\n model: CmsModel,\n rawInput: CreateCmsEntryInput<T>,\n options?: CreateCmsEntryOptionsInput\n ): Promise<CmsEntry<T>> => {\n // Delegate to new CreateEntry use case\n const useCase = context.container.resolve(CreateEntryUseCase);\n const result = await useCase.execute<T>(model, rawInput, options);\n\n if (result.isFail()) {\n // Convert Result error to WebinyError for backward compatibility\n const error = result.error;\n throw new WebinyError(\n error.message || \"Could not create content entry.\",\n error.code || \"CREATE_ENTRY_ERROR\",\n error.data\n );\n }\n\n return result.value;\n };\n\n const createEntryRevisionFrom: CmsEntryContext[\"createEntryRevisionFrom\"] = async <\n T extends CmsEntryValues = CmsEntryValues\n >(\n model: CmsModel,\n sourceId: string,\n rawInput: CreateFromCmsEntryInput<T>,\n options?: CreateRevisionCmsEntryOptionsInput\n ) => {\n // Delegate to new CreateEntryRevisionFrom use case\n const useCase = context.container.resolve(CreateEntryRevisionFromUseCase);\n const result = await useCase.execute<T>(model, sourceId, rawInput, options);\n\n if (result.isFail()) {\n // Convert Result error to WebinyError for backward compatibility\n const error = result.error;\n throw new WebinyError(\n error.message || \"Could not create entry from existing one.\",\n error.code || \"CREATE_FROM_REVISION_ERROR\",\n error.data\n );\n }\n\n return result.value;\n };\n\n const updateEntry: CmsEntryContext[\"updateEntry\"] = async <\n T extends CmsEntryValues = CmsEntryValues\n >(\n model: CmsModel,\n id: string,\n rawInput: UpdateCmsEntryInput<T>,\n metaInput?: GenericRecord,\n options?: UpdateCmsEntryOptionsInput\n ): Promise<CmsEntry<T>> => {\n // Delegate to new UpdateEntry use case\n const useCase = context.container.resolve(UpdateEntryUseCase);\n const result = await useCase.execute<T>(model, id, rawInput, metaInput, options);\n\n if (result.isFail()) {\n // Convert Result error to WebinyError for backward compatibility\n const error = result.error;\n throw new WebinyError(\n error.message || \"Could not update existing entry.\",\n error.code || \"UPDATE_ERROR\"\n );\n }\n\n return result.value;\n };\n\n const validateEntry = async <T extends CmsEntryValues = CmsEntryValues>(\n model: CmsModel,\n id: string,\n input: UpdateCmsEntryInput<T>\n ) => {\n // Delegate to new ValidateEntry use case\n const useCase = context.container.resolve(ValidateEntryUseCase);\n const result = await useCase.execute<T>(model, id || null, input);\n\n if (result.isFail()) {\n // Convert Result error to WebinyError for backward compatibility\n const error = result.error;\n throw new WebinyError(\n error.message || \"Could not validate entry.\",\n error.code || \"VALIDATION_ERROR\",\n error.data\n );\n }\n\n return result.value;\n };\n\n const moveEntry = async <T extends CmsEntryValues = CmsEntryValues>(\n model: CmsModel,\n id: string,\n folderId: string\n ) => {\n // Delegate to new MoveEntry use case\n const useCase = context.container.resolve(MoveEntryUseCase);\n const result = await useCase.execute<T>(model, id, folderId);\n\n if (result.isFail()) {\n // Convert Result error to WebinyError for backward compatibility\n const error = result.error;\n throw new WebinyError(\n error.message || `Could not move entry \"${id}\" of model \"${model.modelId}\".`,\n error.code || \"MOVE_ENTRY_ERROR\",\n error.data\n );\n }\n\n return result.value;\n };\n\n const republishEntry = async <T extends CmsEntryValues = CmsEntryValues>(\n model: CmsModel,\n id: string\n ) => {\n // Delegate to new RepublishEntry use case\n const useCase = context.container.resolve(RepublishEntryUseCase);\n const result = await useCase.execute<T>(model, id);\n\n if (result.isFail()) {\n // Convert Result error to WebinyError for backward compatibility\n const error = result.error;\n throw new WebinyError(\n error.message || \"Could not republish entry.\",\n error.code || \"REPUBLISH_ERROR\",\n error.data\n );\n }\n\n return result.value;\n };\n\n const deleteEntryRevision: CmsEntryContext[\"deleteEntryRevision\"] = async (\n model,\n revisionId\n ) => {\n const useCase = context.container.resolve(DeleteEntryRevisionUseCase);\n const result = await useCase.execute(model, revisionId);\n\n if (result.isFail()) {\n throw new WebinyError(result.error.message, result.error.code, result.error.data);\n }\n };\n const deleteMultipleEntries: CmsEntryContext[\"deleteMultipleEntries\"] = async (\n model,\n params\n ) => {\n // Delegate to new DeleteMultipleEntries use case\n const useCase = context.container.resolve(DeleteMultipleEntriesUseCase);\n const result = await useCase.execute(model, params);\n\n if (result.isFail()) {\n // Convert Result error to WebinyError for backward compatibility\n const error = result.error;\n throw new WebinyError(\n error.message || \"Could not delete multiple entries.\",\n error.code || \"DELETE_ENTRIES_MULTIPLE_ERROR\",\n error.data\n );\n }\n\n return result.value;\n };\n\n const publishEntry = async <T extends CmsEntryValues = CmsEntryValues>(\n model: CmsModel,\n id: string\n ) => {\n // Delegate to new PublishEntry use case\n const useCase = context.container.resolve(PublishEntryUseCase);\n const result = await useCase.execute<T>(model, id);\n\n if (result.isFail()) {\n // Convert Result error to WebinyError for backward compatibility\n throw new WebinyError(\n result.error.message || \"Could not publish entry.\",\n result.error.code || \"PUBLISH_ERROR\",\n result.error.data\n );\n }\n\n return result.value;\n };\n const unpublishEntry = async <T extends CmsEntryValues = CmsEntryValues>(\n model: CmsModel,\n id: string\n ) => {\n // Delegate to new UnpublishEntry use case\n const useCase = context.container.resolve(UnpublishEntryUseCase);\n const result = await useCase.execute<T>(model, id);\n\n if (result.isFail()) {\n const error = result.error;\n throw new WebinyError(\n error.message || \"Could not unpublish entry.\",\n error.code || \"UNPUBLISH_ERROR\",\n error.data\n );\n }\n\n return result.value;\n };\n\n const getUniqueFieldValues: CmsEntryContext[\"getUniqueFieldValues\"] = async (model, params) => {\n const useCase = context.container.resolve(GetUniqueFieldValuesUseCase);\n const result = await useCase.execute(model, params);\n\n if (result.isFail()) {\n throw new WebinyError(result.error.message, result.error.code, result.error.data);\n }\n\n return result.value;\n };\n\n const getEntryTraverser = async (modelId: string) => {\n const modelAstConverter = context.cms.getModelToAstConverter();\n const model = await context.cms.getModel(modelId);\n if (!model) {\n throw new Error(`Missing \"${modelId}\" model!`);\n }\n\n const modelAst = modelAstConverter.toAst(model);\n return new ContentEntryTraverser(modelAst);\n };\n\n return {\n getEntryTraverser,\n /**\n * Get entries by exact revision IDs from the database.\n */\n async getEntriesByIds<T extends CmsEntryValues = CmsEntryValues>(\n model: CmsModel,\n ids: string[]\n ) {\n return context.benchmark.measure(\n \"headlessCms.crud.entries.getEntriesByIds\",\n async () => {\n const useCase = context.container.resolve(GetEntriesByIdsUseCase);\n const result = await useCase.execute<T>(model, ids);\n\n if (result.isFail()) {\n const error = result.error;\n throw new WebinyError(\n error.message || \"Could not get entries by IDs.\",\n error.code || \"GET_ENTRIES_BY_IDS_ERROR\",\n {\n error,\n ids,\n model\n }\n );\n }\n\n return result.value;\n }\n );\n },\n /**\n * Get a single entry by revision ID from the database.\n */\n async getEntryById<T extends CmsEntryValues = CmsEntryValues>(model: CmsModel, id: string) {\n return context.benchmark.measure(\"headlessCms.crud.entries.getEntryById\", async () => {\n const useCase = context.container.resolve(GetEntryByIdUseCase);\n const result = await useCase.execute<T>(model, id);\n\n if (result.isFail()) {\n const error = result.error;\n throw new WebinyError(\n error.message || `Entry by ID \"${id}\" not found.`,\n error.code || \"GET_ENTRY_BY_ID_ERROR\",\n error.data\n );\n }\n\n return result.value;\n });\n },\n /**\n * Get published revisions by entry IDs.\n */\n async getPublishedEntriesByIds<T extends CmsEntryValues = CmsEntryValues>(\n model: CmsModel,\n ids: string[]\n ) {\n return context.benchmark.measure(\n \"headlessCms.crud.entries.getPublishedEntriesByIds\",\n async () => {\n const useCase = context.container.resolve(GetPublishedEntriesByIdsUseCase);\n const result = await useCase.execute<T>(model, ids);\n\n if (result.isFail()) {\n const error = result.error;\n throw new WebinyError(\n error.message || \"Could not get published entries by IDs.\",\n error.code || \"GET_PUBLISHED_ENTRIES_BY_IDS_ERROR\",\n {\n error,\n ids,\n model\n }\n );\n }\n\n return result.value;\n }\n );\n },\n /**\n * Get the latest revisions by entry IDs.\n */\n async getLatestEntriesByIds<T extends CmsEntryValues = CmsEntryValues>(\n model: CmsModel,\n ids: string[]\n ) {\n return context.benchmark.measure(\n \"headlessCms.crud.entries.getLatestEntriesByIds\",\n async () => {\n const useCase = context.container.resolve(GetLatestEntriesByIdsUseCase);\n const result = await useCase.execute<T>(model, ids);\n\n if (result.isFail()) {\n const error = result.error;\n throw new WebinyError(\n error.message || \"Could not get latest entries by IDs.\",\n error.code || \"GET_LATEST_ENTRIES_BY_IDS_ERROR\",\n {\n error,\n ids,\n model\n }\n );\n }\n\n return result.value;\n }\n );\n },\n async getEntryRevisions<T extends CmsEntryValues = CmsEntryValues>(\n model: CmsModel,\n entryId: string\n ) {\n return context.benchmark.measure(\n \"headlessCms.crud.entries.getEntryRevisions\",\n async () => {\n const useCase = context.container.resolve(GetRevisionsByEntryIdUseCase);\n const result = await useCase.execute<T>(model, entryId);\n\n if (result.isFail()) {\n const error = result.error;\n throw new WebinyError(\n error.message || \"Could not get entry revisions.\",\n error.code || \"GET_ENTRY_REVISIONS_ERROR\",\n {\n error,\n entryId,\n model\n }\n );\n }\n\n return result.value;\n }\n );\n },\n /**\n * @internal\n */\n async getEntry<T extends CmsEntryValues = CmsEntryValues>(\n model: CmsModel,\n params: CmsEntryGetParams\n ): Promise<CmsEntry<T>> {\n return context.benchmark.measure(\"headlessCms.crud.entries.getEntry\", async () => {\n const useCase = context.container.resolve(GetEntryUseCase);\n const result = await useCase.execute<T>(model, params);\n\n if (result.isFail()) {\n const error = result.error;\n throw new WebinyError(\n error.message || \"Entry not found!\",\n error.code || \"GET_ENTRY_ERROR\",\n {\n error,\n params,\n model\n }\n );\n }\n\n return result.value;\n });\n },\n /**\n * @description Should not be used directly. Internal use only!\n *\n * @internal\n */\n async listEntries<T extends CmsEntryValues = CmsEntryValues>(\n model: CmsModel,\n params: CmsEntryListParams\n ): Promise<[CmsEntry<T>[], CmsEntryMeta]> {\n const useCase = context.container.resolve(ListEntriesUseCase);\n const result = await useCase.execute<T>(model, params);\n\n if (result.isFail()) {\n const error = result.error;\n throw new WebinyError(\n error.message || \"Could not list entries.\",\n error.code || \"LIST_ENTRIES_ERROR\",\n {\n error,\n params,\n model\n }\n );\n }\n\n const { entries, meta } = result.value;\n\n return [entries, meta];\n },\n async listLatestEntries<T extends CmsEntryValues = CmsEntryValues>(\n model: CmsModel,\n params?: CmsEntryListParams\n ): Promise<[CmsEntry<T>[], CmsEntryMeta]> {\n const useCase = context.container.resolve(ListLatestEntriesUseCase);\n const result = await useCase.execute<T>(model, params);\n\n if (result.isFail()) {\n const error = result.error;\n throw new WebinyError(\n error.message || \"Could not list latest entries.\",\n error.code || \"LIST_LATEST_ENTRIES_ERROR\",\n {\n error,\n params,\n model\n }\n );\n }\n\n const { entries, meta } = result.value;\n\n return [entries, meta];\n },\n async listDeletedEntries<T extends CmsEntryValues = CmsEntryValues>(\n model: CmsModel,\n params?: CmsEntryListParams\n ): Promise<[CmsEntry<T>[], CmsEntryMeta]> {\n const useCase = context.container.resolve(ListDeletedEntriesUseCase);\n const result = await useCase.execute<T>(model, params);\n\n if (result.isFail()) {\n const error = result.error;\n throw new WebinyError(\n error.message || \"Could not list deleted entries.\",\n error.code || \"LIST_DELETED_ENTRIES_ERROR\",\n {\n error,\n params,\n model\n }\n );\n }\n\n const { entries, meta } = result.value;\n\n return [entries, meta];\n },\n async listPublishedEntries<T extends CmsEntryValues = CmsEntryValues>(\n model: CmsModel,\n params?: CmsEntryListParams\n ): Promise<[CmsEntry<T>[], CmsEntryMeta]> {\n const useCase = context.container.resolve(ListPublishedEntriesUseCase);\n const result = await useCase.execute<T>(model, params);\n\n if (result.isFail()) {\n const error = result.error;\n throw new WebinyError(\n error.message || \"Could not list published entries.\",\n error.code || \"LIST_PUBLISHED_ENTRIES_ERROR\",\n {\n error,\n params,\n model\n }\n );\n }\n\n const { entries, meta } = result.value;\n return [entries, meta];\n },\n async createEntry<T extends CmsEntryValues = CmsEntryValues>(\n model: CmsModel,\n input: CreateCmsEntryInput<T>,\n options?: CreateCmsEntryOptionsInput\n ): Promise<CmsEntry<T>> {\n return context.benchmark.measure(\"headlessCms.crud.entries.createEntry\", async () => {\n return createEntry(model, input, options);\n });\n },\n async createEntryRevisionFrom<T extends CmsEntryValues = CmsEntryValues>(\n model: CmsModel,\n sourceId: string,\n input: CreateFromCmsEntryInput<T>,\n options?: CreateRevisionCmsEntryOptionsInput\n ) {\n return context.benchmark.measure(\n \"headlessCms.crud.entries.createEntryRevisionFrom\",\n async () => {\n return createEntryRevisionFrom<T>(model, sourceId, input, options);\n }\n );\n },\n async updateEntry<T extends CmsEntryValues = CmsEntryValues>(\n model: CmsModel,\n id: string,\n input: UpdateCmsEntryInput<T>,\n meta?: GenericRecord,\n options?: UpdateCmsEntryOptionsInput\n ) {\n return context.benchmark.measure(\"headlessCms.crud.entries.updateEntry\", async () => {\n return updateEntry<T>(model, id, input, meta, options);\n });\n },\n async validateEntry<T extends CmsEntryValues = CmsEntryValues>(\n model: CmsModel,\n id: string,\n input: UpdateCmsEntryInput<T>\n ) {\n return context.benchmark.measure(\"headlessCms.crud.entries.validateEntry\", async () => {\n return validateEntry<T>(model, id, input);\n });\n },\n async moveEntry<T extends CmsEntryValues = CmsEntryValues>(\n model: CmsModel,\n id: string,\n folderId: string\n ) {\n return context.benchmark.measure(\"headlessCms.crud.entries.moveEntry\", async () => {\n return moveEntry<T>(model, id, folderId);\n });\n },\n /**\n * Method used internally. Not documented and should not be used in users systems.\n * @internal\n */\n async republishEntry<T extends CmsEntryValues = CmsEntryValues>(\n model: CmsModel,\n id: string\n ) {\n return context.benchmark.measure(\n \"headlessCms.crud.entries.republishEntry\",\n async () => {\n return republishEntry<T>(model, id);\n }\n );\n },\n async deleteEntryRevision(model, id) {\n return context.benchmark.measure(\n \"headlessCms.crud.entries.deleteEntryRevision\",\n async () => {\n return deleteEntryRevision(model, id);\n }\n );\n },\n async deleteEntry(model, entryId, options) {\n const deleteEntryUseCase = context.container.resolve(DeleteEntryUseCase);\n return context.benchmark.measure(\"headlessCms.crud.entries.deleteEntry\", async () => {\n const result = await deleteEntryUseCase.execute(model, entryId, options ?? {});\n\n if (result.isFail()) {\n throw new WebinyError(\n result.error.message,\n result.error.code,\n result.error.data\n );\n }\n });\n },\n async restoreEntryFromBin<T extends CmsEntryValues = CmsEntryValues>(\n model: CmsModel,\n entryId: string\n ) {\n return context.benchmark.measure(\n \"headlessCms.crud.entries.restoreEntryFromBin\",\n async () => {\n const useCase = context.container.resolve(RestoreEntryFromBinUseCase);\n const result = await useCase.execute<T>(model, entryId);\n if (result.isFail()) {\n throw new WebinyError(\n result.error.message,\n result.error.code,\n result.error.data\n );\n }\n return result.value;\n }\n );\n },\n async deleteMultipleEntries(model, ids) {\n return context.benchmark.measure(\n \"headlessCms.crud.entries.deleteMultipleEntries\",\n async () => {\n return deleteMultipleEntries(model, ids);\n }\n );\n },\n async publishEntry<T extends CmsEntryValues = CmsEntryValues>(model: CmsModel, id: string) {\n return context.benchmark.measure(\"headlessCms.crud.entries.publishEntry\", async () => {\n return publishEntry<T>(model, id);\n });\n },\n async unpublishEntry<T extends CmsEntryValues = CmsEntryValues>(\n model: CmsModel,\n id: string\n ) {\n return context.benchmark.measure(\n \"headlessCms.crud.entries.unpublishEntry\",\n async () => {\n return unpublishEntry<T>(model, id);\n }\n );\n },\n async getUniqueFieldValues(model, params) {\n return context.benchmark.measure(\n \"headlessCms.crud.entries.getUniqueFieldValues\",\n async () => {\n return getUniqueFieldValues(model, params);\n }\n );\n }\n };\n};\n"],"mappings":"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","ignoreList":[]}
|
|
1
|
+
{"version":3,"names":["WebinyError","CreateEntryUseCase","CreateEntryRevisionFromUseCase","UpdateEntryUseCase","ValidateEntryUseCase","MoveEntryUseCase","RepublishEntryUseCase","PublishEntryUseCase","ListDeletedEntriesUseCase","ListLatestEntriesUseCase","ListPublishedEntriesUseCase","ListEntriesUseCase","GetEntriesByIdsUseCase","GetEntryByIdUseCase","GetPublishedEntriesByIdsUseCase","GetLatestEntriesByIdsUseCase","GetRevisionsByEntryIdUseCase","GetEntryUseCase","DeleteEntryRevisionUseCase","DeleteEntryUseCase","DeleteMultipleEntriesUseCase","RestoreEntryFromBinUseCase","UnpublishEntryUseCase","GetUniqueFieldValuesUseCase","createContentEntryCrud","params","context","createEntry","model","rawInput","options","useCase","container","resolve","result","execute","isFail","error","message","code","data","value","createEntryRevisionFrom","sourceId","updateEntry","id","metaInput","validateEntry","input","moveEntry","folderId","modelId","republishEntry","deleteEntryRevision","revisionId","deleteMultipleEntries","publishEntry","unpublishEntry","getUniqueFieldValues","getEntriesByIds","ids","benchmark","measure","getEntryById","getPublishedEntriesByIds","getLatestEntriesByIds","getEntryRevisions","entryId","getEntry","listEntries","entries","meta","listLatestEntries","listDeletedEntries","listPublishedEntries","deleteEntry","deleteEntryUseCase","restoreEntryFromBin"],"sources":["contentEntry.crud.ts"],"sourcesContent":["import WebinyError from \"@webiny/error\";\nimport type {\n CmsContext,\n CmsEntry,\n CmsEntryContext,\n CmsEntryGetParams,\n CmsEntryListParams,\n CmsEntryMeta,\n CmsEntryValues,\n CmsModel,\n CreateCmsEntryInput,\n CreateCmsEntryOptionsInput,\n CreateFromCmsEntryInput,\n CreateRevisionCmsEntryOptionsInput,\n UpdateCmsEntryInput,\n UpdateCmsEntryOptionsInput\n} from \"~/types/index.js\";\nimport type { GenericRecord } from \"@webiny/api/types.js\";\nimport { CreateEntryUseCase } from \"~/features/contentEntry/CreateEntry/index.js\";\nimport { CreateEntryRevisionFromUseCase } from \"~/features/contentEntry/CreateEntryRevisionFrom/abstractions.js\";\nimport { UpdateEntryUseCase } from \"~/features/contentEntry/UpdateEntry/index.js\";\nimport { ValidateEntryUseCase } from \"~/features/contentEntry/ValidateEntry/abstractions.js\";\nimport { MoveEntryUseCase } from \"~/features/contentEntry/MoveEntry/abstractions.js\";\nimport { RepublishEntryUseCase } from \"~/features/contentEntry/RepublishEntry/abstractions.js\";\nimport { PublishEntryUseCase } from \"~/features/contentEntry/PublishEntry/abstractions.js\";\nimport {\n ListDeletedEntriesUseCase,\n ListLatestEntriesUseCase,\n ListPublishedEntriesUseCase\n} from \"~/features/contentEntry/ListEntries/index.js\";\nimport { ListEntriesUseCase } from \"~/features/contentEntry/ListEntries/abstractions.js\";\nimport { GetEntriesByIdsUseCase } from \"~/features/contentEntry/GetEntriesByIds/index.js\";\nimport { GetEntryByIdUseCase } from \"~/features/contentEntry/GetEntryById/index.js\";\nimport { GetPublishedEntriesByIdsUseCase } from \"~/features/contentEntry/GetPublishedEntriesByIds/index.js\";\nimport { GetLatestEntriesByIdsUseCase } from \"~/features/contentEntry/GetLatestEntriesByIds/index.js\";\nimport { GetRevisionsByEntryIdUseCase } from \"~/features/contentEntry/GetRevisionsByEntryId/index.js\";\nimport { GetEntryUseCase } from \"~/features/contentEntry/GetEntry/index.js\";\nimport { DeleteEntryRevisionUseCase } from \"~/features/contentEntry/DeleteEntryRevision/index.js\";\nimport { DeleteEntryUseCase } from \"~/features/contentEntry/DeleteEntry/index.js\";\nimport { DeleteMultipleEntriesUseCase } from \"~/features/contentEntry/DeleteMultipleEntries/abstractions.js\";\nimport { RestoreEntryFromBinUseCase } from \"~/features/contentEntry/RestoreEntryFromBin/abstractions.js\";\nimport { UnpublishEntryUseCase } from \"~/features/contentEntry/UnpublishEntry/index.js\";\nimport { GetUniqueFieldValuesUseCase } from \"~/features/contentEntry/GetUniqueFieldValues/index.js\";\n\ninterface CreateContentEntryCrudParams {\n context: CmsContext;\n}\n\nexport const createContentEntryCrud = (params: CreateContentEntryCrudParams): CmsEntryContext => {\n const { context } = params;\n\n const createEntry: CmsEntryContext[\"createEntry\"] = async <\n T extends CmsEntryValues = CmsEntryValues\n >(\n model: CmsModel,\n rawInput: CreateCmsEntryInput<T>,\n options?: CreateCmsEntryOptionsInput\n ): Promise<CmsEntry<T>> => {\n // Delegate to new CreateEntry use case\n const useCase = context.container.resolve(CreateEntryUseCase);\n const result = await useCase.execute<T>(model, rawInput, options);\n\n if (result.isFail()) {\n // Convert Result error to WebinyError for backward compatibility\n const error = result.error;\n throw new WebinyError(\n error.message || \"Could not create content entry.\",\n error.code || \"CREATE_ENTRY_ERROR\",\n error.data\n );\n }\n\n return result.value;\n };\n\n const createEntryRevisionFrom: CmsEntryContext[\"createEntryRevisionFrom\"] = async <\n T extends CmsEntryValues = CmsEntryValues\n >(\n model: CmsModel,\n sourceId: string,\n rawInput: CreateFromCmsEntryInput<T>,\n options?: CreateRevisionCmsEntryOptionsInput\n ) => {\n // Delegate to new CreateEntryRevisionFrom use case\n const useCase = context.container.resolve(CreateEntryRevisionFromUseCase);\n const result = await useCase.execute<T>(model, sourceId, rawInput, options);\n\n if (result.isFail()) {\n // Convert Result error to WebinyError for backward compatibility\n const error = result.error;\n throw new WebinyError(\n error.message || \"Could not create entry from existing one.\",\n error.code || \"CREATE_FROM_REVISION_ERROR\",\n error.data\n );\n }\n\n return result.value;\n };\n\n const updateEntry: CmsEntryContext[\"updateEntry\"] = async <\n T extends CmsEntryValues = CmsEntryValues\n >(\n model: CmsModel,\n id: string,\n rawInput: UpdateCmsEntryInput<T>,\n metaInput?: GenericRecord,\n options?: UpdateCmsEntryOptionsInput\n ): Promise<CmsEntry<T>> => {\n // Delegate to new UpdateEntry use case\n const useCase = context.container.resolve(UpdateEntryUseCase);\n const result = await useCase.execute<T>(model, id, rawInput, metaInput, options);\n\n if (result.isFail()) {\n // Convert Result error to WebinyError for backward compatibility\n const error = result.error;\n throw new WebinyError(\n error.message || \"Could not update existing entry.\",\n error.code || \"UPDATE_ERROR\"\n );\n }\n\n return result.value;\n };\n\n const validateEntry = async <T extends CmsEntryValues = CmsEntryValues>(\n model: CmsModel,\n id: string,\n input: UpdateCmsEntryInput<T>\n ) => {\n // Delegate to new ValidateEntry use case\n const useCase = context.container.resolve(ValidateEntryUseCase);\n const result = await useCase.execute<T>(model, id || null, input);\n\n if (result.isFail()) {\n // Convert Result error to WebinyError for backward compatibility\n const error = result.error;\n throw new WebinyError(\n error.message || \"Could not validate entry.\",\n error.code || \"VALIDATION_ERROR\",\n error.data\n );\n }\n\n return result.value;\n };\n\n const moveEntry = async <T extends CmsEntryValues = CmsEntryValues>(\n model: CmsModel,\n id: string,\n folderId: string\n ) => {\n // Delegate to new MoveEntry use case\n const useCase = context.container.resolve(MoveEntryUseCase);\n const result = await useCase.execute<T>(model, id, folderId);\n\n if (result.isFail()) {\n // Convert Result error to WebinyError for backward compatibility\n const error = result.error;\n throw new WebinyError(\n error.message || `Could not move entry \"${id}\" of model \"${model.modelId}\".`,\n error.code || \"MOVE_ENTRY_ERROR\",\n error.data\n );\n }\n\n return result.value;\n };\n\n const republishEntry = async <T extends CmsEntryValues = CmsEntryValues>(\n model: CmsModel,\n id: string\n ) => {\n // Delegate to new RepublishEntry use case\n const useCase = context.container.resolve(RepublishEntryUseCase);\n const result = await useCase.execute<T>(model, id);\n\n if (result.isFail()) {\n // Convert Result error to WebinyError for backward compatibility\n const error = result.error;\n throw new WebinyError(\n error.message || \"Could not republish entry.\",\n error.code || \"REPUBLISH_ERROR\",\n error.data\n );\n }\n\n return result.value;\n };\n\n const deleteEntryRevision: CmsEntryContext[\"deleteEntryRevision\"] = async (\n model,\n revisionId\n ) => {\n const useCase = context.container.resolve(DeleteEntryRevisionUseCase);\n const result = await useCase.execute(model, revisionId);\n\n if (result.isFail()) {\n throw new WebinyError(result.error.message, result.error.code, result.error.data);\n }\n };\n const deleteMultipleEntries: CmsEntryContext[\"deleteMultipleEntries\"] = async (\n model,\n params\n ) => {\n // Delegate to new DeleteMultipleEntries use case\n const useCase = context.container.resolve(DeleteMultipleEntriesUseCase);\n const result = await useCase.execute(model, params);\n\n if (result.isFail()) {\n // Convert Result error to WebinyError for backward compatibility\n const error = result.error;\n throw new WebinyError(\n error.message || \"Could not delete multiple entries.\",\n error.code || \"DELETE_ENTRIES_MULTIPLE_ERROR\",\n error.data\n );\n }\n\n return result.value;\n };\n\n const publishEntry = async <T extends CmsEntryValues = CmsEntryValues>(\n model: CmsModel,\n id: string\n ) => {\n // Delegate to new PublishEntry use case\n const useCase = context.container.resolve(PublishEntryUseCase);\n const result = await useCase.execute<T>(model, id);\n\n if (result.isFail()) {\n // Convert Result error to WebinyError for backward compatibility\n throw new WebinyError(\n result.error.message || \"Could not publish entry.\",\n result.error.code || \"PUBLISH_ERROR\",\n result.error.data\n );\n }\n\n return result.value;\n };\n const unpublishEntry = async <T extends CmsEntryValues = CmsEntryValues>(\n model: CmsModel,\n id: string\n ) => {\n // Delegate to new UnpublishEntry use case\n const useCase = context.container.resolve(UnpublishEntryUseCase);\n const result = await useCase.execute<T>(model, id);\n\n if (result.isFail()) {\n const error = result.error;\n throw new WebinyError(\n error.message || \"Could not unpublish entry.\",\n error.code || \"UNPUBLISH_ERROR\",\n error.data\n );\n }\n\n return result.value;\n };\n\n const getUniqueFieldValues: CmsEntryContext[\"getUniqueFieldValues\"] = async (model, params) => {\n const useCase = context.container.resolve(GetUniqueFieldValuesUseCase);\n const result = await useCase.execute(model, params);\n\n if (result.isFail()) {\n throw new WebinyError(result.error.message, result.error.code, result.error.data);\n }\n\n return result.value;\n };\n\n return {\n /**\n * Get entries by exact revision IDs from the database.\n */\n async getEntriesByIds<T extends CmsEntryValues = CmsEntryValues>(\n model: CmsModel,\n ids: string[]\n ) {\n return context.benchmark.measure(\n \"headlessCms.crud.entries.getEntriesByIds\",\n async () => {\n const useCase = context.container.resolve(GetEntriesByIdsUseCase);\n const result = await useCase.execute<T>(model, ids);\n\n if (result.isFail()) {\n const error = result.error;\n throw new WebinyError(\n error.message || \"Could not get entries by IDs.\",\n error.code || \"GET_ENTRIES_BY_IDS_ERROR\",\n {\n error,\n ids,\n model\n }\n );\n }\n\n return result.value;\n }\n );\n },\n /**\n * Get a single entry by revision ID from the database.\n */\n async getEntryById<T extends CmsEntryValues = CmsEntryValues>(model: CmsModel, id: string) {\n return context.benchmark.measure(\"headlessCms.crud.entries.getEntryById\", async () => {\n const useCase = context.container.resolve(GetEntryByIdUseCase);\n const result = await useCase.execute<T>(model, id);\n\n if (result.isFail()) {\n const error = result.error;\n throw new WebinyError(\n error.message || `Entry by ID \"${id}\" not found.`,\n error.code || \"GET_ENTRY_BY_ID_ERROR\",\n error.data\n );\n }\n\n return result.value;\n });\n },\n /**\n * Get published revisions by entry IDs.\n */\n async getPublishedEntriesByIds<T extends CmsEntryValues = CmsEntryValues>(\n model: CmsModel,\n ids: string[]\n ) {\n return context.benchmark.measure(\n \"headlessCms.crud.entries.getPublishedEntriesByIds\",\n async () => {\n const useCase = context.container.resolve(GetPublishedEntriesByIdsUseCase);\n const result = await useCase.execute<T>(model, ids);\n\n if (result.isFail()) {\n const error = result.error;\n throw new WebinyError(\n error.message || \"Could not get published entries by IDs.\",\n error.code || \"GET_PUBLISHED_ENTRIES_BY_IDS_ERROR\",\n {\n error,\n ids,\n model\n }\n );\n }\n\n return result.value;\n }\n );\n },\n /**\n * Get the latest revisions by entry IDs.\n */\n async getLatestEntriesByIds<T extends CmsEntryValues = CmsEntryValues>(\n model: CmsModel,\n ids: string[]\n ) {\n return context.benchmark.measure(\n \"headlessCms.crud.entries.getLatestEntriesByIds\",\n async () => {\n const useCase = context.container.resolve(GetLatestEntriesByIdsUseCase);\n const result = await useCase.execute<T>(model, ids);\n\n if (result.isFail()) {\n const error = result.error;\n throw new WebinyError(\n error.message || \"Could not get latest entries by IDs.\",\n error.code || \"GET_LATEST_ENTRIES_BY_IDS_ERROR\",\n {\n error,\n ids,\n model\n }\n );\n }\n\n return result.value;\n }\n );\n },\n async getEntryRevisions<T extends CmsEntryValues = CmsEntryValues>(\n model: CmsModel,\n entryId: string\n ) {\n return context.benchmark.measure(\n \"headlessCms.crud.entries.getEntryRevisions\",\n async () => {\n const useCase = context.container.resolve(GetRevisionsByEntryIdUseCase);\n const result = await useCase.execute<T>(model, entryId);\n\n if (result.isFail()) {\n const error = result.error;\n throw new WebinyError(\n error.message || \"Could not get entry revisions.\",\n error.code || \"GET_ENTRY_REVISIONS_ERROR\",\n {\n error,\n entryId,\n model\n }\n );\n }\n\n return result.value;\n }\n );\n },\n /**\n * @internal\n */\n async getEntry<T extends CmsEntryValues = CmsEntryValues>(\n model: CmsModel,\n params: CmsEntryGetParams\n ): Promise<CmsEntry<T>> {\n return context.benchmark.measure(\"headlessCms.crud.entries.getEntry\", async () => {\n const useCase = context.container.resolve(GetEntryUseCase);\n const result = await useCase.execute<T>(model, params);\n\n if (result.isFail()) {\n const error = result.error;\n throw new WebinyError(\n error.message || \"Entry not found!\",\n error.code || \"GET_ENTRY_ERROR\",\n {\n error,\n params,\n model\n }\n );\n }\n\n return result.value;\n });\n },\n /**\n * @description Should not be used directly. Internal use only!\n *\n * @internal\n */\n async listEntries<T extends CmsEntryValues = CmsEntryValues>(\n model: CmsModel,\n params: CmsEntryListParams\n ): Promise<[CmsEntry<T>[], CmsEntryMeta]> {\n const useCase = context.container.resolve(ListEntriesUseCase);\n const result = await useCase.execute<T>(model, params);\n\n if (result.isFail()) {\n const error = result.error;\n throw new WebinyError(\n error.message || \"Could not list entries.\",\n error.code || \"LIST_ENTRIES_ERROR\",\n {\n error,\n params,\n model\n }\n );\n }\n\n const { entries, meta } = result.value;\n\n return [entries, meta];\n },\n async listLatestEntries<T extends CmsEntryValues = CmsEntryValues>(\n model: CmsModel,\n params?: CmsEntryListParams\n ): Promise<[CmsEntry<T>[], CmsEntryMeta]> {\n const useCase = context.container.resolve(ListLatestEntriesUseCase);\n const result = await useCase.execute<T>(model, params);\n\n if (result.isFail()) {\n const error = result.error;\n throw new WebinyError(\n error.message || \"Could not list latest entries.\",\n error.code || \"LIST_LATEST_ENTRIES_ERROR\",\n {\n error,\n params,\n model\n }\n );\n }\n\n const { entries, meta } = result.value;\n\n return [entries, meta];\n },\n async listDeletedEntries<T extends CmsEntryValues = CmsEntryValues>(\n model: CmsModel,\n params?: CmsEntryListParams\n ): Promise<[CmsEntry<T>[], CmsEntryMeta]> {\n const useCase = context.container.resolve(ListDeletedEntriesUseCase);\n const result = await useCase.execute<T>(model, params);\n\n if (result.isFail()) {\n const error = result.error;\n throw new WebinyError(\n error.message || \"Could not list deleted entries.\",\n error.code || \"LIST_DELETED_ENTRIES_ERROR\",\n {\n error,\n params,\n model\n }\n );\n }\n\n const { entries, meta } = result.value;\n\n return [entries, meta];\n },\n async listPublishedEntries<T extends CmsEntryValues = CmsEntryValues>(\n model: CmsModel,\n params?: CmsEntryListParams\n ): Promise<[CmsEntry<T>[], CmsEntryMeta]> {\n const useCase = context.container.resolve(ListPublishedEntriesUseCase);\n const result = await useCase.execute<T>(model, params);\n\n if (result.isFail()) {\n const error = result.error;\n throw new WebinyError(\n error.message || \"Could not list published entries.\",\n error.code || \"LIST_PUBLISHED_ENTRIES_ERROR\",\n {\n error,\n params,\n model\n }\n );\n }\n\n const { entries, meta } = result.value;\n return [entries, meta];\n },\n async createEntry<T extends CmsEntryValues = CmsEntryValues>(\n model: CmsModel,\n input: CreateCmsEntryInput<T>,\n options?: CreateCmsEntryOptionsInput\n ): Promise<CmsEntry<T>> {\n return context.benchmark.measure(\"headlessCms.crud.entries.createEntry\", async () => {\n return createEntry(model, input, options);\n });\n },\n async createEntryRevisionFrom<T extends CmsEntryValues = CmsEntryValues>(\n model: CmsModel,\n sourceId: string,\n input: CreateFromCmsEntryInput<T>,\n options?: CreateRevisionCmsEntryOptionsInput\n ) {\n return context.benchmark.measure(\n \"headlessCms.crud.entries.createEntryRevisionFrom\",\n async () => {\n return createEntryRevisionFrom<T>(model, sourceId, input, options);\n }\n );\n },\n async updateEntry<T extends CmsEntryValues = CmsEntryValues>(\n model: CmsModel,\n id: string,\n input: UpdateCmsEntryInput<T>,\n meta?: GenericRecord,\n options?: UpdateCmsEntryOptionsInput\n ) {\n return context.benchmark.measure(\"headlessCms.crud.entries.updateEntry\", async () => {\n return updateEntry<T>(model, id, input, meta, options);\n });\n },\n async validateEntry<T extends CmsEntryValues = CmsEntryValues>(\n model: CmsModel,\n id: string,\n input: UpdateCmsEntryInput<T>\n ) {\n return context.benchmark.measure(\"headlessCms.crud.entries.validateEntry\", async () => {\n return validateEntry<T>(model, id, input);\n });\n },\n async moveEntry<T extends CmsEntryValues = CmsEntryValues>(\n model: CmsModel,\n id: string,\n folderId: string\n ) {\n return context.benchmark.measure(\"headlessCms.crud.entries.moveEntry\", async () => {\n return moveEntry<T>(model, id, folderId);\n });\n },\n /**\n * Method used internally. Not documented and should not be used in users systems.\n * @internal\n */\n async republishEntry<T extends CmsEntryValues = CmsEntryValues>(\n model: CmsModel,\n id: string\n ) {\n return context.benchmark.measure(\n \"headlessCms.crud.entries.republishEntry\",\n async () => {\n return republishEntry<T>(model, id);\n }\n );\n },\n async deleteEntryRevision(model, id) {\n return context.benchmark.measure(\n \"headlessCms.crud.entries.deleteEntryRevision\",\n async () => {\n return deleteEntryRevision(model, id);\n }\n );\n },\n async deleteEntry(model, entryId, options) {\n const deleteEntryUseCase = context.container.resolve(DeleteEntryUseCase);\n return context.benchmark.measure(\"headlessCms.crud.entries.deleteEntry\", async () => {\n const result = await deleteEntryUseCase.execute(model, entryId, options ?? {});\n\n if (result.isFail()) {\n throw new WebinyError(\n result.error.message,\n result.error.code,\n result.error.data\n );\n }\n });\n },\n async restoreEntryFromBin<T extends CmsEntryValues = CmsEntryValues>(\n model: CmsModel,\n entryId: string\n ) {\n return context.benchmark.measure(\n \"headlessCms.crud.entries.restoreEntryFromBin\",\n async () => {\n const useCase = context.container.resolve(RestoreEntryFromBinUseCase);\n const result = await useCase.execute<T>(model, entryId);\n if (result.isFail()) {\n throw new WebinyError(\n result.error.message,\n result.error.code,\n result.error.data\n );\n }\n return result.value;\n }\n );\n },\n async deleteMultipleEntries(model, ids) {\n return context.benchmark.measure(\n \"headlessCms.crud.entries.deleteMultipleEntries\",\n async () => {\n return deleteMultipleEntries(model, ids);\n }\n );\n },\n async publishEntry<T extends CmsEntryValues = CmsEntryValues>(model: CmsModel, id: string) {\n return context.benchmark.measure(\"headlessCms.crud.entries.publishEntry\", async () => {\n return publishEntry<T>(model, id);\n });\n },\n async unpublishEntry<T extends CmsEntryValues = CmsEntryValues>(\n model: CmsModel,\n id: string\n ) {\n return context.benchmark.measure(\n \"headlessCms.crud.entries.unpublishEntry\",\n async () => {\n return unpublishEntry<T>(model, id);\n }\n );\n },\n async getUniqueFieldValues(model, params) {\n return context.benchmark.measure(\n \"headlessCms.crud.entries.getUniqueFieldValues\",\n async () => {\n return getUniqueFieldValues(model, params);\n }\n );\n }\n };\n};\n"],"mappings":"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","ignoreList":[]}
|