@webiny/api-headless-cms 6.4.12-beta.5 → 6.5.0-beta.1
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/entryDataValidation.d.ts +1 -1
- package/crud/contentEntry/entryDataValidation.js +33 -18
- package/crud/contentEntry/entryDataValidation.js.map +1 -1
- package/crud/contentEntry.crud.js +12 -39
- package/crud/contentEntry.crud.js.map +1 -1
- package/crud/contentModel/defaultFields.js +3 -2
- package/crud/contentModel/defaultFields.js.map +1 -1
- package/crud/contentModel/validate/endingAllowed.js +1 -1
- package/crud/contentModel/validate/endingAllowed.js.map +1 -1
- package/crud/contentModel/validate/pluralApiName.js +1 -1
- package/crud/contentModel/validate/pluralApiName.js.map +1 -1
- package/crud/contentModel/validate/singularApiName.js +1 -1
- package/crud/contentModel/validate/singularApiName.js.map +1 -1
- package/crud/contentModel/validation.js +2 -2
- package/crud/contentModel/validation.js.map +1 -1
- package/domain/contentModel/schemas.d.ts +4 -0
- package/domain/contentModel/schemas.js +5 -2
- package/domain/contentModel/schemas.js.map +1 -1
- package/domain/contentModel/validation/endingAllowed.js +1 -1
- package/domain/contentModel/validation/endingAllowed.js.map +1 -1
- package/domain/contentModel/validation/pluralApiName.js +1 -1
- package/domain/contentModel/validation/pluralApiName.js.map +1 -1
- package/domain/contentModel/validation/singularApiName.js +1 -1
- package/domain/contentModel/validation/singularApiName.js.map +1 -1
- package/export/crud/exporting.js +2 -2
- package/export/crud/exporting.js.map +1 -1
- package/export/crud/imports/importGroups.js +2 -1
- package/export/crud/imports/importGroups.js.map +1 -1
- package/export/crud/imports/validateModels.js +1 -1
- package/export/crud/imports/validateModels.js.map +1 -1
- package/exports/api/cms/model.d.ts +4 -1
- package/exports/api/cms/model.js +2 -0
- package/extension.d.ts +3 -0
- package/extension.js +19 -0
- package/extension.js.map +1 -0
- package/features/contentEntry/ContentEntriesFeature.js +2 -0
- package/features/contentEntry/ContentEntriesFeature.js.map +1 -1
- package/features/contentEntry/CreateEntry/CreateEntryUseCase.js +1 -2
- package/features/contentEntry/CreateEntry/CreateEntryUseCase.js.map +1 -1
- package/features/contentEntry/CreateEntryRevisionFrom/CreateEntryRevisionFromUseCase.d.ts +1 -3
- package/features/contentEntry/CreateEntryRevisionFrom/CreateEntryRevisionFromUseCase.js +4 -12
- package/features/contentEntry/CreateEntryRevisionFrom/CreateEntryRevisionFromUseCase.js.map +1 -1
- package/features/contentEntry/CreateEntryRevisionFrom/abstractions.d.ts +2 -0
- package/features/contentEntry/CreateEntryRevisionFrom/abstractions.js.map +1 -1
- package/features/contentEntry/DeleteEntryRevision/DeleteEntryRevisionRepository.js +1 -0
- package/features/contentEntry/DeleteEntryRevision/DeleteEntryRevisionRepository.js.map +1 -1
- package/features/contentEntry/GetSingletonEntry/GetSingletonEntryUseCase.js +1 -3
- package/features/contentEntry/GetSingletonEntry/GetSingletonEntryUseCase.js.map +1 -1
- package/features/contentEntry/PublishEntry/PublishEntryUseCase.d.ts +1 -3
- package/features/contentEntry/PublishEntry/PublishEntryUseCase.js +4 -10
- package/features/contentEntry/PublishEntry/PublishEntryUseCase.js.map +1 -1
- package/features/contentEntry/RepublishEntry/RepublishEntryUseCase.js +3 -1
- package/features/contentEntry/RepublishEntry/RepublishEntryUseCase.js.map +1 -1
- package/features/contentEntry/UnpublishEntry/UnpublishEntryUseCase.js +3 -1
- package/features/contentEntry/UnpublishEntry/UnpublishEntryUseCase.js.map +1 -1
- package/features/contentEntry/UpdateEntry/UpdateEntryUseCase.js +3 -1
- package/features/contentEntry/UpdateEntry/UpdateEntryUseCase.js.map +1 -1
- package/features/contentEntry/UpdateRevision/UpdateRevisionRepository.d.ts +14 -0
- package/features/contentEntry/UpdateRevision/UpdateRevisionRepository.js +34 -0
- package/features/contentEntry/UpdateRevision/UpdateRevisionRepository.js.map +1 -0
- package/features/contentEntry/UpdateRevision/abstractions.d.ts +10 -0
- package/features/contentEntry/UpdateRevision/abstractions.js +5 -0
- package/features/contentEntry/UpdateRevision/abstractions.js.map +1 -0
- package/features/contentEntry/UpdateRevision/feature.d.ts +4 -0
- package/features/contentEntry/UpdateRevision/feature.js +11 -0
- package/features/contentEntry/UpdateRevision/feature.js.map +1 -0
- package/features/contentEntry/UpdateRevision/index.d.ts +1 -0
- package/features/contentEntry/UpdateRevision/index.js +1 -0
- package/features/contentEntry/UpdateRevisionDescription/UpdateRevisionDescriptionUseCase.d.ts +2 -2
- package/features/contentEntry/UpdateRevisionDescription/UpdateRevisionDescriptionUseCase.js +2 -2
- package/features/contentEntry/UpdateRevisionDescription/UpdateRevisionDescriptionUseCase.js.map +1 -1
- package/features/contentEntry/ensureItemIds.d.ts +13 -0
- package/features/contentEntry/ensureItemIds.js +22 -0
- package/features/contentEntry/ensureItemIds.js.map +1 -0
- package/features/contentEntry/entryDataFactories/CreateEntryDataFactory/CreateEntryDataFactory.d.ts +3 -1
- package/features/contentEntry/entryDataFactories/CreateEntryDataFactory/CreateEntryDataFactory.js +9 -3
- package/features/contentEntry/entryDataFactories/CreateEntryDataFactory/CreateEntryDataFactory.js.map +1 -1
- package/features/contentEntry/entryDataFactories/CreateEntryRevisionFromDataFactory/CreateEntryRevisionFromDataFactory.d.ts +7 -5
- package/features/contentEntry/entryDataFactories/CreateEntryRevisionFromDataFactory/CreateEntryRevisionFromDataFactory.js +48 -18
- package/features/contentEntry/entryDataFactories/CreateEntryRevisionFromDataFactory/CreateEntryRevisionFromDataFactory.js.map +1 -1
- package/features/contentEntry/entryDataFactories/CreateEntryRevisionFromDataFactory/abstractions.d.ts +17 -1
- package/features/contentEntry/entryDataFactories/CreateEntryRevisionFromDataFactory/abstractions.js.map +1 -1
- package/features/contentEntry/entryDataFactories/CreatePublishEntryDataFactory/CreatePublishEntryDataFactory.d.ts +5 -3
- package/features/contentEntry/entryDataFactories/CreatePublishEntryDataFactory/CreatePublishEntryDataFactory.js +22 -16
- package/features/contentEntry/entryDataFactories/CreatePublishEntryDataFactory/CreatePublishEntryDataFactory.js.map +1 -1
- package/features/contentEntry/entryDataFactories/CreatePublishEntryDataFactory/abstractions.d.ts +15 -1
- package/features/contentEntry/entryDataFactories/CreatePublishEntryDataFactory/abstractions.js.map +1 -1
- package/features/contentEntry/entryDataFactories/CreateRepublishEntryDataFactory/CreateRepublishEntryDataFactory.d.ts +5 -3
- package/features/contentEntry/entryDataFactories/CreateRepublishEntryDataFactory/CreateRepublishEntryDataFactory.js +17 -13
- package/features/contentEntry/entryDataFactories/CreateRepublishEntryDataFactory/CreateRepublishEntryDataFactory.js.map +1 -1
- package/features/contentEntry/entryDataFactories/CreateRepublishEntryDataFactory/abstractions.d.ts +13 -1
- package/features/contentEntry/entryDataFactories/CreateRepublishEntryDataFactory/abstractions.js.map +1 -1
- package/features/contentEntry/entryDataFactories/CreateUnpublishEntryDataFactory/CreateUnpublishEntryDataFactory.d.ts +6 -6
- package/features/contentEntry/entryDataFactories/CreateUnpublishEntryDataFactory/CreateUnpublishEntryDataFactory.js +17 -18
- package/features/contentEntry/entryDataFactories/CreateUnpublishEntryDataFactory/CreateUnpublishEntryDataFactory.js.map +1 -1
- package/features/contentEntry/entryDataFactories/CreateUnpublishEntryDataFactory/abstractions.d.ts +14 -2
- package/features/contentEntry/entryDataFactories/CreateUnpublishEntryDataFactory/abstractions.js.map +1 -1
- package/features/contentEntry/entryDataFactories/UpdateEntryDataFactory/UpdateEntryDataFactory.d.ts +7 -3
- package/features/contentEntry/entryDataFactories/UpdateEntryDataFactory/UpdateEntryDataFactory.js +73 -30
- package/features/contentEntry/entryDataFactories/UpdateEntryDataFactory/UpdateEntryDataFactory.js.map +1 -1
- package/features/contentEntry/entryDataFactories/UpdateEntryDataFactory/abstractions.d.ts +15 -1
- package/features/contentEntry/entryDataFactories/UpdateEntryDataFactory/abstractions.js.map +1 -1
- package/features/contentEntry/entryDataFactories/expiresAt.js +2 -2
- package/features/contentEntry/entryDataFactories/expiresAt.js.map +1 -1
- package/features/contentEntry/entryDataFactories/hasEntryContentChanged.d.ts +24 -0
- package/features/contentEntry/entryDataFactories/hasEntryContentChanged.js +13 -0
- package/features/contentEntry/entryDataFactories/hasEntryContentChanged.js.map +1 -0
- package/features/contentModel/ComponentMapGenerator/ComponentMapGenerator.d.ts +14 -0
- package/features/contentModel/ComponentMapGenerator/ComponentMapGenerator.js +32 -0
- package/features/contentModel/ComponentMapGenerator/ComponentMapGenerator.js.map +1 -0
- package/features/contentModel/ComponentMapGenerator/abstractions.d.ts +8 -0
- package/features/contentModel/ComponentMapGenerator/abstractions.js +5 -0
- package/features/contentModel/ComponentMapGenerator/abstractions.js.map +1 -0
- package/features/contentModel/ComponentMapGenerator/feature.d.ts +4 -0
- package/features/contentModel/ComponentMapGenerator/feature.js +11 -0
- package/features/contentModel/ComponentMapGenerator/feature.js.map +1 -0
- package/features/contentModel/ComponentMapGenerator/index.d.ts +2 -0
- package/features/contentModel/ComponentMapGenerator/index.js +2 -0
- package/features/contentModel/ContentModelFeature.js +6 -0
- package/features/contentModel/ContentModelFeature.js.map +1 -1
- package/features/contentModel/CreateModel/CreateModelRepository.js +2 -1
- package/features/contentModel/CreateModel/CreateModelRepository.js.map +1 -1
- package/features/contentModel/CreateModelFrom/CreateModelFromRepository.js +2 -1
- package/features/contentModel/CreateModelFrom/CreateModelFromRepository.js.map +1 -1
- package/features/contentModel/RefModelsGenerator/RefModelsGenerator.d.ts +19 -0
- package/features/contentModel/RefModelsGenerator/RefModelsGenerator.js +56 -0
- package/features/contentModel/RefModelsGenerator/RefModelsGenerator.js.map +1 -0
- package/features/contentModel/RefModelsGenerator/abstractions.d.ts +11 -0
- package/features/contentModel/RefModelsGenerator/abstractions.js +5 -0
- package/features/contentModel/RefModelsGenerator/abstractions.js.map +1 -0
- package/features/contentModel/RefModelsGenerator/feature.d.ts +4 -0
- package/features/contentModel/RefModelsGenerator/feature.js +11 -0
- package/features/contentModel/RefModelsGenerator/feature.js.map +1 -0
- package/features/contentModel/RefModelsGenerator/index.d.ts +2 -0
- package/features/contentModel/RefModelsGenerator/index.js +2 -0
- package/features/contentModel/ValuesSelectionGenerator/ValuesSelectionGenerator.d.ts +16 -0
- package/features/contentModel/ValuesSelectionGenerator/ValuesSelectionGenerator.js +54 -0
- package/features/contentModel/ValuesSelectionGenerator/ValuesSelectionGenerator.js.map +1 -0
- package/features/contentModel/ValuesSelectionGenerator/abstractions.d.ts +8 -0
- package/features/contentModel/ValuesSelectionGenerator/abstractions.js +5 -0
- package/features/contentModel/ValuesSelectionGenerator/abstractions.js.map +1 -0
- package/features/contentModel/ValuesSelectionGenerator/feature.d.ts +4 -0
- package/features/contentModel/ValuesSelectionGenerator/feature.js +11 -0
- package/features/contentModel/ValuesSelectionGenerator/feature.js.map +1 -0
- package/features/contentModel/ValuesSelectionGenerator/index.d.ts +1 -0
- package/features/contentModel/ValuesSelectionGenerator/index.js +1 -0
- package/features/graphql/feature.js +2 -0
- package/features/graphql/feature.js.map +1 -1
- package/features/graphql/fields/base/AssetToGraphQL.d.ts +26 -0
- package/features/graphql/fields/base/AssetToGraphQL.js +153 -0
- package/features/graphql/fields/base/AssetToGraphQL.js.map +1 -0
- package/features/graphql/fields/base/DynamicZoneToGraphQL.js +12 -2
- package/features/graphql/fields/base/DynamicZoneToGraphQL.js.map +1 -1
- package/features/graphql/fields/base/ObjectToGraphQL.js +8 -5
- package/features/graphql/fields/base/ObjectToGraphQL.js.map +1 -1
- package/features/modelBuilder/abstractions.d.ts +9 -0
- package/features/modelBuilder/abstractions.js.map +1 -1
- package/features/modelBuilder/feature.js +2 -0
- package/features/modelBuilder/feature.js.map +1 -1
- package/features/modelBuilder/fields/AssetFieldType.d.ts +20 -0
- package/features/modelBuilder/fields/AssetFieldType.js +46 -0
- package/features/modelBuilder/fields/AssetFieldType.js.map +1 -0
- package/features/modelBuilder/fields/DataFieldBuilder.d.ts +62 -18
- package/features/modelBuilder/fields/DataFieldBuilder.js +8 -0
- package/features/modelBuilder/fields/DataFieldBuilder.js.map +1 -1
- package/features/modelBuilder/fields/DynamicZoneFieldType.d.ts +1 -0
- package/features/modelBuilder/fields/DynamicZoneFieldType.js +2 -6
- package/features/modelBuilder/fields/DynamicZoneFieldType.js.map +1 -1
- package/features/modelBuilder/fields/resolveAssetUrl.d.ts +35 -0
- package/features/modelBuilder/fields/resolveAssetUrl.js +26 -0
- package/features/modelBuilder/fields/resolveAssetUrl.js.map +1 -0
- package/features/modelBuilder/index.d.ts +1 -1
- package/features/modelBuilder/models/BaseModelBuilder.d.ts +3 -1
- package/features/modelBuilder/models/BaseModelBuilder.js +7 -0
- package/features/modelBuilder/models/BaseModelBuilder.js.map +1 -1
- package/features/modelBuilder/models/PrivateModelBuilder.js +2 -1
- package/features/modelBuilder/models/PrivateModelBuilder.js.map +1 -1
- package/features/modelBuilder/models/PublicModelBuilder.js +2 -1
- package/features/modelBuilder/models/PublicModelBuilder.js.map +1 -1
- package/features/sortMapper/SortMapper.js +2 -5
- package/features/sortMapper/SortMapper.js.map +1 -1
- package/features/storage/fields/CompressedTextStorageTransform.js +1 -1
- package/features/storage/fields/CompressedTextStorageTransform.js.map +1 -1
- package/features/storage/fields/DateStorageTransform.js +4 -3
- package/features/storage/fields/DateStorageTransform.js.map +1 -1
- package/features/storage/fields/DynamicZoneStorageTransform.js +2 -2
- package/features/storage/fields/DynamicZoneStorageTransform.js.map +1 -1
- package/features/storage/fields/JsonStorageTransform.js +1 -1
- package/features/storage/fields/JsonStorageTransform.js.map +1 -1
- package/features/storage/fields/LongTextStorageTransform.js +1 -1
- package/features/storage/fields/LongTextStorageTransform.js.map +1 -1
- package/features/storage/fields/ObjectStorageTransform.js +27 -7
- package/features/storage/fields/ObjectStorageTransform.js.map +1 -1
- package/features/storage/fields/RichTextStorageTransform.js +1 -1
- package/features/storage/fields/RichTextStorageTransform.js.map +1 -1
- package/features/validation/validators/DateGteValidator.js +1 -1
- package/features/validation/validators/DateGteValidator.js.map +1 -1
- package/features/validation/validators/DateLteValidator.js +1 -1
- package/features/validation/validators/DateLteValidator.js.map +1 -1
- package/features/validation/validators/PatternValidator.js +1 -1
- package/features/validation/validators/PatternValidator.js.map +1 -1
- package/features/whereMapper/WhereMapper.js +10 -7
- package/features/whereMapper/WhereMapper.js.map +1 -1
- package/fieldConverters/CmsModelDynamicZoneFieldConverterPlugin.js +8 -2
- package/fieldConverters/CmsModelDynamicZoneFieldConverterPlugin.js.map +1 -1
- package/fieldConverters/CmsModelObjectFieldConverterPlugin.js +8 -2
- package/fieldConverters/CmsModelObjectFieldConverterPlugin.js.map +1 -1
- package/fieldConverters/index.d.ts +1 -1
- package/graphql/getSchema/generateCacheKey.js +1 -1
- package/graphql/getSchema/generateCacheKey.js.map +1 -1
- package/graphql/scalars/RevisionId.js +1 -1
- package/graphql/scalars/RevisionId.js.map +1 -1
- package/graphql/schema/baseSchema.js +5 -25
- package/graphql/schema/baseSchema.js.map +1 -1
- package/graphql/schema/cms/getEntryResolver.js +3 -2
- package/graphql/schema/cms/getEntryResolver.js.map +1 -1
- package/graphql/schema/cms/getModelResolver.d.ts +35 -0
- package/graphql/schema/cms/getModelResolver.js +49 -0
- package/graphql/schema/cms/getModelResolver.js.map +1 -0
- package/graphql/schema/cms/helpers/buildFieldsSelection.js +9 -2
- package/graphql/schema/cms/helpers/buildFieldsSelection.js.map +1 -1
- package/graphql/schema/cms/helpers/expandFieldWildcards.d.ts +2 -0
- package/graphql/schema/cms/helpers/expandFieldWildcards.js +13 -0
- package/graphql/schema/cms/helpers/expandFieldWildcards.js.map +1 -0
- package/graphql/schema/cms/helpers/index.d.ts +1 -0
- package/graphql/schema/cms/helpers/index.js +1 -0
- package/graphql/schema/cms/helpers.d.ts +1 -0
- package/graphql/schema/cms/helpers.js +1 -0
- package/graphql/schema/cms/index.js +2 -1
- package/graphql/schema/cms/index.js.map +1 -1
- package/graphql/schema/cms/listEntriesResolver.js +3 -2
- package/graphql/schema/cms/listEntriesResolver.js.map +1 -1
- package/graphql/schema/cms/resolvers/getModel.d.ts +8 -0
- package/graphql/schema/cms/resolvers/getModel.js +18 -0
- package/graphql/schema/cms/resolvers/getModel.js.map +1 -0
- package/graphql/schema/cms/resolvers/index.d.ts +1 -0
- package/graphql/schema/cms/resolvers/index.js +1 -0
- package/graphql/schema/cms/typeDefs/query.js +1 -0
- package/graphql/schema/cms/typeDefs/query.js.map +1 -1
- package/graphql/schema/cms/typeDefs/responses.js +5 -0
- package/graphql/schema/cms/typeDefs/responses.js.map +1 -1
- package/graphql/schema/contentModels.js +40 -1
- package/graphql/schema/contentModels.js.map +1 -1
- package/graphql/schema/createFieldResolvers.js +1 -1
- package/graphql/schema/createFieldResolvers.js.map +1 -1
- package/index.d.ts +2 -5
- package/index.js +1 -21
- package/package.json +27 -30
- package/plugins/CmsModelPlugin.js +12 -10
- package/plugins/CmsModelPlugin.js.map +1 -1
- package/types/fields/dynamicZoneField.d.ts +1 -0
- package/types/model.d.ts +6 -0
- package/types/modelField.d.ts +13 -0
- package/types/types.d.ts +8 -4
- package/types/types.js.map +1 -1
- package/utils/caching/Cache.js +1 -1
- package/utils/caching/Cache.js.map +1 -1
- package/utils/contentModelToJsonSchema/CmsModelToJsonSchemaConverter.d.ts +28 -0
- package/utils/contentModelToJsonSchema/CmsModelToJsonSchemaConverter.js +324 -0
- package/utils/contentModelToJsonSchema/CmsModelToJsonSchemaConverter.js.map +1 -0
- package/utils/contentModelToJsonSchema/index.d.ts +2 -0
- package/utils/contentModelToJsonSchema/index.js +1 -0
- package/utils/contentModelToJsonSchema/types.d.ts +24 -0
- package/utils/contentModelToJsonSchema/types.js +0 -0
- package/utils/createModelField.js +2 -1
- package/utils/createModelField.js.map +1 -1
- package/utils/date.js +1 -1
- package/utils/date.js.map +1 -1
- package/utils/entryStorage.js +1 -1
- package/utils/entryStorage.js.map +1 -1
- package/utils/index.d.ts +1 -0
- package/utils/index.js +1 -0
- package/utils/renderFields.js +1 -1
- package/utils/renderFields.js.map +1 -1
- package/index.js.map +0 -1
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
export interface JsonSchema {
|
|
2
|
+
$schema?: string;
|
|
3
|
+
type?: string | string[];
|
|
4
|
+
properties?: Record<string, JsonSchema>;
|
|
5
|
+
required?: string[];
|
|
6
|
+
items?: JsonSchema;
|
|
7
|
+
enum?: (string | number | boolean)[];
|
|
8
|
+
oneOf?: JsonSchema[];
|
|
9
|
+
const?: unknown;
|
|
10
|
+
description?: string;
|
|
11
|
+
minLength?: number;
|
|
12
|
+
maxLength?: number;
|
|
13
|
+
minimum?: number;
|
|
14
|
+
maximum?: number;
|
|
15
|
+
pattern?: string;
|
|
16
|
+
format?: string;
|
|
17
|
+
additionalProperties?: boolean | JsonSchema;
|
|
18
|
+
discriminator?: {
|
|
19
|
+
propertyName: string;
|
|
20
|
+
};
|
|
21
|
+
}
|
|
22
|
+
export interface CmsModelToJsonSchemaOptions {
|
|
23
|
+
includeHiddenFields?: boolean;
|
|
24
|
+
}
|
|
File without changes
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import camelCase from "lodash/camelCase.js";
|
|
2
2
|
const createModelField = (params)=>{
|
|
3
|
-
const { id, label, fieldId: initialFieldId, storageId, type, tags = [], settings = {}, listValidation = [], validation = [], list = false, predefinedValues = {
|
|
3
|
+
const { id, label, fieldId: initialFieldId, storageId, type, tags = [], settings = {}, listValidation = [], validation = [], list = false, disabled = false, predefinedValues = {
|
|
4
4
|
values: [],
|
|
5
5
|
enabled: false
|
|
6
6
|
}, help = null, placeholder = null, renderer = null, rules = [] } = params;
|
|
@@ -16,6 +16,7 @@ const createModelField = (params)=>{
|
|
|
16
16
|
listValidation,
|
|
17
17
|
validation,
|
|
18
18
|
list,
|
|
19
|
+
disabled,
|
|
19
20
|
predefinedValues,
|
|
20
21
|
help,
|
|
21
22
|
placeholder,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"utils/createModelField.js","sources":["../../src/utils/createModelField.ts"],"sourcesContent":["import camelCase from \"lodash/camelCase.js\";\nimport type { CmsModelField, CmsModelFieldValidation } from \"~/types/index.js\";\n\nexport interface CreateModelFieldParams extends Omit<\n CmsModelField,\n \"id\" | \"storageId\" | \"fieldId\" | \"validation\" | \"listValidation\"\n> {\n id?: string;\n fieldId?: string;\n storageId?: string;\n validation?: CmsModelFieldValidation[];\n listValidation?: CmsModelFieldValidation[];\n}\n\nexport const createModelField = (params: CreateModelFieldParams): CmsModelField => {\n // We are not just spreading `params` because we want to ensure\n // a default value is set for every property of the model field.\n const {\n id,\n label,\n fieldId: initialFieldId,\n storageId,\n type,\n tags = [],\n settings = {},\n listValidation = [],\n validation = [],\n list = false,\n predefinedValues = {\n values: [],\n enabled: false\n },\n help = null,\n placeholder = null,\n renderer = null,\n rules = []\n } = params;\n\n // TODO: ideally, initialFieldId should also be passed through `camelCase` but currently this would break `wbyAco_location` field.\n // TODO: Once this legacy field is removed, we can enable camelCase on the initialFieldId.\n const fieldId = initialFieldId ? initialFieldId : camelCase(label);\n\n return {\n id: id ?? fieldId,\n storageId: storageId ?? `${type}@${id ?? fieldId}`,\n fieldId,\n label,\n type,\n settings,\n tags,\n listValidation,\n validation,\n list,\n predefinedValues,\n help,\n placeholder,\n renderer,\n rules\n };\n};\n"],"names":["createModelField","params","id","label","initialFieldId","storageId","type","tags","settings","listValidation","validation","list","predefinedValues","help","placeholder","renderer","rules","fieldId","camelCase"],"mappings":";AAcO,MAAMA,mBAAmB,CAACC;IAG7B,MAAM,EACFC,EAAE,EACFC,KAAK,EACL,SAASC,cAAc,EACvBC,SAAS,EACTC,IAAI,EACJC,OAAO,EAAE,EACTC,WAAW,CAAC,CAAC,EACbC,iBAAiB,EAAE,EACnBC,aAAa,EAAE,EACfC,OAAO,KAAK,EACZC,mBAAmB;QACf,QAAQ,EAAE;QACV,SAAS;IACb,CAAC,EACDC,OAAO,IAAI,EACXC,cAAc,IAAI,EAClBC,WAAW,IAAI,EACfC,QAAQ,EAAE,EACb,
|
|
1
|
+
{"version":3,"file":"utils/createModelField.js","sources":["../../src/utils/createModelField.ts"],"sourcesContent":["import camelCase from \"lodash/camelCase.js\";\nimport type { CmsModelField, CmsModelFieldValidation } from \"~/types/index.js\";\n\nexport interface CreateModelFieldParams extends Omit<\n CmsModelField,\n \"id\" | \"storageId\" | \"fieldId\" | \"validation\" | \"listValidation\"\n> {\n id?: string;\n fieldId?: string;\n storageId?: string;\n validation?: CmsModelFieldValidation[];\n listValidation?: CmsModelFieldValidation[];\n}\n\nexport const createModelField = (params: CreateModelFieldParams): CmsModelField => {\n // We are not just spreading `params` because we want to ensure\n // a default value is set for every property of the model field.\n const {\n id,\n label,\n fieldId: initialFieldId,\n storageId,\n type,\n tags = [],\n settings = {},\n listValidation = [],\n validation = [],\n list = false,\n disabled = false,\n predefinedValues = {\n values: [],\n enabled: false\n },\n help = null,\n placeholder = null,\n renderer = null,\n rules = []\n } = params;\n\n // TODO: ideally, initialFieldId should also be passed through `camelCase` but currently this would break `wbyAco_location` field.\n // TODO: Once this legacy field is removed, we can enable camelCase on the initialFieldId.\n const fieldId = initialFieldId ? initialFieldId : camelCase(label);\n\n return {\n id: id ?? fieldId,\n storageId: storageId ?? `${type}@${id ?? fieldId}`,\n fieldId,\n label,\n type,\n settings,\n tags,\n listValidation,\n validation,\n list,\n disabled,\n predefinedValues,\n help,\n placeholder,\n renderer,\n rules\n };\n};\n"],"names":["createModelField","params","id","label","initialFieldId","storageId","type","tags","settings","listValidation","validation","list","disabled","predefinedValues","help","placeholder","renderer","rules","fieldId","camelCase"],"mappings":";AAcO,MAAMA,mBAAmB,CAACC;IAG7B,MAAM,EACFC,EAAE,EACFC,KAAK,EACL,SAASC,cAAc,EACvBC,SAAS,EACTC,IAAI,EACJC,OAAO,EAAE,EACTC,WAAW,CAAC,CAAC,EACbC,iBAAiB,EAAE,EACnBC,aAAa,EAAE,EACfC,OAAO,KAAK,EACZC,WAAW,KAAK,EAChBC,mBAAmB;QACf,QAAQ,EAAE;QACV,SAAS;IACb,CAAC,EACDC,OAAO,IAAI,EACXC,cAAc,IAAI,EAClBC,WAAW,IAAI,EACfC,QAAQ,EAAE,EACb,GAAGhB;IAIJ,MAAMiB,UAAUd,iBAAiBA,iBAAiBe,UAAUhB;IAE5D,OAAO;QACH,IAAID,MAAMgB;QACV,WAAWb,aAAa,GAAGC,KAAK,CAAC,EAAEJ,MAAMgB,SAAS;QAClDA;QACAf;QACAG;QACAE;QACAD;QACAE;QACAC;QACAC;QACAC;QACAC;QACAC;QACAC;QACAC;QACAC;IACJ;AACJ"}
|
package/utils/date.js
CHANGED
package/utils/date.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"utils/date.js","sources":["../../src/utils/date.ts"],"sourcesContent":["/**\n * Should not be used by users as method is prone to breaking changes.\n * @internal\n */\nexport const formatDate = (date?: Date | string | null): string | null => {\n if (!date) {\n return null;\n } else if (date instanceof Date) {\n return date.toISOString();\n }\n return new Date(date).toISOString();\n};\n\n/**\n * Should not be used by users as method is prone to breaking changes.\n * @internal\n */\nexport const getDate = <T extends string | null = string | null>(\n input?: Date | string | null,\n defaultValue?: Date | string | null\n): T => {\n if (!input) {\n return formatDate(defaultValue) as T;\n }\n if (input instanceof Date) {\n return formatDate(input) as T;\n }\n return formatDate(new Date(input)) as T;\n};\n"],"names":["formatDate","date","Date","getDate","input","defaultValue"],"mappings":"AAIO,MAAMA,aAAa,CAACC;IACvB,IAAI,CAACA,MACD,OAAO;
|
|
1
|
+
{"version":3,"file":"utils/date.js","sources":["../../src/utils/date.ts"],"sourcesContent":["/**\n * Should not be used by users as method is prone to breaking changes.\n * @internal\n */\nexport const formatDate = (date?: Date | string | null): string | null => {\n if (!date) {\n return null;\n } else if (date instanceof Date) {\n return date.toISOString();\n }\n return new Date(date).toISOString();\n};\n\n/**\n * Should not be used by users as method is prone to breaking changes.\n * @internal\n */\nexport const getDate = <T extends string | null = string | null>(\n input?: Date | string | null,\n defaultValue?: Date | string | null\n): T => {\n if (!input) {\n return formatDate(defaultValue) as T;\n }\n if (input instanceof Date) {\n return formatDate(input) as T;\n }\n return formatDate(new Date(input)) as T;\n};\n"],"names":["formatDate","date","Date","getDate","input","defaultValue"],"mappings":"AAIO,MAAMA,aAAa,CAACC;IACvB,IAAI,CAACA,MACD,OAAO;IACJ,IAAIA,gBAAgBC,MACvB,OAAOD,KAAK,WAAW;IAE3B,OAAO,IAAIC,KAAKD,MAAM,WAAW;AACrC;AAMO,MAAME,UAAU,CACnBC,OACAC;IAEA,IAAI,CAACD,OACD,OAAOJ,WAAWK;IAEtB,IAAID,iBAAiBF,MACjB,OAAOF,WAAWI;IAEtB,OAAOJ,WAAW,IAAIE,KAAKE;AAC/B"}
|
package/utils/entryStorage.js
CHANGED
|
@@ -14,7 +14,7 @@ const getStorageTransformFactory = (context)=>{
|
|
|
14
14
|
type
|
|
15
15
|
});
|
|
16
16
|
if (result[type]) return result[type];
|
|
17
|
-
|
|
17
|
+
if (fieldType !== type && result[fieldType]) return result[fieldType];
|
|
18
18
|
return defaultStorageTransform;
|
|
19
19
|
};
|
|
20
20
|
};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"utils/entryStorage.js","sources":["../../src/utils/entryStorage.ts"],"sourcesContent":["import type {\n CmsContext,\n CmsEntry,\n CmsEntryValues,\n CmsModel,\n CmsModelField\n} from \"~/types/index.js\";\nimport { StorageTransform, StorageTransformRegistry } from \"~/features/storage/index.js\";\nimport type { GenericRecord } from \"@webiny/api/types.js\";\nimport { getBaseFieldType } from \"~/utils/getBaseFieldType.js\";\n\nexport interface GetStorageTransformFactory {\n (context: Pick<CmsContext, \"container\">): (fieldType: string) => StorageTransform.Interface;\n}\n\nexport const getStorageTransformFactory: GetStorageTransformFactory = context => {\n const registry = context.container.resolve(StorageTransformRegistry);\n\n const result: GenericRecord<string, StorageTransform.Interface> = {};\n let defaultStorageTransform: StorageTransform.Interface;\n\n const storageTransforms = registry.getAll().toReversed();\n\n for (const storageTransform of storageTransforms) {\n if (storageTransform.fieldType === \"*\") {\n defaultStorageTransform = storageTransform;\n }\n result[storageTransform.fieldType] = storageTransform;\n }\n\n return (type: string) => {\n const fieldType = getBaseFieldType({\n type\n });\n // first we check the exact type, then the base type, and if nothing is found, we return the default storage transform.\n if (result[type]) {\n return result[type];\n } else if (fieldType !== type && result[fieldType]) {\n return result[fieldType];\n }\n return defaultStorageTransform;\n };\n};\n\nconst doNotTouchProperty = Symbol(\"__DO_NOT_TOUCH_AS_WE_USE_IT_TO_SKIP_UNNECESSARY_OPERATIONS\");\n\n/**\n * This should be used when transforming the whole entry.\n */\nconst entryStorageTransform = async <T extends CmsEntryValues = CmsEntryValues>(\n context: Pick<CmsContext, \"container\">,\n model: CmsModel,\n operation: \"toStorage\" | \"fromStorage\",\n entry: CmsEntry<T>\n): Promise<CmsEntry<T>> => {\n /**\n * We use this property to skip unnecessary operations.\n */\n // @ts-expect-error\n if (entry[doNotTouchProperty] === operation) {\n return entry;\n }\n\n const getStorageTransform = getStorageTransformFactory(context);\n\n const fieldValues = model.fields\n .filter(field => {\n return entry.values.hasOwnProperty(field.fieldId);\n })\n .map(async field => {\n const key = field.fieldId as keyof T;\n const value = entry.values[key];\n const storageTransform = getStorageTransform(field.type);\n const transformed = await storageTransform[operation]({\n model,\n field,\n value,\n getStorageTransform\n });\n return [key, transformed] as const;\n });\n\n const results = await Promise.all(fieldValues);\n const transformedValues = Object.fromEntries(results) as T;\n\n const result = {\n ...entry,\n values: transformedValues\n };\n /**\n * We need to assign the variable so that we can skip unnecessary operations next time.\n */\n Object.defineProperty(result, doNotTouchProperty, {\n enumerable: false,\n value: operation,\n configurable: true\n });\n\n return result;\n};\n\n/**\n * A function that is used in crud to transform entry into the storage type.\n */\nexport const entryToStorageTransform = async (\n context: Pick<CmsContext, \"container\">,\n model: CmsModel,\n entry: CmsEntry\n): Promise<CmsEntry> => {\n return entryStorageTransform(context, model, \"toStorage\", entry);\n};\n\n/**\n * A function that is used to transform the whole entry from storage into its native form.\n */\nexport const entryFromStorageTransform = async (\n context: Pick<CmsContext, \"container\">,\n model: CmsModel,\n entry: CmsEntry\n): Promise<CmsEntry> => {\n return entryStorageTransform(context, model, \"fromStorage\", entry);\n};\n\ninterface EntryFieldFromStorageTransformParams {\n context: Pick<CmsContext, \"container\">;\n model: CmsModel;\n field: CmsModelField;\n value: any;\n}\n/*\n * A function that is used to transform a single field from storage\n */\nexport const entryFieldFromStorageTransform = async <T = any>(\n params: EntryFieldFromStorageTransformParams\n): Promise<T> => {\n const { context, model, field, value } = params;\n const getStorageTransform = getStorageTransformFactory(context);\n\n const storageTransform = getStorageTransform(field.type);\n\n return storageTransform.fromStorage({\n model,\n field,\n value,\n getStorageTransform\n });\n};\n"],"names":["getStorageTransformFactory","context","registry","StorageTransformRegistry","result","defaultStorageTransform","storageTransforms","storageTransform","type","fieldType","getBaseFieldType","doNotTouchProperty","Symbol","entryStorageTransform","model","operation","entry","getStorageTransform","fieldValues","field","key","value","transformed","results","Promise","transformedValues","Object","entryToStorageTransform","entryFromStorageTransform","entryFieldFromStorageTransform","params"],"mappings":";;AAeO,MAAMA,6BAAyDC,CAAAA;IAClE,MAAMC,WAAWD,QAAQ,SAAS,CAAC,OAAO,CAACE;IAE3C,MAAMC,SAA4D,CAAC;IACnE,IAAIC;IAEJ,MAAMC,oBAAoBJ,SAAS,MAAM,GAAG,UAAU;IAEtD,KAAK,MAAMK,oBAAoBD,kBAAmB;QAC9C,IAAIC,AAA+B,QAA/BA,iBAAiB,SAAS,EAC1BF,0BAA0BE;QAE9BH,MAAM,CAACG,iBAAiB,SAAS,CAAC,GAAGA;IACzC;IAEA,OAAO,CAACC;QACJ,MAAMC,YAAYC,iBAAiB;YAC/BF;QACJ;QAEA,IAAIJ,MAAM,CAACI,KAAK,EACZ,OAAOJ,MAAM,CAACI,KAAK;
|
|
1
|
+
{"version":3,"file":"utils/entryStorage.js","sources":["../../src/utils/entryStorage.ts"],"sourcesContent":["import type {\n CmsContext,\n CmsEntry,\n CmsEntryValues,\n CmsModel,\n CmsModelField\n} from \"~/types/index.js\";\nimport { StorageTransform, StorageTransformRegistry } from \"~/features/storage/index.js\";\nimport type { GenericRecord } from \"@webiny/api/types.js\";\nimport { getBaseFieldType } from \"~/utils/getBaseFieldType.js\";\n\nexport interface GetStorageTransformFactory {\n (context: Pick<CmsContext, \"container\">): (fieldType: string) => StorageTransform.Interface;\n}\n\nexport const getStorageTransformFactory: GetStorageTransformFactory = context => {\n const registry = context.container.resolve(StorageTransformRegistry);\n\n const result: GenericRecord<string, StorageTransform.Interface> = {};\n let defaultStorageTransform: StorageTransform.Interface;\n\n const storageTransforms = registry.getAll().toReversed();\n\n for (const storageTransform of storageTransforms) {\n if (storageTransform.fieldType === \"*\") {\n defaultStorageTransform = storageTransform;\n }\n result[storageTransform.fieldType] = storageTransform;\n }\n\n return (type: string) => {\n const fieldType = getBaseFieldType({\n type\n });\n // first we check the exact type, then the base type, and if nothing is found, we return the default storage transform.\n if (result[type]) {\n return result[type];\n } else if (fieldType !== type && result[fieldType]) {\n return result[fieldType];\n }\n return defaultStorageTransform;\n };\n};\n\nconst doNotTouchProperty = Symbol(\"__DO_NOT_TOUCH_AS_WE_USE_IT_TO_SKIP_UNNECESSARY_OPERATIONS\");\n\n/**\n * This should be used when transforming the whole entry.\n */\nconst entryStorageTransform = async <T extends CmsEntryValues = CmsEntryValues>(\n context: Pick<CmsContext, \"container\">,\n model: CmsModel,\n operation: \"toStorage\" | \"fromStorage\",\n entry: CmsEntry<T>\n): Promise<CmsEntry<T>> => {\n /**\n * We use this property to skip unnecessary operations.\n */\n // @ts-expect-error\n if (entry[doNotTouchProperty] === operation) {\n return entry;\n }\n\n const getStorageTransform = getStorageTransformFactory(context);\n\n const fieldValues = model.fields\n .filter(field => {\n return entry.values.hasOwnProperty(field.fieldId);\n })\n .map(async field => {\n const key = field.fieldId as keyof T;\n const value = entry.values[key];\n const storageTransform = getStorageTransform(field.type);\n const transformed = await storageTransform[operation]({\n model,\n field,\n value,\n getStorageTransform\n });\n return [key, transformed] as const;\n });\n\n const results = await Promise.all(fieldValues);\n const transformedValues = Object.fromEntries(results) as T;\n\n const result = {\n ...entry,\n values: transformedValues\n };\n /**\n * We need to assign the variable so that we can skip unnecessary operations next time.\n */\n Object.defineProperty(result, doNotTouchProperty, {\n enumerable: false,\n value: operation,\n configurable: true\n });\n\n return result;\n};\n\n/**\n * A function that is used in crud to transform entry into the storage type.\n */\nexport const entryToStorageTransform = async (\n context: Pick<CmsContext, \"container\">,\n model: CmsModel,\n entry: CmsEntry\n): Promise<CmsEntry> => {\n return entryStorageTransform(context, model, \"toStorage\", entry);\n};\n\n/**\n * A function that is used to transform the whole entry from storage into its native form.\n */\nexport const entryFromStorageTransform = async (\n context: Pick<CmsContext, \"container\">,\n model: CmsModel,\n entry: CmsEntry\n): Promise<CmsEntry> => {\n return entryStorageTransform(context, model, \"fromStorage\", entry);\n};\n\ninterface EntryFieldFromStorageTransformParams {\n context: Pick<CmsContext, \"container\">;\n model: CmsModel;\n field: CmsModelField;\n value: any;\n}\n/*\n * A function that is used to transform a single field from storage\n */\nexport const entryFieldFromStorageTransform = async <T = any>(\n params: EntryFieldFromStorageTransformParams\n): Promise<T> => {\n const { context, model, field, value } = params;\n const getStorageTransform = getStorageTransformFactory(context);\n\n const storageTransform = getStorageTransform(field.type);\n\n return storageTransform.fromStorage({\n model,\n field,\n value,\n getStorageTransform\n });\n};\n"],"names":["getStorageTransformFactory","context","registry","StorageTransformRegistry","result","defaultStorageTransform","storageTransforms","storageTransform","type","fieldType","getBaseFieldType","doNotTouchProperty","Symbol","entryStorageTransform","model","operation","entry","getStorageTransform","fieldValues","field","key","value","transformed","results","Promise","transformedValues","Object","entryToStorageTransform","entryFromStorageTransform","entryFieldFromStorageTransform","params"],"mappings":";;AAeO,MAAMA,6BAAyDC,CAAAA;IAClE,MAAMC,WAAWD,QAAQ,SAAS,CAAC,OAAO,CAACE;IAE3C,MAAMC,SAA4D,CAAC;IACnE,IAAIC;IAEJ,MAAMC,oBAAoBJ,SAAS,MAAM,GAAG,UAAU;IAEtD,KAAK,MAAMK,oBAAoBD,kBAAmB;QAC9C,IAAIC,AAA+B,QAA/BA,iBAAiB,SAAS,EAC1BF,0BAA0BE;QAE9BH,MAAM,CAACG,iBAAiB,SAAS,CAAC,GAAGA;IACzC;IAEA,OAAO,CAACC;QACJ,MAAMC,YAAYC,iBAAiB;YAC/BF;QACJ;QAEA,IAAIJ,MAAM,CAACI,KAAK,EACZ,OAAOJ,MAAM,CAACI,KAAK;QAChB,IAAIC,cAAcD,QAAQJ,MAAM,CAACK,UAAU,EAC9C,OAAOL,MAAM,CAACK,UAAU;QAE5B,OAAOJ;IACX;AACJ;AAEA,MAAMM,qBAAqBC,OAAO;AAKlC,MAAMC,wBAAwB,OAC1BZ,SACAa,OACAC,WACAC;IAMA,IAAIA,KAAK,CAACL,mBAAmB,KAAKI,WAC9B,OAAOC;IAGX,MAAMC,sBAAsBjB,2BAA2BC;IAEvD,MAAMiB,cAAcJ,MAAM,MAAM,CAC3B,MAAM,CAACK,CAAAA,QACGH,MAAM,MAAM,CAAC,cAAc,CAACG,MAAM,OAAO,GAEnD,GAAG,CAAC,OAAMA;QACP,MAAMC,MAAMD,MAAM,OAAO;QACzB,MAAME,QAAQL,MAAM,MAAM,CAACI,IAAI;QAC/B,MAAMb,mBAAmBU,oBAAoBE,MAAM,IAAI;QACvD,MAAMG,cAAc,MAAMf,gBAAgB,CAACQ,UAAU,CAAC;YAClDD;YACAK;YACAE;YACAJ;QACJ;QACA,OAAO;YAACG;YAAKE;SAAY;IAC7B;IAEJ,MAAMC,UAAU,MAAMC,QAAQ,GAAG,CAACN;IAClC,MAAMO,oBAAoBC,OAAO,WAAW,CAACH;IAE7C,MAAMnB,SAAS;QACX,GAAGY,KAAK;QACR,QAAQS;IACZ;IAIAC,OAAO,cAAc,CAACtB,QAAQO,oBAAoB;QAC9C,YAAY;QACZ,OAAOI;QACP,cAAc;IAClB;IAEA,OAAOX;AACX;AAKO,MAAMuB,0BAA0B,OACnC1B,SACAa,OACAE,QAEOH,sBAAsBZ,SAASa,OAAO,aAAaE;AAMvD,MAAMY,4BAA4B,OACrC3B,SACAa,OACAE,QAEOH,sBAAsBZ,SAASa,OAAO,eAAeE;AAYzD,MAAMa,iCAAiC,OAC1CC;IAEA,MAAM,EAAE7B,OAAO,EAAEa,KAAK,EAAEK,KAAK,EAAEE,KAAK,EAAE,GAAGS;IACzC,MAAMb,sBAAsBjB,2BAA2BC;IAEvD,MAAMM,mBAAmBU,oBAAoBE,MAAM,IAAI;IAEvD,OAAOZ,iBAAiB,WAAW,CAAC;QAChCO;QACAK;QACAE;QACAJ;IACJ;AACJ"}
|
package/utils/index.d.ts
CHANGED
package/utils/index.js
CHANGED
package/utils/renderFields.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"utils/renderFields.js","sources":["../../src/utils/renderFields.ts"],"sourcesContent":["import type {\n ApiEndpoint,\n CmsModel,\n CmsModelField,\n CmsModelFieldDefinition\n} from \"~/types/index.js\";\nimport { getBaseFieldType } from \"~/utils/getBaseFieldType.js\";\nimport type {\n CmsModelFieldToGraphQL,\n CmsModelFieldToGraphQLRegistry\n} from \"~/features/graphql/index.js\";\n\nconst getFieldApi = (\n field: CmsModelFieldToGraphQL.Interface,\n type: ApiEndpoint\n): CmsModelFieldToGraphQL.ManageApi => {\n if (type === \"manage\") {\n return field.manage;\n }\n /* \"read\" and \"preview\" both use the read API. */\n return field.read as CmsModelFieldToGraphQL.ManageApi;\n};\n\ninterface RenderFieldsParams {\n models: CmsModel[];\n model: CmsModel;\n fields: CmsModelField[];\n type: ApiEndpoint;\n fieldRegistry: CmsModelFieldToGraphQLRegistry.Interface;\n}\n\ninterface RenderFields {\n (params: RenderFieldsParams): CmsModelFieldDefinition[];\n}\n\nexport const renderFields: RenderFields = ({\n models,\n model,\n fields,\n type,\n fieldRegistry\n}): CmsModelFieldDefinition[] => {\n return fields\n .map(field => renderField({ models, model, type, field, fieldRegistry }))\n .filter(Boolean) as CmsModelFieldDefinition[];\n};\n\ninterface RenderFieldParams extends Omit<RenderFieldsParams, \"fields\"> {\n field: CmsModelField;\n}\n\nexport const renderField = ({\n models,\n model,\n type,\n field,\n fieldRegistry\n}: RenderFieldParams): CmsModelFieldDefinition | null => {\n const plugin = fieldRegistry.get(getBaseFieldType(field));\n if (!plugin) {\n return null;\n }\n const api = getFieldApi(plugin, type);\n const { createTypeField } = api;\n const defs = createTypeField({\n models,\n model,\n field,\n fieldRegistry\n });\n\n if (!defs) {\n return null;\n } else if (typeof defs === \"string\") {\n return {\n fields: defs\n };\n }\n\n return defs;\n};\n"],"names":["getFieldApi","field","type","renderFields","models","model","fields","fieldRegistry","renderField","Boolean","plugin","getBaseFieldType","api","createTypeField","defs"],"mappings":";AAYA,MAAMA,cAAc,CAChBC,OACAC;IAEA,IAAIA,AAAS,aAATA,MACA,OAAOD,MAAM,MAAM;IAGvB,OAAOA,MAAM,IAAI;AACrB;AAcO,MAAME,eAA6B,CAAC,EACvCC,MAAM,EACNC,KAAK,EACLC,MAAM,EACNJ,IAAI,EACJK,aAAa,EAChB,GACUD,OACF,GAAG,CAACL,CAAAA,QAASO,YAAY;YAAEJ;YAAQC;YAAOH;YAAMD;YAAOM;QAAc,IACrE,MAAM,CAACE;AAOT,MAAMD,cAAc,CAAC,EACxBJ,MAAM,EACNC,KAAK,EACLH,IAAI,EACJD,KAAK,EACLM,aAAa,EACG;IAChB,MAAMG,SAASH,cAAc,GAAG,CAACI,iBAAiBV;IAClD,IAAI,CAACS,QACD,OAAO;IAEX,MAAME,MAAMZ,YAAYU,QAAQR;IAChC,MAAM,EAAEW,eAAe,EAAE,GAAGD;IAC5B,MAAME,OAAOD,gBAAgB;QACzBT;QACAC;QACAJ;QACAM;IACJ;IAEA,IAAI,CAACO,MACD,OAAO;
|
|
1
|
+
{"version":3,"file":"utils/renderFields.js","sources":["../../src/utils/renderFields.ts"],"sourcesContent":["import type {\n ApiEndpoint,\n CmsModel,\n CmsModelField,\n CmsModelFieldDefinition\n} from \"~/types/index.js\";\nimport { getBaseFieldType } from \"~/utils/getBaseFieldType.js\";\nimport type {\n CmsModelFieldToGraphQL,\n CmsModelFieldToGraphQLRegistry\n} from \"~/features/graphql/index.js\";\n\nconst getFieldApi = (\n field: CmsModelFieldToGraphQL.Interface,\n type: ApiEndpoint\n): CmsModelFieldToGraphQL.ManageApi => {\n if (type === \"manage\") {\n return field.manage;\n }\n /* \"read\" and \"preview\" both use the read API. */\n return field.read as CmsModelFieldToGraphQL.ManageApi;\n};\n\ninterface RenderFieldsParams {\n models: CmsModel[];\n model: CmsModel;\n fields: CmsModelField[];\n type: ApiEndpoint;\n fieldRegistry: CmsModelFieldToGraphQLRegistry.Interface;\n}\n\ninterface RenderFields {\n (params: RenderFieldsParams): CmsModelFieldDefinition[];\n}\n\nexport const renderFields: RenderFields = ({\n models,\n model,\n fields,\n type,\n fieldRegistry\n}): CmsModelFieldDefinition[] => {\n return fields\n .map(field => renderField({ models, model, type, field, fieldRegistry }))\n .filter(Boolean) as CmsModelFieldDefinition[];\n};\n\ninterface RenderFieldParams extends Omit<RenderFieldsParams, \"fields\"> {\n field: CmsModelField;\n}\n\nexport const renderField = ({\n models,\n model,\n type,\n field,\n fieldRegistry\n}: RenderFieldParams): CmsModelFieldDefinition | null => {\n const plugin = fieldRegistry.get(getBaseFieldType(field));\n if (!plugin) {\n return null;\n }\n const api = getFieldApi(plugin, type);\n const { createTypeField } = api;\n const defs = createTypeField({\n models,\n model,\n field,\n fieldRegistry\n });\n\n if (!defs) {\n return null;\n } else if (typeof defs === \"string\") {\n return {\n fields: defs\n };\n }\n\n return defs;\n};\n"],"names":["getFieldApi","field","type","renderFields","models","model","fields","fieldRegistry","renderField","Boolean","plugin","getBaseFieldType","api","createTypeField","defs"],"mappings":";AAYA,MAAMA,cAAc,CAChBC,OACAC;IAEA,IAAIA,AAAS,aAATA,MACA,OAAOD,MAAM,MAAM;IAGvB,OAAOA,MAAM,IAAI;AACrB;AAcO,MAAME,eAA6B,CAAC,EACvCC,MAAM,EACNC,KAAK,EACLC,MAAM,EACNJ,IAAI,EACJK,aAAa,EAChB,GACUD,OACF,GAAG,CAACL,CAAAA,QAASO,YAAY;YAAEJ;YAAQC;YAAOH;YAAMD;YAAOM;QAAc,IACrE,MAAM,CAACE;AAOT,MAAMD,cAAc,CAAC,EACxBJ,MAAM,EACNC,KAAK,EACLH,IAAI,EACJD,KAAK,EACLM,aAAa,EACG;IAChB,MAAMG,SAASH,cAAc,GAAG,CAACI,iBAAiBV;IAClD,IAAI,CAACS,QACD,OAAO;IAEX,MAAME,MAAMZ,YAAYU,QAAQR;IAChC,MAAM,EAAEW,eAAe,EAAE,GAAGD;IAC5B,MAAME,OAAOD,gBAAgB;QACzBT;QACAC;QACAJ;QACAM;IACJ;IAEA,IAAI,CAACO,MACD,OAAO;IACJ,IAAI,AAAgB,YAAhB,OAAOA,MACd,OAAO;QACH,QAAQA;IACZ;IAGJ,OAAOA;AACX"}
|
package/index.js.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sources":["../src/index.ts"],"sourcesContent":["import type { CreateGraphQLParams } from \"~/graphql/index.js\";\nimport { createGraphQL as baseCreateGraphQL } from \"~/graphql/index.js\";\nimport {\n createContextParameterPlugin,\n createHeaderParameterPlugin,\n createPathParameterPlugin\n} from \"~/parameters/index.js\";\nimport { createContextPlugin } from \"~/context.js\";\nimport {\n entryFieldFromStorageTransform,\n entryFromStorageTransform,\n entryToStorageTransform\n} from \"./utils/entryStorage.js\";\nimport { createFieldConverters } from \"~/fieldConverters/index.js\";\nimport { createExportGraphQL } from \"~/export/index.js\";\nimport { createRevisionIdScalarPlugin } from \"~/graphql/scalars/RevisionIdScalarPlugin.js\";\nimport type { Plugin } from \"@webiny/plugins/types.js\";\n\nexport * from \"./utils/isHeadlessCmsReady.js\";\nexport * from \"./utils/createModelField.js\";\nexport * from \"./graphql/schema/resolvers/manage/normalizeGraphQlInput.js\";\n\nexport type CreateHeadlessCmsGraphQLParams = CreateGraphQLParams;\nexport const createHeadlessCmsGraphQL = (params: CreateHeadlessCmsGraphQLParams = {}): Plugin[] => {\n return [\n ...createRevisionIdScalarPlugin(),\n /**\n * PathParameter plugins are used to determine the type of the cms endpoint\n */\n createPathParameterPlugin(),\n createHeaderParameterPlugin(),\n createContextParameterPlugin(),\n /**\n * At this point we can create, or not create, CMS GraphQL Schema.\n */\n ...baseCreateGraphQL(params),\n createExportGraphQL()\n ];\n};\n\nexport const createHeadlessCmsContext = () => {\n return [\n /**\n * Context for all Lambdas - everything is loaded now.\n */\n createContextPlugin(),\n createFieldConverters()\n ];\n};\nexport * from \"~/plugins/index.js\";\nexport * from \"~/utils/incrementEntryIdVersion.js\";\nexport * from \"./graphql/handleRequest.js\";\nexport * from \"./features/contentEntry/ContentEntryTraverser/ContentEntryTraverser.js\";\nexport { ContentEntryTraverserProvider } from \"./features/contentEntry/ContentEntryTraverser/abstractions.js\";\nexport * from \"./utils/contentModelAst/index.js\";\nexport { CmsWhereMapper } from \"~/features/whereMapper/abstractions.js\";\nexport { CmsSortMapper } from \"~/features/sortMapper/abstractions.js\";\nexport { entryToStorageTransform, entryFieldFromStorageTransform, entryFromStorageTransform };\n"],"names":["createHeadlessCmsGraphQL","params","createRevisionIdScalarPlugin","createPathParameterPlugin","createHeaderParameterPlugin","createContextParameterPlugin","baseCreateGraphQL","createExportGraphQL","createHeadlessCmsContext","createContextPlugin","createFieldConverters"],"mappings":";;;;;;;;;;;;;;AAuBO,MAAMA,2BAA2B,CAACC,SAAyC,CAAC,CAAC,GACzE;WACAC;QAIHC;QACAC;QACAC;WAIGC,cAAkBL;QACrBM;KACH;AAGE,MAAMC,2BAA2B,IAC7B;QAIHC;QACAC;KACH"}
|