@webiny/api-headless-cms 5.24.0 → 5.25.0-beta.2
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/content/contextSetup.js.map +1 -0
- package/content/graphQLHandlerFactory.js +4 -0
- package/content/graphQLHandlerFactory.js.map +1 -0
- package/content/parameterPlugins.js.map +1 -0
- package/content/plugins/CmsGroupPlugin.js.map +1 -0
- package/content/plugins/CmsModelPlugin.js.map +1 -0
- package/content/plugins/CmsParametersPlugin.d.ts +1 -1
- package/content/plugins/CmsParametersPlugin.js.map +1 -0
- package/content/plugins/buildSchemaPlugins.js.map +1 -0
- package/content/plugins/crud/contentEntry/afterDelete.js +2 -1
- package/content/plugins/crud/contentEntry/afterDelete.js.map +1 -0
- package/content/plugins/crud/contentEntry/beforeCreate.js.map +1 -0
- package/content/plugins/crud/contentEntry/beforeUpdate.js.map +1 -0
- package/content/plugins/crud/contentEntry/entryDataValidation.d.ts +2 -2
- package/content/plugins/crud/contentEntry/entryDataValidation.js +2 -3
- package/content/plugins/crud/contentEntry/entryDataValidation.js.map +1 -0
- package/content/plugins/crud/contentEntry/markLockedFields.js +1 -1
- package/content/plugins/crud/contentEntry/markLockedFields.js.map +1 -0
- package/content/plugins/crud/contentEntry/referenceFieldsMapping.js +7 -3
- package/content/plugins/crud/contentEntry/referenceFieldsMapping.js.map +1 -0
- package/content/plugins/crud/contentEntry.crud.d.ts +2 -2
- package/content/plugins/crud/contentEntry.crud.js +24 -13
- package/content/plugins/crud/contentEntry.crud.js.map +1 -0
- package/content/plugins/crud/contentModel/afterCreate.js.map +1 -0
- package/content/plugins/crud/contentModel/afterDelete.js.map +1 -0
- package/content/plugins/crud/contentModel/afterUpdate.js.map +1 -0
- package/content/plugins/crud/contentModel/beforeCreate.d.ts +2 -2
- package/content/plugins/crud/contentModel/beforeCreate.js +1 -1
- package/content/plugins/crud/contentModel/beforeCreate.js.map +1 -0
- package/content/plugins/crud/contentModel/beforeDelete.js.map +1 -0
- package/content/plugins/crud/contentModel/beforeUpdate.js +12 -4
- package/content/plugins/crud/contentModel/beforeUpdate.js.map +1 -0
- package/content/plugins/crud/contentModel/contentModelManagerFactory.js.map +1 -0
- package/content/plugins/crud/contentModel/createFieldModels.js.map +1 -0
- package/content/plugins/crud/contentModel/idValidation.js.map +1 -0
- package/content/plugins/crud/contentModel/models.js.map +1 -0
- package/content/plugins/crud/contentModel/validateLayout.js.map +1 -0
- package/content/plugins/crud/contentModel.crud.d.ts +2 -2
- package/content/plugins/crud/contentModel.crud.js +2 -2
- package/content/plugins/crud/contentModel.crud.js.map +1 -0
- package/content/plugins/crud/contentModelGroup/beforeCreate.js.map +1 -0
- package/content/plugins/crud/contentModelGroup/beforeDelete.js.map +1 -0
- package/content/plugins/crud/contentModelGroup/beforeUpdate.js.map +1 -0
- package/content/plugins/crud/contentModelGroup.crud.d.ts +2 -2
- package/content/plugins/crud/contentModelGroup.crud.js.map +1 -0
- package/content/plugins/crud/index.d.ts +2 -2
- package/content/plugins/crud/index.js.map +1 -0
- package/content/plugins/graphqlFields/boolean.js +2 -6
- package/content/plugins/graphqlFields/boolean.js.map +1 -0
- package/content/plugins/graphqlFields/datetime.js +2 -2
- package/content/plugins/graphqlFields/datetime.js.map +1 -0
- package/content/plugins/graphqlFields/file.js +2 -6
- package/content/plugins/graphqlFields/file.js.map +1 -0
- package/content/plugins/graphqlFields/helpers.d.ts +6 -0
- package/content/plugins/graphqlFields/helpers.js +49 -0
- package/content/plugins/graphqlFields/helpers.js.map +1 -0
- package/content/plugins/graphqlFields/index.js.map +1 -0
- package/content/plugins/graphqlFields/longText.js +2 -6
- package/content/plugins/graphqlFields/longText.js.map +1 -0
- package/content/plugins/graphqlFields/number.js +2 -6
- package/content/plugins/graphqlFields/number.js.map +1 -0
- package/content/plugins/graphqlFields/object.js +11 -5
- package/content/plugins/graphqlFields/object.js.map +1 -0
- package/content/plugins/graphqlFields/ref.js +26 -13
- package/content/plugins/graphqlFields/ref.js.map +1 -0
- package/content/plugins/graphqlFields/richText.js +2 -6
- package/content/plugins/graphqlFields/richText.js.map +1 -0
- package/content/plugins/graphqlFields/text.js +2 -6
- package/content/plugins/graphqlFields/text.js.map +1 -0
- package/content/plugins/internalSecurity/InternalAuthenticationPlugin.js.map +1 -0
- package/content/plugins/internalSecurity/InternalAuthorizationPlugin.js.map +1 -0
- package/content/plugins/modelManager/DefaultCmsModelManager.js.map +1 -0
- package/content/plugins/modelManager/index.js.map +1 -0
- package/content/plugins/schema/baseSchema.js +1 -0
- package/content/plugins/schema/baseSchema.js.map +1 -0
- package/content/plugins/schema/contentEntries.js +12 -5
- package/content/plugins/schema/contentEntries.js.map +1 -0
- package/content/plugins/schema/contentModelGroups.js +1 -2
- package/content/plugins/schema/contentModelGroups.js.map +1 -0
- package/content/plugins/schema/contentModels.js +2 -3
- package/content/plugins/schema/contentModels.js.map +1 -0
- package/content/plugins/schema/createFieldResolvers.js.map +1 -0
- package/content/plugins/schema/createManageResolvers.js.map +1 -0
- package/content/plugins/schema/createManageSDL.js.map +1 -0
- package/content/plugins/schema/createPreviewResolvers.js.map +1 -0
- package/content/plugins/schema/createReadResolvers.js.map +1 -0
- package/content/plugins/schema/createReadSDL.js.map +1 -0
- package/content/plugins/schema/resolvers/commonFieldResolvers.d.ts +1 -1
- package/content/plugins/schema/resolvers/commonFieldResolvers.js.map +1 -0
- package/content/plugins/schema/resolvers/manage/resolveCreate.js.map +1 -0
- package/content/plugins/schema/resolvers/manage/resolveCreateFrom.js.map +1 -0
- package/content/plugins/schema/resolvers/manage/resolveDelete.js.map +1 -0
- package/content/plugins/schema/resolvers/manage/resolveGet.js.map +1 -0
- package/content/plugins/schema/resolvers/manage/resolveGetByIds.js.map +1 -0
- package/content/plugins/schema/resolvers/manage/resolveGetRevisions.js.map +1 -0
- package/content/plugins/schema/resolvers/manage/resolveList.js.map +1 -0
- package/content/plugins/schema/resolvers/manage/resolvePublish.js.map +1 -0
- package/content/plugins/schema/resolvers/manage/resolveRepublish.js.map +1 -0
- package/content/plugins/schema/resolvers/manage/resolveRequestChanges.js.map +1 -0
- package/content/plugins/schema/resolvers/manage/resolveRequestReview.js.map +1 -0
- package/content/plugins/schema/resolvers/manage/resolveUnpublish.js.map +1 -0
- package/content/plugins/schema/resolvers/manage/resolveUpdate.js.map +1 -0
- package/content/plugins/schema/resolvers/preview/resolveGet.js.map +1 -0
- package/content/plugins/schema/resolvers/preview/resolveList.js.map +1 -0
- package/content/plugins/schema/resolvers/read/resolveGet.js.map +1 -0
- package/content/plugins/schema/resolvers/read/resolveList.js.map +1 -0
- package/content/plugins/schema/schemaPlugins.js.map +1 -0
- package/content/plugins/storage/StorageTransformPlugin.js.map +1 -0
- package/content/plugins/storage/default.js.map +1 -0
- package/content/plugins/storage/object.js +6 -2
- package/content/plugins/storage/object.js.map +1 -0
- package/content/plugins/utils/createTypeName.js.map +1 -0
- package/content/plugins/utils/entryStorage.d.ts +2 -2
- package/content/plugins/utils/entryStorage.js +0 -4
- package/content/plugins/utils/entryStorage.js.map +1 -0
- package/content/plugins/utils/getEntryTitle.js +1 -1
- package/content/plugins/utils/getEntryTitle.js.map +1 -0
- package/content/plugins/utils/getSchemaFromFieldPlugins.js +8 -3
- package/content/plugins/utils/getSchemaFromFieldPlugins.js.map +1 -0
- package/content/plugins/utils/pluralizedTypeName.js.map +1 -0
- package/content/plugins/utils/renderFields.js.map +1 -0
- package/content/plugins/utils/renderGetFilterFields.js +5 -0
- package/content/plugins/utils/renderGetFilterFields.js.map +1 -0
- package/content/plugins/utils/renderInputFields.d.ts +1 -1
- package/content/plugins/utils/renderInputFields.js.map +1 -0
- package/content/plugins/utils/renderListFilterFields.js.map +1 -0
- package/content/plugins/utils/renderSortEnum.js.map +1 -0
- package/content/plugins/validators/dateGte.js +1 -1
- package/content/plugins/validators/dateGte.js.map +1 -0
- package/content/plugins/validators/dateLte.js +1 -1
- package/content/plugins/validators/dateLte.js.map +1 -0
- package/content/plugins/validators/gte.js +3 -1
- package/content/plugins/validators/gte.js.map +1 -0
- package/content/plugins/validators/in.js +3 -1
- package/content/plugins/validators/in.js.map +1 -0
- package/content/plugins/validators/index.js.map +1 -0
- package/content/plugins/validators/lte.js +3 -1
- package/content/plugins/validators/lte.js.map +1 -0
- package/content/plugins/validators/maxLength.js +3 -1
- package/content/plugins/validators/maxLength.js.map +1 -0
- package/content/plugins/validators/minLength.js +3 -1
- package/content/plugins/validators/minLength.js.map +1 -0
- package/content/plugins/validators/pattern.js +2 -2
- package/content/plugins/validators/pattern.js.map +1 -0
- package/content/plugins/validators/patternPlugins/email.js.map +1 -0
- package/content/plugins/validators/patternPlugins/index.js.map +1 -0
- package/content/plugins/validators/patternPlugins/lowerCase.js.map +1 -0
- package/content/plugins/validators/patternPlugins/lowerCaseSpace.js.map +1 -0
- package/content/plugins/validators/patternPlugins/upperCase.js.map +1 -0
- package/content/plugins/validators/patternPlugins/upperCaseSpace.js.map +1 -0
- package/content/plugins/validators/patternPlugins/url.js.map +1 -0
- package/content/plugins/validators/required.js.map +1 -0
- package/content/plugins/validators/timeGte.js +3 -1
- package/content/plugins/validators/timeGte.js.map +1 -0
- package/content/plugins/validators/timeLte.js +3 -1
- package/content/plugins/validators/timeLte.js.map +1 -0
- package/content/plugins/validators/unique.js +1 -0
- package/content/plugins/validators/unique.js.map +1 -0
- package/index.d.ts +3 -3
- package/index.js.map +1 -0
- package/migrateCMSPermissions.js.map +1 -0
- package/package.json +26 -26
- package/plugins/context.js +8 -3
- package/plugins/context.js.map +1 -0
- package/plugins/crud/index.d.ts +2 -2
- package/plugins/crud/index.js.map +1 -0
- package/plugins/crud/settings.crud.d.ts +2 -2
- package/plugins/crud/settings.crud.js.map +1 -0
- package/plugins/crud/system.crud.d.ts +3 -2
- package/plugins/crud/system.crud.js +2 -2
- package/plugins/crud/system.crud.js.map +1 -0
- package/plugins/graphql/system.d.ts +1 -1
- package/plugins/graphql/system.js.map +1 -0
- package/plugins/graphql.js +7 -0
- package/plugins/graphql.js.map +1 -0
- package/plugins/upgrades/index.js.map +1 -0
- package/plugins/upgrades/v5.5.0/helpers.js.map +1 -0
- package/plugins/upgrades/v5.5.0/index.js +1 -0
- package/plugins/upgrades/v5.5.0/index.js.map +1 -0
- package/transformers.js.map +1 -0
- package/types.d.ts +58 -28
- package/types.js +6 -0
- package/types.js.map +1 -0
- package/utils.d.ts +12 -14
- package/utils.js.map +1 -0
- package/content/plugins/graphqlFields/requiredField.d.ts +0 -2
- package/content/plugins/graphqlFields/requiredField.js +0 -24
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["contentModelGroup.crud.ts"],"names":["CreateContentModelGroupModel","name","validation","create","slug","description","icon","UpdateContentModelGroupModel","createModelGroupsCrud","params","getTenant","getIdentity","getLocale","storageOperations","context","getGroupsAsPlugins","tenant","id","locale","code","plugins","byType","CmsGroupPlugin","type","filter","plugin","t","l","contentModelGroup","map","webinyVersion","WEBINY_VERSION","checkPermissions","check","utils","rwd","groupsGet","groupPlugin","find","group","groups","get","ex","WebinyError","message","data","NotFoundError","groupsList","where","pluginsGroups","databaseGroups","list","concat","onBeforeCreate","onAfterCreate","onBeforeUpdate","onAfterUpdate","onBeforeDelete","onAfterDelete","onBeforeGroupCreate","onAfterGroupCreate","onBeforeGroupUpdate","onAfterGroupUpdate","onBeforeGroupDelete","onAfterGroupDelete","getGroup","permission","checkOwnership","validateGroupAccess","listGroups","response","validateOwnership","createGroup","inputData","createdData","populate","toSlug","validate","input","toJSON","identity","createdOn","Date","toISOString","savedOn","createdBy","displayName","publish","result","updateGroup","original","updatedDataJson","onlyDirty","Object","keys","length","updatedGroup","update","error","deleteGroup","delete"],"mappings":"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","sourcesContent":["/**\n * Package @commodo/fields does not have types.\n */\n// @ts-ignore\nimport { withFields, string } from \"@commodo/fields\";\nimport { validation } from \"@webiny/validation\";\n/**\n * Package mdbid does not have types.\n */\n// @ts-ignore\nimport mdbid from \"mdbid\";\nimport {\n CmsGroupContext,\n CmsGroupListParams,\n CmsGroupPermission,\n CmsGroup,\n CmsContext,\n HeadlessCmsStorageOperations,\n CmsGroupCreateInput,\n BeforeGroupCreateTopicParams,\n AfterGroupCreateTopicParams,\n BeforeGroupUpdateTopicParams,\n AfterGroupUpdateTopicParams,\n BeforeGroupDeleteTopicParams,\n AfterGroupDeleteTopicParams\n} from \"~/types\";\nimport * as utils from \"~/utils\";\nimport { NotFoundError } from \"@webiny/handler-graphql\";\nimport WebinyError from \"@webiny/error\";\nimport { CmsGroupPlugin } from \"~/content/plugins/CmsGroupPlugin\";\nimport { Tenant } from \"@webiny/api-tenancy/types\";\nimport { I18NLocale } from \"@webiny/api-i18n/types\";\nimport { SecurityIdentity } from \"@webiny/api-security/types\";\nimport { createTopic } from \"@webiny/pubsub\";\nimport { assignBeforeGroupUpdate } from \"~/content/plugins/crud/contentModelGroup/beforeUpdate\";\nimport { assignBeforeGroupCreate } from \"~/content/plugins/crud/contentModelGroup/beforeCreate\";\nimport { assignBeforeGroupDelete } from \"~/content/plugins/crud/contentModelGroup/beforeDelete\";\n\nconst CreateContentModelGroupModel = withFields({\n name: string({ validation: validation.create(\"required,maxLength:100\") }),\n slug: string({ validation: validation.create(\"maxLength:100\") }),\n description: string({ validation: validation.create(\"maxLength:255\") }),\n icon: string({ validation: validation.create(\"required,maxLength:255\") })\n})();\n\nconst UpdateContentModelGroupModel = withFields({\n name: string({ validation: validation.create(\"maxLength:100\") }),\n description: string({ validation: validation.create(\"maxLength:255\") }),\n icon: string({ validation: validation.create(\"maxLength:255\") })\n})();\n\nexport interface CreateModelGroupsCrudParams {\n getTenant: () => Tenant;\n getLocale: () => I18NLocale;\n storageOperations: HeadlessCmsStorageOperations;\n context: CmsContext;\n getIdentity: () => SecurityIdentity;\n}\nexport const createModelGroupsCrud = (params: CreateModelGroupsCrudParams): CmsGroupContext => {\n const { getTenant, getIdentity, getLocale, storageOperations, context } = params;\n\n const getGroupsAsPlugins = (): CmsGroup[] => {\n const tenant = getTenant().id;\n const locale = getLocale().code;\n\n return (\n context.plugins\n .byType<CmsGroupPlugin>(CmsGroupPlugin.type)\n /**\n * We need to filter out groups that are not for this tenant or locale.\n * If it does not have tenant or locale define, it is for every locale and tenant\n */\n .filter(plugin => {\n const { tenant: t, locale: l } = plugin.contentModelGroup;\n if (t && t !== tenant) {\n return false;\n } else if (l && l !== locale) {\n return false;\n }\n return true;\n })\n .map(plugin => {\n return {\n ...plugin.contentModelGroup,\n tenant,\n locale,\n webinyVersion: context.WEBINY_VERSION\n };\n })\n );\n };\n\n const checkPermissions = (check: string): Promise<CmsGroupPermission> => {\n return utils.checkPermissions(context, \"cms.contentModelGroup\", { rwd: check });\n };\n\n const groupsGet = async (id: string) => {\n const groupPlugin = getGroupsAsPlugins().find(group => group.id === id);\n\n if (groupPlugin) {\n return groupPlugin;\n }\n const tenant = getTenant().id;\n const locale = getLocale().code;\n\n let group: CmsGroup | null = null;\n try {\n group = await storageOperations.groups.get({\n tenant,\n locale,\n id\n });\n } catch (ex) {\n throw new WebinyError(ex.message, ex.code || \"GET_ERROR\", {\n ...(ex.data || {}),\n id\n });\n }\n if (!group) {\n throw new NotFoundError(`Cms Group \"${id}\" was not found!`);\n }\n\n return {\n ...group,\n tenant: group.tenant || tenant,\n locale: group.locale || locale\n };\n };\n\n const groupsList = async (params: CmsGroupListParams) => {\n const { where } = params || {};\n const tenant = getTenant().id;\n const locale = getLocale().code;\n try {\n const pluginsGroups = getGroupsAsPlugins();\n\n const databaseGroups = await storageOperations.groups.list({\n where: {\n ...(where || {}),\n tenant: where ? where.tenant : tenant,\n locale: where ? where.locale : locale\n }\n });\n\n return pluginsGroups.concat(\n databaseGroups.map(group => {\n return {\n ...group,\n tenant: group.tenant || tenant,\n locale: group.locale || locale\n };\n })\n );\n } catch (ex) {\n throw new WebinyError(ex.message, ex.code || \"LIST_ERROR\", {\n ...(ex.data || {}),\n where\n });\n }\n };\n\n const onBeforeCreate = createTopic<BeforeGroupCreateTopicParams>();\n const onAfterCreate = createTopic<AfterGroupCreateTopicParams>();\n const onBeforeUpdate = createTopic<BeforeGroupUpdateTopicParams>();\n const onAfterUpdate = createTopic<AfterGroupUpdateTopicParams>();\n const onBeforeDelete = createTopic<BeforeGroupDeleteTopicParams>();\n const onAfterDelete = createTopic<AfterGroupDeleteTopicParams>();\n\n /**\n * We need to assign some default behaviors.\n */\n assignBeforeGroupCreate({\n onBeforeCreate,\n plugins: context.plugins,\n storageOperations\n });\n assignBeforeGroupUpdate({\n onBeforeUpdate,\n plugins: context.plugins\n });\n assignBeforeGroupDelete({\n onBeforeDelete,\n plugins: context.plugins,\n storageOperations\n });\n\n return {\n onBeforeGroupCreate: onBeforeCreate,\n onAfterGroupCreate: onAfterCreate,\n onBeforeGroupUpdate: onBeforeUpdate,\n onAfterGroupUpdate: onAfterUpdate,\n onBeforeGroupDelete: onBeforeDelete,\n onAfterGroupDelete: onAfterDelete,\n getGroup: async id => {\n const permission = await checkPermissions(\"r\");\n\n const group = await groupsGet(id);\n utils.checkOwnership(context, permission, group);\n utils.validateGroupAccess(context, permission, group);\n\n return group;\n },\n listGroups: async params => {\n const { where } = params || {};\n\n const { tenant, locale } = where || {};\n const permission = await checkPermissions(\"r\");\n\n const response = await groupsList({\n ...(params || {}),\n where: {\n ...(where || {}),\n tenant: tenant || getTenant().id,\n locale: locale || getLocale().code\n }\n });\n\n return response.filter(group => {\n if (!utils.validateOwnership(context, permission, group)) {\n return false;\n }\n return utils.validateGroupAccess(context, permission, group);\n });\n },\n createGroup: async inputData => {\n await checkPermissions(\"w\");\n\n const createdData = new CreateContentModelGroupModel().populate({\n ...inputData,\n slug: inputData.slug ? utils.toSlug(inputData.slug) : \"\"\n });\n await createdData.validate();\n const input: CmsGroupCreateInput & { slug: string } = await createdData.toJSON();\n\n const identity = getIdentity();\n\n const id = mdbid();\n const group: CmsGroup = {\n ...input,\n id,\n tenant: getTenant().id,\n locale: getLocale().code,\n createdOn: new Date().toISOString(),\n savedOn: new Date().toISOString(),\n createdBy: {\n id: identity.id,\n displayName: identity.displayName,\n type: identity.type\n },\n webinyVersion: context.WEBINY_VERSION\n };\n try {\n await onBeforeCreate.publish({\n group\n });\n\n const result = await storageOperations.groups.create({\n input,\n group\n });\n\n await onAfterCreate.publish({\n group: result\n });\n\n return group;\n } catch (ex) {\n throw new WebinyError(\n ex.message || \"Could not save data model group.\",\n ex.code || \"ERROR_ON_CREATE\",\n {\n ...(ex.data || {}),\n group,\n input\n }\n );\n }\n },\n updateGroup: async (id, inputData) => {\n const permission = await checkPermissions(\"w\");\n\n const original = await groupsGet(id);\n\n utils.checkOwnership(context, permission, original);\n\n const input = new UpdateContentModelGroupModel().populate(inputData);\n await input.validate();\n\n const updatedDataJson: Partial<CmsGroup> = await input.toJSON({\n onlyDirty: true\n });\n\n /**\n * No need to continue if no values were changed\n */\n if (Object.keys(updatedDataJson).length === 0) {\n return original;\n }\n\n const group: CmsGroup = {\n ...original,\n ...updatedDataJson,\n locale: getLocale().code,\n tenant: getTenant().id,\n savedOn: new Date().toISOString()\n };\n\n try {\n await onBeforeUpdate.publish({\n original,\n group\n });\n\n const updatedGroup = await storageOperations.groups.update({\n original,\n group,\n input\n });\n\n await onAfterUpdate.publish({\n original,\n group: updatedGroup\n });\n\n return updatedGroup;\n } catch (ex) {\n throw new WebinyError(ex.message, ex.code || \"UPDATE_ERROR\", {\n error: ex,\n original,\n group,\n input\n });\n }\n },\n deleteGroup: async id => {\n const permission = await checkPermissions(\"d\");\n\n const group = await groupsGet(id);\n\n utils.checkOwnership(context, permission, group);\n\n try {\n await onBeforeDelete.publish({\n group\n });\n\n await storageOperations.groups.delete({ group });\n\n await onAfterDelete.publish({\n group\n });\n } catch (ex) {\n throw new WebinyError(ex.message, ex.code || \"DELETE_ERROR\", {\n ...(ex.data || {}),\n id\n });\n }\n\n return true;\n }\n };\n};\n"]}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { ContextPlugin } from "@webiny/handler";
|
|
2
2
|
import { CmsContext, HeadlessCmsStorageOperations } from "../../../types";
|
|
3
|
-
export interface
|
|
3
|
+
export interface CreateContentCrudsParams {
|
|
4
4
|
storageOperations: HeadlessCmsStorageOperations;
|
|
5
5
|
}
|
|
6
|
-
export declare const createContentCruds: (params:
|
|
6
|
+
export declare const createContentCruds: (params: CreateContentCrudsParams) => ContextPlugin<CmsContext>;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["index.ts"],"names":["debug","process","env","DEBUG","createContentCruds","params","storageOperations","ContextPlugin","context","cms","console","log","getLocale","getIdentity","security","getTenant","tenancy","getCurrentTenant","plugins","length","register","init"],"mappings":";;;;;;;;;;;AAAA;;AAEA;;AACA;;AACA;;AACA;;AACA;;;;;;AAEA,MAAMA,KAAK,GAAGC,OAAO,CAACC,GAAR,CAAYC,KAAZ,KAAsB,MAApC;;AAMO,MAAMC,kBAAkB,GAAIC,MAAD,IAAsC;AACpE,QAAM;AAAEC,IAAAA;AAAF,MAAwBD,MAA9B;AACA,SAAO,IAAIE,sBAAJ,CAA8B,MAAMC,OAAN,IAAiB;AAClD;AACR;AACA;AACA;AACQ,QAAI,CAACA,OAAO,CAACC,GAAb,EAAkB;AACdT,MAAAA,KAAK,IACDU,OAAO,CAACC,GAAR,CACK,mGADL,CADJ;AAIA;AACH;;AACD,UAAMC,SAAS,GAAG,MAAM;AACpB,aAAOJ,OAAO,CAACC,GAAR,CAAYG,SAAZ,EAAP;AACH,KAFD;;AAIA,UAAMC,WAAW,GAAG,MAAM;AACtB,aAAOL,OAAO,CAACM,QAAR,CAAiBD,WAAjB,EAAP;AACH,KAFD;;AAIA,UAAME,SAAS,GAAG,MAAM;AACpB,aAAOP,OAAO,CAACQ,OAAR,CAAgBC,gBAAhB,EAAP;AACH,KAFD;;AAIA,QAAIX,iBAAiB,CAACY,OAAlB,IAA6BZ,iBAAiB,CAACY,OAAlB,CAA0BC,MAA1B,GAAmC,CAApE,EAAuE;AACnEX,MAAAA,OAAO,CAACU,OAAR,CAAgBE,QAAhB,CAAyBd,iBAAiB,CAACY,OAA3C;AACH;;AAEDV,IAAAA,OAAO,CAACC,GAAR,2FACOD,OAAO,CAACC,GADf;AAEIH,MAAAA;AAFJ,OAGO,8BAAiB;AAChBE,MAAAA,OADgB;AAEhBO,MAAAA,SAFgB;AAGhBF,MAAAA,WAHgB;AAIhBP,MAAAA;AAJgB,KAAjB,CAHP,GASO,kCAAmB;AAClBE,MAAAA,OADkB;AAElBO,MAAAA,SAFkB;AAGlBH,MAAAA,SAHkB;AAIlBN,MAAAA;AAJkB,KAAnB,CATP,GAeO,8CAAsB;AACrBE,MAAAA,OADqB;AAErBO,MAAAA,SAFqB;AAGrBH,MAAAA,SAHqB;AAIrBC,MAAAA,WAJqB;AAKrBP,MAAAA;AALqB,KAAtB,CAfP,GAsBO,oCAAiB;AAChBE,MAAAA,OADgB;AAEhBI,MAAAA,SAFgB;AAGhBG,MAAAA,SAHgB;AAIhBF,MAAAA,WAJgB;AAKhBP,MAAAA;AALgB,KAAjB,CAtBP,GA6BO,0CAAuB;AACtBE,MAAAA,OADsB;AAEtBK,MAAAA,WAFsB;AAGtBP,MAAAA;AAHsB,KAAvB,CA7BP;;AAoCA,QAAI,CAACA,iBAAiB,CAACe,IAAvB,EAA6B;AACzB;AACH;;AACD,UAAMf,iBAAiB,CAACe,IAAlB,CAAuBb,OAAO,CAACC,GAA/B,CAAN;AACH,GApEM,CAAP;AAqEH,CAvEM","sourcesContent":["import { ContextPlugin } from \"@webiny/handler\";\nimport { CmsContext, HeadlessCmsStorageOperations } from \"~/types\";\nimport { createModelGroupsCrud } from \"~/content/plugins/crud/contentModelGroup.crud\";\nimport { createModelsCrud } from \"~/content/plugins/crud/contentModel.crud\";\nimport { createContentEntryCrud } from \"~/content/plugins/crud/contentEntry.crud\";\nimport { createSystemCrud } from \"~/plugins/crud/system.crud\";\nimport { createSettingsCrud } from \"~/plugins/crud/settings.crud\";\n\nconst debug = process.env.DEBUG === \"true\";\n\nexport interface CreateContentCrudsParams {\n storageOperations: HeadlessCmsStorageOperations;\n}\n\nexport const createContentCruds = (params: CreateContentCrudsParams) => {\n const { storageOperations } = params;\n return new ContextPlugin<CmsContext>(async context => {\n /**\n * This should never happen in the actual project.\n * It is to make sure that we load setup context before the CRUD init in our internal code.\n */\n if (!context.cms) {\n debug &&\n console.log(\n `Missing initial \"cms\" on the context. Make sure that you set it up before creating Content CRUDs.`\n );\n return;\n }\n const getLocale = () => {\n return context.cms.getLocale();\n };\n\n const getIdentity = () => {\n return context.security.getIdentity();\n };\n\n const getTenant = () => {\n return context.tenancy.getCurrentTenant();\n };\n\n if (storageOperations.plugins && storageOperations.plugins.length > 0) {\n context.plugins.register(storageOperations.plugins);\n }\n\n context.cms = {\n ...context.cms,\n storageOperations,\n ...createSystemCrud({\n context,\n getTenant,\n getIdentity,\n storageOperations\n }),\n ...createSettingsCrud({\n context,\n getTenant,\n getLocale,\n storageOperations\n }),\n ...createModelGroupsCrud({\n context,\n getTenant,\n getLocale,\n getIdentity,\n storageOperations\n }),\n ...createModelsCrud({\n context,\n getLocale,\n getTenant,\n getIdentity,\n storageOperations\n }),\n ...createContentEntryCrud({\n context,\n getIdentity,\n storageOperations\n })\n };\n\n if (!storageOperations.init) {\n return;\n }\n await storageOperations.init(context.cms);\n });\n};\n"]}
|
|
@@ -5,7 +5,7 @@ Object.defineProperty(exports, "__esModule", {
|
|
|
5
5
|
});
|
|
6
6
|
exports.default = void 0;
|
|
7
7
|
|
|
8
|
-
var
|
|
8
|
+
var _helpers = require("./helpers");
|
|
9
9
|
|
|
10
10
|
const createListFilters = ({
|
|
11
11
|
field
|
|
@@ -58,11 +58,7 @@ const plugin = {
|
|
|
58
58
|
createInputField({
|
|
59
59
|
field
|
|
60
60
|
}) {
|
|
61
|
-
|
|
62
|
-
return (0, _requiredField.attachRequiredFieldValue)(field.fieldId + ": [Boolean]", field);
|
|
63
|
-
}
|
|
64
|
-
|
|
65
|
-
return (0, _requiredField.attachRequiredFieldValue)(field.fieldId + ": Boolean", field);
|
|
61
|
+
return (0, _helpers.createGraphQLInputField)(field, "Boolean");
|
|
66
62
|
}
|
|
67
63
|
|
|
68
64
|
}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["boolean.ts"],"names":["createListFilters","field","fieldId","plugin","name","type","fieldType","isSortable","isSearchable","read","createGetFilters","createTypeField","multipleValues","manage","createInputField"],"mappings":";;;;;;;AACA;;AAKA,MAAMA,iBAAiB,GAAG,CAAC;AAAEC,EAAAA;AAAF,CAAD,KAAwC;AAC9D,SAAQ;AACZ,UAAUA,KAAK,CAACC,OAAQ;AACxB,UAAUD,KAAK,CAACC,OAAQ;AACxB,KAHI;AAIH,CALD;;AAOA,MAAMC,MAAoC,GAAG;AACzCC,EAAAA,IAAI,EAAE,oCADmC;AAEzCC,EAAAA,IAAI,EAAE,4BAFmC;AAGzCC,EAAAA,SAAS,EAAE,SAH8B;AAIzCC,EAAAA,UAAU,EAAE,IAJ6B;AAKzCC,EAAAA,YAAY,EAAE,IAL2B;AAMzCC,EAAAA,IAAI,EAAE;AACFT,IAAAA,iBADE;;AAEFU,IAAAA,gBAAgB,CAAC;AAAET,MAAAA;AAAF,KAAD,EAAY;AACxB,aAAQ,GAAEA,KAAK,CAACC,OAAQ,WAAxB;AACH,KAJC;;AAKFS,IAAAA,eAAe,CAAC;AAAEV,MAAAA;AAAF,KAAD,EAAY;AACvB,UAAIA,KAAK,CAACW,cAAV,EAA0B;AACtB,eAAQ,GAAEX,KAAK,CAACC,OAAQ,aAAxB;AACH;;AAED,aAAQ,GAAED,KAAK,CAACC,OAAQ,WAAxB;AACH;;AAXC,GANmC;AAmBzCW,EAAAA,MAAM,EAAE;AACJb,IAAAA,iBADI;;AAEJW,IAAAA,eAAe,CAAC;AAAEV,MAAAA;AAAF,KAAD,EAAY;AACvB,UAAIA,KAAK,CAACW,cAAV,EAA0B;AACtB,eAAOX,KAAK,CAACC,OAAN,GAAgB,aAAvB;AACH;;AAED,aAAOD,KAAK,CAACC,OAAN,GAAgB,WAAvB;AACH,KARG;;AASJY,IAAAA,gBAAgB,CAAC;AAAEb,MAAAA;AAAF,KAAD,EAAY;AACxB,aAAO,sCAAwBA,KAAxB,EAA+B,SAA/B,CAAP;AACH;;AAXG;AAnBiC,CAA7C;eAkCeE,M","sourcesContent":["import { CmsModelField, CmsModelFieldToGraphQLPlugin } from \"~/types\";\nimport { createGraphQLInputField } from \"./helpers\";\n\ninterface CreateListFiltersParams {\n field: CmsModelField;\n}\nconst createListFilters = ({ field }: CreateListFiltersParams) => {\n return `\n ${field.fieldId}: Boolean\n ${field.fieldId}_not: Boolean\n `;\n};\n\nconst plugin: CmsModelFieldToGraphQLPlugin = {\n name: \"cms-model-field-to-graphql-boolean\",\n type: \"cms-model-field-to-graphql\",\n fieldType: \"boolean\",\n isSortable: true,\n isSearchable: true,\n read: {\n createListFilters,\n createGetFilters({ field }) {\n return `${field.fieldId}: Boolean`;\n },\n createTypeField({ field }) {\n if (field.multipleValues) {\n return `${field.fieldId}: [Boolean]`;\n }\n\n return `${field.fieldId}: Boolean`;\n }\n },\n manage: {\n createListFilters,\n createTypeField({ field }) {\n if (field.multipleValues) {\n return field.fieldId + \": [Boolean]\";\n }\n\n return field.fieldId + \": Boolean\";\n },\n createInputField({ field }) {\n return createGraphQLInputField(field, \"Boolean\");\n }\n }\n};\n\nexport default plugin;\n"]}
|
|
@@ -5,7 +5,7 @@ Object.defineProperty(exports, "__esModule", {
|
|
|
5
5
|
});
|
|
6
6
|
exports.default = void 0;
|
|
7
7
|
|
|
8
|
-
var
|
|
8
|
+
var _helpers = require("./helpers");
|
|
9
9
|
|
|
10
10
|
const fieldGraphQLTypes = {
|
|
11
11
|
time: "Time",
|
|
@@ -79,7 +79,7 @@ const plugin = {
|
|
|
79
79
|
createInputField({
|
|
80
80
|
field
|
|
81
81
|
}) {
|
|
82
|
-
return (0,
|
|
82
|
+
return (0, _helpers.createGraphQLInputField)(field, getFieldGraphQLType(field));
|
|
83
83
|
}
|
|
84
84
|
|
|
85
85
|
}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["datetime.ts"],"names":["fieldGraphQLTypes","time","dateTimeWithoutTimezone","dateTimeWithTimezone","date","getFieldGraphQLType","field","type","settings","createListFilters","fieldId","plugin","name","fieldType","isSortable","isSearchable","read","createGetFilters","createTypeField","multipleValues","manage","createInputField"],"mappings":";;;;;;;AACA;;AAEA,MAAMA,iBAAyC,GAAG;AAC9CC,EAAAA,IAAI,EAAE,MADwC;AAE9CC,EAAAA,uBAAuB,EAAE,UAFqB;AAG9CC,EAAAA,oBAAoB,EAAE,WAHwB;AAI9CC,EAAAA,IAAI,EAAE;AAJwC,CAAlD;;AAOA,MAAMC,mBAAmB,GAAIC,KAAD,IAAkC;AAAA;;AAC1D,QAAMC,IAAI,sBAAGD,KAAK,CAACE,QAAT,oDAAG,gBAAgBD,IAA7B;;AACA,MAAI,CAACA,IAAD,IAAS,CAACP,iBAAiB,CAACO,IAAD,CAA/B,EAAuC;AACnC,WAAO,UAAP;AACH;;AACD,SAAOP,iBAAiB,CAACO,IAAD,CAAxB;AACH,CAND;;AAWA,MAAME,iBAAiB,GAAG,CAAC;AAAEH,EAAAA;AAAF,CAAD,KAAwC;AAC9D,SAAQ;AACZ,UAAUA,KAAK,CAACI,OAAQ,KAAIL,mBAAmB,CAACC,KAAD,CAAQ;AACvD,UAAUA,KAAK,CAACI,OAAQ,SAAQL,mBAAmB,CAACC,KAAD,CAAQ;AAC3D,UAAUA,KAAK,CAACI,OAAQ,SAAQL,mBAAmB,CAACC,KAAD,CAAQ;AAC3D,UAAUA,KAAK,CAACI,OAAQ,aAAYL,mBAAmB,CAACC,KAAD,CAAQ;AAC/D,UAAUA,KAAK,CAACI,OAAQ,QAAOL,mBAAmB,CAACC,KAAD,CAAQ;AAC1D,UAAUA,KAAK,CAACI,OAAQ,SAAQL,mBAAmB,CAACC,KAAD,CAAQ;AAC3D,UAAUA,KAAK,CAACI,OAAQ,QAAOL,mBAAmB,CAACC,KAAD,CAAQ;AAC1D,UAAUA,KAAK,CAACI,OAAQ,SAAQL,mBAAmB,CAACC,KAAD,CAAQ;AAC3D,KATI;AAUH,CAXD;;AAaA,MAAMK,MAAoC,GAAG;AACzCC,EAAAA,IAAI,EAAE,qCADmC;AAEzCL,EAAAA,IAAI,EAAE,4BAFmC;AAGzCM,EAAAA,SAAS,EAAE,UAH8B;AAIzCC,EAAAA,UAAU,EAAE,IAJ6B;AAKzCC,EAAAA,YAAY,EAAE,IAL2B;AAMzCC,EAAAA,IAAI,EAAE;AACFP,IAAAA,iBADE;;AAEFQ,IAAAA,gBAAgB,CAAC;AAAEX,MAAAA;AAAF,KAAD,EAAY;AACxB,aAAQ,GAAEA,KAAK,CAACI,OAAQ,KAAIL,mBAAmB,CAACC,KAAD,CAAQ,EAAvD;AACH,KAJC;;AAKFY,IAAAA,eAAe,CAAC;AAAEZ,MAAAA;AAAF,KAAD,EAAY;AACvB,UAAIA,KAAK,CAACa,cAAV,EAA0B;AACtB,eAAQ,GAAEb,KAAK,CAACI,OAAQ,MAAKL,mBAAmB,CAACC,KAAD,CAAQ,GAAxD;AACH;;AAED,aAAQ,GAAEA,KAAK,CAACI,OAAQ,KAAIL,mBAAmB,CAACC,KAAD,CAAQ,EAAvD;AACH;;AAXC,GANmC;AAmBzCc,EAAAA,MAAM,EAAE;AACJX,IAAAA,iBADI;;AAEJS,IAAAA,eAAe,CAAC;AAAEZ,MAAAA;AAAF,KAAD,EAAY;AACvB,aAAQ,GAAEA,KAAK,CAACI,OAAQ,KAAIL,mBAAmB,CAACC,KAAD,CAAQ,EAAvD;AACH,KAJG;;AAKJe,IAAAA,gBAAgB,CAAC;AAAEf,MAAAA;AAAF,KAAD,EAAY;AACxB,aAAO,sCAAwBA,KAAxB,EAA+BD,mBAAmB,CAACC,KAAD,CAAlD,CAAP;AACH;;AAPG;AAnBiC,CAA7C;eA8BeK,M","sourcesContent":["import { CmsModelField, CmsModelFieldToGraphQLPlugin } from \"~/types\";\nimport { createGraphQLInputField } from \"./helpers\";\n\nconst fieldGraphQLTypes: Record<string, string> = {\n time: \"Time\",\n dateTimeWithoutTimezone: \"DateTime\",\n dateTimeWithTimezone: \"DateTimeZ\",\n date: \"Date\"\n};\n\nconst getFieldGraphQLType = (field: CmsModelField): string => {\n const type = field.settings?.type;\n if (!type || !fieldGraphQLTypes[type]) {\n return \"DateTime\";\n }\n return fieldGraphQLTypes[type];\n};\n\ninterface CreateListFiltersParams {\n field: CmsModelField;\n}\nconst createListFilters = ({ field }: CreateListFiltersParams) => {\n return `\n ${field.fieldId}: ${getFieldGraphQLType(field)}\n ${field.fieldId}_not: ${getFieldGraphQLType(field)}\n ${field.fieldId}_in: [${getFieldGraphQLType(field)}]\n ${field.fieldId}_not_in: [${getFieldGraphQLType(field)}]\n ${field.fieldId}_lt: ${getFieldGraphQLType(field)}\n ${field.fieldId}_lte: ${getFieldGraphQLType(field)}\n ${field.fieldId}_gt: ${getFieldGraphQLType(field)}\n ${field.fieldId}_gte: ${getFieldGraphQLType(field)}\n `;\n};\n\nconst plugin: CmsModelFieldToGraphQLPlugin = {\n name: \"cms-model-field-to-graphql-datetime\",\n type: \"cms-model-field-to-graphql\",\n fieldType: \"datetime\",\n isSortable: true,\n isSearchable: true,\n read: {\n createListFilters,\n createGetFilters({ field }) {\n return `${field.fieldId}: ${getFieldGraphQLType(field)}`;\n },\n createTypeField({ field }) {\n if (field.multipleValues) {\n return `${field.fieldId}: [${getFieldGraphQLType(field)}]`;\n }\n\n return `${field.fieldId}: ${getFieldGraphQLType(field)}`;\n }\n },\n manage: {\n createListFilters,\n createTypeField({ field }) {\n return `${field.fieldId}: ${getFieldGraphQLType(field)}`;\n },\n createInputField({ field }) {\n return createGraphQLInputField(field, getFieldGraphQLType(field));\n }\n }\n};\n\nexport default plugin;\n"]}
|
|
@@ -5,7 +5,7 @@ Object.defineProperty(exports, "__esModule", {
|
|
|
5
5
|
});
|
|
6
6
|
exports.default = void 0;
|
|
7
7
|
|
|
8
|
-
var
|
|
8
|
+
var _helpers = require("./helpers");
|
|
9
9
|
|
|
10
10
|
const plugin = {
|
|
11
11
|
name: "cms-model-field-to-graphql-file",
|
|
@@ -39,11 +39,7 @@ const plugin = {
|
|
|
39
39
|
createInputField({
|
|
40
40
|
field
|
|
41
41
|
}) {
|
|
42
|
-
|
|
43
|
-
return (0, _requiredField.attachRequiredFieldValue)(field.fieldId + ": [String]", field);
|
|
44
|
-
}
|
|
45
|
-
|
|
46
|
-
return (0, _requiredField.attachRequiredFieldValue)(field.fieldId + ": String", field);
|
|
42
|
+
return (0, _helpers.createGraphQLInputField)(field, "String");
|
|
47
43
|
}
|
|
48
44
|
|
|
49
45
|
}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["file.ts"],"names":["plugin","name","type","fieldType","isSortable","isSearchable","read","createTypeField","field","multipleValues","fieldId","manage","createInputField"],"mappings":";;;;;;;AACA;;AAEA,MAAMA,MAAoC,GAAG;AACzCC,EAAAA,IAAI,EAAE,iCADmC;AAEzCC,EAAAA,IAAI,EAAE,4BAFmC;AAGzCC,EAAAA,SAAS,EAAE,MAH8B;AAIzCC,EAAAA,UAAU,EAAE,KAJ6B;AAKzCC,EAAAA,YAAY,EAAE,KAL2B;AAMzCC,EAAAA,IAAI,EAAE;AACFC,IAAAA,eAAe,CAAC;AAAEC,MAAAA;AAAF,KAAD,EAAY;AACvB,UAAIA,KAAK,CAACC,cAAV,EAA0B;AACtB,eAAQ,GAAED,KAAK,CAACE,OAAQ,YAAxB;AACH;;AAED,aAAQ,GAAEF,KAAK,CAACE,OAAQ,UAAxB;AACH;;AAPC,GANmC;AAezCC,EAAAA,MAAM,EAAE;AACJJ,IAAAA,eAAe,CAAC;AAAEC,MAAAA;AAAF,KAAD,EAAY;AACvB,UAAIA,KAAK,CAACC,cAAV,EAA0B;AACtB,eAAOD,KAAK,CAACE,OAAN,GAAgB,YAAvB;AACH;;AACD,aAAOF,KAAK,CAACE,OAAN,GAAgB,UAAvB;AACH,KANG;;AAOJE,IAAAA,gBAAgB,CAAC;AAAEJ,MAAAA;AAAF,KAAD,EAAY;AACxB,aAAO,sCAAwBA,KAAxB,EAA+B,QAA/B,CAAP;AACH;;AATG;AAfiC,CAA7C;eA4BeR,M","sourcesContent":["import { CmsModelFieldToGraphQLPlugin } from \"~/types\";\nimport { createGraphQLInputField } from \"./helpers\";\n\nconst plugin: CmsModelFieldToGraphQLPlugin = {\n name: \"cms-model-field-to-graphql-file\",\n type: \"cms-model-field-to-graphql\",\n fieldType: \"file\",\n isSortable: false,\n isSearchable: false,\n read: {\n createTypeField({ field }) {\n if (field.multipleValues) {\n return `${field.fieldId}: [String]`;\n }\n\n return `${field.fieldId}: String`;\n }\n },\n manage: {\n createTypeField({ field }) {\n if (field.multipleValues) {\n return field.fieldId + \": [String]\";\n }\n return field.fieldId + \": String\";\n },\n createInputField({ field }) {\n return createGraphQLInputField(field, \"String\");\n }\n }\n};\n\nexport default plugin;\n"]}
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
import { CmsModelField } from "../../../types";
|
|
2
|
+
export declare const attachRequiredFieldValue: (def: string, field: CmsModelField) => string;
|
|
3
|
+
/**
|
|
4
|
+
* Method creates single and multiple values fields.
|
|
5
|
+
*/
|
|
6
|
+
export declare const createGraphQLInputField: (field: CmsModelField, graphQlType: string) => string;
|
|
@@ -0,0 +1,49 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
Object.defineProperty(exports, "__esModule", {
|
|
4
|
+
value: true
|
|
5
|
+
});
|
|
6
|
+
exports.createGraphQLInputField = exports.attachRequiredFieldValue = void 0;
|
|
7
|
+
const requiredValidationName = "required";
|
|
8
|
+
|
|
9
|
+
const getIsRequired = validations => {
|
|
10
|
+
return (validations || []).some(validation => {
|
|
11
|
+
return validation.name === requiredValidationName;
|
|
12
|
+
});
|
|
13
|
+
};
|
|
14
|
+
|
|
15
|
+
const attachRequiredFieldValue = (def, field) => {
|
|
16
|
+
if (!field.validation || field.validation.length === 0) {
|
|
17
|
+
return def;
|
|
18
|
+
}
|
|
19
|
+
|
|
20
|
+
const isRequired = field.validation.some(validation => {
|
|
21
|
+
return validation.name === "required";
|
|
22
|
+
});
|
|
23
|
+
|
|
24
|
+
if (!isRequired) {
|
|
25
|
+
return def;
|
|
26
|
+
}
|
|
27
|
+
|
|
28
|
+
return `${def}!`;
|
|
29
|
+
};
|
|
30
|
+
/**
|
|
31
|
+
* Method creates single and multiple values fields.
|
|
32
|
+
*/
|
|
33
|
+
|
|
34
|
+
|
|
35
|
+
exports.attachRequiredFieldValue = attachRequiredFieldValue;
|
|
36
|
+
|
|
37
|
+
const createGraphQLInputField = (field, graphQlType) => {
|
|
38
|
+
const singleRequired = getIsRequired(field.validation) ? "!" : "";
|
|
39
|
+
|
|
40
|
+
if (!field.multipleValues) {
|
|
41
|
+
return `${field.fieldId}: ${graphQlType}${singleRequired}`;
|
|
42
|
+
}
|
|
43
|
+
|
|
44
|
+
const multipleRequired = getIsRequired(field.listValidation) ? "!" : "";
|
|
45
|
+
const itemRequired = process.env.HEADLESS_CMS_GRAPHQL_INPUT_REQUIRE_ARRAY_ITEM === "false" ? "" : "!";
|
|
46
|
+
return `${field.fieldId}: [${graphQlType}${itemRequired}]${multipleRequired}`;
|
|
47
|
+
};
|
|
48
|
+
|
|
49
|
+
exports.createGraphQLInputField = createGraphQLInputField;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["helpers.ts"],"names":["requiredValidationName","getIsRequired","validations","some","validation","name","attachRequiredFieldValue","def","field","length","isRequired","createGraphQLInputField","graphQlType","singleRequired","multipleValues","fieldId","multipleRequired","listValidation","itemRequired","process","env","HEADLESS_CMS_GRAPHQL_INPUT_REQUIRE_ARRAY_ITEM"],"mappings":";;;;;;AAEA,MAAMA,sBAAsB,GAAG,UAA/B;;AAEA,MAAMC,aAAa,GAAIC,WAAD,IAAsD;AACxE,SAAO,CAACA,WAAW,IAAI,EAAhB,EAAoBC,IAApB,CAAyBC,UAAU,IAAI;AAC1C,WAAOA,UAAU,CAACC,IAAX,KAAoBL,sBAA3B;AACH,GAFM,CAAP;AAGH,CAJD;;AAMO,MAAMM,wBAAwB,GAAG,CAACC,GAAD,EAAcC,KAAd,KAA+C;AACnF,MAAI,CAACA,KAAK,CAACJ,UAAP,IAAqBI,KAAK,CAACJ,UAAN,CAAiBK,MAAjB,KAA4B,CAArD,EAAwD;AACpD,WAAOF,GAAP;AACH;;AACD,QAAMG,UAAU,GAAGF,KAAK,CAACJ,UAAN,CAAiBD,IAAjB,CAAsBC,UAAU,IAAI;AACnD,WAAOA,UAAU,CAACC,IAAX,KAAoB,UAA3B;AACH,GAFkB,CAAnB;;AAGA,MAAI,CAACK,UAAL,EAAiB;AACb,WAAOH,GAAP;AACH;;AACD,SAAQ,GAAEA,GAAI,GAAd;AACH,CAXM;AAYP;AACA;AACA;;;;;AACO,MAAMI,uBAAuB,GAAG,CAACH,KAAD,EAAuBI,WAAvB,KAAuD;AAC1F,QAAMC,cAAc,GAAGZ,aAAa,CAACO,KAAK,CAACJ,UAAP,CAAb,GAAkC,GAAlC,GAAwC,EAA/D;;AACA,MAAI,CAACI,KAAK,CAACM,cAAX,EAA2B;AACvB,WAAQ,GAAEN,KAAK,CAACO,OAAQ,KAAIH,WAAY,GAAEC,cAAe,EAAzD;AACH;;AACD,QAAMG,gBAAgB,GAAGf,aAAa,CAACO,KAAK,CAACS,cAAP,CAAb,GAAsC,GAAtC,GAA4C,EAArE;AAEA,QAAMC,YAAY,GACdC,OAAO,CAACC,GAAR,CAAYC,6CAAZ,KAA8D,OAA9D,GAAwE,EAAxE,GAA6E,GADjF;AAGA,SAAQ,GAAEb,KAAK,CAACO,OAAQ,MAAKH,WAAY,GAAEM,YAAa,IAAGF,gBAAiB,EAA5E;AACH,CAXM","sourcesContent":["import { CmsModelField, CmsModelFieldValidation } from \"~/types\";\n\nconst requiredValidationName = \"required\";\n\nconst getIsRequired = (validations?: CmsModelFieldValidation[]): boolean => {\n return (validations || []).some(validation => {\n return validation.name === requiredValidationName;\n });\n};\n\nexport const attachRequiredFieldValue = (def: string, field: CmsModelField): string => {\n if (!field.validation || field.validation.length === 0) {\n return def;\n }\n const isRequired = field.validation.some(validation => {\n return validation.name === \"required\";\n });\n if (!isRequired) {\n return def;\n }\n return `${def}!`;\n};\n/**\n * Method creates single and multiple values fields.\n */\nexport const createGraphQLInputField = (field: CmsModelField, graphQlType: string): string => {\n const singleRequired = getIsRequired(field.validation) ? \"!\" : \"\";\n if (!field.multipleValues) {\n return `${field.fieldId}: ${graphQlType}${singleRequired}`;\n }\n const multipleRequired = getIsRequired(field.listValidation) ? \"!\" : \"\";\n\n const itemRequired =\n process.env.HEADLESS_CMS_GRAPHQL_INPUT_REQUIRE_ARRAY_ITEM === \"false\" ? \"\" : \"!\";\n\n return `${field.fieldId}: [${graphQlType}${itemRequired}]${multipleRequired}`;\n};\n"]}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["index.ts"],"names":["text","ref","number","datetime","boolean","longText","richText","file","object"],"mappings":";;;;;;;;;AAAA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;eAEe,MAAM,CAACA,aAAD,EAAOC,YAAP,EAAYC,eAAZ,EAAoBC,iBAApB,EAA8BC,gBAA9B,EAAuCC,iBAAvC,EAAiDC,iBAAjD,EAA2DC,aAA3D,EAAiEC,eAAjE,C","sourcesContent":["import text from \"./text\";\nimport longText from \"./longText\";\nimport ref from \"./ref\";\nimport number from \"./number\";\nimport boolean from \"./boolean\";\nimport datetime from \"./datetime\";\nimport richText from \"./richText\";\nimport file from \"./file\";\nimport object from \"./object\";\n\nexport default () => [text, ref, number, datetime, boolean, longText, richText, file, object];\n"]}
|
|
@@ -5,7 +5,7 @@ Object.defineProperty(exports, "__esModule", {
|
|
|
5
5
|
});
|
|
6
6
|
exports.default = void 0;
|
|
7
7
|
|
|
8
|
-
var
|
|
8
|
+
var _helpers = require("./helpers");
|
|
9
9
|
|
|
10
10
|
const createListFilters = ({
|
|
11
11
|
field
|
|
@@ -51,11 +51,7 @@ const plugin = {
|
|
|
51
51
|
createInputField({
|
|
52
52
|
field
|
|
53
53
|
}) {
|
|
54
|
-
|
|
55
|
-
return (0, _requiredField.attachRequiredFieldValue)(field.fieldId + ": [String]", field);
|
|
56
|
-
}
|
|
57
|
-
|
|
58
|
-
return (0, _requiredField.attachRequiredFieldValue)(field.fieldId + ": String", field);
|
|
54
|
+
return (0, _helpers.createGraphQLInputField)(field, "String");
|
|
59
55
|
}
|
|
60
56
|
|
|
61
57
|
}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["longText.ts"],"names":["createListFilters","field","fieldId","plugin","name","type","fieldType","isSortable","isSearchable","read","createTypeField","multipleValues","manage","createInputField"],"mappings":";;;;;;;AACA;;AAKA,MAAMA,iBAAiB,GAAG,CAAC;AAAEC,EAAAA;AAAF,CAAD,KAAwC;AAC9D,SAAQ;AACZ,UAAUA,KAAK,CAACC,OAAQ;AACxB,UAAUD,KAAK,CAACC,OAAQ;AACxB,KAHI;AAIH,CALD;;AAOA,MAAMC,MAAoC,GAAG;AACzCC,EAAAA,IAAI,EAAE,sCADmC;AAEzCC,EAAAA,IAAI,EAAE,4BAFmC;AAGzCC,EAAAA,SAAS,EAAE,WAH8B;AAIzCC,EAAAA,UAAU,EAAE,KAJ6B;AAKzCC,EAAAA,YAAY,EAAE,IAL2B;AAMzCC,EAAAA,IAAI,EAAE;AACFC,IAAAA,eAAe,CAAC;AAAET,MAAAA;AAAF,KAAD,EAAY;AACvB,UAAIA,KAAK,CAACU,cAAV,EAA0B;AACtB,eAAQ,GAAEV,KAAK,CAACC,OAAQ,YAAxB;AACH;;AAED,aAAQ,GAAED,KAAK,CAACC,OAAQ,UAAxB;AACH,KAPC;;AAQFF,IAAAA;AARE,GANmC;AAgBzCY,EAAAA,MAAM,EAAE;AACJZ,IAAAA,iBADI;;AAEJU,IAAAA,eAAe,CAAC;AAAET,MAAAA;AAAF,KAAD,EAAY;AACvB,UAAIA,KAAK,CAACU,cAAV,EAA0B;AACtB,eAAOV,KAAK,CAACC,OAAN,GAAgB,YAAvB;AACH;;AAED,aAAOD,KAAK,CAACC,OAAN,GAAgB,UAAvB;AACH,KARG;;AASJW,IAAAA,gBAAgB,CAAC;AAAEZ,MAAAA;AAAF,KAAD,EAAY;AACxB,aAAO,sCAAwBA,KAAxB,EAA+B,QAA/B,CAAP;AACH;;AAXG;AAhBiC,CAA7C;eA+BeE,M","sourcesContent":["import { CmsModelField, CmsModelFieldToGraphQLPlugin } from \"~/types\";\nimport { createGraphQLInputField } from \"./helpers\";\n\ninterface CreateListFiltersParams {\n field: CmsModelField;\n}\nconst createListFilters = ({ field }: CreateListFiltersParams) => {\n return `\n ${field.fieldId}_contains: String\n ${field.fieldId}_not_contains: String\n `;\n};\n\nconst plugin: CmsModelFieldToGraphQLPlugin = {\n name: \"cms-model-field-to-graphql-long-text\",\n type: \"cms-model-field-to-graphql\",\n fieldType: \"long-text\",\n isSortable: false,\n isSearchable: true,\n read: {\n createTypeField({ field }) {\n if (field.multipleValues) {\n return `${field.fieldId}: [String]`;\n }\n\n return `${field.fieldId}: String`;\n },\n createListFilters\n },\n manage: {\n createListFilters,\n createTypeField({ field }) {\n if (field.multipleValues) {\n return field.fieldId + \": [String]\";\n }\n\n return field.fieldId + \": String\";\n },\n createInputField({ field }) {\n return createGraphQLInputField(field, \"String\");\n }\n }\n};\n\nexport default plugin;\n"]}
|
|
@@ -5,7 +5,7 @@ Object.defineProperty(exports, "__esModule", {
|
|
|
5
5
|
});
|
|
6
6
|
exports.default = void 0;
|
|
7
7
|
|
|
8
|
-
var
|
|
8
|
+
var _helpers = require("./helpers");
|
|
9
9
|
|
|
10
10
|
const createListFilters = ({
|
|
11
11
|
field
|
|
@@ -64,11 +64,7 @@ const plugin = {
|
|
|
64
64
|
createInputField({
|
|
65
65
|
field
|
|
66
66
|
}) {
|
|
67
|
-
|
|
68
|
-
return (0, _requiredField.attachRequiredFieldValue)(field.fieldId + ": [Number]", field);
|
|
69
|
-
}
|
|
70
|
-
|
|
71
|
-
return (0, _requiredField.attachRequiredFieldValue)(field.fieldId + ": Number", field);
|
|
67
|
+
return (0, _helpers.createGraphQLInputField)(field, "Number");
|
|
72
68
|
}
|
|
73
69
|
|
|
74
70
|
}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["number.ts"],"names":["createListFilters","field","fieldId","plugin","name","type","fieldType","isSortable","isSearchable","read","createGetFilters","createTypeField","multipleValues","manage","createInputField"],"mappings":";;;;;;;AACA;;AAKA,MAAMA,iBAAiB,GAAG,CAAC;AAAEC,EAAAA;AAAF,CAAD,KAAwC;AAC9D,SAAQ;AACZ,UAAUA,KAAK,CAACC,OAAQ;AACxB,UAAUD,KAAK,CAACC,OAAQ;AACxB,UAAUD,KAAK,CAACC,OAAQ;AACxB,UAAUD,KAAK,CAACC,OAAQ;AACxB,UAAUD,KAAK,CAACC,OAAQ;AACxB,UAAUD,KAAK,CAACC,OAAQ;AACxB,UAAUD,KAAK,CAACC,OAAQ;AACxB,UAAUD,KAAK,CAACC,OAAQ;AACxB,KATI;AAUH,CAXD;;AAaA,MAAMC,MAAoC,GAAG;AACzCC,EAAAA,IAAI,EAAE,mCADmC;AAEzCC,EAAAA,IAAI,EAAE,4BAFmC;AAGzCC,EAAAA,SAAS,EAAE,QAH8B;AAIzCC,EAAAA,UAAU,EAAE,IAJ6B;AAKzCC,EAAAA,YAAY,EAAE,IAL2B;AAMzCC,EAAAA,IAAI,EAAE;AACFC,IAAAA,gBAAgB,CAAC;AAAET,MAAAA;AAAF,KAAD,EAAY;AACxB,aAAQ,GAAEA,KAAK,CAACC,OAAQ,UAAxB;AACH,KAHC;;AAIFF,IAAAA,iBAJE;;AAKFW,IAAAA,eAAe,CAAC;AAAEV,MAAAA;AAAF,KAAD,EAAY;AACvB,UAAIA,KAAK,CAACW,cAAV,EAA0B;AACtB,eAAQ,GAAEX,KAAK,CAACC,OAAQ,YAAxB;AACH;;AAED,aAAQ,GAAED,KAAK,CAACC,OAAQ,UAAxB;AACH;;AAXC,GANmC;AAmBzCW,EAAAA,MAAM,EAAE;AACJb,IAAAA,iBADI;;AAEJW,IAAAA,eAAe,CAAC;AAAEV,MAAAA;AAAF,KAAD,EAAY;AACvB,UAAIA,KAAK,CAACW,cAAV,EAA0B;AACtB,eAAOX,KAAK,CAACC,OAAN,GAAgB,YAAvB;AACH;;AAED,aAAOD,KAAK,CAACC,OAAN,GAAgB,UAAvB;AACH,KARG;;AASJY,IAAAA,gBAAgB,CAAC;AAAEb,MAAAA;AAAF,KAAD,EAAY;AACxB,aAAO,sCAAwBA,KAAxB,EAA+B,QAA/B,CAAP;AACH;;AAXG;AAnBiC,CAA7C;eAkCeE,M","sourcesContent":["import { CmsModelField, CmsModelFieldToGraphQLPlugin } from \"~/types\";\nimport { createGraphQLInputField } from \"./helpers\";\n\ninterface CreateListFiltersParams {\n field: CmsModelField;\n}\nconst createListFilters = ({ field }: CreateListFiltersParams) => {\n return `\n ${field.fieldId}: Number\n ${field.fieldId}_not: Number\n ${field.fieldId}_in: [Number]\n ${field.fieldId}_not_in: [Number]\n ${field.fieldId}_lt: Number\n ${field.fieldId}_lte: Number\n ${field.fieldId}_gt: Number\n ${field.fieldId}_gte: Number\n `;\n};\n\nconst plugin: CmsModelFieldToGraphQLPlugin = {\n name: \"cms-model-field-to-graphql-number\",\n type: \"cms-model-field-to-graphql\",\n fieldType: \"number\",\n isSortable: true,\n isSearchable: true,\n read: {\n createGetFilters({ field }) {\n return `${field.fieldId}: Number`;\n },\n createListFilters,\n createTypeField({ field }) {\n if (field.multipleValues) {\n return `${field.fieldId}: [Number]`;\n }\n\n return `${field.fieldId}: Number`;\n }\n },\n manage: {\n createListFilters,\n createTypeField({ field }) {\n if (field.multipleValues) {\n return field.fieldId + \": [Number]\";\n }\n\n return field.fieldId + \": Number\";\n },\n createInputField({ field }) {\n return createGraphQLInputField(field, \"Number\");\n }\n }\n};\n\nexport default plugin;\n"]}
|
|
@@ -15,9 +15,11 @@ var _renderInputFields = require("../utils/renderInputFields");
|
|
|
15
15
|
|
|
16
16
|
var _createTypeName = require("../utils/createTypeName");
|
|
17
17
|
|
|
18
|
-
var
|
|
18
|
+
var _helpers = require("./helpers");
|
|
19
19
|
|
|
20
20
|
const typeFromField = params => {
|
|
21
|
+
var _field$settings;
|
|
22
|
+
|
|
21
23
|
const {
|
|
22
24
|
typeOfType,
|
|
23
25
|
model,
|
|
@@ -29,7 +31,7 @@ const typeFromField = params => {
|
|
|
29
31
|
const typeName = (0, _createTypeName.createTypeName)(model.modelId);
|
|
30
32
|
const mTypeName = (0, _createTypeName.createManageTypeName)(typeName); // `field` is an "object" field
|
|
31
33
|
|
|
32
|
-
const fields = field.settings.fields || [];
|
|
34
|
+
const fields = ((_field$settings = field.settings) === null || _field$settings === void 0 ? void 0 : _field$settings.fields) || [];
|
|
33
35
|
const fieldTypeName = `${mTypeName}_${(0, _upperFirst.default)(field.fieldId)}`;
|
|
34
36
|
const typeFields = [];
|
|
35
37
|
const nestedTypes = []; // Once the loop below starts, we'll be executing a recursive "object" type generation.
|
|
@@ -120,7 +122,9 @@ const plugin = {
|
|
|
120
122
|
createFieldResolvers,
|
|
121
123
|
graphQLType
|
|
122
124
|
}) {
|
|
123
|
-
|
|
125
|
+
var _field$settings2;
|
|
126
|
+
|
|
127
|
+
if (!((_field$settings2 = field.settings) !== null && _field$settings2 !== void 0 && _field$settings2.fields) || field.settings.fields.length === 0) {
|
|
124
128
|
return false;
|
|
125
129
|
}
|
|
126
130
|
|
|
@@ -186,7 +190,7 @@ const plugin = {
|
|
|
186
190
|
typeDefs
|
|
187
191
|
} = result;
|
|
188
192
|
return {
|
|
189
|
-
fields: (0,
|
|
193
|
+
fields: (0, _helpers.attachRequiredFieldValue)(`${field.fieldId}: ${field.multipleValues ? `[${fieldType}!]` : fieldType}`, field),
|
|
190
194
|
typeDefs
|
|
191
195
|
};
|
|
192
196
|
},
|
|
@@ -196,7 +200,9 @@ const plugin = {
|
|
|
196
200
|
field,
|
|
197
201
|
createFieldResolvers
|
|
198
202
|
}) {
|
|
199
|
-
|
|
203
|
+
var _field$settings3;
|
|
204
|
+
|
|
205
|
+
if (!((_field$settings3 = field.settings) !== null && _field$settings3 !== void 0 && _field$settings3.fields) || field.settings.fields.length === 0) {
|
|
200
206
|
return false;
|
|
201
207
|
}
|
|
202
208
|
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["object.ts"],"names":["typeFromField","params","typeOfType","model","type","field","fieldTypePlugins","typeSuffix","typeName","modelId","mTypeName","fields","settings","fieldTypeName","fieldId","typeFields","nestedTypes","replace","RegExp","f","result","typeDefs","push","fieldType","join","plugin","name","isSortable","isSearchable","read","createTypeField","multipleValues","createResolver","createFieldResolvers","graphQLType","length","typeResolvers","resolver","manage","createInputField"],"mappings":"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","sourcesContent":["import upperFirst from \"lodash/upperFirst\";\nimport {\n ApiEndpoint,\n CmsFieldTypePlugins,\n CmsModel,\n CmsModelField,\n CmsModelFieldToGraphQLPlugin\n} from \"~/types\";\nimport { renderField } from \"~/content/plugins/utils/renderFields\";\nimport { renderInputField } from \"~/content/plugins/utils/renderInputFields\";\nimport { createManageTypeName, createTypeName } from \"~/content/plugins/utils/createTypeName\";\nimport { attachRequiredFieldValue } from \"./helpers\";\n\ninterface TypeFromFieldParams {\n typeOfType: string;\n model: CmsModel;\n type: ApiEndpoint;\n field: CmsModelField;\n fieldTypePlugins: CmsFieldTypePlugins;\n}\ninterface TypeFromFieldResponse {\n fieldType: string;\n typeDefs: string;\n}\nconst typeFromField = (params: TypeFromFieldParams): TypeFromFieldResponse | null => {\n const { typeOfType, model, type, field, fieldTypePlugins } = params;\n const typeSuffix = typeOfType === \"input\" ? \"Input\" : \"\";\n const typeName = createTypeName(model.modelId);\n const mTypeName = createManageTypeName(typeName);\n\n // `field` is an \"object\" field\n const fields: CmsModelField[] = field.settings?.fields || [];\n\n const fieldTypeName = `${mTypeName}_${upperFirst(field.fieldId)}`;\n\n const typeFields = [];\n const nestedTypes = [];\n\n // Once the loop below starts, we'll be executing a recursive \"object\" type generation.\n // The main trick here is that nested objects don't know who the parent is, and will generate\n // type names using the \"model\", as if they're at the top level:\n // Every time the types are returned, we need to replace the model name in the generated type name\n // with the actual prefix which includes parent field name type.\n const replace = new RegExp(`${mTypeName}_`, \"g\");\n\n for (const f of fields) {\n const result =\n typeOfType === \"type\"\n ? renderField({ field: f, type, model, fieldTypePlugins })\n : renderInputField({ field: f, model, fieldTypePlugins });\n\n if (!result) {\n continue;\n }\n\n const { fields, typeDefs } = result;\n\n typeFields.push(fields.replace(replace, `${fieldTypeName}_`));\n if (typeDefs) {\n nestedTypes.push(typeDefs.replace(replace, `${fieldTypeName}_`));\n }\n }\n\n return {\n fieldType: `${fieldTypeName}${typeSuffix}`,\n typeDefs: /* GraphQL */ `\n ${nestedTypes.join(\"\\n\")}\n \n ${typeOfType} ${fieldTypeName}${typeSuffix} {\n ${typeFields.join(\"\\n\")}\n }\n `\n };\n};\n\nconst plugin: CmsModelFieldToGraphQLPlugin = {\n name: \"cms-model-field-to-graphql-object\",\n type: \"cms-model-field-to-graphql\",\n fieldType: \"object\",\n isSortable: false,\n isSearchable: false,\n read: {\n createTypeField({ field, model, fieldTypePlugins }) {\n const result = typeFromField({\n typeOfType: \"type\",\n model,\n type: \"read\",\n field,\n fieldTypePlugins\n });\n\n if (!result) {\n return null;\n }\n const { fieldType, typeDefs } = result;\n\n return {\n fields: `${field.fieldId}: ${field.multipleValues ? `[${fieldType}!]` : fieldType}`,\n typeDefs\n };\n },\n createResolver({ field, createFieldResolvers, graphQLType }) {\n if (!field.settings?.fields || field.settings.fields.length === 0) {\n return false;\n }\n\n const fieldType = `${graphQLType}_${upperFirst(field.fieldId)}`;\n\n const typeResolvers = createFieldResolvers({\n graphQLType: fieldType,\n fields: field.settings.fields\n });\n return {\n resolver: null,\n typeResolvers: typeResolvers || {}\n };\n }\n },\n manage: {\n createTypeField({ model, field, fieldTypePlugins }) {\n const result = typeFromField({\n typeOfType: \"type\",\n model,\n type: \"manage\",\n field,\n fieldTypePlugins\n });\n\n if (!result) {\n return null;\n }\n const { fieldType, typeDefs } = result;\n\n return {\n fields: `${field.fieldId}: ${field.multipleValues ? `[${fieldType}!]` : fieldType}`,\n typeDefs\n };\n },\n createInputField({ model, field, fieldTypePlugins }) {\n const result = typeFromField({\n typeOfType: \"input\",\n model,\n type: \"manage\",\n field,\n fieldTypePlugins\n });\n if (!result) {\n return null;\n }\n const { fieldType, typeDefs } = result;\n\n return {\n fields: attachRequiredFieldValue(\n `${field.fieldId}: ${field.multipleValues ? `[${fieldType}!]` : fieldType}`,\n field\n ),\n typeDefs\n };\n },\n createResolver({ graphQLType, field, createFieldResolvers }) {\n if (!field.settings?.fields || field.settings.fields.length === 0) {\n return false;\n }\n const fieldType = `${graphQLType}_${upperFirst(field.fieldId)}`;\n const typeResolvers = createFieldResolvers({\n graphQLType: fieldType,\n fields: field.settings.fields\n });\n return {\n resolver: null,\n typeResolvers: typeResolvers || {}\n };\n }\n }\n};\n\nexport default plugin;\n"]}
|
|
@@ -13,7 +13,7 @@ var _createTypeName = require("../utils/createTypeName");
|
|
|
13
13
|
|
|
14
14
|
var _utils = require("@webiny/utils");
|
|
15
15
|
|
|
16
|
-
var
|
|
16
|
+
var _helpers = require("./helpers");
|
|
17
17
|
|
|
18
18
|
function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }
|
|
19
19
|
|
|
@@ -79,15 +79,28 @@ const plugin = {
|
|
|
79
79
|
model,
|
|
80
80
|
field
|
|
81
81
|
}) {
|
|
82
|
-
|
|
82
|
+
var _field$settings;
|
|
83
|
+
|
|
84
|
+
const models = ((_field$settings = field.settings) === null || _field$settings === void 0 ? void 0 : _field$settings.models) || [];
|
|
85
|
+
const gqlType = models.length > 1 ? createUnionTypeName(model, field) : (0, _createTypeName.createReadTypeName)(models[0].modelId);
|
|
83
86
|
return field.fieldId + `: ${field.multipleValues ? `[${gqlType}]` : gqlType}`;
|
|
84
87
|
},
|
|
85
88
|
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
|
|
89
|
+
/**
|
|
90
|
+
* TS is complaining about mixed types for createResolver.
|
|
91
|
+
* TODO @ts-refactor @pavel Maybe we should have a single createResolver method?
|
|
92
|
+
*/
|
|
93
|
+
// @ts-ignore
|
|
94
|
+
createResolver(params) {
|
|
95
|
+
var _field$settings2;
|
|
96
|
+
|
|
97
|
+
const {
|
|
98
|
+
field
|
|
99
|
+
} = params; // Create a map of model types and corresponding modelIds so resolvers don't need to perform the lookup.
|
|
100
|
+
|
|
101
|
+
const models = ((_field$settings2 = field.settings) === null || _field$settings2 === void 0 ? void 0 : _field$settings2.models) || [];
|
|
102
|
+
|
|
103
|
+
for (const item of models) {
|
|
91
104
|
modelIdToTypeName.set(item.modelId, (0, _createTypeName.createReadTypeName)(item.modelId));
|
|
92
105
|
}
|
|
93
106
|
|
|
@@ -174,7 +187,11 @@ const plugin = {
|
|
|
174
187
|
|
|
175
188
|
for (const model of models) {
|
|
176
189
|
// Generate a dedicated union type for every `ref` field which has more than 1 content model assigned.
|
|
177
|
-
model.fields.filter(field =>
|
|
190
|
+
model.fields.filter(field => {
|
|
191
|
+
var _field$settings3;
|
|
192
|
+
|
|
193
|
+
return field.type === "ref" && (((_field$settings3 = field.settings) === null || _field$settings3 === void 0 ? void 0 : _field$settings3.models) || []).length > 1;
|
|
194
|
+
}).forEach(field => unionFields.push({
|
|
178
195
|
model,
|
|
179
196
|
field,
|
|
180
197
|
typeName: createUnionTypeName(model, field)
|
|
@@ -249,11 +266,7 @@ const plugin = {
|
|
|
249
266
|
createInputField({
|
|
250
267
|
field
|
|
251
268
|
}) {
|
|
252
|
-
|
|
253
|
-
return (0, _requiredField.attachRequiredFieldValue)(field.fieldId + ": [RefFieldInput!]", field);
|
|
254
|
-
}
|
|
255
|
-
|
|
256
|
-
return (0, _requiredField.attachRequiredFieldValue)(field.fieldId + ": RefFieldInput", field);
|
|
269
|
+
return (0, _helpers.createGraphQLInputField)(field, "RefFieldInput");
|
|
257
270
|
},
|
|
258
271
|
|
|
259
272
|
createListFilters
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["ref.ts"],"names":["createUnionTypeName","model","field","modelId","fieldId","createListFilters","createFilteringTypeDef","appendTypename","entries","typename","map","item","__typename","getFieldModels","settings","Array","isArray","models","modelIdToTypeName","Map","plugin","name","type","fieldType","isSortable","isSearchable","read","createTypeField","gqlType","length","multipleValues","createResolver","params","set","parent","_","context","cms","initialValue","value","entriesByModel","reduce","collection","ref","includes","entryId","push","getters","Object","keys","idList","getModelManager","READ","getPublishedByIds","getLatestByIds","get","Promise","all","then","results","result","concat","revisions","createSchema","unionFields","fields","filter","forEach","typeName","unionFieldsTypeDef","join","filteringTypeDef","typeDefs","resolvers","manage","RefField","id","createInputField"],"mappings":"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","sourcesContent":["import {\n CmsEntry,\n CmsContext,\n CmsModelFieldToGraphQLPlugin,\n CmsModel,\n CmsModelField\n} from \"~/types\";\nimport { createReadTypeName } from \"~/content/plugins/utils/createTypeName\";\nimport { parseIdentifier } from \"@webiny/utils\";\nimport { createGraphQLInputField } from \"./helpers\";\n\ninterface RefFieldValue {\n id?: string;\n entryId: string;\n modelId: string;\n}\n\ninterface UnionField {\n model: CmsModel;\n field: CmsModelField;\n typeName: string;\n}\n\nconst createUnionTypeName = (model: CmsModel, field: CmsModelField) => {\n return `${createReadTypeName(model.modelId)}${createReadTypeName(field.fieldId)}`;\n};\n\ninterface CreateListFilterParams {\n field: CmsModelField;\n}\nconst createListFilters = ({ field }: CreateListFilterParams) => {\n return `\n ${field.fieldId}: RefFieldWhereInput\n `;\n};\n\nconst createFilteringTypeDef = () => {\n return `\n input RefFieldWhereInput {\n id: String\n id_not: String\n id_in: [String!]\n id_not_in: [String]\n entryId: String\n entryId_not: String\n entryId_in: [String!]\n entryId_not_in: [String!]\n }\n `;\n};\n\nconst appendTypename = (entries: CmsEntry[], typename: string): CmsEntry[] => {\n return entries.map(item => {\n return {\n ...item,\n __typename: typename\n };\n });\n};\n/**\n * We cast settings.models as object to have modelId because internally we know that it is so.\n * Internal stuff so we are sure that settings.models contains what we require.\n */\nconst getFieldModels = (field: CmsModelField): Pick<CmsModel, \"modelId\">[] => {\n if (!field.settings || Array.isArray(field.settings.models) === false) {\n return [];\n }\n return field.settings.models as Pick<CmsModel, \"modelId\">[];\n};\n\nconst modelIdToTypeName = new Map();\n\nconst plugin: CmsModelFieldToGraphQLPlugin = {\n name: \"cms-model-field-to-graphql-ref\",\n type: \"cms-model-field-to-graphql\",\n fieldType: \"ref\",\n isSortable: false,\n isSearchable: true,\n read: {\n createTypeField({ model, field }) {\n const models = field.settings?.models || [];\n const gqlType =\n models.length > 1\n ? createUnionTypeName(model, field)\n : createReadTypeName(models[0].modelId);\n\n return field.fieldId + `: ${field.multipleValues ? `[${gqlType}]` : gqlType}`;\n },\n /**\n * TS is complaining about mixed types for createResolver.\n * TODO @ts-refactor @pavel Maybe we should have a single createResolver method?\n */\n // @ts-ignore\n createResolver(params) {\n const { field } = params;\n // Create a map of model types and corresponding modelIds so resolvers don't need to perform the lookup.\n const models = field.settings?.models || [];\n for (const item of models) {\n modelIdToTypeName.set(item.modelId, createReadTypeName(item.modelId));\n }\n\n return async (parent, _, context: CmsContext) => {\n const { cms } = context;\n\n // Get field value for this entry\n const initialValue = parent[field.fieldId] as RefFieldValue | RefFieldValue[];\n\n if (!initialValue) {\n return null;\n }\n\n if (field.multipleValues) {\n /**\n * We cast because value really can be array and single value.\n * At this point, we are 99% sure that it is an array (+ we check for it)\n */\n const value = initialValue as RefFieldValue[];\n if (Array.isArray(value) === false || value.length === 0) {\n return [];\n }\n\n const entriesByModel = value.reduce((collection, ref) => {\n if (!collection[ref.modelId]) {\n collection[ref.modelId] = [];\n } else if (collection[ref.modelId].includes(ref.entryId) === true) {\n return collection;\n }\n\n collection[ref.modelId].push(ref.entryId);\n\n return collection;\n }, {} as Record<string, string[]>);\n\n const getters = Object.keys(entriesByModel).map(async modelId => {\n const idList = entriesByModel[modelId];\n // Get model manager, to get access to CRUD methods\n const model = await cms.getModelManager(modelId);\n\n let entries: CmsEntry[];\n // `read` API works with `published` data\n if (cms.READ) {\n entries = await model.getPublishedByIds(idList);\n }\n // `preview` and `manage` with `latest` data\n else {\n entries = await model.getLatestByIds(idList);\n }\n\n return appendTypename(entries, modelIdToTypeName.get(modelId));\n });\n\n return await Promise.all(getters).then((results: any[]) =>\n results.reduce((result, item) => result.concat(item), [])\n );\n }\n\n const value = initialValue as RefFieldValue;\n\n // Get model manager, to get access to CRUD methods\n const model = await cms.getModelManager(value.modelId);\n\n let revisions: CmsEntry[];\n // `read` API works with `published` data\n if (cms.READ) {\n revisions = await model.getPublishedByIds([value.entryId]);\n }\n // `preview` API works with `latest` data\n else {\n revisions = await model.getLatestByIds([value.entryId]);\n }\n\n /**\n * If there are no revisions we must return null.\n */\n if (!revisions || revisions.length === 0) {\n return null;\n }\n return {\n ...revisions[0],\n __typename: modelIdToTypeName.get(value.modelId)\n };\n };\n },\n createSchema({ models }) {\n const unionFields: UnionField[] = [];\n for (const model of models) {\n // Generate a dedicated union type for every `ref` field which has more than 1 content model assigned.\n model.fields\n .filter(\n field => field.type === \"ref\" && (field.settings?.models || []).length > 1\n )\n .forEach(field =>\n unionFields.push({\n model,\n field,\n typeName: createUnionTypeName(model, field)\n })\n );\n }\n const unionFieldsTypeDef = unionFields\n .map(\n ({ field, typeName }) =>\n `union ${typeName} = ${getFieldModels(field)\n .map(({ modelId }) => createReadTypeName(modelId))\n .join(\" | \")}`\n )\n .join(\"\\n\");\n\n const filteringTypeDef = `\n ${createFilteringTypeDef()}\n \n ${unionFieldsTypeDef}\n `;\n\n return {\n typeDefs: filteringTypeDef,\n resolvers: {}\n };\n },\n createListFilters\n },\n manage: {\n createSchema() {\n /**\n * entryId in RefFieldInput is deprecated but cannot mark it as GraphQL does not allow marking input fields as deprecated\n */\n return {\n typeDefs: `\n type RefField {\n modelId: String!\n entryId: ID!\n id: ID!\n }\n \n input RefFieldInput {\n modelId: String!\n id: ID!\n }\n \n ${createFilteringTypeDef()}\n `,\n resolvers: {\n RefField: {\n entryId: (parent: RefFieldValue) => {\n const { id } = parseIdentifier(parent.entryId || parent.id);\n return id;\n },\n id: (parent: RefFieldValue) => {\n return parent.id || parent.entryId;\n }\n }\n }\n };\n },\n createTypeField({ field }) {\n if (field.multipleValues) {\n return `${field.fieldId}: [RefField!]`;\n }\n return `${field.fieldId}: RefField`;\n },\n createInputField({ field }) {\n return createGraphQLInputField(field, \"RefFieldInput\");\n },\n createListFilters\n }\n};\n\nexport default plugin;\n"]}
|
|
@@ -5,7 +5,7 @@ Object.defineProperty(exports, "__esModule", {
|
|
|
5
5
|
});
|
|
6
6
|
exports.default = void 0;
|
|
7
7
|
|
|
8
|
-
var
|
|
8
|
+
var _helpers = require("./helpers");
|
|
9
9
|
|
|
10
10
|
const plugin = {
|
|
11
11
|
name: "cms-model-field-to-graphql-rich-text",
|
|
@@ -45,11 +45,7 @@ const plugin = {
|
|
|
45
45
|
createInputField({
|
|
46
46
|
field
|
|
47
47
|
}) {
|
|
48
|
-
|
|
49
|
-
return (0, _requiredField.attachRequiredFieldValue)(field.fieldId + ": [JSON]", field);
|
|
50
|
-
}
|
|
51
|
-
|
|
52
|
-
return (0, _requiredField.attachRequiredFieldValue)(field.fieldId + ": JSON", field);
|
|
48
|
+
return (0, _helpers.createGraphQLInputField)(field, "JSON");
|
|
53
49
|
}
|
|
54
50
|
|
|
55
51
|
}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["richText.ts"],"names":["plugin","name","type","fieldType","isSortable","isSearchable","read","createTypeField","field","multipleValues","fieldId","createGetFilters","manage","createInputField"],"mappings":";;;;;;;AACA;;AAEA,MAAMA,MAAoC,GAAG;AACzCC,EAAAA,IAAI,EAAE,sCADmC;AAEzCC,EAAAA,IAAI,EAAE,4BAFmC;AAGzCC,EAAAA,SAAS,EAAE,WAH8B;AAIzCC,EAAAA,UAAU,EAAE,KAJ6B;AAKzCC,EAAAA,YAAY,EAAE,KAL2B;AAMzCC,EAAAA,IAAI,EAAE;AACFC,IAAAA,eAAe,CAAC;AAAEC,MAAAA;AAAF,KAAD,EAAY;AACvB,UAAIA,KAAK,CAACC,cAAV,EAA0B;AACtB,eAAQ,GAAED,KAAK,CAACE,OAAQ,UAAxB;AACH;;AAED,aAAQ,GAAEF,KAAK,CAACE,OAAQ,QAAxB;AACH,KAPC;;AAQFC,IAAAA,gBAAgB,CAAC;AAAEH,MAAAA;AAAF,KAAD,EAAY;AACxB,aAAQ,GAAEA,KAAK,CAACE,OAAQ,QAAxB;AACH;;AAVC,GANmC;AAkBzCE,EAAAA,MAAM,EAAE;AACJL,IAAAA,eAAe,CAAC;AAAEC,MAAAA;AAAF,KAAD,EAAY;AACvB,UAAIA,KAAK,CAACC,cAAV,EAA0B;AACtB,eAAQ,GAAED,KAAK,CAACE,OAAQ,UAAxB;AACH;;AACD,aAAQ,GAAEF,KAAK,CAACE,OAAQ,QAAxB;AACH,KANG;;AAOJG,IAAAA,gBAAgB,CAAC;AAAEL,MAAAA;AAAF,KAAD,EAAY;AACxB,aAAO,sCAAwBA,KAAxB,EAA+B,MAA/B,CAAP;AACH;;AATG;AAlBiC,CAA7C;eA+BeR,M","sourcesContent":["import { CmsModelFieldToGraphQLPlugin } from \"~/types\";\nimport { createGraphQLInputField } from \"./helpers\";\n\nconst plugin: CmsModelFieldToGraphQLPlugin = {\n name: \"cms-model-field-to-graphql-rich-text\",\n type: \"cms-model-field-to-graphql\",\n fieldType: \"rich-text\",\n isSortable: false,\n isSearchable: false,\n read: {\n createTypeField({ field }) {\n if (field.multipleValues) {\n return `${field.fieldId}: [JSON]`;\n }\n\n return `${field.fieldId}: JSON`;\n },\n createGetFilters({ field }) {\n return `${field.fieldId}: JSON`;\n }\n },\n manage: {\n createTypeField({ field }) {\n if (field.multipleValues) {\n return `${field.fieldId}: [JSON]`;\n }\n return `${field.fieldId}: JSON`;\n },\n createInputField({ field }) {\n return createGraphQLInputField(field, \"JSON\");\n }\n }\n};\n\nexport default plugin;\n"]}
|
|
@@ -5,7 +5,7 @@ Object.defineProperty(exports, "__esModule", {
|
|
|
5
5
|
});
|
|
6
6
|
exports.default = void 0;
|
|
7
7
|
|
|
8
|
-
var
|
|
8
|
+
var _helpers = require("./helpers");
|
|
9
9
|
|
|
10
10
|
const createListFilters = ({
|
|
11
11
|
field
|
|
@@ -61,11 +61,7 @@ const plugin = {
|
|
|
61
61
|
createInputField({
|
|
62
62
|
field
|
|
63
63
|
}) {
|
|
64
|
-
|
|
65
|
-
return (0, _requiredField.attachRequiredFieldValue)(field.fieldId + ": [String]", field);
|
|
66
|
-
}
|
|
67
|
-
|
|
68
|
-
return (0, _requiredField.attachRequiredFieldValue)(field.fieldId + ": String", field);
|
|
64
|
+
return (0, _helpers.createGraphQLInputField)(field, "String");
|
|
69
65
|
}
|
|
70
66
|
|
|
71
67
|
}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["text.ts"],"names":["createListFilters","field","fieldId","plugin","name","type","fieldType","isSortable","isSearchable","read","createTypeField","multipleValues","createGetFilters","manage","createInputField"],"mappings":";;;;;;;AACA;;AAKA,MAAMA,iBAAiB,GAAG,CAAC;AAAEC,EAAAA;AAAF,CAAD,KAAwC;AAC9D,SAAQ;AACZ,UAAUA,KAAK,CAACC,OAAQ;AACxB,UAAUD,KAAK,CAACC,OAAQ;AACxB,UAAUD,KAAK,CAACC,OAAQ;AACxB,UAAUD,KAAK,CAACC,OAAQ;AACxB,UAAUD,KAAK,CAACC,OAAQ;AACxB,UAAUD,KAAK,CAACC,OAAQ;AACxB,KAPI;AAQH,CATD;;AAWA,MAAMC,MAAoC,GAAG;AACzCC,EAAAA,IAAI,EAAE,iCADmC;AAEzCC,EAAAA,IAAI,EAAE,4BAFmC;AAGzCC,EAAAA,SAAS,EAAE,MAH8B;AAIzCC,EAAAA,UAAU,EAAE,IAJ6B;AAKzCC,EAAAA,YAAY,EAAE,IAL2B;AAMzCC,EAAAA,IAAI,EAAE;AACFC,IAAAA,eAAe,CAAC;AAAET,MAAAA;AAAF,KAAD,EAAY;AACvB,UAAIA,KAAK,CAACU,cAAV,EAA0B;AACtB,eAAQ,GAAEV,KAAK,CAACC,OAAQ,YAAxB;AACH;;AACD,aAAQ,GAAED,KAAK,CAACC,OAAQ,UAAxB;AACH,KANC;;AAOFU,IAAAA,gBAAgB,CAAC;AAAEX,MAAAA;AAAF,KAAD,EAAY;AACxB,aAAQ,GAAEA,KAAK,CAACC,OAAQ,UAAxB;AACH,KATC;;AAUFF,IAAAA;AAVE,GANmC;AAkBzCa,EAAAA,MAAM,EAAE;AACJb,IAAAA,iBADI;;AAEJU,IAAAA,eAAe,CAAC;AAAET,MAAAA;AAAF,KAAD,EAAY;AACvB,UAAIA,KAAK,CAACU,cAAV,EAA0B;AACtB,eAAQ,GAAEV,KAAK,CAACC,OAAQ,YAAxB;AACH;;AACD,aAAQ,GAAED,KAAK,CAACC,OAAQ,UAAxB;AACH,KAPG;;AAQJY,IAAAA,gBAAgB,CAAC;AAAEb,MAAAA;AAAF,KAAD,EAAY;AACxB,aAAO,sCAAwBA,KAAxB,EAA+B,QAA/B,CAAP;AACH;;AAVG;AAlBiC,CAA7C;eAgCeE,M","sourcesContent":["import { CmsModelField, CmsModelFieldToGraphQLPlugin } from \"~/types\";\nimport { createGraphQLInputField } from \"./helpers\";\n\ninterface CreateListFiltersParams {\n field: CmsModelField;\n}\nconst createListFilters = ({ field }: CreateListFiltersParams) => {\n return `\n ${field.fieldId}: String\n ${field.fieldId}_not: String\n ${field.fieldId}_in: [String]\n ${field.fieldId}_not_in: [String]\n ${field.fieldId}_contains: String\n ${field.fieldId}_not_contains: String\n `;\n};\n\nconst plugin: CmsModelFieldToGraphQLPlugin = {\n name: \"cms-model-field-to-graphql-text\",\n type: \"cms-model-field-to-graphql\",\n fieldType: \"text\",\n isSortable: true,\n isSearchable: true,\n read: {\n createTypeField({ field }) {\n if (field.multipleValues) {\n return `${field.fieldId}: [String]`;\n }\n return `${field.fieldId}: String`;\n },\n createGetFilters({ field }) {\n return `${field.fieldId}: String`;\n },\n createListFilters\n },\n manage: {\n createListFilters,\n createTypeField({ field }) {\n if (field.multipleValues) {\n return `${field.fieldId}: [String]`;\n }\n return `${field.fieldId}: String`;\n },\n createInputField({ field }) {\n return createGraphQLInputField(field, \"String\");\n }\n }\n};\n\nexport default plugin;\n"]}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["InternalAuthenticationPlugin.ts"],"names":["InternalAuthenticationPlugin","AuthenticationPlugin","constructor","identityType","_identityType","authenticate","context","headers","http","request","header","apiKey","split","pop","cms","getReadAPIKey","id","displayName","type","permissions","name"],"mappings":";;;;;;;;;;;AAEA;;AAFA;AACA;AAKO,MAAMA,4BAAN,SAA2CC,0CAA3C,CAAgE;AAG5DC,EAAAA,WAAW,CAACC,YAAD,EAAuB;AACrC;AADqC;AAGrC,SAAKC,aAAL,GAAqBD,YAArB;AACH;;AAEwB,QAAZE,YAAY,CAACC,OAAD,EAA6D;AAClF,UAAM;AAAEC,MAAAA;AAAF,QAAcD,OAAO,CAACE,IAAR,CAAaC,OAAjC;AACA,UAAMC,MAAM,GAAGH,OAAO,CAAC,eAAD,CAAP,IAA4BA,OAAO,CAAC,eAAD,CAAlD;AACA,UAAMI,MAAM,GAAGD,MAAM,GAAGA,MAAM,CAACE,KAAP,CAAa,GAAb,EAAkBC,GAAlB,EAAH,GAA6B,IAAlD;;AACA,QAAI,CAACF,MAAD,IAAWA,MAAM,MAAM,MAAML,OAAO,CAACQ,GAAR,CAAYC,aAAZ,EAAZ,CAArB,EAA+D;AAC3D;AACH;AAED;AACR;AACA;AACA;;;AACQ,WAAO;AACHC,MAAAA,EAAE,EAAE,cADD;AAEHC,MAAAA,WAAW,EAAE,cAFV;AAGHC,MAAAA,IAAI,EAAE,KAAKd,aAHR;AAIHe,MAAAA,WAAW,EAAE,CACT;AAAEC,QAAAA,IAAI,EAAE;AAAR,OADS,EAET;AAAEA,QAAAA,IAAI,EAAE;AAAR,OAFS,EAGT;AAAEA,QAAAA,IAAI,EAAE;AAAR,OAHS;AAJV,KAAP;AAUH;;AA/BkE","sourcesContent":["// TODO @ts-refactor @pavel\n// @ts-nocheck\nimport { AuthenticationPlugin } from \"@webiny/api-security/plugins/AuthenticationPlugin\";\nimport { SecurityIdentity } from \"@webiny/api-security/types\";\nimport { CmsContext } from \"~/types\";\n\nexport class InternalAuthenticationPlugin extends AuthenticationPlugin {\n private readonly _identityType: string;\n\n public constructor(identityType: string) {\n super();\n\n this._identityType = identityType;\n }\n\n public async authenticate(context: CmsContext): Promise<undefined | SecurityIdentity> {\n const { headers } = context.http.request;\n const header = headers[\"Authorization\"] || headers[\"authorization\"];\n const apiKey = header ? header.split(\" \").pop() : null;\n if (!apiKey || apiKey !== (await context.cms.getReadAPIKey())) {\n return;\n }\n\n /**\n * This is an internal identity, which has access to `read` endpoint, all content models,\n * content entries, and all content locales.\n */\n return {\n id: \"read-api-key\",\n displayName: \"Read API key\",\n type: this._identityType,\n permissions: [\n { name: \"cms.endpoint.read\" },\n { name: \"cms.content*\" },\n { name: \"content.i18n\" }\n ]\n };\n }\n}\n"]}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["InternalAuthorizationPlugin.ts"],"names":["InternalAuthorizationPlugin","AuthorizationPlugin","constructor","identityType","_identityType","getPermissions","context","identity","security","getIdentity","type","permissions"],"mappings":";;;;;;;;;;;AAEA;;AAFA;AACA;AAIO,MAAMA,2BAAN,SAA0CC,wCAA1C,CAA8D;AAG1DC,EAAAA,WAAW,CAACC,YAAD,EAAuB;AACrC;AADqC;AAGrC,SAAKC,aAAL,GAAqBD,YAArB;AACH;;AAEME,EAAAA,cAAc,CAACC,OAAD,EAAsB;AACvC,UAAMC,QAAQ,GAAGD,OAAO,CAACE,QAAR,CAAiBC,WAAjB,EAAjB;;AAEA,QAAI,CAACF,QAAD,IAAaA,QAAQ,CAACG,IAAT,KAAkB,KAAKN,aAAxC,EAAuD;AACnD;AACH,KALsC,CAOvC;;;AACA,WAAOG,QAAQ,CAACI,WAAhB;AACH;;AAlBgE","sourcesContent":["// TODO @ts-refactor @pavel\n// @ts-nocheck\nimport { AuthorizationPlugin } from \"@webiny/api-security/plugins/AuthorizationPlugin\";\nimport { CmsContext } from \"~/types\";\n\nexport class InternalAuthorizationPlugin extends AuthorizationPlugin {\n private readonly _identityType: string;\n\n public constructor(identityType: string) {\n super();\n\n this._identityType = identityType;\n }\n\n public getPermissions(context: CmsContext) {\n const identity = context.security.getIdentity();\n\n if (!identity || identity.type !== this._identityType) {\n return;\n }\n\n // Return permissions we defined in the authentication plugin.\n return identity.permissions;\n }\n}\n"]}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["DefaultCmsModelManager.ts"],"names":["DefaultCmsModelManager","constructor","context","model","_context","_model","create","data","cms","createEntry","delete","id","version","deleteEntryRevision","deleteEntry","get","getEntryById","listPublished","params","listPublishedEntries","listLatest","listLatestEntries","getPublishedByIds","ids","getPublishedEntriesByIds","getLatestByIds","getLatestEntriesByIds","update","updateEntry"],"mappings":";;;;;;;;;;;AAQA;;AAEO,MAAMA,sBAAN,CAAwD;AAIpDC,EAAAA,WAAW,CAACC,OAAD,EAAsBC,KAAtB,EAAuC;AAAA;AAAA;AACrD,SAAKC,QAAL,GAAgBF,OAAhB;AACA,SAAKG,MAAL,GAAcF,KAAd;AACH;;AAEkB,QAANG,MAAM,CAACC,IAAD,EAA4B;AAC3C,WAAO,KAAKH,QAAL,CAAcI,GAAd,CAAkBC,WAAlB,CAA8B,KAAKJ,MAAnC,EAA2CE,IAA3C,CAAP;AACH;;AAEkB,QAANG,MAAM,CAACC,EAAD,EAAa;AAC5B,UAAM;AAAEC,MAAAA;AAAF,QAAc,4BAAgBD,EAAhB,CAApB;;AACA,QAAIC,OAAJ,EAAa;AACT,aAAO,KAAKR,QAAL,CAAcI,GAAd,CAAkBK,mBAAlB,CAAsC,KAAKR,MAA3C,EAAmDM,EAAnD,CAAP;AACH;;AAED,WAAO,KAAKP,QAAL,CAAcI,GAAd,CAAkBM,WAAlB,CAA8B,KAAKT,MAAnC,EAA2CM,EAA3C,CAAP;AACH;;AAEe,QAAHI,GAAG,CAACJ,EAAD,EAAa;AACzB,WAAO,KAAKP,QAAL,CAAcI,GAAd,CAAkBQ,YAAlB,CAA+B,KAAKX,MAApC,EAA4CM,EAA5C,CAAP;AACH;;AAEyB,QAAbM,aAAa,CAACC,MAAD,EAA6B;AACnD,WAAO,KAAKd,QAAL,CAAcI,GAAd,CAAkBW,oBAAlB,CAAuC,KAAKd,MAA5C,EAAoDa,MAApD,CAAP;AACH;;AAEsB,QAAVE,UAAU,CAACF,MAAD,EAA6B;AAChD,WAAO,KAAKd,QAAL,CAAcI,GAAd,CAAkBa,iBAAlB,CAAoC,KAAKhB,MAAzC,EAAiDa,MAAjD,CAAP;AACH;;AAE6B,QAAjBI,iBAAiB,CAACC,GAAD,EAAgB;AAC1C,WAAO,KAAKnB,QAAL,CAAcI,GAAd,CAAkBgB,wBAAlB,CAA2C,KAAKnB,MAAhD,EAAwDkB,GAAxD,CAAP;AACH;;AAE0B,QAAdE,cAAc,CAACF,GAAD,EAAgB;AACvC,WAAO,KAAKnB,QAAL,CAAcI,GAAd,CAAkBkB,qBAAlB,CAAwC,KAAKrB,MAA7C,EAAqDkB,GAArD,CAAP;AACH;;AAEkB,QAANI,MAAM,CAAChB,EAAD,EAAaJ,IAAb,EAAwC;AACvD,WAAO,KAAKH,QAAL,CAAcI,GAAd,CAAkBoB,WAAlB,CAA8B,KAAKvB,MAAnC,EAA2CM,EAA3C,EAA+CJ,IAA/C,CAAP;AACH;;AA5C0D","sourcesContent":["import {\n CmsModelManager,\n CmsModel,\n CmsContext,\n CmsEntryListParams,\n CreateCmsEntryInput,\n UpdateCmsEntryInput\n} from \"~/types\";\nimport { parseIdentifier } from \"@webiny/utils\";\n\nexport class DefaultCmsModelManager implements CmsModelManager {\n private readonly _context: CmsContext;\n private readonly _model: CmsModel;\n\n public constructor(context: CmsContext, model: CmsModel) {\n this._context = context;\n this._model = model;\n }\n\n public async create(data: CreateCmsEntryInput) {\n return this._context.cms.createEntry(this._model, data);\n }\n\n public async delete(id: string) {\n const { version } = parseIdentifier(id);\n if (version) {\n return this._context.cms.deleteEntryRevision(this._model, id);\n }\n\n return this._context.cms.deleteEntry(this._model, id);\n }\n\n public async get(id: string) {\n return this._context.cms.getEntryById(this._model, id);\n }\n\n public async listPublished(params: CmsEntryListParams) {\n return this._context.cms.listPublishedEntries(this._model, params);\n }\n\n public async listLatest(params: CmsEntryListParams) {\n return this._context.cms.listLatestEntries(this._model, params);\n }\n\n public async getPublishedByIds(ids: string[]) {\n return this._context.cms.getPublishedEntriesByIds(this._model, ids);\n }\n\n public async getLatestByIds(ids: string[]) {\n return this._context.cms.getLatestEntriesByIds(this._model, ids);\n }\n\n public async update(id: string, data: UpdateCmsEntryInput) {\n return this._context.cms.updateEntry(this._model, id, data);\n }\n}\n"]}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["index.ts"],"names":["plugin","type","name","create","context","model","DefaultCmsModelManager"],"mappings":";;;;;;;AACA;;AAEA,MAAMA,MAA0B,GAAG;AAC/BC,EAAAA,IAAI,EAAE,2BADyB;AAE/BC,EAAAA,IAAI,EAAE,+BAFyB;AAG/BC,EAAAA,MAAM,EAAE,OAAOC,OAAP,EAAgBC,KAAhB,KAA0B;AAC9B,WAAO,IAAIC,8CAAJ,CAA2BF,OAA3B,EAAoCC,KAApC,CAAP;AACH;AAL8B,CAAnC;;eAQe,MAAML,M","sourcesContent":["import { ModelManagerPlugin } from \"~/types\";\nimport { DefaultCmsModelManager } from \"./DefaultCmsModelManager\";\n\nconst plugin: ModelManagerPlugin = {\n type: \"cms-content-model-manager\",\n name: \"content-model-manager-default\",\n create: async (context, model) => {\n return new DefaultCmsModelManager(context, model);\n }\n};\n\nexport default () => plugin;\n"]}
|