@webiny/api-headless-cms 0.0.0-unstable.6e5425ee89 → 0.0.0-unstable.78f581c1d2
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/context.js +15 -0
- package/context.js.map +1 -1
- package/crud/contentEntry/afterDelete.js +5 -0
- package/crud/contentEntry/afterDelete.js.map +1 -1
- package/crud/contentEntry/beforeCreate.js +3 -0
- package/crud/contentEntry/beforeCreate.js.map +1 -1
- package/crud/contentEntry/beforeUpdate.js +3 -0
- package/crud/contentEntry/beforeUpdate.js.map +1 -1
- package/crud/contentEntry/entryDataValidation.js +40 -1
- package/crud/contentEntry/entryDataValidation.js.map +1 -1
- package/crud/contentEntry/markLockedFields.js +25 -2
- package/crud/contentEntry/markLockedFields.js.map +1 -1
- package/crud/contentEntry/referenceFieldsMapping.js +59 -5
- package/crud/contentEntry/referenceFieldsMapping.js.map +1 -1
- package/crud/contentEntry.crud.js +145 -27
- package/crud/contentEntry.crud.js.map +1 -1
- package/crud/contentModel/afterCreate.js +2 -0
- package/crud/contentModel/afterCreate.js.map +1 -1
- package/crud/contentModel/afterCreateFrom.js +2 -0
- package/crud/contentModel/afterCreateFrom.js.map +1 -1
- package/crud/contentModel/afterDelete.js +2 -0
- package/crud/contentModel/afterDelete.js.map +1 -1
- package/crud/contentModel/afterUpdate.js +2 -0
- package/crud/contentModel/afterUpdate.js.map +1 -1
- package/crud/contentModel/beforeCreate.js +32 -4
- package/crud/contentModel/beforeCreate.js.map +1 -1
- package/crud/contentModel/beforeDelete.js +10 -0
- package/crud/contentModel/beforeDelete.js.map +1 -1
- package/crud/contentModel/beforeUpdate.js +5 -0
- package/crud/contentModel/beforeUpdate.js.map +1 -1
- package/crud/contentModel/contentModelManagerFactory.js +7 -0
- package/crud/contentModel/contentModelManagerFactory.js.map +1 -1
- package/crud/contentModel/createFieldModels.js +6 -0
- package/crud/contentModel/createFieldModels.js.map +1 -1
- package/crud/contentModel/createFieldStorageId.js +2 -0
- package/crud/contentModel/createFieldStorageId.js.map +1 -1
- package/crud/contentModel/fieldIdValidation.js +5 -0
- package/crud/contentModel/fieldIdValidation.js.map +1 -1
- package/crud/contentModel/idValidation.js +5 -0
- package/crud/contentModel/idValidation.js.map +1 -1
- package/crud/contentModel/models.js +8 -1
- package/crud/contentModel/models.js.map +1 -1
- package/crud/contentModel/systemFields.js.map +1 -1
- package/crud/contentModel/validateLayout.js +8 -0
- package/crud/contentModel/validateLayout.js.map +1 -1
- package/crud/contentModel/validateModel.js +8 -0
- package/crud/contentModel/validateModel.js.map +1 -1
- package/crud/contentModel/validateModelFields.js +60 -8
- package/crud/contentModel/validateModelFields.js.map +1 -1
- package/crud/contentModel.crud.js +96 -11
- package/crud/contentModel.crud.js.map +1 -1
- package/crud/contentModelGroup/beforeCreate.js +12 -0
- package/crud/contentModelGroup/beforeCreate.js.map +1 -1
- package/crud/contentModelGroup/beforeDelete.js +8 -0
- package/crud/contentModelGroup/beforeDelete.js.map +1 -1
- package/crud/contentModelGroup/beforeUpdate.js +5 -0
- package/crud/contentModelGroup/beforeUpdate.js.map +1 -1
- package/crud/contentModelGroup.crud.js +47 -10
- package/crud/contentModelGroup.crud.js.map +1 -1
- package/crud/index.js +16 -0
- package/crud/index.js.map +1 -1
- package/crud/settings.crud.js +12 -0
- package/crud/settings.crud.js.map +1 -1
- package/crud/system.crud.js +37 -2
- package/crud/system.crud.js.map +1 -1
- package/fieldConverters/CmsModelDefaultFieldConverterPlugin.js +13 -0
- package/fieldConverters/CmsModelDefaultFieldConverterPlugin.js.map +1 -1
- package/fieldConverters/CmsModelObjectFieldConverterPlugin.js +53 -0
- package/fieldConverters/CmsModelObjectFieldConverterPlugin.js.map +1 -1
- package/fieldConverters/index.js +4 -0
- package/fieldConverters/index.js.map +1 -1
- package/graphql/buildSchemaPlugins.js +9 -5
- package/graphql/buildSchemaPlugins.js.map +1 -1
- package/graphql/graphQLHandlerFactory.js +28 -3
- package/graphql/graphQLHandlerFactory.js.map +1 -1
- package/graphql/index.js +8 -1
- package/graphql/index.js.map +1 -1
- package/graphql/schema/baseContentSchema.js +9 -1
- package/graphql/schema/baseContentSchema.js.map +1 -1
- package/graphql/schema/contentEntries.js +42 -2
- package/graphql/schema/contentEntries.js.map +1 -1
- package/graphql/schema/contentModelGroups.js +19 -2
- package/graphql/schema/contentModelGroups.js.map +1 -1
- package/graphql/schema/contentModels.js +18 -2
- package/graphql/schema/contentModels.js.map +1 -1
- package/graphql/schema/createFieldResolvers.js +21 -3
- package/graphql/schema/createFieldResolvers.js.map +1 -1
- package/graphql/schema/createManageResolvers.js +26 -0
- package/graphql/schema/createManageResolvers.js.map +1 -1
- package/graphql/schema/createManageSDL.js +14 -1
- package/graphql/schema/createManageSDL.js.map +1 -1
- package/graphql/schema/createPreviewResolvers.js +10 -0
- package/graphql/schema/createPreviewResolvers.js.map +1 -1
- package/graphql/schema/createReadResolvers.js +10 -0
- package/graphql/schema/createReadResolvers.js.map +1 -1
- package/graphql/schema/createReadSDL.js +10 -0
- package/graphql/schema/createReadSDL.js.map +1 -1
- package/graphql/schema/resolvers/commonFieldResolvers.js +2 -0
- package/graphql/schema/resolvers/commonFieldResolvers.js.map +1 -1
- package/graphql/schema/resolvers/manage/resolveCreate.js +3 -0
- package/graphql/schema/resolvers/manage/resolveCreate.js.map +1 -1
- package/graphql/schema/resolvers/manage/resolveCreateFrom.js +3 -0
- package/graphql/schema/resolvers/manage/resolveCreateFrom.js.map +1 -1
- package/graphql/schema/resolvers/manage/resolveDelete.js +6 -0
- package/graphql/schema/resolvers/manage/resolveDelete.js.map +1 -1
- package/graphql/schema/resolvers/manage/resolveGet.js +16 -0
- package/graphql/schema/resolvers/manage/resolveGet.js.map +1 -1
- package/graphql/schema/resolvers/manage/resolveGetByIds.js +3 -0
- package/graphql/schema/resolvers/manage/resolveGetByIds.js.map +1 -1
- package/graphql/schema/resolvers/manage/resolveGetRevisions.js +3 -0
- package/graphql/schema/resolvers/manage/resolveGetRevisions.js.map +1 -1
- package/graphql/schema/resolvers/manage/resolveList.js +3 -0
- package/graphql/schema/resolvers/manage/resolveList.js.map +1 -1
- package/graphql/schema/resolvers/manage/resolvePublish.js +3 -0
- package/graphql/schema/resolvers/manage/resolvePublish.js.map +1 -1
- package/graphql/schema/resolvers/manage/resolveRepublish.js +3 -0
- package/graphql/schema/resolvers/manage/resolveRepublish.js.map +1 -1
- package/graphql/schema/resolvers/manage/resolveUnpublish.js +3 -0
- package/graphql/schema/resolvers/manage/resolveUnpublish.js.map +1 -1
- package/graphql/schema/resolvers/manage/resolveUpdate.js +3 -0
- package/graphql/schema/resolvers/manage/resolveUpdate.js.map +1 -1
- package/graphql/schema/resolvers/preview/resolveGet.js +8 -0
- package/graphql/schema/resolvers/preview/resolveGet.js.map +1 -1
- package/graphql/schema/resolvers/preview/resolveList.js +3 -0
- package/graphql/schema/resolvers/preview/resolveList.js.map +1 -1
- package/graphql/schema/resolvers/read/resolveGet.js +8 -0
- package/graphql/schema/resolvers/read/resolveGet.js.map +1 -1
- package/graphql/schema/resolvers/read/resolveList.js +3 -0
- package/graphql/schema/resolvers/read/resolveList.js.map +1 -1
- package/graphql/schema/schemaPlugins.js +19 -5
- package/graphql/schema/schemaPlugins.js.map +1 -1
- package/graphql/system.js +14 -1
- package/graphql/system.js.map +1 -1
- package/graphqlFields/boolean.js +12 -0
- package/graphqlFields/boolean.js.map +1 -1
- package/graphqlFields/datetime.js +17 -0
- package/graphqlFields/datetime.js.map +1 -1
- package/graphqlFields/file.js +8 -0
- package/graphqlFields/file.js.map +1 -1
- package/graphqlFields/helpers.js +10 -0
- package/graphqlFields/helpers.js.map +1 -1
- package/graphqlFields/index.js +11 -0
- package/graphqlFields/index.js.map +1 -1
- package/graphqlFields/longText.js +10 -0
- package/graphqlFields/longText.js.map +1 -1
- package/graphqlFields/number.js +12 -0
- package/graphqlFields/number.js.map +1 -1
- package/graphqlFields/object.js +36 -6
- package/graphqlFields/object.js.map +1 -1
- package/graphqlFields/ref.js +51 -17
- package/graphqlFields/ref.js.map +1 -1
- package/graphqlFields/richText.js +9 -0
- package/graphqlFields/richText.js.map +1 -1
- package/graphqlFields/text.js +11 -0
- package/graphqlFields/text.js.map +1 -1
- package/index.js +19 -0
- package/index.js.map +1 -1
- package/modelManager/DefaultCmsModelManager.js +16 -0
- package/modelManager/DefaultCmsModelManager.js.map +1 -1
- package/modelManager/index.js +4 -0
- package/modelManager/index.js.map +1 -1
- package/package.json +24 -24
- package/parameters/context.js +4 -0
- package/parameters/context.js.map +1 -1
- package/parameters/header.js +11 -0
- package/parameters/header.js.map +1 -1
- package/parameters/index.js +8 -0
- package/parameters/index.js.map +1 -1
- package/parameters/manual.js +8 -1
- package/parameters/manual.js.map +1 -1
- package/parameters/path.js +11 -0
- package/parameters/path.js.map +1 -1
- package/plugins/CmsGroupPlugin.js +8 -0
- package/plugins/CmsGroupPlugin.js.map +1 -1
- package/plugins/CmsModelFieldConverterPlugin.js +5 -0
- package/plugins/CmsModelFieldConverterPlugin.js.map +1 -1
- package/plugins/CmsModelPlugin.js +38 -2
- package/plugins/CmsModelPlugin.js.map +1 -1
- package/plugins/CmsParametersPlugin.js +7 -0
- package/plugins/CmsParametersPlugin.js.map +1 -1
- package/plugins/StorageTransformPlugin.js +9 -0
- package/plugins/StorageTransformPlugin.js.map +1 -1
- package/plugins/index.js +10 -0
- package/plugins/index.js.map +1 -1
- package/storage/default.js +3 -0
- package/storage/default.js.map +1 -1
- package/storage/object.js +18 -0
- package/storage/object.js.map +1 -1
- package/types.js +62 -0
- package/types.js.map +1 -1
- package/upgrades/5.33.0/index.js +26 -3
- package/upgrades/5.33.0/index.js.map +1 -1
- package/upgrades/index.js +3 -0
- package/upgrades/index.js.map +1 -1
- package/utils/access.js +25 -11
- package/utils/access.js.map +1 -1
- package/utils/converters/Converter.js +13 -0
- package/utils/converters/Converter.js.map +1 -1
- package/utils/converters/ConverterCollection.js +32 -9
- package/utils/converters/ConverterCollection.js.map +1 -1
- package/utils/converters/valueKeyStorageConverter.js +26 -0
- package/utils/converters/valueKeyStorageConverter.js.map +1 -1
- package/utils/createTypeName.js +8 -0
- package/utils/createTypeName.js.map +1 -1
- package/utils/entryStorage.js +26 -10
- package/utils/entryStorage.js.map +1 -1
- package/utils/filterAsync.js +5 -0
- package/utils/filterAsync.js.map +1 -1
- package/utils/filterModelFields.js +9 -3
- package/utils/filterModelFields.js.map +1 -1
- package/utils/getEntryTitle.js +9 -0
- package/utils/getEntryTitle.js.map +1 -1
- package/utils/getSchemaFromFieldPlugins.js +6 -2
- package/utils/getSchemaFromFieldPlugins.js.map +1 -1
- package/utils/ownership.js +8 -0
- package/utils/ownership.js.map +1 -1
- package/utils/permissions.js +23 -8
- package/utils/permissions.js.map +1 -1
- package/utils/pluralizedTypeName.js +6 -0
- package/utils/pluralizedTypeName.js.map +1 -1
- package/utils/renderFields.js +8 -0
- package/utils/renderFields.js.map +1 -1
- package/utils/renderGetFilterFields.js +11 -0
- package/utils/renderGetFilterFields.js.map +1 -1
- package/utils/renderInputFields.js +8 -0
- package/utils/renderInputFields.js.map +1 -1
- package/utils/renderListFilterFields.js +9 -1
- package/utils/renderListFilterFields.js.map +1 -1
- package/utils/renderSortEnum.js +7 -0
- package/utils/renderSortEnum.js.map +1 -1
- package/utils/toSlug.js +4 -0
- package/utils/toSlug.js.map +1 -1
- package/validators/dateGte.js +7 -0
- package/validators/dateGte.js.map +1 -1
- package/validators/dateLte.js +7 -0
- package/validators/dateLte.js.map +1 -1
- package/validators/gte.js +8 -0
- package/validators/gte.js.map +1 -1
- package/validators/in.js +8 -0
- package/validators/in.js.map +1 -1
- package/validators/index.js +15 -0
- package/validators/index.js.map +1 -1
- package/validators/lte.js +8 -0
- package/validators/lte.js.map +1 -1
- package/validators/maxLength.js +8 -0
- package/validators/maxLength.js.map +1 -1
- package/validators/minLength.js +8 -0
- package/validators/minLength.js.map +1 -1
- package/validators/pattern.js +9 -0
- package/validators/pattern.js.map +1 -1
- package/validators/patternPlugins/email.js +2 -0
- package/validators/patternPlugins/email.js.map +1 -1
- package/validators/patternPlugins/index.js +8 -0
- package/validators/patternPlugins/index.js.map +1 -1
- package/validators/patternPlugins/lowerCase.js +2 -0
- package/validators/patternPlugins/lowerCase.js.map +1 -1
- package/validators/patternPlugins/lowerCaseSpace.js +2 -0
- package/validators/patternPlugins/lowerCaseSpace.js.map +1 -1
- package/validators/patternPlugins/upperCase.js +2 -0
- package/validators/patternPlugins/upperCase.js.map +1 -1
- package/validators/patternPlugins/upperCaseSpace.js +2 -0
- package/validators/patternPlugins/upperCaseSpace.js.map +1 -1
- package/validators/patternPlugins/url.js +2 -0
- package/validators/patternPlugins/url.js.map +1 -1
- package/validators/required.js +5 -0
- package/validators/required.js.map +1 -1
- package/validators/timeGte.js +8 -0
- package/validators/timeGte.js.map +1 -1
- package/validators/timeLte.js +8 -0
- package/validators/timeLte.js.map +1 -1
- package/validators/unique.js +7 -0
- package/validators/unique.js.map +1 -1
package/fieldConverters/index.js
CHANGED
|
@@ -4,9 +4,13 @@ Object.defineProperty(exports, "__esModule", {
|
|
|
4
4
|
value: true
|
|
5
5
|
});
|
|
6
6
|
exports.createFieldConverters = void 0;
|
|
7
|
+
|
|
7
8
|
var _CmsModelObjectFieldConverterPlugin = require("./CmsModelObjectFieldConverterPlugin");
|
|
9
|
+
|
|
8
10
|
var _CmsModelDefaultFieldConverterPlugin = require("./CmsModelDefaultFieldConverterPlugin");
|
|
11
|
+
|
|
9
12
|
const createFieldConverters = () => {
|
|
10
13
|
return [new _CmsModelObjectFieldConverterPlugin.CmsModelObjectFieldConverterPlugin(), new _CmsModelDefaultFieldConverterPlugin.CmsModelDefaultFieldConverterPlugin()];
|
|
11
14
|
};
|
|
15
|
+
|
|
12
16
|
exports.createFieldConverters = createFieldConverters;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["createFieldConverters","CmsModelObjectFieldConverterPlugin","CmsModelDefaultFieldConverterPlugin"],"sources":["index.ts"],"sourcesContent":["import { CmsModelObjectFieldConverterPlugin } from \"~/fieldConverters/CmsModelObjectFieldConverterPlugin\";\nimport { CmsModelDefaultFieldConverterPlugin } from \"~/fieldConverters/CmsModelDefaultFieldConverterPlugin\";\n\nexport const createFieldConverters = () => {\n return [new CmsModelObjectFieldConverterPlugin(), new CmsModelDefaultFieldConverterPlugin()];\n};\n"],"mappings":"
|
|
1
|
+
{"version":3,"names":["createFieldConverters","CmsModelObjectFieldConverterPlugin","CmsModelDefaultFieldConverterPlugin"],"sources":["index.ts"],"sourcesContent":["import { CmsModelObjectFieldConverterPlugin } from \"~/fieldConverters/CmsModelObjectFieldConverterPlugin\";\nimport { CmsModelDefaultFieldConverterPlugin } from \"~/fieldConverters/CmsModelDefaultFieldConverterPlugin\";\n\nexport const createFieldConverters = () => {\n return [new CmsModelObjectFieldConverterPlugin(), new CmsModelDefaultFieldConverterPlugin()];\n};\n"],"mappings":";;;;;;;AAAA;;AACA;;AAEO,MAAMA,qBAAqB,GAAG,MAAM;EACvC,OAAO,CAAC,IAAIC,sEAAJ,EAAD,EAA2C,IAAIC,wEAAJ,EAA3C,CAAP;AACH,CAFM"}
|
|
@@ -4,20 +4,24 @@ Object.defineProperty(exports, "__esModule", {
|
|
|
4
4
|
value: true
|
|
5
5
|
});
|
|
6
6
|
exports.buildSchemaPlugins = void 0;
|
|
7
|
+
|
|
7
8
|
var _contentModels = require("./schema/contentModels");
|
|
9
|
+
|
|
8
10
|
var _contentEntries = require("./schema/contentEntries");
|
|
11
|
+
|
|
9
12
|
var _contentModelGroups = require("./schema/contentModelGroups");
|
|
13
|
+
|
|
10
14
|
var _baseContentSchema = require("./schema/baseContentSchema");
|
|
15
|
+
|
|
11
16
|
var _schemaPlugins = require("./schema/schemaPlugins");
|
|
17
|
+
|
|
12
18
|
/**
|
|
13
19
|
* This factory is called whenever we need to generate graphql-schema plugins using the current context.
|
|
14
20
|
*/
|
|
15
|
-
|
|
16
21
|
const buildSchemaPlugins = async context => {
|
|
17
|
-
return [
|
|
18
|
-
|
|
19
|
-
(0, _baseContentSchema.createBaseContentSchema)(context), (0, _contentModels.createModelsSchema)(context), (0, _contentEntries.createContentEntriesSchema)(context), (0, _contentModelGroups.createGroupsSchema)(context),
|
|
20
|
-
// Dynamic schema
|
|
22
|
+
return [// Base GQL types and scalars
|
|
23
|
+
(0, _baseContentSchema.createBaseContentSchema)(context), (0, _contentModels.createModelsSchema)(context), (0, _contentEntries.createContentEntriesSchema)(context), (0, _contentModelGroups.createGroupsSchema)(context), // Dynamic schema
|
|
21
24
|
...(await (0, _schemaPlugins.generateSchemaPlugins)(context))].filter(Boolean);
|
|
22
25
|
};
|
|
26
|
+
|
|
23
27
|
exports.buildSchemaPlugins = buildSchemaPlugins;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["buildSchemaPlugins","context","createBaseContentSchema","createModelsSchema","createContentEntriesSchema","createGroupsSchema","generateSchemaPlugins","filter","Boolean"],"sources":["buildSchemaPlugins.ts"],"sourcesContent":["import { GraphQLSchemaPlugin } from \"@webiny/handler-graphql/plugins/GraphQLSchemaPlugin\";\nimport { CmsContext } from \"~/types\";\nimport { createModelsSchema } from \"./schema/contentModels\";\nimport { createContentEntriesSchema } from \"./schema/contentEntries\";\nimport { createGroupsSchema } from \"./schema/contentModelGroups\";\nimport { createBaseContentSchema } from \"./schema/baseContentSchema\";\nimport { generateSchemaPlugins } from \"./schema/schemaPlugins\";\n\n/**\n * This factory is called whenever we need to generate graphql-schema plugins using the current context.\n */\n\nexport const buildSchemaPlugins = async (\n context: CmsContext\n): Promise<GraphQLSchemaPlugin<CmsContext>[]> => {\n return [\n // Base GQL types and scalars\n createBaseContentSchema(context),\n createModelsSchema(context),\n createContentEntriesSchema(context),\n createGroupsSchema(context),\n // Dynamic schema\n ...(await generateSchemaPlugins(context))\n ].filter(Boolean);\n};\n"],"mappings":"
|
|
1
|
+
{"version":3,"names":["buildSchemaPlugins","context","createBaseContentSchema","createModelsSchema","createContentEntriesSchema","createGroupsSchema","generateSchemaPlugins","filter","Boolean"],"sources":["buildSchemaPlugins.ts"],"sourcesContent":["import { GraphQLSchemaPlugin } from \"@webiny/handler-graphql/plugins/GraphQLSchemaPlugin\";\nimport { CmsContext } from \"~/types\";\nimport { createModelsSchema } from \"./schema/contentModels\";\nimport { createContentEntriesSchema } from \"./schema/contentEntries\";\nimport { createGroupsSchema } from \"./schema/contentModelGroups\";\nimport { createBaseContentSchema } from \"./schema/baseContentSchema\";\nimport { generateSchemaPlugins } from \"./schema/schemaPlugins\";\n\n/**\n * This factory is called whenever we need to generate graphql-schema plugins using the current context.\n */\n\nexport const buildSchemaPlugins = async (\n context: CmsContext\n): Promise<GraphQLSchemaPlugin<CmsContext>[]> => {\n return [\n // Base GQL types and scalars\n createBaseContentSchema(context),\n createModelsSchema(context),\n createContentEntriesSchema(context),\n createGroupsSchema(context),\n // Dynamic schema\n ...(await generateSchemaPlugins(context))\n ].filter(Boolean);\n};\n"],"mappings":";;;;;;;AAEA;;AACA;;AACA;;AACA;;AACA;;AAEA;AACA;AACA;AAEO,MAAMA,kBAAkB,GAAG,MAC9BC,OAD8B,IAEe;EAC7C,OAAO,CACH;EACA,IAAAC,0CAAA,EAAwBD,OAAxB,CAFG,EAGH,IAAAE,iCAAA,EAAmBF,OAAnB,CAHG,EAIH,IAAAG,0CAAA,EAA2BH,OAA3B,CAJG,EAKH,IAAAI,sCAAA,EAAmBJ,OAAnB,CALG,EAMH;EACA,IAAI,MAAM,IAAAK,oCAAA,EAAsBL,OAAtB,CAAV,CAPG,EAQLM,MARK,CAQEC,OARF,CAAP;AASH,CAZM"}
|
|
@@ -1,18 +1,28 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
|
|
3
3
|
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault").default;
|
|
4
|
+
|
|
4
5
|
Object.defineProperty(exports, "__esModule", {
|
|
5
6
|
value: true
|
|
6
7
|
});
|
|
7
8
|
exports.graphQLHandlerFactory = void 0;
|
|
9
|
+
|
|
8
10
|
var _schema = require("@graphql-tools/schema");
|
|
11
|
+
|
|
9
12
|
var _apiSecurity = require("@webiny/api-security");
|
|
13
|
+
|
|
10
14
|
var _debugPlugins = _interopRequireDefault(require("@webiny/handler-graphql/debugPlugins"));
|
|
15
|
+
|
|
11
16
|
var _processRequestBody = _interopRequireDefault(require("@webiny/handler-graphql/processRequestBody"));
|
|
17
|
+
|
|
12
18
|
var _buildSchemaPlugins = require("./buildSchemaPlugins");
|
|
19
|
+
|
|
13
20
|
var _plugins = require("@webiny/handler-graphql/plugins");
|
|
21
|
+
|
|
14
22
|
var _handler = require("@webiny/handler");
|
|
23
|
+
|
|
15
24
|
const schemaList = new Map();
|
|
25
|
+
|
|
16
26
|
const generateCacheKey = async args => {
|
|
17
27
|
const {
|
|
18
28
|
context,
|
|
@@ -22,6 +32,7 @@ const generateCacheKey = async args => {
|
|
|
22
32
|
const lastModelChange = await context.cms.getModelLastChange();
|
|
23
33
|
return [locale.code, type, lastModelChange.toISOString()].join("#");
|
|
24
34
|
};
|
|
35
|
+
|
|
25
36
|
const generateSchema = async args => {
|
|
26
37
|
const {
|
|
27
38
|
context
|
|
@@ -31,25 +42,28 @@ const generateSchema = async args => {
|
|
|
31
42
|
* Really hard to type this to satisfy the makeExecutableSchema
|
|
32
43
|
*/
|
|
33
44
|
// TODO @ts-refactor
|
|
45
|
+
|
|
34
46
|
const typeDefs = [];
|
|
35
|
-
const resolvers = [];
|
|
47
|
+
const resolvers = []; // Get schema definitions from plugins
|
|
36
48
|
|
|
37
|
-
// Get schema definitions from plugins
|
|
38
49
|
const schemaPlugins = context.plugins.byType(_plugins.GraphQLSchemaPlugin.type);
|
|
50
|
+
|
|
39
51
|
for (const pl of schemaPlugins) {
|
|
40
52
|
typeDefs.push(pl.schema.typeDefs);
|
|
41
53
|
resolvers.push(pl.schema.resolvers);
|
|
42
54
|
}
|
|
55
|
+
|
|
43
56
|
return (0, _schema.makeExecutableSchema)({
|
|
44
57
|
typeDefs,
|
|
45
58
|
resolvers
|
|
46
59
|
});
|
|
47
60
|
};
|
|
48
|
-
|
|
49
61
|
/**
|
|
50
62
|
* Gets an existing schema or rewrites existing one or creates a completely new one
|
|
51
63
|
* depending on the schemaId created from type and locale parameters
|
|
52
64
|
*/
|
|
65
|
+
|
|
66
|
+
|
|
53
67
|
const getSchema = async params => {
|
|
54
68
|
const {
|
|
55
69
|
context,
|
|
@@ -59,6 +73,7 @@ const getSchema = async params => {
|
|
|
59
73
|
const tenantId = context.tenancy.getCurrentTenant().id;
|
|
60
74
|
const id = `${tenantId}#${type}#${locale.code}`;
|
|
61
75
|
const cacheKey = await generateCacheKey(params);
|
|
76
|
+
|
|
62
77
|
if (!schemaList.has(id)) {
|
|
63
78
|
const schema = await generateSchema(params);
|
|
64
79
|
schemaList.set(id, {
|
|
@@ -70,10 +85,14 @@ const getSchema = async params => {
|
|
|
70
85
|
/**
|
|
71
86
|
* Safe to cast because check was done few lines up.
|
|
72
87
|
*/
|
|
88
|
+
|
|
89
|
+
|
|
73
90
|
const cache = schemaList.get(id);
|
|
91
|
+
|
|
74
92
|
if (cache.key === cacheKey) {
|
|
75
93
|
return cache.schema;
|
|
76
94
|
}
|
|
95
|
+
|
|
77
96
|
const schema = await generateSchema(params);
|
|
78
97
|
schemaList.set(id, {
|
|
79
98
|
key: cacheKey,
|
|
@@ -81,8 +100,10 @@ const getSchema = async params => {
|
|
|
81
100
|
});
|
|
82
101
|
return schema;
|
|
83
102
|
};
|
|
103
|
+
|
|
84
104
|
const checkEndpointAccess = async context => {
|
|
85
105
|
const permission = await context.security.getPermission(`cms.endpoint.${context.cms.type}`);
|
|
106
|
+
|
|
86
107
|
if (!permission) {
|
|
87
108
|
throw new _apiSecurity.NotAuthorizedError({
|
|
88
109
|
data: {
|
|
@@ -91,6 +112,7 @@ const checkEndpointAccess = async context => {
|
|
|
91
112
|
});
|
|
92
113
|
}
|
|
93
114
|
};
|
|
115
|
+
|
|
94
116
|
const cmsRoutes = new _handler.RoutePlugin(({
|
|
95
117
|
onPost,
|
|
96
118
|
onOptions,
|
|
@@ -110,6 +132,7 @@ const cmsRoutes = new _handler.RoutePlugin(({
|
|
|
110
132
|
}
|
|
111
133
|
});
|
|
112
134
|
}
|
|
135
|
+
|
|
113
136
|
const schema = await getSchema({
|
|
114
137
|
context,
|
|
115
138
|
locale: context.cms.getLocale(),
|
|
@@ -123,6 +146,7 @@ const cmsRoutes = new _handler.RoutePlugin(({
|
|
|
123
146
|
return reply.hijack().send({});
|
|
124
147
|
});
|
|
125
148
|
});
|
|
149
|
+
|
|
126
150
|
const graphQLHandlerFactory = ({
|
|
127
151
|
debug
|
|
128
152
|
}) => {
|
|
@@ -130,4 +154,5 @@ const graphQLHandlerFactory = ({
|
|
|
130
154
|
type: "wcp-telemetry-tracker"
|
|
131
155
|
}];
|
|
132
156
|
};
|
|
157
|
+
|
|
133
158
|
exports.graphQLHandlerFactory = graphQLHandlerFactory;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["schemaList","Map","generateCacheKey","args","context","locale","type","lastModelChange","cms","getModelLastChange","code","toISOString","join","generateSchema","plugins","register","buildSchemaPlugins","typeDefs","resolvers","schemaPlugins","byType","GraphQLSchemaPlugin","pl","push","schema","makeExecutableSchema","getSchema","params","tenantId","tenancy","getCurrentTenant","id","cacheKey","has","set","key","cache","get","checkEndpointAccess","permission","security","getPermission","NotAuthorizedError","data","reason","cmsRoutes","RoutePlugin","onPost","onOptions","request","reply","ex","send","error","message","stack","getLocale","body","result","processRequestBody","_","hijack","graphQLHandlerFactory","debug","debugPlugins"],"sources":["graphQLHandlerFactory.ts"],"sourcesContent":["import { GraphQLSchema } from \"graphql\";\nimport { makeExecutableSchema } from \"@graphql-tools/schema\";\nimport { ApiEndpoint, CmsContext } from \"~/types\";\nimport { I18NLocale } from \"@webiny/api-i18n/types\";\nimport { NotAuthorizedError } from \"@webiny/api-security\";\nimport { PluginCollection } from \"@webiny/plugins/types\";\nimport debugPlugins from \"@webiny/handler-graphql/debugPlugins\";\nimport processRequestBody from \"@webiny/handler-graphql/processRequestBody\";\nimport { buildSchemaPlugins } from \"./buildSchemaPlugins\";\nimport { GraphQLSchemaPlugin } from \"@webiny/handler-graphql/plugins\";\nimport { GraphQLRequestBody } from \"@webiny/handler-graphql/types\";\nimport { RoutePlugin } from \"@webiny/handler\";\n\ninterface SchemaCache {\n key: string;\n schema: GraphQLSchema;\n}\ninterface GetSchemaParams {\n context: CmsContext;\n type: ApiEndpoint;\n locale: I18NLocale;\n}\n\nconst schemaList = new Map<string, SchemaCache>();\n\nconst generateCacheKey = async (args: GetSchemaParams): Promise<string> => {\n const { context, locale, type } = args;\n const lastModelChange = await context.cms.getModelLastChange();\n return [locale.code, type, lastModelChange.toISOString()].join(\"#\");\n};\n\nconst generateSchema = async (args: GetSchemaParams): Promise<GraphQLSchema> => {\n const { context } = args;\n\n context.plugins.register(await buildSchemaPlugins(context));\n /**\n * Really hard to type this to satisfy the makeExecutableSchema\n */\n // TODO @ts-refactor\n const typeDefs: any = [];\n const resolvers: any = [];\n\n // Get schema definitions from plugins\n const schemaPlugins = context.plugins.byType<GraphQLSchemaPlugin>(GraphQLSchemaPlugin.type);\n for (const pl of schemaPlugins) {\n typeDefs.push(pl.schema.typeDefs);\n resolvers.push(pl.schema.resolvers);\n }\n\n return makeExecutableSchema({\n typeDefs,\n resolvers\n });\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 */\nconst getSchema = async (params: GetSchemaParams): Promise<GraphQLSchema> => {\n const { context, type, locale } = params;\n const tenantId = context.tenancy.getCurrentTenant().id;\n const id = `${tenantId}#${type}#${locale.code}`;\n\n const cacheKey = await generateCacheKey(params);\n if (!schemaList.has(id)) {\n const schema = await generateSchema(params);\n\n schemaList.set(id, {\n key: cacheKey,\n schema\n });\n return schema;\n }\n /**\n * Safe to cast because check was done few lines up.\n */\n const cache = schemaList.get(id) as SchemaCache;\n if (cache.key === cacheKey) {\n return cache.schema;\n }\n const schema = await generateSchema(params);\n schemaList.set(id, {\n key: cacheKey,\n schema\n });\n return schema;\n};\n\nconst checkEndpointAccess = async (context: CmsContext): Promise<void> => {\n const permission = await context.security.getPermission(`cms.endpoint.${context.cms.type}`);\n if (!permission) {\n throw new NotAuthorizedError({\n data: {\n reason: `Not allowed to access \"${context.cms.type}\" endpoint.`\n }\n });\n }\n};\n\nexport interface GraphQLHandlerFactoryParams {\n debug?: boolean;\n}\n\nconst cmsRoutes = new RoutePlugin<CmsContext>(({ onPost, onOptions, context }) => {\n onPost(\"/cms/:type(^manage|preview|read$)/:locale\", async (request, reply) => {\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 schema = await getSchema({\n context,\n locale: context.cms.getLocale(),\n type: context.cms.type as ApiEndpoint\n });\n const body: GraphQLRequestBody | GraphQLRequestBody[] = request.body as any;\n const result = await processRequestBody(body, schema, context);\n return reply.code(200).send(result);\n });\n\n onOptions(\"/cms/:type(^manage|preview|read$)/:locale\", async (_, reply) => {\n return reply.hijack().send({});\n });\n});\n\nexport const graphQLHandlerFactory = ({ debug }: GraphQLHandlerFactoryParams): PluginCollection => {\n return [\n ...(debug ? debugPlugins() : []),\n cmsRoutes,\n {\n type: \"wcp-telemetry-tracker\"\n }\n ];\n};\n"],"mappings":"
|
|
1
|
+
{"version":3,"names":["schemaList","Map","generateCacheKey","args","context","locale","type","lastModelChange","cms","getModelLastChange","code","toISOString","join","generateSchema","plugins","register","buildSchemaPlugins","typeDefs","resolvers","schemaPlugins","byType","GraphQLSchemaPlugin","pl","push","schema","makeExecutableSchema","getSchema","params","tenantId","tenancy","getCurrentTenant","id","cacheKey","has","set","key","cache","get","checkEndpointAccess","permission","security","getPermission","NotAuthorizedError","data","reason","cmsRoutes","RoutePlugin","onPost","onOptions","request","reply","ex","send","error","message","stack","getLocale","body","result","processRequestBody","_","hijack","graphQLHandlerFactory","debug","debugPlugins"],"sources":["graphQLHandlerFactory.ts"],"sourcesContent":["import { GraphQLSchema } from \"graphql\";\nimport { makeExecutableSchema } from \"@graphql-tools/schema\";\nimport { ApiEndpoint, CmsContext } from \"~/types\";\nimport { I18NLocale } from \"@webiny/api-i18n/types\";\nimport { NotAuthorizedError } from \"@webiny/api-security\";\nimport { PluginCollection } from \"@webiny/plugins/types\";\nimport debugPlugins from \"@webiny/handler-graphql/debugPlugins\";\nimport processRequestBody from \"@webiny/handler-graphql/processRequestBody\";\nimport { buildSchemaPlugins } from \"./buildSchemaPlugins\";\nimport { GraphQLSchemaPlugin } from \"@webiny/handler-graphql/plugins\";\nimport { GraphQLRequestBody } from \"@webiny/handler-graphql/types\";\nimport { RoutePlugin } from \"@webiny/handler\";\n\ninterface SchemaCache {\n key: string;\n schema: GraphQLSchema;\n}\ninterface GetSchemaParams {\n context: CmsContext;\n type: ApiEndpoint;\n locale: I18NLocale;\n}\n\nconst schemaList = new Map<string, SchemaCache>();\n\nconst generateCacheKey = async (args: GetSchemaParams): Promise<string> => {\n const { context, locale, type } = args;\n const lastModelChange = await context.cms.getModelLastChange();\n return [locale.code, type, lastModelChange.toISOString()].join(\"#\");\n};\n\nconst generateSchema = async (args: GetSchemaParams): Promise<GraphQLSchema> => {\n const { context } = args;\n\n context.plugins.register(await buildSchemaPlugins(context));\n /**\n * Really hard to type this to satisfy the makeExecutableSchema\n */\n // TODO @ts-refactor\n const typeDefs: any = [];\n const resolvers: any = [];\n\n // Get schema definitions from plugins\n const schemaPlugins = context.plugins.byType<GraphQLSchemaPlugin>(GraphQLSchemaPlugin.type);\n for (const pl of schemaPlugins) {\n typeDefs.push(pl.schema.typeDefs);\n resolvers.push(pl.schema.resolvers);\n }\n\n return makeExecutableSchema({\n typeDefs,\n resolvers\n });\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 */\nconst getSchema = async (params: GetSchemaParams): Promise<GraphQLSchema> => {\n const { context, type, locale } = params;\n const tenantId = context.tenancy.getCurrentTenant().id;\n const id = `${tenantId}#${type}#${locale.code}`;\n\n const cacheKey = await generateCacheKey(params);\n if (!schemaList.has(id)) {\n const schema = await generateSchema(params);\n\n schemaList.set(id, {\n key: cacheKey,\n schema\n });\n return schema;\n }\n /**\n * Safe to cast because check was done few lines up.\n */\n const cache = schemaList.get(id) as SchemaCache;\n if (cache.key === cacheKey) {\n return cache.schema;\n }\n const schema = await generateSchema(params);\n schemaList.set(id, {\n key: cacheKey,\n schema\n });\n return schema;\n};\n\nconst checkEndpointAccess = async (context: CmsContext): Promise<void> => {\n const permission = await context.security.getPermission(`cms.endpoint.${context.cms.type}`);\n if (!permission) {\n throw new NotAuthorizedError({\n data: {\n reason: `Not allowed to access \"${context.cms.type}\" endpoint.`\n }\n });\n }\n};\n\nexport interface GraphQLHandlerFactoryParams {\n debug?: boolean;\n}\n\nconst cmsRoutes = new RoutePlugin<CmsContext>(({ onPost, onOptions, context }) => {\n onPost(\"/cms/:type(^manage|preview|read$)/:locale\", async (request, reply) => {\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 schema = await getSchema({\n context,\n locale: context.cms.getLocale(),\n type: context.cms.type as ApiEndpoint\n });\n const body: GraphQLRequestBody | GraphQLRequestBody[] = request.body as any;\n const result = await processRequestBody(body, schema, context);\n return reply.code(200).send(result);\n });\n\n onOptions(\"/cms/:type(^manage|preview|read$)/:locale\", async (_, reply) => {\n return reply.hijack().send({});\n });\n});\n\nexport const graphQLHandlerFactory = ({ debug }: GraphQLHandlerFactoryParams): PluginCollection => {\n return [\n ...(debug ? debugPlugins() : []),\n cmsRoutes,\n {\n type: \"wcp-telemetry-tracker\"\n }\n ];\n};\n"],"mappings":"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"}
|
package/graphql/index.js
CHANGED
|
@@ -4,14 +4,19 @@ Object.defineProperty(exports, "__esModule", {
|
|
|
4
4
|
value: true
|
|
5
5
|
});
|
|
6
6
|
exports.createGraphQL = void 0;
|
|
7
|
+
|
|
7
8
|
var _system = require("./system");
|
|
9
|
+
|
|
8
10
|
var _graphQLHandlerFactory = require("./graphQLHandlerFactory");
|
|
11
|
+
|
|
9
12
|
const createBaseSchema = () => {
|
|
10
13
|
return {
|
|
11
14
|
name: "cms.graphql.schema.base",
|
|
12
15
|
type: "graphql-schema",
|
|
13
16
|
schema: {
|
|
14
|
-
typeDefs:
|
|
17
|
+
typeDefs:
|
|
18
|
+
/* GraphQL */
|
|
19
|
+
`
|
|
15
20
|
type CmsError {
|
|
16
21
|
code: String
|
|
17
22
|
message: String
|
|
@@ -44,7 +49,9 @@ const createBaseSchema = () => {
|
|
|
44
49
|
}
|
|
45
50
|
};
|
|
46
51
|
};
|
|
52
|
+
|
|
47
53
|
const createGraphQL = params => {
|
|
48
54
|
return [createBaseSchema(), (0, _system.createSystemSchemaPlugin)(), (0, _graphQLHandlerFactory.graphQLHandlerFactory)(params)];
|
|
49
55
|
};
|
|
56
|
+
|
|
50
57
|
exports.createGraphQL = createGraphQL;
|
package/graphql/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["createBaseSchema","name","type","schema","typeDefs","resolvers","createGraphQL","params","createSystemSchemaPlugin","graphQLHandlerFactory"],"sources":["index.ts"],"sourcesContent":["import { GraphQLSchemaPlugin } from \"@webiny/handler-graphql/types\";\nimport { createSystemSchemaPlugin } from \"./system\";\nimport { graphQLHandlerFactory, GraphQLHandlerFactoryParams } from \"./graphQLHandlerFactory\";\nimport { CmsContext } from \"~/types\";\n\nconst createBaseSchema = (): GraphQLSchemaPlugin<CmsContext> => {\n return {\n name: \"cms.graphql.schema.base\",\n type: \"graphql-schema\",\n schema: {\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 type CmsDeleteResponse {\n data: Boolean\n error: CmsError\n }\n\n type CmsBooleanResponse {\n data: Boolean\n error: CmsError\n }\n `,\n resolvers: {}\n }\n };\n};\n\nexport type CreateGraphQLParams = GraphQLHandlerFactoryParams;\nexport const createGraphQL = (params: CreateGraphQLParams) => {\n return [createBaseSchema(), createSystemSchemaPlugin(), graphQLHandlerFactory(params)];\n};\n"],"mappings":"
|
|
1
|
+
{"version":3,"names":["createBaseSchema","name","type","schema","typeDefs","resolvers","createGraphQL","params","createSystemSchemaPlugin","graphQLHandlerFactory"],"sources":["index.ts"],"sourcesContent":["import { GraphQLSchemaPlugin } from \"@webiny/handler-graphql/types\";\nimport { createSystemSchemaPlugin } from \"./system\";\nimport { graphQLHandlerFactory, GraphQLHandlerFactoryParams } from \"./graphQLHandlerFactory\";\nimport { CmsContext } from \"~/types\";\n\nconst createBaseSchema = (): GraphQLSchemaPlugin<CmsContext> => {\n return {\n name: \"cms.graphql.schema.base\",\n type: \"graphql-schema\",\n schema: {\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 type CmsDeleteResponse {\n data: Boolean\n error: CmsError\n }\n\n type CmsBooleanResponse {\n data: Boolean\n error: CmsError\n }\n `,\n resolvers: {}\n }\n };\n};\n\nexport type CreateGraphQLParams = GraphQLHandlerFactoryParams;\nexport const createGraphQL = (params: CreateGraphQLParams) => {\n return [createBaseSchema(), createSystemSchemaPlugin(), graphQLHandlerFactory(params)];\n};\n"],"mappings":";;;;;;;AACA;;AACA;;AAGA,MAAMA,gBAAgB,GAAG,MAAuC;EAC5D,OAAO;IACHC,IAAI,EAAE,yBADH;IAEHC,IAAI,EAAE,gBAFH;IAGHC,MAAM,EAAE;MACJC,QAAQ;MAAE;MAAe;AACrC;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,aA7BgB;MA8BJC,SAAS,EAAE;IA9BP;EAHL,CAAP;AAoCH,CArCD;;AAwCO,MAAMC,aAAa,GAAIC,MAAD,IAAiC;EAC1D,OAAO,CAACP,gBAAgB,EAAjB,EAAqB,IAAAQ,gCAAA,GAArB,EAAiD,IAAAC,4CAAA,EAAsBF,MAAtB,CAAjD,CAAP;AACH,CAFM"}
|
|
@@ -1,17 +1,24 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
|
|
3
3
|
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault").default;
|
|
4
|
+
|
|
4
5
|
Object.defineProperty(exports, "__esModule", {
|
|
5
6
|
value: true
|
|
6
7
|
});
|
|
7
8
|
exports.createBaseContentSchema = void 0;
|
|
9
|
+
|
|
8
10
|
var _objectSpread2 = _interopRequireDefault(require("@babel/runtime/helpers/objectSpread2"));
|
|
11
|
+
|
|
9
12
|
var _builtInTypes = require("@webiny/handler-graphql/builtInTypes");
|
|
13
|
+
|
|
10
14
|
var _GraphQLSchemaPlugin = require("@webiny/handler-graphql/plugins/GraphQLSchemaPlugin");
|
|
15
|
+
|
|
11
16
|
const createBaseContentSchema = context => {
|
|
12
17
|
const scalars = context.plugins.byType("graphql-scalar").map(item => item.scalar);
|
|
13
18
|
return new _GraphQLSchemaPlugin.GraphQLSchemaPlugin({
|
|
14
|
-
typeDefs:
|
|
19
|
+
typeDefs:
|
|
20
|
+
/* GraphQL */
|
|
21
|
+
`
|
|
15
22
|
${scalars.map(scalar => `scalar ${scalar.name}`).join(" ")}
|
|
16
23
|
scalar JSON
|
|
17
24
|
scalar Long
|
|
@@ -65,4 +72,5 @@ const createBaseContentSchema = context => {
|
|
|
65
72
|
})
|
|
66
73
|
});
|
|
67
74
|
};
|
|
75
|
+
|
|
68
76
|
exports.createBaseContentSchema = createBaseContentSchema;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["createBaseContentSchema","context","scalars","plugins","byType","map","item","scalar","GraphQLSchemaPlugin","typeDefs","name","join","resolvers","reduce","acc","s","JSON","JsonScalar","Long","LongScalar","RefInput","Number","NumberScalar","Any","AnyScalar","DateTime","DateTimeScalar","DateTimeZ","DateTimeZScalar","Date","DateScalar","Time","TimeScalar","Mutation","_empty"],"sources":["baseContentSchema.ts"],"sourcesContent":["import { GraphQLScalarPlugin } from \"@webiny/handler-graphql/types\";\nimport { CmsContext } from \"~/types\";\nimport {\n RefInput,\n NumberScalar,\n AnyScalar,\n DateTimeScalar,\n DateScalar,\n TimeScalar,\n LongScalar,\n JsonScalar,\n DateTimeZScalar\n} from \"@webiny/handler-graphql/builtInTypes\";\nimport { GraphQLSchemaPlugin } from \"@webiny/handler-graphql/plugins/GraphQLSchemaPlugin\";\nimport { GraphQLScalarType } from \"graphql\";\n\nexport const createBaseContentSchema = (context: CmsContext): GraphQLSchemaPlugin => {\n const scalars = context.plugins\n .byType<GraphQLScalarPlugin>(\"graphql-scalar\")\n .map(item => item.scalar);\n\n return new GraphQLSchemaPlugin({\n typeDefs: /* GraphQL */ `\n ${scalars.map(scalar => `scalar ${scalar.name}`).join(\" \")}\n scalar JSON\n scalar Long\n scalar RefInput\n scalar Number\n scalar Any\n scalar Date\n scalar DateTime\n scalar DateTimeZ\n scalar Time\n\n type Query\n\n type Mutation {\n _empty: String\n }\n\n type CmsCreatedBy {\n id: String\n displayName: String\n type: String\n }\n\n type CmsOwnedBy {\n id: String\n displayName: String\n type: String\n }\n\n enum CmsEntryStatusType {\n latest\n published\n }\n `,\n resolvers: {\n ...scalars.reduce((acc, s) => {\n acc[s.name] = s;\n return acc;\n }, {} as Record<string, GraphQLScalarType>),\n JSON: JsonScalar,\n Long: LongScalar,\n RefInput,\n Number: NumberScalar,\n Any: AnyScalar,\n DateTime: DateTimeScalar,\n DateTimeZ: DateTimeZScalar,\n Date: DateScalar,\n Time: TimeScalar,\n Mutation: {\n _empty: () => \"_empty\"\n }\n }\n });\n};\n"],"mappings":"
|
|
1
|
+
{"version":3,"names":["createBaseContentSchema","context","scalars","plugins","byType","map","item","scalar","GraphQLSchemaPlugin","typeDefs","name","join","resolvers","reduce","acc","s","JSON","JsonScalar","Long","LongScalar","RefInput","Number","NumberScalar","Any","AnyScalar","DateTime","DateTimeScalar","DateTimeZ","DateTimeZScalar","Date","DateScalar","Time","TimeScalar","Mutation","_empty"],"sources":["baseContentSchema.ts"],"sourcesContent":["import { GraphQLScalarPlugin } from \"@webiny/handler-graphql/types\";\nimport { CmsContext } from \"~/types\";\nimport {\n RefInput,\n NumberScalar,\n AnyScalar,\n DateTimeScalar,\n DateScalar,\n TimeScalar,\n LongScalar,\n JsonScalar,\n DateTimeZScalar\n} from \"@webiny/handler-graphql/builtInTypes\";\nimport { GraphQLSchemaPlugin } from \"@webiny/handler-graphql/plugins/GraphQLSchemaPlugin\";\nimport { GraphQLScalarType } from \"graphql\";\n\nexport const createBaseContentSchema = (context: CmsContext): GraphQLSchemaPlugin => {\n const scalars = context.plugins\n .byType<GraphQLScalarPlugin>(\"graphql-scalar\")\n .map(item => item.scalar);\n\n return new GraphQLSchemaPlugin({\n typeDefs: /* GraphQL */ `\n ${scalars.map(scalar => `scalar ${scalar.name}`).join(\" \")}\n scalar JSON\n scalar Long\n scalar RefInput\n scalar Number\n scalar Any\n scalar Date\n scalar DateTime\n scalar DateTimeZ\n scalar Time\n\n type Query\n\n type Mutation {\n _empty: String\n }\n\n type CmsCreatedBy {\n id: String\n displayName: String\n type: String\n }\n\n type CmsOwnedBy {\n id: String\n displayName: String\n type: String\n }\n\n enum CmsEntryStatusType {\n latest\n published\n }\n `,\n resolvers: {\n ...scalars.reduce((acc, s) => {\n acc[s.name] = s;\n return acc;\n }, {} as Record<string, GraphQLScalarType>),\n JSON: JsonScalar,\n Long: LongScalar,\n RefInput,\n Number: NumberScalar,\n Any: AnyScalar,\n DateTime: DateTimeScalar,\n DateTimeZ: DateTimeZScalar,\n Date: DateScalar,\n Time: TimeScalar,\n Mutation: {\n _empty: () => \"_empty\"\n }\n }\n });\n};\n"],"mappings":";;;;;;;;;;;AAEA;;AAWA;;AAGO,MAAMA,uBAAuB,GAAIC,OAAD,IAA8C;EACjF,MAAMC,OAAO,GAAGD,OAAO,CAACE,OAAR,CACXC,MADW,CACiB,gBADjB,EAEXC,GAFW,CAEPC,IAAI,IAAIA,IAAI,CAACC,MAFN,CAAhB;EAIA,OAAO,IAAIC,wCAAJ,CAAwB;IAC3BC,QAAQ;IAAE;IAAe;AACjC,cAAcP,OAAO,CAACG,GAAR,CAAYE,MAAM,IAAK,UAASA,MAAM,CAACG,IAAK,EAA5C,EAA+CC,IAA/C,CAAoD,GAApD,CAAyD;AACvE;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,SAnCmC;IAoC3BC,SAAS,8DACFV,OAAO,CAACW,MAAR,CAAe,CAACC,GAAD,EAAMC,CAAN,KAAY;MAC1BD,GAAG,CAACC,CAAC,CAACL,IAAH,CAAH,GAAcK,CAAd;MACA,OAAOD,GAAP;IACH,CAHE,EAGA,EAHA,CADE;MAKLE,IAAI,EAAEC,wBALD;MAMLC,IAAI,EAAEC,wBAND;MAOLC,QAAQ,EAARA,sBAPK;MAQLC,MAAM,EAAEC,0BARH;MASLC,GAAG,EAAEC,uBATA;MAULC,QAAQ,EAAEC,4BAVL;MAWLC,SAAS,EAAEC,6BAXN;MAYLC,IAAI,EAAEC,wBAZD;MAaLC,IAAI,EAAEC,wBAbD;MAcLC,QAAQ,EAAE;QACNC,MAAM,EAAE,MAAM;MADR;IAdL;EApCkB,CAAxB,CAAP;AAuDH,CA5DM"}
|
|
@@ -1,44 +1,59 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
|
|
3
3
|
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault").default;
|
|
4
|
+
|
|
4
5
|
Object.defineProperty(exports, "__esModule", {
|
|
5
6
|
value: true
|
|
6
7
|
});
|
|
7
8
|
exports.createContentEntriesSchema = void 0;
|
|
9
|
+
|
|
8
10
|
var _handlerGraphql = require("@webiny/handler-graphql");
|
|
11
|
+
|
|
9
12
|
var _apiSecurity = require("@webiny/api-security");
|
|
13
|
+
|
|
10
14
|
var _GraphQLSchemaPlugin = require("@webiny/handler-graphql/plugins/GraphQLSchemaPlugin");
|
|
15
|
+
|
|
11
16
|
var _getEntryTitle = require("../../utils/getEntryTitle");
|
|
17
|
+
|
|
12
18
|
var _error = _interopRequireDefault(require("@webiny/error"));
|
|
19
|
+
|
|
13
20
|
const getFetchMethod = (type, context) => {
|
|
14
21
|
if (!getContentEntriesMethods[type]) {
|
|
15
22
|
throw new _error.default(`Unknown getContentEntries method "${type}". Could not fetch content entries.`, "UNKNOWN_METHOD_ERROR", {
|
|
16
23
|
type
|
|
17
24
|
});
|
|
18
25
|
}
|
|
26
|
+
|
|
19
27
|
const methodName = getContentEntriesMethods[type];
|
|
28
|
+
|
|
20
29
|
if (!context.cms[methodName]) {
|
|
21
30
|
throw new _error.default(`Unknown context.cms method "${methodName}". Could not fetch content entries.`, "UNKNOWN_METHOD_ERROR", {
|
|
22
31
|
type,
|
|
23
32
|
methodName
|
|
24
33
|
});
|
|
25
34
|
}
|
|
35
|
+
|
|
26
36
|
return context.cms[methodName];
|
|
27
37
|
};
|
|
28
38
|
/**
|
|
29
39
|
* Function to get the list of content entries depending on latest, published or exact GraphQL queries.
|
|
30
40
|
*/
|
|
41
|
+
|
|
42
|
+
|
|
31
43
|
var GetContentEntryMethods;
|
|
44
|
+
|
|
32
45
|
(function (GetContentEntryMethods) {
|
|
33
46
|
GetContentEntryMethods["getLatestEntriesByIds"] = "getLatestEntriesByIds";
|
|
34
47
|
GetContentEntryMethods["getPublishedEntriesByIds"] = "getPublishedEntriesByIds";
|
|
35
48
|
GetContentEntryMethods["getEntriesByIds"] = "getEntriesByIds";
|
|
36
49
|
})(GetContentEntryMethods || (GetContentEntryMethods = {}));
|
|
50
|
+
|
|
37
51
|
const getContentEntriesMethods = {
|
|
38
52
|
latest: "getLatestEntriesByIds",
|
|
39
53
|
published: "getPublishedEntriesByIds",
|
|
40
54
|
exact: "getEntriesByIds"
|
|
41
55
|
};
|
|
56
|
+
|
|
42
57
|
const getContentEntries = async params => {
|
|
43
58
|
const {
|
|
44
59
|
args,
|
|
@@ -58,15 +73,18 @@ const getContentEntries = async params => {
|
|
|
58
73
|
} else if (collection[ref.modelId].includes(ref.id)) {
|
|
59
74
|
return collection;
|
|
60
75
|
}
|
|
76
|
+
|
|
61
77
|
collection[ref.modelId].push(ref.id);
|
|
62
78
|
return collection;
|
|
63
79
|
}, {});
|
|
64
80
|
const getters = Object.keys(entriesByModel).map(async modelId => {
|
|
65
81
|
return method(modelsMap[modelId], entriesByModel[modelId]);
|
|
66
82
|
});
|
|
83
|
+
|
|
67
84
|
if (getters.length === 0) {
|
|
68
85
|
return new _handlerGraphql.Response([]);
|
|
69
86
|
}
|
|
87
|
+
|
|
70
88
|
const results = await Promise.all(getters);
|
|
71
89
|
const entries = results.reduce((collection, items) => {
|
|
72
90
|
return collection.concat(items.map(item => {
|
|
@@ -85,23 +103,25 @@ const getContentEntries = async params => {
|
|
|
85
103
|
}, []).filter(Boolean);
|
|
86
104
|
return new _handlerGraphql.Response(entries);
|
|
87
105
|
};
|
|
88
|
-
|
|
89
106
|
/**
|
|
90
107
|
* Function to fetch a single content entry depending on latest, published or exact GraphQL query.
|
|
91
108
|
*/
|
|
92
109
|
|
|
110
|
+
|
|
93
111
|
const getContentEntry = async params => {
|
|
94
112
|
const {
|
|
95
113
|
args,
|
|
96
114
|
context,
|
|
97
115
|
type
|
|
98
116
|
} = params;
|
|
117
|
+
|
|
99
118
|
if (!getContentEntriesMethods[type]) {
|
|
100
119
|
throw new _error.default(`Unknown getContentEntry method "${type}". Could not fetch content entry.`, "UNKNOWN_METHOD_ERROR", {
|
|
101
120
|
args,
|
|
102
121
|
type
|
|
103
122
|
});
|
|
104
123
|
}
|
|
124
|
+
|
|
105
125
|
const method = getFetchMethod(type, context);
|
|
106
126
|
const {
|
|
107
127
|
modelId,
|
|
@@ -109,6 +129,7 @@ const getContentEntry = async params => {
|
|
|
109
129
|
} = args.entry;
|
|
110
130
|
const models = await context.cms.listModels();
|
|
111
131
|
const model = models.find(m => m.modelId === modelId);
|
|
132
|
+
|
|
112
133
|
if (!model) {
|
|
113
134
|
return new _apiSecurity.NotAuthorizedResponse({
|
|
114
135
|
data: {
|
|
@@ -116,11 +137,14 @@ const getContentEntry = async params => {
|
|
|
116
137
|
}
|
|
117
138
|
});
|
|
118
139
|
}
|
|
140
|
+
|
|
119
141
|
const result = await method(model, [id]);
|
|
120
142
|
const entry = result.shift();
|
|
143
|
+
|
|
121
144
|
if (!entry) {
|
|
122
145
|
return new _handlerGraphql.Response(null);
|
|
123
146
|
}
|
|
147
|
+
|
|
124
148
|
return new _handlerGraphql.Response({
|
|
125
149
|
id: entry.id,
|
|
126
150
|
entryId: entry.entryId,
|
|
@@ -132,6 +156,7 @@ const getContentEntry = async params => {
|
|
|
132
156
|
title: (0, _getEntryTitle.getEntryTitle)(model, entry)
|
|
133
157
|
});
|
|
134
158
|
};
|
|
159
|
+
|
|
135
160
|
const createContentEntriesSchema = context => {
|
|
136
161
|
if (!context.cms.MANAGE) {
|
|
137
162
|
return new _GraphQLSchemaPlugin.GraphQLSchemaPlugin({
|
|
@@ -139,8 +164,11 @@ const createContentEntriesSchema = context => {
|
|
|
139
164
|
resolvers: {}
|
|
140
165
|
});
|
|
141
166
|
}
|
|
167
|
+
|
|
142
168
|
return new _GraphQLSchemaPlugin.GraphQLSchemaPlugin({
|
|
143
|
-
typeDefs:
|
|
169
|
+
typeDefs:
|
|
170
|
+
/* GraphQL */
|
|
171
|
+
`
|
|
144
172
|
type CmsModelMeta {
|
|
145
173
|
modelId: String
|
|
146
174
|
name: String
|
|
@@ -209,13 +237,17 @@ const createContentEntriesSchema = context => {
|
|
|
209
237
|
}) => {
|
|
210
238
|
return parent.model.modelId === modelId;
|
|
211
239
|
});
|
|
240
|
+
|
|
212
241
|
if (!model) {
|
|
213
242
|
return null;
|
|
214
243
|
}
|
|
244
|
+
|
|
215
245
|
const [entry] = await context.cms.getPublishedEntriesByIds(model, [parent.id]);
|
|
246
|
+
|
|
216
247
|
if (!entry) {
|
|
217
248
|
return null;
|
|
218
249
|
}
|
|
250
|
+
|
|
219
251
|
return {
|
|
220
252
|
id: entry.id,
|
|
221
253
|
entryId: entry.entryId,
|
|
@@ -262,6 +294,7 @@ const createContentEntriesSchema = context => {
|
|
|
262
294
|
const entries = await Promise.all(getters).then(results => results.reduce((result, item) => result.concat(item), []));
|
|
263
295
|
return new _handlerGraphql.Response(entries.sort((a, b) => Date.parse(b.savedOn) - Date.parse(a.savedOn)).slice(0, limit));
|
|
264
296
|
},
|
|
297
|
+
|
|
265
298
|
async getContentEntry(_, args, context) {
|
|
266
299
|
return getContentEntry({
|
|
267
300
|
args,
|
|
@@ -269,6 +302,7 @@ const createContentEntriesSchema = context => {
|
|
|
269
302
|
type: "exact"
|
|
270
303
|
});
|
|
271
304
|
},
|
|
305
|
+
|
|
272
306
|
async getLatestContentEntry(_, args, context) {
|
|
273
307
|
return getContentEntry({
|
|
274
308
|
args,
|
|
@@ -276,6 +310,7 @@ const createContentEntriesSchema = context => {
|
|
|
276
310
|
type: "latest"
|
|
277
311
|
});
|
|
278
312
|
},
|
|
313
|
+
|
|
279
314
|
async getPublishedContentEntry(_, args, context) {
|
|
280
315
|
return getContentEntry({
|
|
281
316
|
args,
|
|
@@ -283,6 +318,7 @@ const createContentEntriesSchema = context => {
|
|
|
283
318
|
type: "published"
|
|
284
319
|
});
|
|
285
320
|
},
|
|
321
|
+
|
|
286
322
|
async getContentEntries(_, args, context) {
|
|
287
323
|
return getContentEntries({
|
|
288
324
|
args,
|
|
@@ -290,6 +326,7 @@ const createContentEntriesSchema = context => {
|
|
|
290
326
|
type: "exact"
|
|
291
327
|
});
|
|
292
328
|
},
|
|
329
|
+
|
|
293
330
|
async getLatestContentEntries(_, args, context) {
|
|
294
331
|
return getContentEntries({
|
|
295
332
|
args,
|
|
@@ -297,6 +334,7 @@ const createContentEntriesSchema = context => {
|
|
|
297
334
|
type: "latest"
|
|
298
335
|
});
|
|
299
336
|
},
|
|
337
|
+
|
|
300
338
|
async getPublishedContentEntries(_, args, context) {
|
|
301
339
|
return getContentEntries({
|
|
302
340
|
args,
|
|
@@ -304,8 +342,10 @@ const createContentEntriesSchema = context => {
|
|
|
304
342
|
type: "published"
|
|
305
343
|
});
|
|
306
344
|
}
|
|
345
|
+
|
|
307
346
|
}
|
|
308
347
|
}
|
|
309
348
|
});
|
|
310
349
|
};
|
|
350
|
+
|
|
311
351
|
exports.createContentEntriesSchema = createContentEntriesSchema;
|