@webiny/api-headless-cms 5.37.8 → 5.38.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/constants.js +3 -1
- package/context.js +10 -17
- package/context.js.map +1 -1
- package/crud/contentEntry/afterDelete.js +3 -1
- package/crud/contentEntry/beforeCreate.js +3 -1
- package/crud/contentEntry/beforeUpdate.js +3 -1
- package/crud/contentEntry/entryDataValidation.d.ts +4 -2
- package/crud/contentEntry/entryDataValidation.js +220 -47
- package/crud/contentEntry/entryDataValidation.js.map +1 -1
- package/crud/contentEntry/markLockedFields.js +3 -1
- package/crud/contentEntry/referenceFieldsMapping.d.ts +6 -0
- package/crud/contentEntry/referenceFieldsMapping.js +118 -97
- package/crud/contentEntry/referenceFieldsMapping.js.map +1 -1
- package/crud/contentEntry/searchableFields.js +5 -3
- package/crud/contentEntry/searchableFields.js.map +1 -1
- package/crud/contentEntry.crud.js +68 -64
- package/crud/contentEntry.crud.js.map +1 -1
- package/crud/contentModel/beforeCreate.d.ts +1 -1
- package/crud/contentModel/beforeCreate.js +11 -9
- package/crud/contentModel/beforeCreate.js.map +1 -1
- package/crud/contentModel/beforeDelete.js +3 -1
- package/crud/contentModel/beforeUpdate.d.ts +1 -1
- package/crud/contentModel/beforeUpdate.js +3 -6
- package/crud/contentModel/beforeUpdate.js.map +1 -1
- package/crud/contentModel/compatibility/modelApiName.js +3 -1
- package/crud/contentModel/contentModelManagerFactory.js +3 -1
- package/crud/contentModel/createFieldStorageId.js +3 -1
- package/crud/contentModel/defaultFields.js +3 -1
- package/crud/contentModel/ensureTypeTag.d.ts +5 -0
- package/crud/contentModel/ensureTypeTag.js +21 -0
- package/crud/contentModel/ensureTypeTag.js.map +1 -0
- package/crud/contentModel/fields/descriptionField.js +3 -1
- package/crud/contentModel/fields/imageField.js +3 -1
- package/crud/contentModel/fields/titleField.js +3 -1
- package/crud/contentModel/listModelsFromDatabase.d.ts +10 -0
- package/crud/contentModel/listModelsFromDatabase.js +39 -0
- package/crud/contentModel/listModelsFromDatabase.js.map +1 -0
- package/crud/contentModel/validate/endingAllowed.js +3 -1
- package/crud/contentModel/validate/isModelEndingAllowed.js +4 -2
- package/crud/contentModel/validate/isModelEndingAllowed.js.map +1 -1
- package/crud/contentModel/validate/modelId.js +3 -1
- package/crud/contentModel/validate/pluralApiName.js +3 -1
- package/crud/contentModel/validate/singularApiName.js +3 -1
- package/crud/contentModel/validateModel.js +3 -1
- package/crud/contentModel/validateModel.js.map +1 -1
- package/crud/contentModel/validateModelFields.js +3 -1
- package/crud/contentModel/validation.d.ts +339 -58
- package/crud/contentModel/validation.js +71 -11
- package/crud/contentModel/validation.js.map +1 -1
- package/crud/contentModel.crud.js +80 -156
- package/crud/contentModel.crud.js.map +1 -1
- package/crud/contentModelGroup/beforeCreate.d.ts +1 -1
- package/crud/contentModelGroup/beforeCreate.js +15 -1
- package/crud/contentModelGroup/beforeCreate.js.map +1 -1
- package/crud/contentModelGroup/beforeDelete.js +3 -1
- package/crud/contentModelGroup/beforeUpdate.js +3 -1
- package/crud/contentModelGroup/listGroupsFromDatabase.d.ts +8 -0
- package/crud/contentModelGroup/listGroupsFromDatabase.js +22 -0
- package/crud/contentModelGroup/listGroupsFromDatabase.js.map +1 -0
- package/crud/contentModelGroup/validation.d.ts +9 -6
- package/crud/contentModelGroup/validation.js +5 -2
- package/crud/contentModelGroup/validation.js.map +1 -1
- package/crud/contentModelGroup.crud.js +89 -110
- package/crud/contentModelGroup.crud.js.map +1 -1
- package/crud/system.crud.js +4 -7
- package/crud/system.crud.js.map +1 -1
- package/export/crud/exporting.d.ts +3 -0
- package/export/crud/exporting.js +50 -0
- package/export/crud/exporting.js.map +1 -0
- package/export/crud/importing.d.ts +3 -0
- package/export/crud/importing.js +79 -0
- package/export/crud/importing.js.map +1 -0
- package/export/crud/imports/importData.d.ts +14 -0
- package/export/crud/imports/importData.js +25 -0
- package/export/crud/imports/importData.js.map +1 -0
- package/export/crud/imports/importGroups.d.ts +8 -0
- package/export/crud/imports/importGroups.js +99 -0
- package/export/crud/imports/importGroups.js.map +1 -0
- package/export/crud/imports/importModels.d.ts +8 -0
- package/export/crud/imports/importModels.js +134 -0
- package/export/crud/imports/importModels.js.map +1 -0
- package/export/crud/imports/validateGroups.d.ts +8 -0
- package/export/crud/imports/validateGroups.js +106 -0
- package/export/crud/imports/validateGroups.js.map +1 -0
- package/export/crud/imports/validateInput.d.ts +19 -0
- package/export/crud/imports/validateInput.js +49 -0
- package/export/crud/imports/validateInput.js.map +1 -0
- package/export/crud/imports/validateModels.d.ts +9 -0
- package/export/crud/imports/validateModels.js +204 -0
- package/export/crud/imports/validateModels.js.map +1 -0
- package/export/crud/index.d.ts +4 -0
- package/export/crud/index.js +15 -0
- package/export/crud/index.js.map +1 -0
- package/export/crud/sanitize.d.ts +4 -0
- package/export/crud/sanitize.js +35 -0
- package/export/crud/sanitize.js.map +1 -0
- package/export/graphql/index.d.ts +3 -0
- package/export/graphql/index.js +188 -0
- package/export/graphql/index.js.map +1 -0
- package/export/index.d.ts +2 -0
- package/export/index.js +29 -0
- package/export/index.js.map +1 -0
- package/export/types.d.ts +111 -0
- package/export/types.js +22 -0
- package/export/types.js.map +1 -0
- package/fieldConverters/CmsModelDefaultFieldConverterPlugin.js +3 -1
- package/fieldConverters/CmsModelDynamicZoneFieldConverterPlugin.js +3 -1
- package/fieldConverters/CmsModelObjectFieldConverterPlugin.js +3 -1
- package/fieldConverters/index.js +3 -1
- package/graphql/buildSchemaPlugins.js +3 -1
- package/graphql/checkEndpointAccess.js +3 -1
- package/graphql/createExecutableSchema.js +3 -1
- package/graphql/createRequestBody.js +3 -1
- package/graphql/formatErrorPayload.js +3 -1
- package/graphql/generateSchema.js +3 -1
- package/graphql/getSchema.d.ts +0 -1
- package/graphql/getSchema.js +23 -13
- package/graphql/getSchema.js.map +1 -1
- package/graphql/graphQLHandlerFactory.js +3 -1
- package/graphql/handleRequest.js +3 -5
- package/graphql/handleRequest.js.map +1 -1
- package/graphql/index.d.ts +1 -1
- package/graphql/index.js +4 -2
- package/graphql/index.js.map +1 -1
- package/graphql/schema/baseContentSchema.js +3 -1
- package/graphql/schema/baseSchema.d.ts +2 -3
- package/graphql/schema/baseSchema.js +58 -2
- package/graphql/schema/baseSchema.js.map +1 -1
- package/graphql/schema/contentEntries.js +4 -2
- package/graphql/schema/contentEntries.js.map +1 -1
- package/graphql/schema/contentModelGroups.js +4 -1
- package/graphql/schema/contentModelGroups.js.map +1 -1
- package/graphql/schema/contentModels.js +5 -5
- package/graphql/schema/contentModels.js.map +1 -1
- package/graphql/schema/createFieldResolvers.js +3 -1
- package/graphql/schema/createFieldTypePluginRecords.js +3 -1
- package/graphql/schema/createManageResolvers.js +7 -1
- package/graphql/schema/createManageResolvers.js.map +1 -1
- package/graphql/schema/createManageSDL.js +8 -4
- package/graphql/schema/createManageSDL.js.map +1 -1
- package/graphql/schema/createPreviewResolvers.js +3 -1
- package/graphql/schema/createReadResolvers.js +3 -1
- package/graphql/schema/createReadSDL.js +3 -1
- package/graphql/schema/resolvers/commonFieldResolvers.js +3 -1
- package/graphql/schema/resolvers/manage/resolveCreate.d.ts +2 -1
- package/graphql/schema/resolvers/manage/resolveCreate.js +4 -2
- package/graphql/schema/resolvers/manage/resolveCreate.js.map +1 -1
- package/graphql/schema/resolvers/manage/resolveCreateFrom.d.ts +2 -1
- package/graphql/schema/resolvers/manage/resolveCreateFrom.js +4 -2
- package/graphql/schema/resolvers/manage/resolveCreateFrom.js.map +1 -1
- package/graphql/schema/resolvers/manage/resolveDelete.js +3 -1
- package/graphql/schema/resolvers/manage/resolveDeleteMultiple.js +3 -1
- package/graphql/schema/resolvers/manage/resolveGet.js +3 -1
- package/graphql/schema/resolvers/manage/resolveGetByIds.js +3 -1
- package/graphql/schema/resolvers/manage/resolveGetRevisions.js +3 -1
- package/graphql/schema/resolvers/manage/resolveGetUniqueFieldValues.js +3 -1
- package/graphql/schema/resolvers/manage/resolveList.js +3 -1
- package/graphql/schema/resolvers/manage/resolveMove.js +3 -1
- package/graphql/schema/resolvers/manage/resolvePublish.js +3 -1
- package/graphql/schema/resolvers/manage/resolveRepublish.js +3 -1
- package/graphql/schema/resolvers/manage/resolveUnpublish.js +3 -1
- package/graphql/schema/resolvers/manage/resolveUpdate.d.ts +2 -1
- package/graphql/schema/resolvers/manage/resolveUpdate.js +4 -2
- package/graphql/schema/resolvers/manage/resolveUpdate.js.map +1 -1
- package/graphql/schema/resolvers/manage/resolveValidate.d.ts +8 -0
- package/graphql/schema/resolvers/manage/resolveValidate.js +20 -0
- package/graphql/schema/resolvers/manage/resolveValidate.js.map +1 -0
- package/graphql/schema/resolvers/preview/resolveGet.js +3 -1
- package/graphql/schema/resolvers/preview/resolveList.js +3 -1
- package/graphql/schema/resolvers/read/resolveGet.js +3 -1
- package/graphql/schema/resolvers/read/resolveList.js +3 -1
- package/graphql/schema/schemaPlugins.js +3 -1
- package/graphql/system.js +3 -1
- package/graphqlFields/boolean.js +3 -1
- package/graphqlFields/datetime.js +4 -3
- package/graphqlFields/datetime.js.map +1 -1
- package/graphqlFields/dynamicZone/dynamicZoneField.js +29 -6
- package/graphqlFields/dynamicZone/dynamicZoneField.js.map +1 -1
- package/graphqlFields/dynamicZone/dynamicZoneStorage.js +3 -1
- package/graphqlFields/dynamicZone/index.js +3 -1
- package/graphqlFields/file.js +3 -1
- package/graphqlFields/helpers.d.ts +0 -1
- package/graphqlFields/helpers.js +6 -18
- package/graphqlFields/helpers.js.map +1 -1
- package/graphqlFields/index.js +3 -1
- package/graphqlFields/longText.js +14 -3
- package/graphqlFields/longText.js.map +1 -1
- package/graphqlFields/number.js +3 -1
- package/graphqlFields/object.js +5 -17
- package/graphqlFields/object.js.map +1 -1
- package/graphqlFields/ref.js +4 -2
- package/graphqlFields/ref.js.map +1 -1
- package/graphqlFields/richText.js +3 -1
- package/graphqlFields/text.js +3 -1
- package/index.d.ts +1 -1
- package/index.js +5 -2
- package/index.js.map +1 -1
- package/modelManager/DefaultCmsModelManager.js +3 -1
- package/modelManager/index.js +3 -1
- package/package.json +18 -19
- package/parameters/context.js +3 -1
- package/parameters/header.js +3 -1
- package/parameters/index.js +3 -1
- package/parameters/manual.js +3 -1
- package/parameters/path.js +3 -1
- package/plugins/CmsGraphQLSchemaPlugin.js +3 -1
- package/plugins/CmsGraphQLSchemaSorterPlugin.js +3 -1
- package/plugins/CmsGroupPlugin.d.ts +6 -3
- package/plugins/CmsGroupPlugin.js +7 -2
- package/plugins/CmsGroupPlugin.js.map +1 -1
- package/plugins/CmsModelFieldConverterPlugin.js +3 -1
- package/plugins/CmsModelPlugin.d.ts +2 -2
- package/plugins/CmsModelPlugin.js +6 -2
- package/plugins/CmsModelPlugin.js.map +1 -1
- package/plugins/CmsParametersPlugin.js +3 -1
- package/plugins/StorageOperationsCmsModelPlugin.js +3 -1
- package/plugins/StorageTransformPlugin.js +3 -1
- package/plugins/index.js +3 -1
- package/storage/default.js +3 -1
- package/storage/object.js +3 -1
- package/types.d.ts +62 -230
- package/types.js +3 -17
- package/types.js.map +1 -1
- package/utils/access.js +3 -1
- package/utils/caching/Cache.d.ts +2 -0
- package/utils/caching/Cache.js +53 -0
- package/utils/caching/Cache.js.map +1 -0
- package/utils/caching/CacheKey.d.ts +3 -0
- package/utils/caching/CacheKey.js +41 -0
- package/utils/caching/CacheKey.js.map +1 -0
- package/utils/caching/index.d.ts +2 -0
- package/utils/caching/index.js +29 -0
- package/utils/caching/index.js.map +1 -0
- package/utils/caching/types.d.ts +9 -0
- package/utils/caching/types.js +7 -0
- package/utils/caching/types.js.map +1 -0
- package/utils/converters/Converter.js +3 -1
- package/utils/converters/ConverterCollection.js +3 -1
- package/utils/converters/valueKeyStorageConverter.js +3 -1
- package/utils/createTypeFromFields.js +6 -1
- package/utils/createTypeFromFields.js.map +1 -1
- package/utils/createTypeName.js +3 -1
- package/utils/entryStorage.js +3 -1
- package/utils/filterAsync.js +3 -1
- package/utils/getBaseFieldType.js +3 -1
- package/utils/getEntryDescription.js +3 -1
- package/utils/getEntryImage.js +3 -1
- package/utils/getEntryTitle.js +3 -1
- package/utils/getSchemaFromFieldPlugins.js +3 -1
- package/utils/incrementEntryIdVersion.js +3 -1
- package/utils/index.d.ts +1 -0
- package/utils/index.js +18 -0
- package/utils/index.js.map +1 -0
- package/utils/permissions/EntriesPermissions.js +3 -1
- package/utils/permissions/ModelGroupsPermissions.js +3 -1
- package/utils/permissions/ModelsPermissions.js +3 -1
- package/utils/renderFields.js +3 -1
- package/utils/renderGetFilterFields.js +3 -1
- package/utils/renderInputFields.js +3 -1
- package/utils/renderListFilterFields.js +3 -1
- package/utils/renderSortEnum.js +3 -1
- package/utils/toSlug.js +3 -1
- package/validators/dateGte.js +3 -1
- package/validators/dateLte.js +3 -1
- package/validators/gte.js +3 -1
- package/validators/in.js +3 -1
- package/validators/index.js +4 -3
- package/validators/index.js.map +1 -1
- package/validators/lte.js +3 -1
- package/validators/maxLength.js +3 -1
- package/validators/minLength.js +3 -1
- package/validators/pattern.js +3 -1
- package/validators/patternPlugins/email.js +3 -1
- package/validators/patternPlugins/index.js +3 -1
- package/validators/patternPlugins/lowerCase.js +3 -1
- package/validators/patternPlugins/lowerCaseSpace.js +3 -1
- package/validators/patternPlugins/upperCase.js +3 -1
- package/validators/patternPlugins/upperCaseSpace.js +3 -1
- package/validators/patternPlugins/url.js +3 -1
- package/validators/required.js +3 -1
- package/validators/timeGte.js +3 -1
- package/validators/timeLte.js +3 -1
- package/validators/unique.js +4 -2
- package/validators/unique.js.map +1 -1
- package/crud/contentModel/afterCreate.d.ts +0 -8
- package/crud/contentModel/afterCreate.js +0 -16
- package/crud/contentModel/afterCreate.js.map +0 -1
- package/crud/contentModel/afterCreateFrom.d.ts +0 -8
- package/crud/contentModel/afterCreateFrom.js +0 -16
- package/crud/contentModel/afterCreateFrom.js.map +0 -1
- package/crud/contentModel/afterDelete.d.ts +0 -8
- package/crud/contentModel/afterDelete.js +0 -16
- package/crud/contentModel/afterDelete.js.map +0 -1
- package/crud/contentModel/afterUpdate.d.ts +0 -8
- package/crud/contentModel/afterUpdate.js +0 -16
- package/crud/contentModel/afterUpdate.js.map +0 -1
- package/crud/contentModel/validateLayout.d.ts +0 -2
- package/crud/contentModel/validateLayout.js +0 -28
- package/crud/contentModel/validateLayout.js.map +0 -1
- package/crud/settings.crud.d.ts +0 -12
- package/crud/settings.crud.js +0 -62
- package/crud/settings.crud.js.map +0 -1
- package/utils/permissions/SettingsPermissions.d.ts +0 -4
- package/utils/permissions/SettingsPermissions.js +0 -9
- package/utils/permissions/SettingsPermissions.js.map +0 -1
- package/validators/dynamicZone.d.ts +0 -2
- package/validators/dynamicZone.js +0 -20
- package/validators/dynamicZone.js.map +0 -1
|
@@ -0,0 +1,111 @@
|
|
|
1
|
+
import { CmsGroup, CmsModel } from "../types";
|
|
2
|
+
export interface CmsImportError {
|
|
3
|
+
message: string;
|
|
4
|
+
code: string | null;
|
|
5
|
+
data?: Record<string, any> | null;
|
|
6
|
+
stack?: any;
|
|
7
|
+
}
|
|
8
|
+
export declare enum CmsImportAction {
|
|
9
|
+
CREATE = "create",
|
|
10
|
+
UPDATE = "update",
|
|
11
|
+
CODE = "code",
|
|
12
|
+
NONE = "none"
|
|
13
|
+
}
|
|
14
|
+
/**
|
|
15
|
+
* Structure export - groups and models.
|
|
16
|
+
*/
|
|
17
|
+
export interface HeadlessCmsExportStructureParams {
|
|
18
|
+
models?: string[];
|
|
19
|
+
}
|
|
20
|
+
export declare type SanitizedCmsGroup = Pick<CmsGroup, "id" | "name" | "slug" | "description" | "icon">;
|
|
21
|
+
export interface SanitizedCmsModel extends Pick<CmsModel, "modelId" | "fields" | "titleFieldId" | "descriptionFieldId" | "imageFieldId" | "layout" | "icon" | "singularApiName" | "pluralApiName" | "name" | "description"> {
|
|
22
|
+
group: string;
|
|
23
|
+
}
|
|
24
|
+
export interface HeadlessCmsExportStructureResponse {
|
|
25
|
+
groups: SanitizedCmsGroup[];
|
|
26
|
+
models: SanitizedCmsModel[];
|
|
27
|
+
}
|
|
28
|
+
export interface HeadlessCmsExportStructure {
|
|
29
|
+
(params: HeadlessCmsExportStructureParams): Promise<HeadlessCmsExportStructureResponse>;
|
|
30
|
+
}
|
|
31
|
+
export interface HeadlessCmsImportStructureParamsDataModel extends Omit<Partial<CmsModel>, "group"> {
|
|
32
|
+
group?: string;
|
|
33
|
+
}
|
|
34
|
+
export interface CmsImportStructureParamsData {
|
|
35
|
+
groups: Partial<CmsGroup>[];
|
|
36
|
+
models: HeadlessCmsImportStructureParamsDataModel[];
|
|
37
|
+
}
|
|
38
|
+
export interface HeadlessCmsImportStructureParams {
|
|
39
|
+
data: CmsImportStructureParamsData;
|
|
40
|
+
}
|
|
41
|
+
export interface HeadlessCmsImportValidateParams {
|
|
42
|
+
data: CmsImportStructureParamsData;
|
|
43
|
+
}
|
|
44
|
+
export interface CmsGroupImportResult {
|
|
45
|
+
action: CmsImportAction;
|
|
46
|
+
group: Partial<Pick<CmsGroup, "id" | "name">>;
|
|
47
|
+
error?: CmsImportError;
|
|
48
|
+
imported: boolean;
|
|
49
|
+
}
|
|
50
|
+
export interface CmsModelImportResult {
|
|
51
|
+
action: CmsImportAction;
|
|
52
|
+
model: Partial<Pick<CmsModel, "modelId" | "name">> & {
|
|
53
|
+
group: string;
|
|
54
|
+
};
|
|
55
|
+
related?: string[] | null;
|
|
56
|
+
error?: CmsImportError;
|
|
57
|
+
imported: boolean;
|
|
58
|
+
}
|
|
59
|
+
export interface HeadlessCmsImportStructureResponse {
|
|
60
|
+
groups: CmsGroupImportResult[];
|
|
61
|
+
models: CmsModelImportResult[];
|
|
62
|
+
message?: string | null;
|
|
63
|
+
error?: string;
|
|
64
|
+
}
|
|
65
|
+
export interface HeadlessCmsImportStructure {
|
|
66
|
+
(params: HeadlessCmsImportStructureParams): Promise<HeadlessCmsImportStructureResponse>;
|
|
67
|
+
}
|
|
68
|
+
export interface ValidCmsGroupResult {
|
|
69
|
+
group: CmsGroup;
|
|
70
|
+
action: CmsImportAction;
|
|
71
|
+
error?: never;
|
|
72
|
+
}
|
|
73
|
+
export interface InvalidCmsGroupResult {
|
|
74
|
+
group: CmsGroup;
|
|
75
|
+
action: CmsImportAction;
|
|
76
|
+
error: CmsImportError;
|
|
77
|
+
}
|
|
78
|
+
export interface ValidatedCmsModel extends Omit<CmsModel, "group"> {
|
|
79
|
+
group: string;
|
|
80
|
+
}
|
|
81
|
+
export interface ValidCmsModelResult {
|
|
82
|
+
model: ValidatedCmsModel;
|
|
83
|
+
related: string[];
|
|
84
|
+
action: CmsImportAction;
|
|
85
|
+
error?: never;
|
|
86
|
+
}
|
|
87
|
+
export interface InvalidCmsModelResult {
|
|
88
|
+
model: ValidatedCmsModel;
|
|
89
|
+
action: CmsImportAction;
|
|
90
|
+
error: CmsImportError;
|
|
91
|
+
}
|
|
92
|
+
export declare type ValidatedCmsGroupResult = ValidCmsGroupResult | InvalidCmsGroupResult;
|
|
93
|
+
export declare type ValidatedCmsModelResult = ValidCmsModelResult | InvalidCmsModelResult;
|
|
94
|
+
export interface HeadlessCmsImportValidateResponse {
|
|
95
|
+
groups: ValidatedCmsGroupResult[];
|
|
96
|
+
models: ValidatedCmsModelResult[];
|
|
97
|
+
message: string;
|
|
98
|
+
}
|
|
99
|
+
export interface HeadlessCmsImportValidate {
|
|
100
|
+
(params: HeadlessCmsImportValidateParams): Promise<HeadlessCmsImportValidateResponse>;
|
|
101
|
+
}
|
|
102
|
+
/**
|
|
103
|
+
* Interface for the main context interface.
|
|
104
|
+
*/
|
|
105
|
+
export interface HeadlessCmsExport {
|
|
106
|
+
structure: HeadlessCmsExportStructure;
|
|
107
|
+
}
|
|
108
|
+
export interface HeadlessCmsImport {
|
|
109
|
+
validate: HeadlessCmsImportValidate;
|
|
110
|
+
structure: HeadlessCmsImportStructure;
|
|
111
|
+
}
|
package/export/types.js
ADDED
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
Object.defineProperty(exports, "__esModule", {
|
|
4
|
+
value: true
|
|
5
|
+
});
|
|
6
|
+
exports.CmsImportAction = void 0;
|
|
7
|
+
let CmsImportAction = /*#__PURE__*/function (CmsImportAction) {
|
|
8
|
+
CmsImportAction["CREATE"] = "create";
|
|
9
|
+
CmsImportAction["UPDATE"] = "update";
|
|
10
|
+
CmsImportAction["CODE"] = "code";
|
|
11
|
+
CmsImportAction["NONE"] = "none";
|
|
12
|
+
return CmsImportAction;
|
|
13
|
+
}({});
|
|
14
|
+
/**
|
|
15
|
+
* Structure export - groups and models.
|
|
16
|
+
*/
|
|
17
|
+
/**
|
|
18
|
+
* Interface for the main context interface.
|
|
19
|
+
*/
|
|
20
|
+
exports.CmsImportAction = CmsImportAction;
|
|
21
|
+
|
|
22
|
+
//# sourceMappingURL=types.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["CmsImportAction","exports"],"sources":["types.ts"],"sourcesContent":["import { CmsGroup, CmsModel } from \"~/types\";\n\nexport interface CmsImportError {\n message: string;\n code: string | null;\n data?: Record<string, any> | null;\n stack?: any;\n}\n\nexport enum CmsImportAction {\n CREATE = \"create\",\n UPDATE = \"update\",\n CODE = \"code\",\n NONE = \"none\"\n}\n/**\n * Structure export - groups and models.\n */\n\nexport interface HeadlessCmsExportStructureParams {\n models?: string[];\n}\n\nexport type SanitizedCmsGroup = Pick<CmsGroup, \"id\" | \"name\" | \"slug\" | \"description\" | \"icon\">;\n\nexport interface SanitizedCmsModel\n extends Pick<\n CmsModel,\n | \"modelId\"\n | \"fields\"\n | \"titleFieldId\"\n | \"descriptionFieldId\"\n | \"imageFieldId\"\n | \"layout\"\n | \"icon\"\n | \"singularApiName\"\n | \"pluralApiName\"\n | \"name\"\n | \"description\"\n > {\n group: string;\n}\n\nexport interface HeadlessCmsExportStructureResponse {\n groups: SanitizedCmsGroup[];\n models: SanitizedCmsModel[];\n}\n\nexport interface HeadlessCmsExportStructure {\n (params: HeadlessCmsExportStructureParams): Promise<HeadlessCmsExportStructureResponse>;\n}\n\nexport interface HeadlessCmsImportStructureParamsDataModel\n extends Omit<Partial<CmsModel>, \"group\"> {\n group?: string;\n}\n\nexport interface CmsImportStructureParamsData {\n groups: Partial<CmsGroup>[];\n models: HeadlessCmsImportStructureParamsDataModel[];\n}\n\nexport interface HeadlessCmsImportStructureParams {\n data: CmsImportStructureParamsData;\n}\n\nexport interface HeadlessCmsImportValidateParams {\n data: CmsImportStructureParamsData;\n}\n\nexport interface CmsGroupImportResult {\n action: CmsImportAction;\n group: Partial<Pick<CmsGroup, \"id\" | \"name\">>;\n error?: CmsImportError;\n imported: boolean;\n}\n\nexport interface CmsModelImportResult {\n action: CmsImportAction;\n model: Partial<Pick<CmsModel, \"modelId\" | \"name\">> & {\n group: string;\n };\n related?: string[] | null;\n error?: CmsImportError;\n imported: boolean;\n}\n\nexport interface HeadlessCmsImportStructureResponse {\n groups: CmsGroupImportResult[];\n models: CmsModelImportResult[];\n message?: string | null;\n error?: string;\n}\n\nexport interface HeadlessCmsImportStructure {\n (params: HeadlessCmsImportStructureParams): Promise<HeadlessCmsImportStructureResponse>;\n}\n\nexport interface ValidCmsGroupResult {\n group: CmsGroup;\n action: CmsImportAction;\n error?: never;\n}\n\nexport interface InvalidCmsGroupResult {\n group: CmsGroup;\n action: CmsImportAction;\n error: CmsImportError;\n}\n\nexport interface ValidatedCmsModel extends Omit<CmsModel, \"group\"> {\n group: string;\n}\nexport interface ValidCmsModelResult {\n model: ValidatedCmsModel;\n related: string[];\n action: CmsImportAction;\n error?: never;\n}\n\nexport interface InvalidCmsModelResult {\n model: ValidatedCmsModel;\n action: CmsImportAction;\n error: CmsImportError;\n}\n\nexport type ValidatedCmsGroupResult = ValidCmsGroupResult | InvalidCmsGroupResult;\nexport type ValidatedCmsModelResult = ValidCmsModelResult | InvalidCmsModelResult;\n\nexport interface HeadlessCmsImportValidateResponse {\n groups: ValidatedCmsGroupResult[];\n models: ValidatedCmsModelResult[];\n message: string;\n}\n\nexport interface HeadlessCmsImportValidate {\n (params: HeadlessCmsImportValidateParams): Promise<HeadlessCmsImportValidateResponse>;\n}\n\n/**\n * Interface for the main context interface.\n */\nexport interface HeadlessCmsExport {\n structure: HeadlessCmsExportStructure;\n}\n\nexport interface HeadlessCmsImport {\n validate: HeadlessCmsImportValidate;\n structure: HeadlessCmsImportStructure;\n}\n"],"mappings":";;;;;;IASYA,eAAe,0BAAfA,eAAe;EAAfA,eAAe;EAAfA,eAAe;EAAfA,eAAe;EAAfA,eAAe;EAAA,OAAfA,eAAe;AAAA;AAM3B;AACA;AACA;AA0HA;AACA;AACA;AAFAC,OAAA,CAAAD,eAAA,GAAAA,eAAA"}
|
|
@@ -50,4 +50,6 @@ class CmsModelDefaultFieldConverterPlugin extends _CmsModelFieldConverterPlugin.
|
|
|
50
50
|
};
|
|
51
51
|
}
|
|
52
52
|
}
|
|
53
|
-
exports.CmsModelDefaultFieldConverterPlugin = CmsModelDefaultFieldConverterPlugin;
|
|
53
|
+
exports.CmsModelDefaultFieldConverterPlugin = CmsModelDefaultFieldConverterPlugin;
|
|
54
|
+
|
|
55
|
+
//# sourceMappingURL=CmsModelDefaultFieldConverterPlugin.js.map
|
|
@@ -200,4 +200,6 @@ class CmsModelDynamicZoneFieldConverterPlugin extends _CmsModelFieldConverterPlu
|
|
|
200
200
|
});
|
|
201
201
|
}
|
|
202
202
|
}
|
|
203
|
-
exports.CmsModelDynamicZoneFieldConverterPlugin = CmsModelDynamicZoneFieldConverterPlugin;
|
|
203
|
+
exports.CmsModelDynamicZoneFieldConverterPlugin = CmsModelDynamicZoneFieldConverterPlugin;
|
|
204
|
+
|
|
205
|
+
//# sourceMappingURL=CmsModelDynamicZoneFieldConverterPlugin.js.map
|
|
@@ -248,4 +248,6 @@ class CmsModelObjectFieldConverterPlugin extends _CmsModelFieldConverterPlugin.C
|
|
|
248
248
|
}, {});
|
|
249
249
|
}
|
|
250
250
|
}
|
|
251
|
-
exports.CmsModelObjectFieldConverterPlugin = CmsModelObjectFieldConverterPlugin;
|
|
251
|
+
exports.CmsModelObjectFieldConverterPlugin = CmsModelObjectFieldConverterPlugin;
|
|
252
|
+
|
|
253
|
+
//# sourceMappingURL=CmsModelObjectFieldConverterPlugin.js.map
|
package/fieldConverters/index.js
CHANGED
|
@@ -10,4 +10,6 @@ var _CmsModelDynamicZoneFieldConverterPlugin = require("./CmsModelDynamicZoneFie
|
|
|
10
10
|
const createFieldConverters = () => {
|
|
11
11
|
return [new _CmsModelObjectFieldConverterPlugin.CmsModelObjectFieldConverterPlugin(), new _CmsModelDynamicZoneFieldConverterPlugin.CmsModelDynamicZoneFieldConverterPlugin(), new _CmsModelDefaultFieldConverterPlugin.CmsModelDefaultFieldConverterPlugin()];
|
|
12
12
|
};
|
|
13
|
-
exports.createFieldConverters = createFieldConverters;
|
|
13
|
+
exports.createFieldConverters = createFieldConverters;
|
|
14
|
+
|
|
15
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -20,4 +20,6 @@ const buildSchemaPlugins = async params => {
|
|
|
20
20
|
// Dynamic schema
|
|
21
21
|
...(await (0, _schemaPlugins.generateSchemaPlugins)(params))].filter(Boolean);
|
|
22
22
|
};
|
|
23
|
-
exports.buildSchemaPlugins = buildSchemaPlugins;
|
|
23
|
+
exports.buildSchemaPlugins = buildSchemaPlugins;
|
|
24
|
+
|
|
25
|
+
//# sourceMappingURL=buildSchemaPlugins.js.map
|
package/graphql/getSchema.d.ts
CHANGED
package/graphql/getSchema.js
CHANGED
|
@@ -9,7 +9,8 @@ var _objectSpread2 = _interopRequireDefault(require("@babel/runtime/helpers/obje
|
|
|
9
9
|
var _codeFrame = _interopRequireDefault(require("code-frame"));
|
|
10
10
|
var _error = _interopRequireDefault(require("@webiny/error"));
|
|
11
11
|
var _generateSchema = require("./generateSchema");
|
|
12
|
-
|
|
12
|
+
var _crypto = _interopRequireDefault(require("crypto"));
|
|
13
|
+
// @ts-expect-error `code-frame` has no types
|
|
13
14
|
|
|
14
15
|
const schemaList = new Map();
|
|
15
16
|
|
|
@@ -35,13 +36,18 @@ const generateCacheId = params => {
|
|
|
35
36
|
|
|
36
37
|
const generateCacheKey = async params => {
|
|
37
38
|
const {
|
|
38
|
-
|
|
39
|
+
models
|
|
39
40
|
} = params;
|
|
40
|
-
const
|
|
41
|
-
|
|
42
|
-
|
|
41
|
+
const keys = [];
|
|
42
|
+
for (const model of models) {
|
|
43
|
+
const savedOn = model.savedOn;
|
|
44
|
+
const value = savedOn instanceof Date || savedOn !== null && savedOn !== void 0 && savedOn.toISOString ? savedOn.toISOString() : savedOn || "unknown";
|
|
45
|
+
keys.push(model.modelId, model.singularApiName, model.pluralApiName, value);
|
|
43
46
|
}
|
|
44
|
-
|
|
47
|
+
const key = keys.join("#");
|
|
48
|
+
const hash = _crypto.default.createHash("sha1");
|
|
49
|
+
hash.update(key);
|
|
50
|
+
return hash.digest("hex");
|
|
45
51
|
};
|
|
46
52
|
|
|
47
53
|
/**
|
|
@@ -52,12 +58,6 @@ const getSchema = async params => {
|
|
|
52
58
|
const {
|
|
53
59
|
context
|
|
54
60
|
} = params;
|
|
55
|
-
const cacheId = generateCacheId(params);
|
|
56
|
-
const cacheKey = await generateCacheKey(params);
|
|
57
|
-
const cachedSchema = schemaList.get(cacheId);
|
|
58
|
-
if ((cachedSchema === null || cachedSchema === void 0 ? void 0 : cachedSchema.key) === cacheKey) {
|
|
59
|
-
return cachedSchema.schema;
|
|
60
|
-
}
|
|
61
61
|
|
|
62
62
|
/**
|
|
63
63
|
* We need all the API models.
|
|
@@ -68,6 +68,14 @@ const getSchema = async params => {
|
|
|
68
68
|
return model.isPrivate !== true;
|
|
69
69
|
});
|
|
70
70
|
});
|
|
71
|
+
const cacheId = generateCacheId(params);
|
|
72
|
+
const cacheKey = await generateCacheKey((0, _objectSpread2.default)((0, _objectSpread2.default)({}, params), {}, {
|
|
73
|
+
models
|
|
74
|
+
}));
|
|
75
|
+
const cachedSchema = schemaList.get(cacheId);
|
|
76
|
+
if ((cachedSchema === null || cachedSchema === void 0 ? void 0 : cachedSchema.key) === cacheKey) {
|
|
77
|
+
return cachedSchema.schema;
|
|
78
|
+
}
|
|
71
79
|
try {
|
|
72
80
|
const schema = await (0, _generateSchema.generateSchema)((0, _objectSpread2.default)((0, _objectSpread2.default)({}, params), {}, {
|
|
73
81
|
models
|
|
@@ -99,4 +107,6 @@ const getSchema = async params => {
|
|
|
99
107
|
});
|
|
100
108
|
}
|
|
101
109
|
};
|
|
102
|
-
exports.getSchema = getSchema;
|
|
110
|
+
exports.getSchema = getSchema;
|
|
111
|
+
|
|
112
|
+
//# sourceMappingURL=getSchema.js.map
|
package/graphql/getSchema.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["_codeFrame","_interopRequireDefault","require","_error","_generateSchema","schemaList","Map","generateCacheId","params","getTenant","type","getLocale","id","code","join","generateCacheKey","
|
|
1
|
+
{"version":3,"names":["_codeFrame","_interopRequireDefault","require","_error","_generateSchema","_crypto","schemaList","Map","generateCacheId","params","getTenant","type","getLocale","id","code","join","generateCacheKey","models","keys","model","savedOn","value","Date","toISOString","push","modelId","singularApiName","pluralApiName","key","hash","crypto","createHash","update","digest","getSchema","context","security","withoutAuthorization","cms","listModels","filter","isPrivate","cacheId","cacheKey","_objectSpread2","default","cachedSchema","get","schema","generateSchema","set","err","Array","isArray","locations","WebinyError","message","data","endpoint","location","invalidSegment","codeFrame","source","body","line","column","frameSize","exports"],"sources":["getSchema.ts"],"sourcesContent":["// @ts-expect-error `code-frame` has no types\nimport codeFrame from \"code-frame\";\nimport WebinyError from \"@webiny/error\";\nimport { generateSchema } from \"./generateSchema\";\nimport { ApiEndpoint, CmsContext, CmsModel } from \"~/types\";\nimport { Tenant } from \"@webiny/api-tenancy/types\";\nimport { I18NLocale } from \"@webiny/api-i18n/types\";\nimport { GraphQLSchema } from \"graphql\";\nimport crypto from \"crypto\";\n\ninterface SchemaCache {\n key: string;\n schema: GraphQLSchema;\n}\n\ninterface GetSchemaParams {\n context: CmsContext;\n type: ApiEndpoint;\n getTenant: () => Tenant;\n getLocale: () => I18NLocale;\n}\n\nconst schemaList = new Map<string, SchemaCache>();\n\n/**\n * Method generates cache ID based on:\n * - tenant\n * - endpoint type\n * - locale\n */\ntype GenerateCacheIdParams = Pick<GetSchemaParams, \"getTenant\" | \"getLocale\" | \"type\">;\nconst generateCacheId = (params: GenerateCacheIdParams): string => {\n const { getTenant, type, getLocale } = params;\n return [`tenant:${getTenant().id}`, `endpoint:${type}`, `locale:${getLocale().code}`].join(\"#\");\n};\n/**\n * Method generates cache key based on last model change time.\n * Or sets \"unknown\" - possible when no models in database.\n */\ninterface GenerateCacheKeyParams {\n models: Pick<CmsModel, \"modelId\" | \"singularApiName\" | \"pluralApiName\" | \"savedOn\">[];\n}\nconst generateCacheKey = async (params: GenerateCacheKeyParams): Promise<string> => {\n const { models } = params;\n\n const keys: string[] = [];\n for (const model of models) {\n const savedOn = model.savedOn as any;\n const value =\n savedOn instanceof Date || savedOn?.toISOString\n ? savedOn.toISOString()\n : savedOn || \"unknown\";\n keys.push(model.modelId, model.singularApiName, model.pluralApiName, value);\n }\n const key = keys.join(\"#\");\n\n const hash = crypto.createHash(\"sha1\");\n hash.update(key);\n return hash.digest(\"hex\");\n};\n\n/**\n * Gets an existing schema or rewrites existing one or creates a completely new one\n * depending on the schemaId created from type and locale parameters\n */\nexport const getSchema = async (params: GetSchemaParams): Promise<GraphQLSchema> => {\n const { context } = params;\n\n /**\n * We need all the API models.\n * Private models are hidden in the GraphQL, so filter them out.\n */\n const models = await context.security.withoutAuthorization(async () => {\n return (await context.cms.listModels()).filter(model => {\n return model.isPrivate !== true;\n });\n });\n\n const cacheId = generateCacheId(params);\n\n const cacheKey = await generateCacheKey({ ...params, models });\n const cachedSchema = schemaList.get(cacheId);\n if (cachedSchema?.key === cacheKey) {\n return cachedSchema.schema;\n }\n\n try {\n const schema = await generateSchema({\n ...params,\n models\n });\n schemaList.set(cacheId, {\n key: cacheKey,\n schema\n });\n return schema;\n } catch (err) {\n if (!Array.isArray(err.locations)) {\n throw new WebinyError({\n message: err.message,\n code: err.code || \"INVALID_GRAPHQL_SCHEMA_LOCATIONS\",\n data: {\n ...(err.data || {}),\n endpoint: context.cms.type\n }\n });\n }\n const [location] = err.locations;\n\n throw new WebinyError({\n code: \"INVALID_GRAPHQL_SCHEMA\",\n message: err.message,\n data: {\n invalidSegment: codeFrame(err.source.body, location.line, location.column, {\n frameSize: 15\n })\n }\n });\n }\n};\n"],"mappings":"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"}
|
package/graphql/handleRequest.js
CHANGED
|
@@ -34,15 +34,11 @@ const handleRequest = async params => {
|
|
|
34
34
|
const getLocale = () => {
|
|
35
35
|
return context.cms.getLocale();
|
|
36
36
|
};
|
|
37
|
-
const getLastModifiedTime = async () => {
|
|
38
|
-
return context.cms.getModelLastChange();
|
|
39
|
-
};
|
|
40
37
|
const schema = await context.benchmark.measure("headlessCms.graphql.getSchema", async () => {
|
|
41
38
|
try {
|
|
42
39
|
return await (0, _getSchema.getSchema)({
|
|
43
40
|
context,
|
|
44
41
|
getTenant,
|
|
45
|
-
getLastModifiedTime,
|
|
46
42
|
getLocale,
|
|
47
43
|
type: context.cms.type
|
|
48
44
|
});
|
|
@@ -78,4 +74,6 @@ const handleRequest = async params => {
|
|
|
78
74
|
});
|
|
79
75
|
return reply.code(200).send(result);
|
|
80
76
|
};
|
|
81
|
-
exports.handleRequest = handleRequest;
|
|
77
|
+
exports.handleRequest = handleRequest;
|
|
78
|
+
|
|
79
|
+
//# sourceMappingURL=handleRequest.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["_checkEndpointAccess","require","_createRequestBody","_formatErrorPayload","_getSchema","_handlerGraphql","handleRequest","params","context","request","reply","checkEndpointAccess","ex","code","send","data","error","message","stack","getTenant","tenancy","getCurrentTenant","getLocale","cms","
|
|
1
|
+
{"version":3,"names":["_checkEndpointAccess","require","_createRequestBody","_formatErrorPayload","_getSchema","_handlerGraphql","handleRequest","params","context","request","reply","checkEndpointAccess","ex","code","send","data","error","message","stack","getTenant","tenancy","getCurrentTenant","getLocale","cms","schema","benchmark","measure","getSchema","type","console","formatErrorPayload","body","createRequestBody","result","processRequestBody","exports"],"sources":["handleRequest.ts"],"sourcesContent":["import { ApiEndpoint, CmsContext } from \"~/types\";\nimport { checkEndpointAccess } from \"./checkEndpointAccess\";\nimport { createRequestBody } from \"./createRequestBody\";\nimport { formatErrorPayload } from \"./formatErrorPayload\";\nimport { getSchema } from \"./getSchema\";\nimport { Reply, Request } from \"@webiny/handler/types\";\nimport { processRequestBody } from \"@webiny/handler-graphql\";\nimport { ExecutionResult } from \"graphql\";\n\nexport interface HandleRequestParams {\n context: CmsContext;\n request: Request;\n reply: Reply;\n}\n\nexport interface HandleRequest {\n (params: HandleRequestParams): Promise<Reply>;\n}\n\nexport const handleRequest: HandleRequest = async params => {\n const { context, request, reply } = params;\n try {\n await checkEndpointAccess(context);\n } catch (ex) {\n return reply.code(401).send({\n data: null,\n error: {\n message: ex.message || \"Not authorized!\",\n code: ex.code || \"SECURITY_NOT_AUTHORIZED\",\n data: ex.data || null,\n stack: null\n }\n });\n }\n\n const getTenant = () => {\n return context.tenancy.getCurrentTenant();\n };\n\n const getLocale = () => {\n return context.cms.getLocale();\n };\n\n const schema = await context.benchmark.measure(\"headlessCms.graphql.getSchema\", async () => {\n try {\n return await getSchema({\n context,\n getTenant,\n getLocale,\n type: context.cms.type as ApiEndpoint\n });\n } catch (ex) {\n console.error(`Error while generating the schema.`);\n console.error(formatErrorPayload(ex));\n throw ex;\n }\n });\n\n const body = await context.benchmark.measure(\n \"headlessCms.graphql.createRequestBody\",\n async () => {\n try {\n return createRequestBody(request.body);\n } catch (ex) {\n console.error(`Error while creating the body request.`);\n console.error(formatErrorPayload(ex));\n throw ex;\n }\n }\n );\n\n /**\n * We need to store the processRequestBody result in a variable and output it after the measurement.\n * Otherwise, the measurement will not be shown in the output.\n */\n let result: ExecutionResult[] | ExecutionResult | null = null;\n\n await context.benchmark.measure(\"headlessCms.graphql.processRequestBody\", async () => {\n try {\n result = await processRequestBody(body, schema, context);\n } catch (ex) {\n console.error(`Error while processing the body request.`);\n console.error(formatErrorPayload(ex));\n throw ex;\n }\n });\n\n return reply.code(200).send(result);\n};\n"],"mappings":";;;;;;AACA,IAAAA,oBAAA,GAAAC,OAAA;AACA,IAAAC,kBAAA,GAAAD,OAAA;AACA,IAAAE,mBAAA,GAAAF,OAAA;AACA,IAAAG,UAAA,GAAAH,OAAA;AAEA,IAAAI,eAAA,GAAAJ,OAAA;AAaO,MAAMK,aAA4B,GAAG,MAAMC,MAAM,IAAI;EACxD,MAAM;IAAEC,OAAO;IAAEC,OAAO;IAAEC;EAAM,CAAC,GAAGH,MAAM;EAC1C,IAAI;IACA,MAAM,IAAAI,wCAAmB,EAACH,OAAO,CAAC;EACtC,CAAC,CAAC,OAAOI,EAAE,EAAE;IACT,OAAOF,KAAK,CAACG,IAAI,CAAC,GAAG,CAAC,CAACC,IAAI,CAAC;MACxBC,IAAI,EAAE,IAAI;MACVC,KAAK,EAAE;QACHC,OAAO,EAAEL,EAAE,CAACK,OAAO,IAAI,iBAAiB;QACxCJ,IAAI,EAAED,EAAE,CAACC,IAAI,IAAI,yBAAyB;QAC1CE,IAAI,EAAEH,EAAE,CAACG,IAAI,IAAI,IAAI;QACrBG,KAAK,EAAE;MACX;IACJ,CAAC,CAAC;EACN;EAEA,MAAMC,SAAS,GAAGA,CAAA,KAAM;IACpB,OAAOX,OAAO,CAACY,OAAO,CAACC,gBAAgB,CAAC,CAAC;EAC7C,CAAC;EAED,MAAMC,SAAS,GAAGA,CAAA,KAAM;IACpB,OAAOd,OAAO,CAACe,GAAG,CAACD,SAAS,CAAC,CAAC;EAClC,CAAC;EAED,MAAME,MAAM,GAAG,MAAMhB,OAAO,CAACiB,SAAS,CAACC,OAAO,CAAC,+BAA+B,EAAE,YAAY;IACxF,IAAI;MACA,OAAO,MAAM,IAAAC,oBAAS,EAAC;QACnBnB,OAAO;QACPW,SAAS;QACTG,SAAS;QACTM,IAAI,EAAEpB,OAAO,CAACe,GAAG,CAACK;MACtB,CAAC,CAAC;IACN,CAAC,CAAC,OAAOhB,EAAE,EAAE;MACTiB,OAAO,CAACb,KAAK,CAAE,oCAAmC,CAAC;MACnDa,OAAO,CAACb,KAAK,CAAC,IAAAc,sCAAkB,EAAClB,EAAE,CAAC,CAAC;MACrC,MAAMA,EAAE;IACZ;EACJ,CAAC,CAAC;EAEF,MAAMmB,IAAI,GAAG,MAAMvB,OAAO,CAACiB,SAAS,CAACC,OAAO,CACxC,uCAAuC,EACvC,YAAY;IACR,IAAI;MACA,OAAO,IAAAM,oCAAiB,EAACvB,OAAO,CAACsB,IAAI,CAAC;IAC1C,CAAC,CAAC,OAAOnB,EAAE,EAAE;MACTiB,OAAO,CAACb,KAAK,CAAE,wCAAuC,CAAC;MACvDa,OAAO,CAACb,KAAK,CAAC,IAAAc,sCAAkB,EAAClB,EAAE,CAAC,CAAC;MACrC,MAAMA,EAAE;IACZ;EACJ,CACJ,CAAC;;EAED;AACJ;AACA;AACA;EACI,IAAIqB,MAAkD,GAAG,IAAI;EAE7D,MAAMzB,OAAO,CAACiB,SAAS,CAACC,OAAO,CAAC,wCAAwC,EAAE,YAAY;IAClF,IAAI;MACAO,MAAM,GAAG,MAAM,IAAAC,kCAAkB,EAACH,IAAI,EAAEP,MAAM,EAAEhB,OAAO,CAAC;IAC5D,CAAC,CAAC,OAAOI,EAAE,EAAE;MACTiB,OAAO,CAACb,KAAK,CAAE,0CAAyC,CAAC;MACzDa,OAAO,CAACb,KAAK,CAAC,IAAAc,sCAAkB,EAAClB,EAAE,CAAC,CAAC;MACrC,MAAMA,EAAE;IACZ;EACJ,CAAC,CAAC;EAEF,OAAOF,KAAK,CAACG,IAAI,CAAC,GAAG,CAAC,CAACC,IAAI,CAACmB,MAAM,CAAC;AACvC,CAAC;AAACE,OAAA,CAAA7B,aAAA,GAAAA,aAAA"}
|
package/graphql/index.d.ts
CHANGED
|
@@ -1,3 +1,3 @@
|
|
|
1
1
|
import { GraphQLHandlerFactoryParams } from "./graphQLHandlerFactory";
|
|
2
2
|
export declare type CreateGraphQLParams = GraphQLHandlerFactoryParams;
|
|
3
|
-
export declare const createGraphQL: (params: CreateGraphQLParams) => (import("@webiny/handler-graphql").GraphQLSchemaPlugin<import("../types").CmsContext> | import("@webiny/
|
|
3
|
+
export declare const createGraphQL: (params: CreateGraphQLParams) => (import("@webiny/plugins/types").PluginCollection | import("@webiny/handler-graphql").GraphQLSchemaPlugin<import("../types").CmsContext> | import("@webiny/api").ContextPlugin<import("@webiny/api/types").Context>)[];
|
package/graphql/index.js
CHANGED
|
@@ -8,6 +8,8 @@ var _system = require("./system");
|
|
|
8
8
|
var _graphQLHandlerFactory = require("./graphQLHandlerFactory");
|
|
9
9
|
var _baseSchema = require("./schema/baseSchema");
|
|
10
10
|
const createGraphQL = params => {
|
|
11
|
-
return [
|
|
11
|
+
return [(0, _baseSchema.createBaseSchema)(), (0, _system.createSystemSchemaPlugin)(), (0, _graphQLHandlerFactory.graphQLHandlerFactory)(params)];
|
|
12
12
|
};
|
|
13
|
-
exports.createGraphQL = createGraphQL;
|
|
13
|
+
exports.createGraphQL = createGraphQL;
|
|
14
|
+
|
|
15
|
+
//# sourceMappingURL=index.js.map
|
package/graphql/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["_system","require","_graphQLHandlerFactory","_baseSchema","createGraphQL","params","createBaseSchema","createSystemSchemaPlugin","graphQLHandlerFactory","exports"],"sources":["index.ts"],"sourcesContent":["import { createSystemSchemaPlugin } from \"./system\";\nimport { graphQLHandlerFactory, GraphQLHandlerFactoryParams } from \"./graphQLHandlerFactory\";\nimport { createBaseSchema } from \"~/graphql/schema/baseSchema\";\n\nexport type CreateGraphQLParams = GraphQLHandlerFactoryParams;\nexport const createGraphQL = (params: CreateGraphQLParams) => {\n return [
|
|
1
|
+
{"version":3,"names":["_system","require","_graphQLHandlerFactory","_baseSchema","createGraphQL","params","createBaseSchema","createSystemSchemaPlugin","graphQLHandlerFactory","exports"],"sources":["index.ts"],"sourcesContent":["import { createSystemSchemaPlugin } from \"./system\";\nimport { graphQLHandlerFactory, GraphQLHandlerFactoryParams } from \"./graphQLHandlerFactory\";\nimport { createBaseSchema } from \"~/graphql/schema/baseSchema\";\n\nexport type CreateGraphQLParams = GraphQLHandlerFactoryParams;\nexport const createGraphQL = (params: CreateGraphQLParams) => {\n return [createBaseSchema(), createSystemSchemaPlugin(), graphQLHandlerFactory(params)];\n};\n"],"mappings":";;;;;;AAAA,IAAAA,OAAA,GAAAC,OAAA;AACA,IAAAC,sBAAA,GAAAD,OAAA;AACA,IAAAE,WAAA,GAAAF,OAAA;AAGO,MAAMG,aAAa,GAAIC,MAA2B,IAAK;EAC1D,OAAO,CAAC,IAAAC,4BAAgB,EAAC,CAAC,EAAE,IAAAC,gCAAwB,EAAC,CAAC,EAAE,IAAAC,4CAAqB,EAACH,MAAM,CAAC,CAAC;AAC1F,CAAC;AAACI,OAAA,CAAAL,aAAA,GAAAA,aAAA"}
|
|
@@ -63,4 +63,6 @@ const createBaseContentSchema = ({
|
|
|
63
63
|
plugin.name = `headless-cms.graphql.schema.baseContentSchema`;
|
|
64
64
|
return plugin;
|
|
65
65
|
};
|
|
66
|
-
exports.createBaseContentSchema = createBaseContentSchema;
|
|
66
|
+
exports.createBaseContentSchema = createBaseContentSchema;
|
|
67
|
+
|
|
68
|
+
//# sourceMappingURL=baseContentSchema.js.map
|
|
@@ -1,3 +1,2 @@
|
|
|
1
|
-
import {
|
|
2
|
-
|
|
3
|
-
export declare const createBaseSchema: () => GraphQLSchemaPlugin<CmsContext>[];
|
|
1
|
+
import { ContextPlugin } from "@webiny/api";
|
|
2
|
+
export declare const createBaseSchema: () => ContextPlugin<import("@webiny/api/types").Context>;
|
|
@@ -1,12 +1,35 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
|
|
3
|
+
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault").default;
|
|
3
4
|
Object.defineProperty(exports, "__esModule", {
|
|
4
5
|
value: true
|
|
5
6
|
});
|
|
6
7
|
exports.createBaseSchema = void 0;
|
|
7
8
|
var _plugins = require("../../plugins");
|
|
8
9
|
var _handlerGraphql = require("@webiny/handler-graphql");
|
|
9
|
-
|
|
10
|
+
var _api = require("@webiny/api");
|
|
11
|
+
var _camelCase = _interopRequireDefault(require("lodash/camelCase"));
|
|
12
|
+
const createSkipValidatorEnum = plugins => {
|
|
13
|
+
const validators = plugins.byType("cms-model-field-validator").reduce((collection, validator) => {
|
|
14
|
+
const name = (0, _camelCase.default)(validator.validator.name);
|
|
15
|
+
if (collection.includes(name)) {
|
|
16
|
+
return collection;
|
|
17
|
+
}
|
|
18
|
+
collection.push(name);
|
|
19
|
+
return collection;
|
|
20
|
+
}, []);
|
|
21
|
+
if (validators.length === 0) {
|
|
22
|
+
validators.push("_empty");
|
|
23
|
+
}
|
|
24
|
+
return (/* GraphQL */`
|
|
25
|
+
enum SkipValidatorEnum {
|
|
26
|
+
${validators.join("\n")}
|
|
27
|
+
}
|
|
28
|
+
`
|
|
29
|
+
);
|
|
30
|
+
};
|
|
31
|
+
const createSchema = plugins => {
|
|
32
|
+
const skipValidatorEnum = createSkipValidatorEnum(plugins);
|
|
10
33
|
const cmsPlugin = new _plugins.CmsGraphQLSchemaPlugin({
|
|
11
34
|
typeDefs: /* GraphQL */`
|
|
12
35
|
type CmsError {
|
|
@@ -67,6 +90,32 @@ const createBaseSchema = () => {
|
|
|
67
90
|
folderId_not: ID
|
|
68
91
|
folderId_not_in: [ID!]
|
|
69
92
|
}
|
|
93
|
+
|
|
94
|
+
${skipValidatorEnum}
|
|
95
|
+
|
|
96
|
+
input CreateCmsEntryOptionsInput {
|
|
97
|
+
skipValidators: [SkipValidatorEnum!]
|
|
98
|
+
}
|
|
99
|
+
|
|
100
|
+
input CreateRevisionCmsEntryOptionsInput {
|
|
101
|
+
skipValidators: [SkipValidatorEnum!]
|
|
102
|
+
}
|
|
103
|
+
|
|
104
|
+
input UpdateCmsEntryOptionsInput {
|
|
105
|
+
skipValidators: [SkipValidatorEnum!]
|
|
106
|
+
}
|
|
107
|
+
|
|
108
|
+
type CmsEntryValidationResponseData {
|
|
109
|
+
error: String!
|
|
110
|
+
id: String!
|
|
111
|
+
fieldId: String!
|
|
112
|
+
parents: [String!]!
|
|
113
|
+
}
|
|
114
|
+
|
|
115
|
+
type CmsEntryValidationResponse {
|
|
116
|
+
data: [CmsEntryValidationResponseData!]
|
|
117
|
+
error: CmsError
|
|
118
|
+
}
|
|
70
119
|
`,
|
|
71
120
|
resolvers: {}
|
|
72
121
|
});
|
|
@@ -81,4 +130,11 @@ const createBaseSchema = () => {
|
|
|
81
130
|
*/
|
|
82
131
|
return [cmsPlugin, corePlugin];
|
|
83
132
|
};
|
|
84
|
-
|
|
133
|
+
const createBaseSchema = () => {
|
|
134
|
+
return new _api.ContextPlugin(async context => {
|
|
135
|
+
context.plugins.register(...createSchema(context.plugins));
|
|
136
|
+
});
|
|
137
|
+
};
|
|
138
|
+
exports.createBaseSchema = createBaseSchema;
|
|
139
|
+
|
|
140
|
+
//# sourceMappingURL=baseSchema.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["_plugins","require","_handlerGraphql","
|
|
1
|
+
{"version":3,"names":["_plugins","require","_handlerGraphql","_api","_camelCase","_interopRequireDefault","createSkipValidatorEnum","plugins","validators","byType","reduce","collection","validator","name","camelCase","includes","push","length","join","createSchema","skipValidatorEnum","cmsPlugin","CmsGraphQLSchemaPlugin","typeDefs","resolvers","corePlugin","GraphQLSchemaPlugin","schema","createBaseSchema","ContextPlugin","context","register","exports"],"sources":["baseSchema.ts"],"sourcesContent":["import { CmsContext, CmsModelFieldValidatorPlugin } from \"~/types\";\nimport { CmsGraphQLSchemaPlugin } from \"~/plugins\";\nimport { GraphQLSchemaPlugin } from \"@webiny/handler-graphql\";\nimport { PluginsContainer } from \"@webiny/plugins\";\nimport { ContextPlugin } from \"@webiny/api\";\nimport camelCase from \"lodash/camelCase\";\n\nconst createSkipValidatorEnum = (plugins: PluginsContainer) => {\n const validators = plugins\n .byType<CmsModelFieldValidatorPlugin>(\"cms-model-field-validator\")\n .reduce<string[]>((collection, validator) => {\n const name = camelCase(validator.validator.name);\n if (collection.includes(name)) {\n return collection;\n }\n collection.push(name);\n return collection;\n }, []);\n\n if (validators.length === 0) {\n validators.push(\"_empty\");\n }\n return /* GraphQL */ `\n enum SkipValidatorEnum {\n ${validators.join(\"\\n\")}\n }\n `;\n};\n\nconst createSchema = (plugins: PluginsContainer): GraphQLSchemaPlugin<CmsContext>[] => {\n const skipValidatorEnum = createSkipValidatorEnum(plugins);\n\n const cmsPlugin = new CmsGraphQLSchemaPlugin({\n typeDefs: /* GraphQL */ `\n type CmsError {\n code: String\n message: String\n data: JSON\n stack: String\n }\n\n type CmsCursors {\n next: String\n previous: String\n }\n\n type CmsListMeta {\n cursor: String\n hasMoreItems: Boolean\n totalCount: Int\n }\n\n input CmsDeleteEntryOptions {\n # force delete an entry that might have some records left behind in the database\n # see CmsDeleteEntryOptions in types.ts\n force: Boolean\n }\n\n type CmsDeleteResponse {\n data: Boolean\n error: CmsError\n }\n\n type CmsDeleteMultipleDataResponse {\n id: ID!\n }\n\n type CmsDeleteMultipleResponse {\n data: [CmsDeleteMultipleDataResponse!]\n error: CmsError\n }\n\n type CmsBooleanResponse {\n data: Boolean\n error: CmsError\n }\n\n # Advanced Content Organization\n type WbyAcoLocation {\n folderId: ID\n }\n\n input WbyAcoLocationInput {\n folderId: ID!\n }\n\n input WbyAcoLocationWhereInput {\n folderId: ID\n folderId_in: [ID!]\n folderId_not: ID\n folderId_not_in: [ID!]\n }\n\n ${skipValidatorEnum}\n\n input CreateCmsEntryOptionsInput {\n skipValidators: [SkipValidatorEnum!]\n }\n\n input CreateRevisionCmsEntryOptionsInput {\n skipValidators: [SkipValidatorEnum!]\n }\n\n input UpdateCmsEntryOptionsInput {\n skipValidators: [SkipValidatorEnum!]\n }\n\n type CmsEntryValidationResponseData {\n error: String!\n id: String!\n fieldId: String!\n parents: [String!]!\n }\n\n type CmsEntryValidationResponse {\n data: [CmsEntryValidationResponseData!]\n error: CmsError\n }\n `,\n resolvers: {}\n });\n cmsPlugin.name = \"headless-cms.graphql.schema.base\";\n const corePlugin = new GraphQLSchemaPlugin<CmsContext>({\n typeDefs: cmsPlugin.schema.typeDefs,\n resolvers: cmsPlugin.schema.resolvers\n });\n corePlugin.name = \"headless-cms.graphql.core.schema.base\";\n /**\n * Due to splitting of CMS and Core schema plugins, we must have both defined for CMS to work.\n */\n return [cmsPlugin, corePlugin];\n};\n\nexport const createBaseSchema = () => {\n return new ContextPlugin(async context => {\n context.plugins.register(...createSchema(context.plugins));\n });\n};\n"],"mappings":";;;;;;;AACA,IAAAA,QAAA,GAAAC,OAAA;AACA,IAAAC,eAAA,GAAAD,OAAA;AAEA,IAAAE,IAAA,GAAAF,OAAA;AACA,IAAAG,UAAA,GAAAC,sBAAA,CAAAJ,OAAA;AAEA,MAAMK,uBAAuB,GAAIC,OAAyB,IAAK;EAC3D,MAAMC,UAAU,GAAGD,OAAO,CACrBE,MAAM,CAA+B,2BAA2B,CAAC,CACjEC,MAAM,CAAW,CAACC,UAAU,EAAEC,SAAS,KAAK;IACzC,MAAMC,IAAI,GAAG,IAAAC,kBAAS,EAACF,SAAS,CAACA,SAAS,CAACC,IAAI,CAAC;IAChD,IAAIF,UAAU,CAACI,QAAQ,CAACF,IAAI,CAAC,EAAE;MAC3B,OAAOF,UAAU;IACrB;IACAA,UAAU,CAACK,IAAI,CAACH,IAAI,CAAC;IACrB,OAAOF,UAAU;EACrB,CAAC,EAAE,EAAE,CAAC;EAEV,IAAIH,UAAU,CAACS,MAAM,KAAK,CAAC,EAAE;IACzBT,UAAU,CAACQ,IAAI,CAAC,QAAQ,CAAC;EAC7B;EACA,OAAO,cAAe;AAC1B;AACA,cAAcR,UAAU,CAACU,IAAI,CAAC,IAAI,CAAE;AACpC;AACA;EAAK;AACL,CAAC;AAED,MAAMC,YAAY,GAAIZ,OAAyB,IAAwC;EACnF,MAAMa,iBAAiB,GAAGd,uBAAuB,CAACC,OAAO,CAAC;EAE1D,MAAMc,SAAS,GAAG,IAAIC,+BAAsB,CAAC;IACzCC,QAAQ,EAAE,aAAe;AACjC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,cAAcH,iBAAkB;AAChC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;IACDI,SAAS,EAAE,CAAC;EAChB,CAAC,CAAC;EACFH,SAAS,CAACR,IAAI,GAAG,kCAAkC;EACnD,MAAMY,UAAU,GAAG,IAAIC,mCAAmB,CAAa;IACnDH,QAAQ,EAAEF,SAAS,CAACM,MAAM,CAACJ,QAAQ;IACnCC,SAAS,EAAEH,SAAS,CAACM,MAAM,CAACH;EAChC,CAAC,CAAC;EACFC,UAAU,CAACZ,IAAI,GAAG,uCAAuC;EACzD;AACJ;AACA;EACI,OAAO,CAACQ,SAAS,EAAEI,UAAU,CAAC;AAClC,CAAC;AAEM,MAAMG,gBAAgB,GAAGA,CAAA,KAAM;EAClC,OAAO,IAAIC,kBAAa,CAAC,MAAMC,OAAO,IAAI;IACtCA,OAAO,CAACvB,OAAO,CAACwB,QAAQ,CAAC,GAAGZ,YAAY,CAACW,OAAO,CAACvB,OAAO,CAAC,CAAC;EAC9D,CAAC,CAAC;AACN,CAAC;AAACyB,OAAA,CAAAJ,gBAAA,GAAAA,gBAAA"}
|
|
@@ -297,7 +297,7 @@ const createContentEntriesSchema = ({
|
|
|
297
297
|
} = args;
|
|
298
298
|
const models = await context.cms.listModels();
|
|
299
299
|
const getters = models.filter(model => modelIds.includes(model.modelId)).map(async model => {
|
|
300
|
-
const modelManager = await context.cms.
|
|
300
|
+
const modelManager = await context.cms.getEntryManager(model.modelId);
|
|
301
301
|
const where = {};
|
|
302
302
|
const [items] = await modelManager.listLatest({
|
|
303
303
|
limit,
|
|
@@ -364,4 +364,6 @@ const createContentEntriesSchema = ({
|
|
|
364
364
|
plugin.name = `headless-cms.graphql.schema.${context.cms.type}.content-entries`;
|
|
365
365
|
return plugin;
|
|
366
366
|
};
|
|
367
|
-
exports.createContentEntriesSchema = createContentEntriesSchema;
|
|
367
|
+
exports.createContentEntriesSchema = createContentEntriesSchema;
|
|
368
|
+
|
|
369
|
+
//# sourceMappingURL=contentEntries.js.map
|