@payloadcms/graphql 3.0.0-alpha.9 → 3.0.0-beta.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/index.d.ts +2 -2
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +39 -95
- package/dist/index.js.map +1 -0
- package/dist/resolvers/auth/access.d.ts +1 -1
- package/dist/resolvers/auth/access.d.ts.map +1 -1
- package/dist/resolvers/auth/access.js +8 -23
- package/dist/resolvers/auth/access.js.map +1 -0
- package/dist/resolvers/auth/forgotPassword.d.ts.map +1 -1
- package/dist/resolvers/auth/forgotPassword.js +6 -16
- package/dist/resolvers/auth/forgotPassword.js.map +1 -0
- package/dist/resolvers/auth/init.d.ts +1 -1
- package/dist/resolvers/auth/init.d.ts.map +1 -1
- package/dist/resolvers/auth/init.js +6 -16
- package/dist/resolvers/auth/init.js.map +1 -0
- package/dist/resolvers/auth/login.d.ts +1 -4
- package/dist/resolvers/auth/login.d.ts.map +1 -1
- package/dist/resolvers/auth/login.js +10 -20
- package/dist/resolvers/auth/login.js.map +1 -0
- package/dist/resolvers/auth/logout.d.ts.map +1 -1
- package/dist/resolvers/auth/logout.js +8 -18
- package/dist/resolvers/auth/logout.js.map +1 -0
- package/dist/resolvers/auth/me.d.ts.map +1 -1
- package/dist/resolvers/auth/me.js +6 -16
- package/dist/resolvers/auth/me.js.map +1 -0
- package/dist/resolvers/auth/refresh.d.ts +1 -2
- package/dist/resolvers/auth/refresh.d.ts.map +1 -1
- package/dist/resolvers/auth/refresh.js +11 -21
- package/dist/resolvers/auth/refresh.js.map +1 -0
- package/dist/resolvers/auth/resetPassword.d.ts +1 -2
- package/dist/resolvers/auth/resetPassword.d.ts.map +1 -1
- package/dist/resolvers/auth/resetPassword.js +10 -20
- package/dist/resolvers/auth/resetPassword.js.map +1 -0
- package/dist/resolvers/auth/unlock.d.ts +1 -1
- package/dist/resolvers/auth/unlock.d.ts.map +1 -1
- package/dist/resolvers/auth/unlock.js +6 -16
- package/dist/resolvers/auth/unlock.js.map +1 -0
- package/dist/resolvers/auth/verifyEmail.d.ts +1 -1
- package/dist/resolvers/auth/verifyEmail.d.ts.map +1 -1
- package/dist/resolvers/auth/verifyEmail.js +6 -16
- package/dist/resolvers/auth/verifyEmail.js.map +1 -0
- package/dist/resolvers/collections/create.d.ts +1 -1
- package/dist/resolvers/collections/create.d.ts.map +1 -1
- package/dist/resolvers/collections/create.js +6 -16
- package/dist/resolvers/collections/create.js.map +1 -0
- package/dist/resolvers/collections/delete.d.ts.map +1 -1
- package/dist/resolvers/collections/delete.js +8 -18
- package/dist/resolvers/collections/delete.js.map +1 -0
- package/dist/resolvers/collections/docAccess.d.ts +1 -1
- package/dist/resolvers/collections/docAccess.d.ts.map +1 -1
- package/dist/resolvers/collections/docAccess.js +7 -17
- package/dist/resolvers/collections/docAccess.js.map +1 -0
- package/dist/resolvers/collections/duplicate.d.ts +13 -0
- package/dist/resolvers/collections/duplicate.d.ts.map +1 -0
- package/dist/resolvers/collections/duplicate.js +22 -0
- package/dist/resolvers/collections/duplicate.js.map +1 -0
- package/dist/resolvers/collections/find.d.ts.map +1 -1
- package/dist/resolvers/collections/find.js +8 -18
- package/dist/resolvers/collections/find.js.map +1 -0
- package/dist/resolvers/collections/findByID.d.ts.map +1 -1
- package/dist/resolvers/collections/findByID.js +8 -18
- package/dist/resolvers/collections/findByID.js.map +1 -0
- package/dist/resolvers/collections/findVersionByID.d.ts +1 -1
- package/dist/resolvers/collections/findVersionByID.d.ts.map +1 -1
- package/dist/resolvers/collections/findVersionByID.js +8 -18
- package/dist/resolvers/collections/findVersionByID.js.map +1 -0
- package/dist/resolvers/collections/findVersions.d.ts +1 -1
- package/dist/resolvers/collections/findVersions.d.ts.map +1 -1
- package/dist/resolvers/collections/findVersions.js +8 -18
- package/dist/resolvers/collections/findVersions.js.map +1 -0
- package/dist/resolvers/collections/restoreVersion.d.ts.map +1 -1
- package/dist/resolvers/collections/restoreVersion.js +6 -16
- package/dist/resolvers/collections/restoreVersion.js.map +1 -0
- package/dist/resolvers/collections/update.d.ts.map +1 -1
- package/dist/resolvers/collections/update.js +8 -18
- package/dist/resolvers/collections/update.js.map +1 -0
- package/dist/resolvers/globals/docAccess.d.ts +1 -1
- package/dist/resolvers/globals/docAccess.d.ts.map +1 -1
- package/dist/resolvers/globals/docAccess.js +6 -16
- package/dist/resolvers/globals/docAccess.js.map +1 -0
- package/dist/resolvers/globals/findOne.d.ts.map +1 -1
- package/dist/resolvers/globals/findOne.js +6 -16
- package/dist/resolvers/globals/findOne.js.map +1 -0
- package/dist/resolvers/globals/findVersionByID.d.ts.map +1 -1
- package/dist/resolvers/globals/findVersionByID.js +6 -16
- package/dist/resolvers/globals/findVersionByID.js.map +1 -0
- package/dist/resolvers/globals/findVersions.d.ts.map +1 -1
- package/dist/resolvers/globals/findVersions.js +6 -16
- package/dist/resolvers/globals/findVersions.js.map +1 -0
- package/dist/resolvers/globals/index.d.ts +5 -5
- package/dist/resolvers/globals/index.d.ts.map +1 -1
- package/dist/resolvers/globals/index.js +7 -38
- package/dist/resolvers/globals/index.js.map +1 -0
- package/dist/resolvers/globals/restoreVersion.d.ts.map +1 -1
- package/dist/resolvers/globals/restoreVersion.js +6 -16
- package/dist/resolvers/globals/restoreVersion.js.map +1 -0
- package/dist/resolvers/globals/update.d.ts +1 -1
- package/dist/resolvers/globals/update.d.ts.map +1 -1
- package/dist/resolvers/globals/update.js +6 -16
- package/dist/resolvers/globals/update.js.map +1 -0
- package/dist/resolvers/types.d.ts +2 -2
- package/dist/resolvers/types.d.ts.map +1 -1
- package/dist/resolvers/types.js +2 -5
- package/dist/resolvers/types.js.map +1 -0
- package/dist/schema/buildFallbackLocaleInputType.d.ts +1 -1
- package/dist/schema/buildFallbackLocaleInputType.d.ts.map +1 -1
- package/dist/schema/buildFallbackLocaleInputType.js +6 -21
- package/dist/schema/buildFallbackLocaleInputType.js.map +1 -0
- package/dist/schema/buildLocaleInputType.d.ts +1 -1
- package/dist/schema/buildLocaleInputType.d.ts.map +1 -1
- package/dist/schema/buildLocaleInputType.js +6 -21
- package/dist/schema/buildLocaleInputType.js.map +1 -0
- package/dist/schema/buildMutationInputType.d.ts +6 -6
- package/dist/schema/buildMutationInputType.d.ts.map +1 -1
- package/dist/schema/buildMutationInputType.js +59 -81
- package/dist/schema/buildMutationInputType.js.map +1 -0
- package/dist/schema/buildObjectType.d.ts +5 -5
- package/dist/schema/buildObjectType.d.ts.map +1 -1
- package/dist/schema/buildObjectType.js +68 -83
- package/dist/schema/buildObjectType.js.map +1 -0
- package/dist/schema/buildPaginatedListType.js +15 -25
- package/dist/schema/buildPaginatedListType.js.map +1 -0
- package/dist/schema/buildPoliciesType.d.ts +1 -1
- package/dist/schema/buildPoliciesType.d.ts.map +1 -1
- package/dist/schema/buildPoliciesType.js +31 -57
- package/dist/schema/buildPoliciesType.js.map +1 -0
- package/dist/schema/buildWhereInputType.d.ts +1 -1
- package/dist/schema/buildWhereInputType.d.ts.map +1 -1
- package/dist/schema/buildWhereInputType.js +19 -34
- package/dist/schema/buildWhereInputType.js.map +1 -0
- package/dist/schema/fieldToWhereInputSchemaMap.d.ts.map +1 -1
- package/dist/schema/fieldToWhereInputSchemaMap.js +34 -48
- package/dist/schema/fieldToWhereInputSchemaMap.js.map +1 -0
- package/dist/schema/initCollections.d.ts.map +1 -1
- package/dist/schema/initCollections.js +182 -185
- package/dist/schema/initCollections.js.map +1 -0
- package/dist/schema/initGlobals.d.ts.map +1 -1
- package/dist/schema/initGlobals.js +59 -73
- package/dist/schema/initGlobals.js.map +1 -0
- package/dist/schema/isFieldNullable.js +4 -14
- package/dist/schema/isFieldNullable.js.map +1 -0
- package/dist/schema/operators.js +2 -12
- package/dist/schema/operators.js.map +1 -0
- package/dist/schema/recursivelyBuildNestedPaths.d.ts.map +1 -1
- package/dist/schema/recursivelyBuildNestedPaths.js +11 -26
- package/dist/schema/recursivelyBuildNestedPaths.js.map +1 -0
- package/dist/schema/withNullableType.d.ts.map +1 -1
- package/dist/schema/withNullableType.js +4 -14
- package/dist/schema/withNullableType.js.map +1 -0
- package/dist/schema/withOperators.d.ts +1 -1
- package/dist/schema/withOperators.d.ts.map +1 -1
- package/dist/schema/withOperators.js +82 -86
- package/dist/schema/withOperators.js.map +1 -0
- package/dist/utilities/combineParentName.js +4 -19
- package/dist/utilities/combineParentName.js.map +1 -0
- package/dist/utilities/formatName.js +2 -12
- package/dist/utilities/formatName.js.map +1 -0
- package/dist/utilities/formatName.spec.js +3 -12
- package/dist/utilities/formatName.spec.js.map +1 -0
- package/dist/utilities/formatOptions.js +5 -20
- package/dist/utilities/formatOptions.js.map +1 -0
- package/dist/utilities/getCheckIfLocaleObject.js +2 -12
- package/dist/utilities/getCheckIfLocaleObject.js.map +1 -0
- package/dist/utilities/groupOrTabHasRequiredSubfield.js +4 -14
- package/dist/utilities/groupOrTabHasRequiredSubfield.js.map +1 -0
- package/dist/utilities/uppercase.js +2 -12
- package/dist/utilities/uppercase.js.map +1 -0
- package/dist/utilities/wrapCustomResolver.d.ts +2 -2
- package/dist/utilities/wrapCustomResolver.d.ts.map +1 -1
- package/dist/utilities/wrapCustomResolver.js +4 -14
- package/dist/utilities/wrapCustomResolver.js.map +1 -0
- package/package.json +11 -6
- package/src/index.ts +24 -24
- package/dist/utilities/isolateTransactionID.d.ts +0 -2
- package/dist/utilities/isolateTransactionID.d.ts.map +0 -1
- package/dist/utilities/isolateTransactionID.js +0 -3
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../../src/schema/initCollections.ts"],"sourcesContent":["/* eslint-disable no-param-reassign */\nimport type { GraphQLInfo } from 'payload/config'\nimport type { Collection, Field, SanitizedCollectionConfig, SanitizedConfig } from 'payload/types'\n\nimport {\n GraphQLBoolean,\n GraphQLInt,\n GraphQLNonNull,\n GraphQLObjectType,\n GraphQLString,\n} from 'graphql'\nimport { fieldAffectsData } from 'payload/types'\nimport { flattenTopLevelFields, formatNames, toWords } from 'payload/utilities'\nimport { buildVersionCollectionFields } from 'payload/versions'\n\nimport type { ObjectTypeConfig } from './buildObjectType.js'\n\nimport forgotPassword from '../resolvers/auth/forgotPassword.js'\nimport init from '../resolvers/auth/init.js'\nimport login from '../resolvers/auth/login.js'\nimport logout from '../resolvers/auth/logout.js'\nimport me from '../resolvers/auth/me.js'\nimport refresh from '../resolvers/auth/refresh.js'\nimport resetPassword from '../resolvers/auth/resetPassword.js'\nimport unlock from '../resolvers/auth/unlock.js'\nimport verifyEmail from '../resolvers/auth/verifyEmail.js'\nimport createResolver from '../resolvers/collections/create.js'\nimport getDeleteResolver from '../resolvers/collections/delete.js'\nimport { docAccessResolver } from '../resolvers/collections/docAccess.js'\nimport duplicateResolver from '../resolvers/collections/duplicate.js'\nimport findResolver from '../resolvers/collections/find.js'\nimport findByIDResolver from '../resolvers/collections/findByID.js'\nimport findVersionByIDResolver from '../resolvers/collections/findVersionByID.js'\nimport findVersionsResolver from '../resolvers/collections/findVersions.js'\nimport restoreVersionResolver from '../resolvers/collections/restoreVersion.js'\nimport updateResolver from '../resolvers/collections/update.js'\nimport formatName from '../utilities/formatName.js'\nimport { buildMutationInputType, getCollectionIDType } from './buildMutationInputType.js'\nimport buildObjectType from './buildObjectType.js'\nimport buildPaginatedListType from './buildPaginatedListType.js'\nimport { buildPolicyType } from './buildPoliciesType.js'\nimport buildWhereInputType from './buildWhereInputType.js'\n\ntype InitCollectionsGraphQLArgs = {\n config: SanitizedConfig\n graphqlResult: GraphQLInfo\n}\nfunction initCollectionsGraphQL({ config, graphqlResult }: InitCollectionsGraphQLArgs): void {\n Object.keys(graphqlResult.collections).forEach((slug) => {\n const collection: Collection = graphqlResult.collections[slug]\n const {\n config: collectionConfig,\n config: { fields, graphQL = {} as SanitizedCollectionConfig['graphQL'], versions },\n } = collection\n\n if (!graphQL) return\n\n let singularName\n let pluralName\n const fromSlug = formatNames(collection.config.slug)\n if (graphQL.singularName) {\n singularName = toWords(graphQL.singularName, true)\n } else {\n singularName = fromSlug.singular\n }\n if (graphQL.pluralName) {\n pluralName = toWords(graphQL.pluralName, true)\n } else {\n pluralName = fromSlug.plural\n }\n\n // For collections named 'Media' or similar,\n // there is a possibility that the singular name\n // will equal the plural name. Append `all` to the beginning\n // of potential conflicts\n if (singularName === pluralName) {\n pluralName = `all${singularName}`\n }\n\n collection.graphQL = {} as Collection['graphQL']\n\n const hasIDField =\n flattenTopLevelFields(fields).findIndex(\n (field) => fieldAffectsData(field) && field.name === 'id',\n ) > -1\n\n const idType = getCollectionIDType(config.db.defaultIDType, collectionConfig)\n\n const baseFields: ObjectTypeConfig = {}\n\n const whereInputFields = [...fields]\n\n if (!hasIDField) {\n baseFields.id = { type: idType }\n whereInputFields.push({\n name: 'id',\n type: config.db.defaultIDType as 'text',\n })\n }\n\n const forceNullableObjectType = Boolean(versions?.drafts)\n\n collection.graphQL.type = buildObjectType({\n name: singularName,\n baseFields,\n config,\n fields,\n forceNullable: forceNullableObjectType,\n graphqlResult,\n parentName: singularName,\n })\n\n collection.graphQL.paginatedType = buildPaginatedListType(pluralName, collection.graphQL.type)\n\n collection.graphQL.whereInputType = buildWhereInputType({\n name: singularName,\n fields: whereInputFields,\n parentName: singularName,\n })\n\n if (collectionConfig.auth && !collectionConfig.auth.disableLocalStrategy) {\n fields.push({\n name: 'password',\n type: 'text',\n label: 'Password',\n required: true,\n })\n }\n\n const createMutationInputType = buildMutationInputType({\n name: singularName,\n config,\n fields,\n graphqlResult,\n parentName: singularName,\n })\n if (createMutationInputType) {\n collection.graphQL.mutationInputType = new GraphQLNonNull(createMutationInputType)\n }\n\n const updateMutationInputType = buildMutationInputType({\n name: `${singularName}Update`,\n config,\n fields: fields.filter((field) => !(fieldAffectsData(field) && field.name === 'id')),\n forceNullable: true,\n graphqlResult,\n parentName: `${singularName}Update`,\n })\n if (updateMutationInputType) {\n collection.graphQL.updateMutationInputType = new GraphQLNonNull(updateMutationInputType)\n }\n\n graphqlResult.Query.fields[singularName] = {\n type: collection.graphQL.type,\n args: {\n id: { type: new GraphQLNonNull(idType) },\n draft: { type: GraphQLBoolean },\n ...(config.localization\n ? {\n fallbackLocale: { type: graphqlResult.types.fallbackLocaleInputType },\n locale: { type: graphqlResult.types.localeInputType },\n }\n : {}),\n },\n resolve: findByIDResolver(collection),\n }\n\n graphqlResult.Query.fields[pluralName] = {\n type: buildPaginatedListType(pluralName, collection.graphQL.type),\n args: {\n draft: { type: GraphQLBoolean },\n where: { type: collection.graphQL.whereInputType },\n ...(config.localization\n ? {\n fallbackLocale: { type: graphqlResult.types.fallbackLocaleInputType },\n locale: { type: graphqlResult.types.localeInputType },\n }\n : {}),\n limit: { type: GraphQLInt },\n page: { type: GraphQLInt },\n sort: { type: GraphQLString },\n },\n resolve: findResolver(collection),\n }\n\n graphqlResult.Query.fields[`docAccess${singularName}`] = {\n type: buildPolicyType({\n type: 'collection',\n entity: collectionConfig,\n scope: 'docAccess',\n typeSuffix: 'DocAccess',\n }),\n args: {\n id: { type: new GraphQLNonNull(idType) },\n },\n resolve: docAccessResolver(collection),\n }\n\n graphqlResult.Mutation.fields[`create${singularName}`] = {\n type: collection.graphQL.type,\n args: {\n ...(createMutationInputType\n ? { data: { type: collection.graphQL.mutationInputType } }\n : {}),\n draft: { type: GraphQLBoolean },\n ...(config.localization\n ? {\n locale: { type: graphqlResult.types.localeInputType },\n }\n : {}),\n },\n resolve: createResolver(collection),\n }\n\n graphqlResult.Mutation.fields[`update${singularName}`] = {\n type: collection.graphQL.type,\n args: {\n id: { type: new GraphQLNonNull(idType) },\n autosave: { type: GraphQLBoolean },\n ...(updateMutationInputType\n ? { data: { type: collection.graphQL.updateMutationInputType } }\n : {}),\n draft: { type: GraphQLBoolean },\n ...(config.localization\n ? {\n locale: { type: graphqlResult.types.localeInputType },\n }\n : {}),\n },\n resolve: updateResolver(collection),\n }\n\n graphqlResult.Mutation.fields[`delete${singularName}`] = {\n type: collection.graphQL.type,\n args: {\n id: { type: new GraphQLNonNull(idType) },\n },\n resolve: getDeleteResolver(collection),\n }\n\n if (collectionConfig.disableDuplicate !== true) {\n graphqlResult.Mutation.fields[`duplicate${singularName}`] = {\n type: collection.graphQL.type,\n args: {\n id: { type: new GraphQLNonNull(idType) },\n },\n resolve: duplicateResolver(collection),\n }\n }\n\n if (collectionConfig.versions) {\n const versionIDType = config.db.defaultIDType === 'text' ? GraphQLString : GraphQLInt\n const versionCollectionFields: Field[] = [\n ...buildVersionCollectionFields(collectionConfig),\n {\n name: 'id',\n type: config.db.defaultIDType as 'text',\n },\n {\n name: 'createdAt',\n type: 'date',\n label: 'Created At',\n },\n {\n name: 'updatedAt',\n type: 'date',\n label: 'Updated At',\n },\n ]\n\n collection.graphQL.versionType = buildObjectType({\n name: `${singularName}Version`,\n config,\n fields: versionCollectionFields,\n forceNullable: forceNullableObjectType,\n graphqlResult,\n parentName: `${singularName}Version`,\n })\n\n graphqlResult.Query.fields[`version${formatName(singularName)}`] = {\n type: collection.graphQL.versionType,\n args: {\n id: { type: versionIDType },\n ...(config.localization\n ? {\n fallbackLocale: { type: graphqlResult.types.fallbackLocaleInputType },\n locale: { type: graphqlResult.types.localeInputType },\n }\n : {}),\n },\n resolve: findVersionByIDResolver(collection),\n }\n graphqlResult.Query.fields[`versions${pluralName}`] = {\n type: buildPaginatedListType(\n `versions${formatName(pluralName)}`,\n collection.graphQL.versionType,\n ),\n args: {\n where: {\n type: buildWhereInputType({\n name: `versions${singularName}`,\n fields: versionCollectionFields,\n parentName: `versions${singularName}`,\n }),\n },\n ...(config.localization\n ? {\n fallbackLocale: { type: graphqlResult.types.fallbackLocaleInputType },\n locale: { type: graphqlResult.types.localeInputType },\n }\n : {}),\n limit: { type: GraphQLInt },\n page: { type: GraphQLInt },\n sort: { type: GraphQLString },\n },\n resolve: findVersionsResolver(collection),\n }\n graphqlResult.Mutation.fields[`restoreVersion${formatName(singularName)}`] = {\n type: collection.graphQL.type,\n args: {\n id: { type: versionIDType },\n },\n resolve: restoreVersionResolver(collection),\n }\n }\n\n if (collectionConfig.auth) {\n const authFields: Field[] = collectionConfig.auth.disableLocalStrategy\n ? []\n : [\n {\n name: 'email',\n type: 'email',\n required: true,\n },\n ]\n collection.graphQL.JWT = buildObjectType({\n name: formatName(`${slug}JWT`),\n config,\n fields: [\n ...collectionConfig.fields.filter((field) => fieldAffectsData(field) && field.saveToJWT),\n ...authFields,\n {\n name: 'collection',\n type: 'text',\n required: true,\n },\n ],\n graphqlResult,\n parentName: formatName(`${slug}JWT`),\n })\n\n graphqlResult.Query.fields[`me${singularName}`] = {\n type: new GraphQLObjectType({\n name: formatName(`${slug}Me`),\n fields: {\n collection: {\n type: GraphQLString,\n },\n exp: {\n type: GraphQLInt,\n },\n token: {\n type: GraphQLString,\n },\n user: {\n type: collection.graphQL.type,\n },\n },\n }),\n resolve: me(collection),\n }\n\n graphqlResult.Query.fields[`initialized${singularName}`] = {\n type: GraphQLBoolean,\n resolve: init(collection.config.slug),\n }\n\n graphqlResult.Mutation.fields[`refreshToken${singularName}`] = {\n type: new GraphQLObjectType({\n name: formatName(`${slug}Refreshed${singularName}`),\n fields: {\n exp: {\n type: GraphQLInt,\n },\n refreshedToken: {\n type: GraphQLString,\n },\n user: {\n type: collection.graphQL.JWT,\n },\n },\n }),\n args: {\n token: { type: GraphQLString },\n },\n resolve: refresh(collection),\n }\n\n graphqlResult.Mutation.fields[`logout${singularName}`] = {\n type: GraphQLString,\n resolve: logout(collection),\n }\n\n if (!collectionConfig.auth.disableLocalStrategy) {\n if (collectionConfig.auth.maxLoginAttempts > 0) {\n graphqlResult.Mutation.fields[`unlock${singularName}`] = {\n type: new GraphQLNonNull(GraphQLBoolean),\n args: {\n email: { type: new GraphQLNonNull(GraphQLString) },\n },\n resolve: unlock(collection),\n }\n }\n\n graphqlResult.Mutation.fields[`login${singularName}`] = {\n type: new GraphQLObjectType({\n name: formatName(`${slug}LoginResult`),\n fields: {\n exp: {\n type: GraphQLInt,\n },\n token: {\n type: GraphQLString,\n },\n user: {\n type: collection.graphQL.type,\n },\n },\n }),\n args: {\n email: { type: GraphQLString },\n password: { type: GraphQLString },\n },\n resolve: login(collection),\n }\n\n graphqlResult.Mutation.fields[`forgotPassword${singularName}`] = {\n type: new GraphQLNonNull(GraphQLBoolean),\n args: {\n disableEmail: { type: GraphQLBoolean },\n email: { type: new GraphQLNonNull(GraphQLString) },\n expiration: { type: GraphQLInt },\n },\n resolve: forgotPassword(collection),\n }\n\n graphqlResult.Mutation.fields[`resetPassword${singularName}`] = {\n type: new GraphQLObjectType({\n name: formatName(`${slug}ResetPassword`),\n fields: {\n token: { type: GraphQLString },\n user: { type: collection.graphQL.type },\n },\n }),\n args: {\n password: { type: GraphQLString },\n token: { type: GraphQLString },\n },\n resolve: resetPassword(collection),\n }\n\n graphqlResult.Mutation.fields[`verifyEmail${singularName}`] = {\n type: GraphQLBoolean,\n args: {\n token: { type: GraphQLString },\n },\n resolve: verifyEmail(collection),\n }\n }\n }\n })\n}\n\nexport default initCollectionsGraphQL\n"],"names":["GraphQLBoolean","GraphQLInt","GraphQLNonNull","GraphQLObjectType","GraphQLString","fieldAffectsData","flattenTopLevelFields","formatNames","toWords","buildVersionCollectionFields","forgotPassword","init","login","logout","me","refresh","resetPassword","unlock","verifyEmail","createResolver","getDeleteResolver","docAccessResolver","duplicateResolver","findResolver","findByIDResolver","findVersionByIDResolver","findVersionsResolver","restoreVersionResolver","updateResolver","formatName","buildMutationInputType","getCollectionIDType","buildObjectType","buildPaginatedListType","buildPolicyType","buildWhereInputType","initCollectionsGraphQL","config","graphqlResult","Object","keys","collections","forEach","slug","collection","collectionConfig","fields","graphQL","versions","singularName","pluralName","fromSlug","singular","plural","hasIDField","findIndex","field","name","idType","db","defaultIDType","baseFields","whereInputFields","id","type","push","forceNullableObjectType","Boolean","drafts","forceNullable","parentName","paginatedType","whereInputType","auth","disableLocalStrategy","label","required","createMutationInputType","mutationInputType","updateMutationInputType","filter","Query","args","draft","localization","fallbackLocale","types","fallbackLocaleInputType","locale","localeInputType","resolve","where","limit","page","sort","entity","scope","typeSuffix","Mutation","data","autosave","disableDuplicate","versionIDType","versionCollectionFields","versionType","authFields","JWT","saveToJWT","exp","token","user","refreshedToken","maxLoginAttempts","email","password","disableEmail","expiration"],"rangeMappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;","mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"initGlobals.d.ts","sourceRoot":"","sources":["../../src/schema/initGlobals.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"initGlobals.d.ts","sourceRoot":"","sources":["../../src/schema/initGlobals.ts"],"names":[],"mappings":"AAKA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,gBAAgB,CAAA;AACjD,OAAO,KAAK,EAAS,eAAe,EAAyB,MAAM,eAAe,CAAA;AAkBlF,KAAK,sBAAsB,GAAG;IAC5B,MAAM,EAAE,eAAe,CAAA;IACvB,aAAa,EAAE,WAAW,CAAA;CAC3B,CAAA;AACD,iBAAS,kBAAkB,CAAC,EAAE,MAAM,EAAE,aAAa,EAAE,EAAE,sBAAsB,GAAG,IAAI,CAyJnF;AAED,eAAe,kBAAkB,CAAA"}
|
|
@@ -1,34 +1,20 @@
|
|
|
1
|
-
/* eslint-disable no-param-reassign */
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
}
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
const _buildPoliciesType = require("./buildPoliciesType");
|
|
19
|
-
const _buildWhereInputType = /*#__PURE__*/ _interop_require_default(require("./buildWhereInputType"));
|
|
20
|
-
const _formatName = /*#__PURE__*/ _interop_require_default(require("../utilities/formatName"));
|
|
21
|
-
const _docAccess = require("../resolvers/globals/docAccess");
|
|
22
|
-
const _findOne = /*#__PURE__*/ _interop_require_default(require("../resolvers/globals/findOne"));
|
|
23
|
-
const _findVersionByID = /*#__PURE__*/ _interop_require_default(require("../resolvers/globals/findVersionByID"));
|
|
24
|
-
const _findVersions = /*#__PURE__*/ _interop_require_default(require("../resolvers/globals/findVersions"));
|
|
25
|
-
const _restoreVersion = /*#__PURE__*/ _interop_require_default(require("../resolvers/globals/restoreVersion"));
|
|
26
|
-
const _update = /*#__PURE__*/ _interop_require_default(require("../resolvers/globals/update"));
|
|
27
|
-
function _interop_require_default(obj) {
|
|
28
|
-
return obj && obj.__esModule ? obj : {
|
|
29
|
-
default: obj
|
|
30
|
-
};
|
|
31
|
-
}
|
|
1
|
+
/* eslint-disable no-param-reassign */ import { GraphQLBoolean, GraphQLInt, GraphQLNonNull, GraphQLString } from 'graphql';
|
|
2
|
+
import pluralize from 'pluralize';
|
|
3
|
+
const { singular } = pluralize;
|
|
4
|
+
import { toWords } from 'payload/utilities';
|
|
5
|
+
import { buildVersionGlobalFields } from 'payload/versions';
|
|
6
|
+
import { docAccessResolver } from '../resolvers/globals/docAccess.js';
|
|
7
|
+
import findOneResolver from '../resolvers/globals/findOne.js';
|
|
8
|
+
import findVersionByIDResolver from '../resolvers/globals/findVersionByID.js';
|
|
9
|
+
import findVersionsResolver from '../resolvers/globals/findVersions.js';
|
|
10
|
+
import restoreVersionResolver from '../resolvers/globals/restoreVersion.js';
|
|
11
|
+
import updateResolver from '../resolvers/globals/update.js';
|
|
12
|
+
import formatName from '../utilities/formatName.js';
|
|
13
|
+
import { buildMutationInputType } from './buildMutationInputType.js';
|
|
14
|
+
import buildObjectType from './buildObjectType.js';
|
|
15
|
+
import buildPaginatedListType from './buildPaginatedListType.js';
|
|
16
|
+
import { buildPolicyType } from './buildPoliciesType.js';
|
|
17
|
+
import buildWhereInputType from './buildWhereInputType.js';
|
|
32
18
|
function initGlobalsGraphQL({ config, graphqlResult }) {
|
|
33
19
|
Object.keys(graphqlResult.globals.config).forEach((slug)=>{
|
|
34
20
|
const global = graphqlResult.globals.config[slug];
|
|
@@ -36,31 +22,32 @@ function initGlobalsGraphQL({ config, graphqlResult }) {
|
|
|
36
22
|
if (graphQL === false) {
|
|
37
23
|
return;
|
|
38
24
|
}
|
|
39
|
-
const formattedName = graphQL?.name ? graphQL.name :
|
|
25
|
+
const formattedName = graphQL?.name ? graphQL.name : singular(toWords(global.slug, true));
|
|
40
26
|
const forceNullableObjectType = Boolean(versions?.drafts);
|
|
41
27
|
if (!graphqlResult.globals.graphQL) graphqlResult.globals.graphQL = {};
|
|
42
|
-
const updateMutationInputType =
|
|
28
|
+
const updateMutationInputType = buildMutationInputType({
|
|
43
29
|
name: formattedName,
|
|
30
|
+
config,
|
|
44
31
|
fields,
|
|
45
|
-
parentName: formattedName,
|
|
46
32
|
graphqlResult,
|
|
47
|
-
|
|
33
|
+
parentName: formattedName
|
|
48
34
|
});
|
|
49
35
|
graphqlResult.globals.graphQL[slug] = {
|
|
50
|
-
|
|
51
|
-
type: (0, _buildObjectType.default)({
|
|
36
|
+
type: buildObjectType({
|
|
52
37
|
name: formattedName,
|
|
38
|
+
config,
|
|
53
39
|
fields,
|
|
54
40
|
forceNullable: forceNullableObjectType,
|
|
55
|
-
parentName: formattedName,
|
|
56
41
|
graphqlResult,
|
|
57
|
-
|
|
58
|
-
})
|
|
42
|
+
parentName: formattedName
|
|
43
|
+
}),
|
|
44
|
+
mutationInputType: updateMutationInputType ? new GraphQLNonNull(updateMutationInputType) : null
|
|
59
45
|
};
|
|
60
46
|
graphqlResult.Query.fields[formattedName] = {
|
|
47
|
+
type: graphqlResult.globals.graphQL[slug].type,
|
|
61
48
|
args: {
|
|
62
49
|
draft: {
|
|
63
|
-
type:
|
|
50
|
+
type: GraphQLBoolean
|
|
64
51
|
},
|
|
65
52
|
...config.localization ? {
|
|
66
53
|
fallbackLocale: {
|
|
@@ -71,10 +58,10 @@ function initGlobalsGraphQL({ config, graphqlResult }) {
|
|
|
71
58
|
}
|
|
72
59
|
} : {}
|
|
73
60
|
},
|
|
74
|
-
resolve: (
|
|
75
|
-
type: graphqlResult.globals.graphQL[slug].type
|
|
61
|
+
resolve: findOneResolver(global)
|
|
76
62
|
};
|
|
77
63
|
graphqlResult.Mutation.fields[`update${formattedName}`] = {
|
|
64
|
+
type: graphqlResult.globals.graphQL[slug].type,
|
|
78
65
|
args: {
|
|
79
66
|
...updateMutationInputType ? {
|
|
80
67
|
data: {
|
|
@@ -82,7 +69,7 @@ function initGlobalsGraphQL({ config, graphqlResult }) {
|
|
|
82
69
|
}
|
|
83
70
|
} : {},
|
|
84
71
|
draft: {
|
|
85
|
-
type:
|
|
72
|
+
type: GraphQLBoolean
|
|
86
73
|
},
|
|
87
74
|
...config.localization ? {
|
|
88
75
|
locale: {
|
|
@@ -90,46 +77,46 @@ function initGlobalsGraphQL({ config, graphqlResult }) {
|
|
|
90
77
|
}
|
|
91
78
|
} : {}
|
|
92
79
|
},
|
|
93
|
-
resolve: (
|
|
94
|
-
type: graphqlResult.globals.graphQL[slug].type
|
|
80
|
+
resolve: updateResolver(global)
|
|
95
81
|
};
|
|
96
82
|
graphqlResult.Query.fields[`docAccess${formattedName}`] = {
|
|
97
|
-
|
|
98
|
-
|
|
83
|
+
type: buildPolicyType({
|
|
84
|
+
type: 'global',
|
|
99
85
|
entity: global,
|
|
100
86
|
scope: 'docAccess',
|
|
101
|
-
type: 'global',
|
|
102
87
|
typeSuffix: 'DocAccess'
|
|
103
|
-
})
|
|
88
|
+
}),
|
|
89
|
+
resolve: docAccessResolver(global)
|
|
104
90
|
};
|
|
105
91
|
if (global.versions) {
|
|
106
|
-
const idType = config.db.defaultIDType === 'number' ?
|
|
92
|
+
const idType = config.db.defaultIDType === 'number' ? GraphQLInt : GraphQLString;
|
|
107
93
|
const versionGlobalFields = [
|
|
108
|
-
...
|
|
94
|
+
...buildVersionGlobalFields(global),
|
|
109
95
|
{
|
|
110
96
|
name: 'id',
|
|
111
97
|
type: config.db.defaultIDType
|
|
112
98
|
},
|
|
113
99
|
{
|
|
114
100
|
name: 'createdAt',
|
|
115
|
-
|
|
116
|
-
|
|
101
|
+
type: 'date',
|
|
102
|
+
label: 'Created At'
|
|
117
103
|
},
|
|
118
104
|
{
|
|
119
105
|
name: 'updatedAt',
|
|
120
|
-
|
|
121
|
-
|
|
106
|
+
type: 'date',
|
|
107
|
+
label: 'Updated At'
|
|
122
108
|
}
|
|
123
109
|
];
|
|
124
|
-
graphqlResult.globals.graphQL[slug].versionType = (
|
|
110
|
+
graphqlResult.globals.graphQL[slug].versionType = buildObjectType({
|
|
125
111
|
name: `${formattedName}Version`,
|
|
112
|
+
config,
|
|
126
113
|
fields: versionGlobalFields,
|
|
127
114
|
forceNullable: forceNullableObjectType,
|
|
128
|
-
parentName: `${formattedName}Version`,
|
|
129
115
|
graphqlResult,
|
|
130
|
-
|
|
116
|
+
parentName: `${formattedName}Version`
|
|
131
117
|
});
|
|
132
|
-
graphqlResult.Query.fields[`version${(
|
|
118
|
+
graphqlResult.Query.fields[`version${formatName(formattedName)}`] = {
|
|
119
|
+
type: graphqlResult.globals.graphQL[slug].versionType,
|
|
133
120
|
args: {
|
|
134
121
|
id: {
|
|
135
122
|
type: idType
|
|
@@ -143,13 +130,13 @@ function initGlobalsGraphQL({ config, graphqlResult }) {
|
|
|
143
130
|
}
|
|
144
131
|
} : {}
|
|
145
132
|
},
|
|
146
|
-
resolve: (
|
|
147
|
-
type: graphqlResult.globals.graphQL[slug].versionType
|
|
133
|
+
resolve: findVersionByIDResolver(global)
|
|
148
134
|
};
|
|
149
135
|
graphqlResult.Query.fields[`versions${formattedName}`] = {
|
|
136
|
+
type: buildPaginatedListType(`versions${formatName(formattedName)}`, graphqlResult.globals.graphQL[slug].versionType),
|
|
150
137
|
args: {
|
|
151
138
|
where: {
|
|
152
|
-
type: (
|
|
139
|
+
type: buildWhereInputType({
|
|
153
140
|
name: `versions${formattedName}`,
|
|
154
141
|
fields: versionGlobalFields,
|
|
155
142
|
parentName: `versions${formattedName}`
|
|
@@ -164,30 +151,29 @@ function initGlobalsGraphQL({ config, graphqlResult }) {
|
|
|
164
151
|
}
|
|
165
152
|
} : {},
|
|
166
153
|
limit: {
|
|
167
|
-
type:
|
|
154
|
+
type: GraphQLInt
|
|
168
155
|
},
|
|
169
156
|
page: {
|
|
170
|
-
type:
|
|
157
|
+
type: GraphQLInt
|
|
171
158
|
},
|
|
172
159
|
sort: {
|
|
173
|
-
type:
|
|
160
|
+
type: GraphQLString
|
|
174
161
|
}
|
|
175
162
|
},
|
|
176
|
-
resolve: (
|
|
177
|
-
type: (0, _buildPaginatedListType.default)(`versions${(0, _formatName.default)(formattedName)}`, graphqlResult.globals.graphQL[slug].versionType)
|
|
163
|
+
resolve: findVersionsResolver(global)
|
|
178
164
|
};
|
|
179
|
-
graphqlResult.Mutation.fields[`restoreVersion${(
|
|
165
|
+
graphqlResult.Mutation.fields[`restoreVersion${formatName(formattedName)}`] = {
|
|
166
|
+
type: graphqlResult.globals.graphQL[slug].type,
|
|
180
167
|
args: {
|
|
181
168
|
id: {
|
|
182
169
|
type: idType
|
|
183
170
|
}
|
|
184
171
|
},
|
|
185
|
-
resolve: (
|
|
186
|
-
type: graphqlResult.globals.graphQL[slug].type
|
|
172
|
+
resolve: restoreVersionResolver(global)
|
|
187
173
|
};
|
|
188
174
|
}
|
|
189
175
|
});
|
|
190
176
|
}
|
|
191
|
-
|
|
177
|
+
export default initGlobalsGraphQL;
|
|
192
178
|
|
|
193
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9zY2hlbWEvaW5pdEdsb2JhbHMudHMiXSwic291cmNlc0NvbnRlbnQiOlsiLyogZXNsaW50LWRpc2FibGUgbm8tcGFyYW0tcmVhc3NpZ24gKi9cbmltcG9ydCB7IEdyYXBoUUxCb29sZWFuLCBHcmFwaFFMSW50LCBHcmFwaFFMTm9uTnVsbCwgR3JhcGhRTFN0cmluZyB9IGZyb20gJ2dyYXBocWwnXG5pbXBvcnQgeyBzaW5ndWxhciB9IGZyb20gJ3BsdXJhbGl6ZSdcbmltcG9ydCB7IHRvV29yZHMgfSBmcm9tICdwYXlsb2FkL3V0aWxpdGllcydcbmltcG9ydCB7IGJ1aWxkVmVyc2lvbkdsb2JhbEZpZWxkcyB9IGZyb20gJ3BheWxvYWQvdmVyc2lvbnMnXG5cbmltcG9ydCB0eXBlIHsgR3JhcGhRTEluZm8gfSBmcm9tICdwYXlsb2FkL2NvbmZpZydcbmltcG9ydCB0eXBlIHsgRmllbGQsIFNhbml0aXplZENvbmZpZywgU2FuaXRpemVkR2xvYmFsQ29uZmlnIH0gZnJvbSAncGF5bG9hZC90eXBlcydcblxuaW1wb3J0IHsgYnVpbGRNdXRhdGlvbklucHV0VHlwZSB9IGZyb20gJy4vYnVpbGRNdXRhdGlvbklucHV0VHlwZSdcbmltcG9ydCBidWlsZE9iamVjdFR5cGUgZnJvbSAnLi9idWlsZE9iamVjdFR5cGUnXG5pbXBvcnQgYnVpbGRQYWdpbmF0ZWRMaXN0VHlwZSBmcm9tICcuL2J1aWxkUGFnaW5hdGVkTGlzdFR5cGUnXG5pbXBvcnQgeyBidWlsZFBvbGljeVR5cGUgfSBmcm9tICcuL2J1aWxkUG9saWNpZXNUeXBlJ1xuaW1wb3J0IGJ1aWxkV2hlcmVJbnB1dFR5cGUgZnJvbSAnLi9idWlsZFdoZXJlSW5wdXRUeXBlJ1xuaW1wb3J0IGZvcm1hdE5hbWUgZnJvbSAnLi4vdXRpbGl0aWVzL2Zvcm1hdE5hbWUnXG5pbXBvcnQgeyBkb2NBY2Nlc3NSZXNvbHZlciB9IGZyb20gJy4uL3Jlc29sdmVycy9nbG9iYWxzL2RvY0FjY2VzcydcbmltcG9ydCBmaW5kT25lUmVzb2x2ZXIgZnJvbSAnLi4vcmVzb2x2ZXJzL2dsb2JhbHMvZmluZE9uZSdcbmltcG9ydCBmaW5kVmVyc2lvbkJ5SURSZXNvbHZlciBmcm9tICcuLi9yZXNvbHZlcnMvZ2xvYmFscy9maW5kVmVyc2lvbkJ5SUQnXG5pbXBvcnQgZmluZFZlcnNpb25zUmVzb2x2ZXIgZnJvbSAnLi4vcmVzb2x2ZXJzL2dsb2JhbHMvZmluZFZlcnNpb25zJ1xuaW1wb3J0IHJlc3RvcmVWZXJzaW9uUmVzb2x2ZXIgZnJvbSAnLi4vcmVzb2x2ZXJzL2dsb2JhbHMvcmVzdG9yZVZlcnNpb24nXG5pbXBvcnQgdXBkYXRlUmVzb2x2ZXIgZnJvbSAnLi4vcmVzb2x2ZXJzL2dsb2JhbHMvdXBkYXRlJ1xuXG50eXBlIEluaXRHbG9iYWxzR3JhcGhRTEFyZ3MgPSB7XG4gIGNvbmZpZzogU2FuaXRpemVkQ29uZmlnXG4gIGdyYXBocWxSZXN1bHQ6IEdyYXBoUUxJbmZvXG59XG5mdW5jdGlvbiBpbml0R2xvYmFsc0dyYXBoUUwoeyBjb25maWcsIGdyYXBocWxSZXN1bHQgfTogSW5pdEdsb2JhbHNHcmFwaFFMQXJncyk6IHZvaWQge1xuICBPYmplY3Qua2V5cyhncmFwaHFsUmVzdWx0Lmdsb2JhbHMuY29uZmlnKS5mb3JFYWNoKChzbHVnKSA9PiB7XG4gICAgY29uc3QgZ2xvYmFsOiBTYW5pdGl6ZWRHbG9iYWxDb25maWcgPSBncmFwaHFsUmVzdWx0Lmdsb2JhbHMuY29uZmlnW3NsdWddXG4gICAgY29uc3QgeyBmaWVsZHMsIGdyYXBoUUwsIHZlcnNpb25zIH0gPSBnbG9iYWxcblxuICAgIGlmIChncmFwaFFMID09PSBmYWxzZSkge1xuICAgICAgcmV0dXJuXG4gICAgfVxuXG4gICAgY29uc3QgZm9ybWF0dGVkTmFtZSA9IGdyYXBoUUw/Lm5hbWUgPyBncmFwaFFMLm5hbWUgOiBzaW5ndWxhcih0b1dvcmRzKGdsb2JhbC5zbHVnLCB0cnVlKSlcblxuICAgIGNvbnN0IGZvcmNlTnVsbGFibGVPYmplY3RUeXBlID0gQm9vbGVhbih2ZXJzaW9ucz8uZHJhZnRzKVxuXG4gICAgaWYgKCFncmFwaHFsUmVzdWx0Lmdsb2JhbHMuZ3JhcGhRTCkgZ3JhcGhxbFJlc3VsdC5nbG9iYWxzLmdyYXBoUUwgPSB7fVxuXG4gICAgY29uc3QgdXBkYXRlTXV0YXRpb25JbnB1dFR5cGUgPSBidWlsZE11dGF0aW9uSW5wdXRUeXBlKHtcbiAgICAgIG5hbWU6IGZvcm1hdHRlZE5hbWUsXG4gICAgICBmaWVsZHMsXG4gICAgICBwYXJlbnROYW1lOiBmb3JtYXR0ZWROYW1lLFxuICAgICAgZ3JhcGhxbFJlc3VsdCxcbiAgICAgIGNvbmZpZyxcbiAgICB9KVxuICAgIGdyYXBocWxSZXN1bHQuZ2xvYmFscy5ncmFwaFFMW3NsdWddID0ge1xuICAgICAgbXV0YXRpb25JbnB1dFR5cGU6IHVwZGF0ZU11dGF0aW9uSW5wdXRUeXBlXG4gICAgICAgID8gbmV3IEdyYXBoUUxOb25OdWxsKHVwZGF0ZU11dGF0aW9uSW5wdXRUeXBlKVxuICAgICAgICA6IG51bGwsXG4gICAgICB0eXBlOiBidWlsZE9iamVjdFR5cGUoe1xuICAgICAgICBuYW1lOiBmb3JtYXR0ZWROYW1lLFxuICAgICAgICBmaWVsZHMsXG4gICAgICAgIGZvcmNlTnVsbGFibGU6IGZvcmNlTnVsbGFibGVPYmplY3RUeXBlLFxuICAgICAgICBwYXJlbnROYW1lOiBmb3JtYXR0ZWROYW1lLFxuICAgICAgICBncmFwaHFsUmVzdWx0LFxuICAgICAgICBjb25maWcsXG4gICAgICB9KSxcbiAgICB9XG5cbiAgICBncmFwaHFsUmVzdWx0LlF1ZXJ5LmZpZWxkc1tmb3JtYXR0ZWROYW1lXSA9IHtcbiAgICAgIGFyZ3M6IHtcbiAgICAgICAgZHJhZnQ6IHsgdHlwZTogR3JhcGhRTEJvb2xlYW4gfSxcbiAgICAgICAgLi4uKGNvbmZpZy5sb2NhbGl6YXRpb25cbiAgICAgICAgICA/IHtcbiAgICAgICAgICAgICAgZmFsbGJhY2tMb2NhbGU6IHsgdHlwZTogZ3JhcGhxbFJlc3VsdC50eXBlcy5mYWxsYmFja0xvY2FsZUlucHV0VHlwZSB9LFxuICAgICAgICAgICAgICBsb2NhbGU6IHsgdHlwZTogZ3JhcGhxbFJlc3VsdC50eXBlcy5sb2NhbGVJbnB1dFR5cGUgfSxcbiAgICAgICAgICAgIH1cbiAgICAgICAgICA6IHt9KSxcbiAgICAgIH0sXG4gICAgICByZXNvbHZlOiBmaW5kT25lUmVzb2x2ZXIoZ2xvYmFsKSxcbiAgICAgIHR5cGU6IGdyYXBocWxSZXN1bHQuZ2xvYmFscy5ncmFwaFFMW3NsdWddLnR5cGUsXG4gICAgfVxuXG4gICAgZ3JhcGhxbFJlc3VsdC5NdXRhdGlvbi5maWVsZHNbYHVwZGF0ZSR7Zm9ybWF0dGVkTmFtZX1gXSA9IHtcbiAgICAgIGFyZ3M6IHtcbiAgICAgICAgLi4uKHVwZGF0ZU11dGF0aW9uSW5wdXRUeXBlXG4gICAgICAgICAgPyB7IGRhdGE6IHsgdHlwZTogZ3JhcGhxbFJlc3VsdC5nbG9iYWxzLmdyYXBoUUxbc2x1Z10ubXV0YXRpb25JbnB1dFR5cGUgfSB9XG4gICAgICAgICAgOiB7fSksXG4gICAgICAgIGRyYWZ0OiB7IHR5cGU6IEdyYXBoUUxCb29sZWFuIH0sXG4gICAgICAgIC4uLihjb25maWcubG9jYWxpemF0aW9uXG4gICAgICAgICAgPyB7XG4gICAgICAgICAgICAgIGxvY2FsZTogeyB0eXBlOiBncmFwaHFsUmVzdWx0LnR5cGVzLmxvY2FsZUlucHV0VHlwZSB9LFxuICAgICAgICAgICAgfVxuICAgICAgICAgIDoge30pLFxuICAgICAgfSxcbiAgICAgIHJlc29sdmU6IHVwZGF0ZVJlc29sdmVyKGdsb2JhbCksXG4gICAgICB0eXBlOiBncmFwaHFsUmVzdWx0Lmdsb2JhbHMuZ3JhcGhRTFtzbHVnXS50eXBlLFxuICAgIH1cblxuICAgIGdyYXBocWxSZXN1bHQuUXVlcnkuZmllbGRzW2Bkb2NBY2Nlc3Mke2Zvcm1hdHRlZE5hbWV9YF0gPSB7XG4gICAgICByZXNvbHZlOiBkb2NBY2Nlc3NSZXNvbHZlcihnbG9iYWwpLFxuICAgICAgdHlwZTogYnVpbGRQb2xpY3lUeXBlKHtcbiAgICAgICAgZW50aXR5OiBnbG9iYWwsXG4gICAgICAgIHNjb3BlOiAnZG9jQWNjZXNzJyxcbiAgICAgICAgdHlwZTogJ2dsb2JhbCcsXG4gICAgICAgIHR5cGVTdWZmaXg6ICdEb2NBY2Nlc3MnLFxuICAgICAgfSksXG4gICAgfVxuXG4gICAgaWYgKGdsb2JhbC52ZXJzaW9ucykge1xuICAgICAgY29uc3QgaWRUeXBlID0gY29uZmlnLmRiLmRlZmF1bHRJRFR5cGUgPT09ICdudW1iZXInID8gR3JhcGhRTEludCA6IEdyYXBoUUxTdHJpbmdcblxuICAgICAgY29uc3QgdmVyc2lvbkdsb2JhbEZpZWxkczogRmllbGRbXSA9IFtcbiAgICAgICAgLi4uYnVpbGRWZXJzaW9uR2xvYmFsRmllbGRzKGdsb2JhbCksXG4gICAgICAgIHtcbiAgICAgICAgICBuYW1lOiAnaWQnLFxuICAgICAgICAgIHR5cGU6IGNvbmZpZy5kYi5kZWZhdWx0SURUeXBlIGFzICd0ZXh0JyxcbiAgICAgICAgfSxcbiAgICAgICAge1xuICAgICAgICAgIG5hbWU6ICdjcmVhdGVkQXQnLFxuICAgICAgICAgIGxhYmVsOiAnQ3JlYXRlZCBBdCcsXG4gICAgICAgICAgdHlwZTogJ2RhdGUnLFxuICAgICAgICB9LFxuICAgICAgICB7XG4gICAgICAgICAgbmFtZTogJ3VwZGF0ZWRBdCcsXG4gICAgICAgICAgbGFiZWw6ICdVcGRhdGVkIEF0JyxcbiAgICAgICAgICB0eXBlOiAnZGF0ZScsXG4gICAgICAgIH0sXG4gICAgICBdXG5cbiAgICAgIGdyYXBocWxSZXN1bHQuZ2xvYmFscy5ncmFwaFFMW3NsdWddLnZlcnNpb25UeXBlID0gYnVpbGRPYmplY3RUeXBlKHtcbiAgICAgICAgbmFtZTogYCR7Zm9ybWF0dGVkTmFtZX1WZXJzaW9uYCxcbiAgICAgICAgZmllbGRzOiB2ZXJzaW9uR2xvYmFsRmllbGRzLFxuICAgICAgICBmb3JjZU51bGxhYmxlOiBmb3JjZU51bGxhYmxlT2JqZWN0VHlwZSxcbiAgICAgICAgcGFyZW50TmFtZTogYCR7Zm9ybWF0dGVkTmFtZX1WZXJzaW9uYCxcbiAgICAgICAgZ3JhcGhxbFJlc3VsdCxcbiAgICAgICAgY29uZmlnLFxuICAgICAgfSlcblxuICAgICAgZ3JhcGhxbFJlc3VsdC5RdWVyeS5maWVsZHNbYHZlcnNpb24ke2Zvcm1hdE5hbWUoZm9ybWF0dGVkTmFtZSl9YF0gPSB7XG4gICAgICAgIGFyZ3M6IHtcbiAgICAgICAgICBpZDogeyB0eXBlOiBpZFR5cGUgfSxcbiAgICAgICAgICAuLi4oY29uZmlnLmxvY2FsaXphdGlvblxuICAgICAgICAgICAgPyB7XG4gICAgICAgICAgICAgICAgZmFsbGJhY2tMb2NhbGU6IHsgdHlwZTogZ3JhcGhxbFJlc3VsdC50eXBlcy5mYWxsYmFja0xvY2FsZUlucHV0VHlwZSB9LFxuICAgICAgICAgICAgICAgIGxvY2FsZTogeyB0eXBlOiBncmFwaHFsUmVzdWx0LnR5cGVzLmxvY2FsZUlucHV0VHlwZSB9LFxuICAgICAgICAgICAgICB9XG4gICAgICAgICAgICA6IHt9KSxcbiAgICAgICAgfSxcbiAgICAgICAgcmVzb2x2ZTogZmluZFZlcnNpb25CeUlEUmVzb2x2ZXIoZ2xvYmFsKSxcbiAgICAgICAgdHlwZTogZ3JhcGhxbFJlc3VsdC5nbG9iYWxzLmdyYXBoUUxbc2x1Z10udmVyc2lvblR5cGUsXG4gICAgICB9XG4gICAgICBncmFwaHFsUmVzdWx0LlF1ZXJ5LmZpZWxkc1tgdmVyc2lvbnMke2Zvcm1hdHRlZE5hbWV9YF0gPSB7XG4gICAgICAgIGFyZ3M6IHtcbiAgICAgICAgICB3aGVyZToge1xuICAgICAgICAgICAgdHlwZTogYnVpbGRXaGVyZUlucHV0VHlwZSh7XG4gICAgICAgICAgICAgIG5hbWU6IGB2ZXJzaW9ucyR7Zm9ybWF0dGVkTmFtZX1gLFxuICAgICAgICAgICAgICBmaWVsZHM6IHZlcnNpb25HbG9iYWxGaWVsZHMsXG4gICAgICAgICAgICAgIHBhcmVudE5hbWU6IGB2ZXJzaW9ucyR7Zm9ybWF0dGVkTmFtZX1gLFxuICAgICAgICAgICAgfSksXG4gICAgICAgICAgfSxcbiAgICAgICAgICAuLi4oY29uZmlnLmxvY2FsaXphdGlvblxuICAgICAgICAgICAgPyB7XG4gICAgICAgICAgICAgICAgZmFsbGJhY2tMb2NhbGU6IHsgdHlwZTogZ3JhcGhxbFJlc3VsdC50eXBlcy5mYWxsYmFja0xvY2FsZUlucHV0VHlwZSB9LFxuICAgICAgICAgICAgICAgIGxvY2FsZTogeyB0eXBlOiBncmFwaHFsUmVzdWx0LnR5cGVzLmxvY2FsZUlucHV0VHlwZSB9LFxuICAgICAgICAgICAgICB9XG4gICAgICAgICAgICA6IHt9KSxcbiAgICAgICAgICBsaW1pdDogeyB0eXBlOiBHcmFwaFFMSW50IH0sXG4gICAgICAgICAgcGFnZTogeyB0eXBlOiBHcmFwaFFMSW50IH0sXG4gICAgICAgICAgc29ydDogeyB0eXBlOiBHcmFwaFFMU3RyaW5nIH0sXG4gICAgICAgIH0sXG4gICAgICAgIHJlc29sdmU6IGZpbmRWZXJzaW9uc1Jlc29sdmVyKGdsb2JhbCksXG4gICAgICAgIHR5cGU6IGJ1aWxkUGFnaW5hdGVkTGlzdFR5cGUoXG4gICAgICAgICAgYHZlcnNpb25zJHtmb3JtYXROYW1lKGZvcm1hdHRlZE5hbWUpfWAsXG4gICAgICAgICAgZ3JhcGhxbFJlc3VsdC5nbG9iYWxzLmdyYXBoUUxbc2x1Z10udmVyc2lvblR5cGUsXG4gICAgICAgICksXG4gICAgICB9XG4gICAgICBncmFwaHFsUmVzdWx0Lk11dGF0aW9uLmZpZWxkc1tgcmVzdG9yZVZlcnNpb24ke2Zvcm1hdE5hbWUoZm9ybWF0dGVkTmFtZSl9YF0gPSB7XG4gICAgICAgIGFyZ3M6IHtcbiAgICAgICAgICBpZDogeyB0eXBlOiBpZFR5cGUgfSxcbiAgICAgICAgfSxcbiAgICAgICAgcmVzb2x2ZTogcmVzdG9yZVZlcnNpb25SZXNvbHZlcihnbG9iYWwpLFxuICAgICAgICB0eXBlOiBncmFwaHFsUmVzdWx0Lmdsb2JhbHMuZ3JhcGhRTFtzbHVnXS50eXBlLFxuICAgICAgfVxuICAgIH1cbiAgfSlcbn1cblxuZXhwb3J0IGRlZmF1bHQgaW5pdEdsb2JhbHNHcmFwaFFMXG4iXSwibmFtZXMiOlsiaW5pdEdsb2JhbHNHcmFwaFFMIiwiY29uZmlnIiwiZ3JhcGhxbFJlc3VsdCIsIk9iamVjdCIsImtleXMiLCJnbG9iYWxzIiwiZm9yRWFjaCIsInNsdWciLCJnbG9iYWwiLCJmaWVsZHMiLCJncmFwaFFMIiwidmVyc2lvbnMiLCJmb3JtYXR0ZWROYW1lIiwibmFtZSIsInNpbmd1bGFyIiwidG9Xb3JkcyIsImZvcmNlTnVsbGFibGVPYmplY3RUeXBlIiwiQm9vbGVhbiIsImRyYWZ0cyIsInVwZGF0ZU11dGF0aW9uSW5wdXRUeXBlIiwiYnVpbGRNdXRhdGlvbklucHV0VHlwZSIsInBhcmVudE5hbWUiLCJtdXRhdGlvbklucHV0VHlwZSIsIkdyYXBoUUxOb25OdWxsIiwidHlwZSIsImJ1aWxkT2JqZWN0VHlwZSIsImZvcmNlTnVsbGFibGUiLCJRdWVyeSIsImFyZ3MiLCJkcmFmdCIsIkdyYXBoUUxCb29sZWFuIiwibG9jYWxpemF0aW9uIiwiZmFsbGJhY2tMb2NhbGUiLCJ0eXBlcyIsImZhbGxiYWNrTG9jYWxlSW5wdXRUeXBlIiwibG9jYWxlIiwibG9jYWxlSW5wdXRUeXBlIiwicmVzb2x2ZSIsImZpbmRPbmVSZXNvbHZlciIsIk11dGF0aW9uIiwiZGF0YSIsInVwZGF0ZVJlc29sdmVyIiwiZG9jQWNjZXNzUmVzb2x2ZXIiLCJidWlsZFBvbGljeVR5cGUiLCJlbnRpdHkiLCJzY29wZSIsInR5cGVTdWZmaXgiLCJpZFR5cGUiLCJkYiIsImRlZmF1bHRJRFR5cGUiLCJHcmFwaFFMSW50IiwiR3JhcGhRTFN0cmluZyIsInZlcnNpb25HbG9iYWxGaWVsZHMiLCJidWlsZFZlcnNpb25HbG9iYWxGaWVsZHMiLCJsYWJlbCIsInZlcnNpb25UeXBlIiwiZm9ybWF0TmFtZSIsImlkIiwiZmluZFZlcnNpb25CeUlEUmVzb2x2ZXIiLCJ3aGVyZSIsImJ1aWxkV2hlcmVJbnB1dFR5cGUiLCJsaW1pdCIsInBhZ2UiLCJzb3J0IiwiZmluZFZlcnNpb25zUmVzb2x2ZXIiLCJidWlsZFBhZ2luYXRlZExpc3RUeXBlIiwicmVzdG9yZVZlcnNpb25SZXNvbHZlciJdLCJtYXBwaW5ncyI6IkFBQUEsb0NBQW9DOzs7OytCQXFMcEM7OztlQUFBOzs7eUJBcEwwRTsyQkFDakQ7MkJBQ0Q7MEJBQ2lCO3dDQUtGO3dFQUNYOytFQUNPO21DQUNIOzRFQUNBO21FQUNUOzJCQUNXO2dFQUNOO3dFQUNRO3FFQUNIO3VFQUNFOytEQUNSOzs7Ozs7QUFNM0IsU0FBU0EsbUJBQW1CLEVBQUVDLE1BQU0sRUFBRUMsYUFBYSxFQUEwQjtJQUMzRUMsT0FBT0MsSUFBSSxDQUFDRixjQUFjRyxPQUFPLENBQUNKLE1BQU0sRUFBRUssT0FBTyxDQUFDLENBQUNDO1FBQ2pELE1BQU1DLFNBQWdDTixjQUFjRyxPQUFPLENBQUNKLE1BQU0sQ0FBQ00sS0FBSztRQUN4RSxNQUFNLEVBQUVFLE1BQU0sRUFBRUMsT0FBTyxFQUFFQyxRQUFRLEVBQUUsR0FBR0g7UUFFdEMsSUFBSUUsWUFBWSxPQUFPO1lBQ3JCO1FBQ0Y7UUFFQSxNQUFNRSxnQkFBZ0JGLFNBQVNHLE9BQU9ILFFBQVFHLElBQUksR0FBR0MsSUFBQUEsbUJBQVEsRUFBQ0MsSUFBQUEsa0JBQU8sRUFBQ1AsT0FBT0QsSUFBSSxFQUFFO1FBRW5GLE1BQU1TLDBCQUEwQkMsUUFBUU4sVUFBVU87UUFFbEQsSUFBSSxDQUFDaEIsY0FBY0csT0FBTyxDQUFDSyxPQUFPLEVBQUVSLGNBQWNHLE9BQU8sQ0FBQ0ssT0FBTyxHQUFHLENBQUM7UUFFckUsTUFBTVMsMEJBQTBCQyxJQUFBQSw4Q0FBc0IsRUFBQztZQUNyRFAsTUFBTUQ7WUFDTkg7WUFDQVksWUFBWVQ7WUFDWlY7WUFDQUQ7UUFDRjtRQUNBQyxjQUFjRyxPQUFPLENBQUNLLE9BQU8sQ0FBQ0gsS0FBSyxHQUFHO1lBQ3BDZSxtQkFBbUJILDBCQUNmLElBQUlJLHVCQUFjLENBQUNKLDJCQUNuQjtZQUNKSyxNQUFNQyxJQUFBQSx3QkFBZSxFQUFDO2dCQUNwQlos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
|
|
179
|
+
//# sourceMappingURL=initGlobals.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../../src/schema/initGlobals.ts"],"sourcesContent":["/* eslint-disable no-param-reassign */\nimport { GraphQLBoolean, GraphQLInt, GraphQLNonNull, GraphQLString } from 'graphql'\nimport pluralize from 'pluralize'\nconst { singular } = pluralize\n\nimport type { GraphQLInfo } from 'payload/config'\nimport type { Field, SanitizedConfig, SanitizedGlobalConfig } from 'payload/types'\n\nimport { toWords } from 'payload/utilities'\nimport { buildVersionGlobalFields } from 'payload/versions'\n\nimport { docAccessResolver } from '../resolvers/globals/docAccess.js'\nimport findOneResolver from '../resolvers/globals/findOne.js'\nimport findVersionByIDResolver from '../resolvers/globals/findVersionByID.js'\nimport findVersionsResolver from '../resolvers/globals/findVersions.js'\nimport restoreVersionResolver from '../resolvers/globals/restoreVersion.js'\nimport updateResolver from '../resolvers/globals/update.js'\nimport formatName from '../utilities/formatName.js'\nimport { buildMutationInputType } from './buildMutationInputType.js'\nimport buildObjectType from './buildObjectType.js'\nimport buildPaginatedListType from './buildPaginatedListType.js'\nimport { buildPolicyType } from './buildPoliciesType.js'\nimport buildWhereInputType from './buildWhereInputType.js'\n\ntype InitGlobalsGraphQLArgs = {\n config: SanitizedConfig\n graphqlResult: GraphQLInfo\n}\nfunction initGlobalsGraphQL({ config, graphqlResult }: InitGlobalsGraphQLArgs): void {\n Object.keys(graphqlResult.globals.config).forEach((slug) => {\n const global: SanitizedGlobalConfig = graphqlResult.globals.config[slug]\n const { fields, graphQL, versions } = global\n\n if (graphQL === false) {\n return\n }\n\n const formattedName = graphQL?.name ? graphQL.name : singular(toWords(global.slug, true))\n\n const forceNullableObjectType = Boolean(versions?.drafts)\n\n if (!graphqlResult.globals.graphQL) graphqlResult.globals.graphQL = {}\n\n const updateMutationInputType = buildMutationInputType({\n name: formattedName,\n config,\n fields,\n graphqlResult,\n parentName: formattedName,\n })\n graphqlResult.globals.graphQL[slug] = {\n type: buildObjectType({\n name: formattedName,\n config,\n fields,\n forceNullable: forceNullableObjectType,\n graphqlResult,\n parentName: formattedName,\n }),\n mutationInputType: updateMutationInputType\n ? new GraphQLNonNull(updateMutationInputType)\n : null,\n }\n\n graphqlResult.Query.fields[formattedName] = {\n type: graphqlResult.globals.graphQL[slug].type,\n args: {\n draft: { type: GraphQLBoolean },\n ...(config.localization\n ? {\n fallbackLocale: { type: graphqlResult.types.fallbackLocaleInputType },\n locale: { type: graphqlResult.types.localeInputType },\n }\n : {}),\n },\n resolve: findOneResolver(global),\n }\n\n graphqlResult.Mutation.fields[`update${formattedName}`] = {\n type: graphqlResult.globals.graphQL[slug].type,\n args: {\n ...(updateMutationInputType\n ? { data: { type: graphqlResult.globals.graphQL[slug].mutationInputType } }\n : {}),\n draft: { type: GraphQLBoolean },\n ...(config.localization\n ? {\n locale: { type: graphqlResult.types.localeInputType },\n }\n : {}),\n },\n resolve: updateResolver(global),\n }\n\n graphqlResult.Query.fields[`docAccess${formattedName}`] = {\n type: buildPolicyType({\n type: 'global',\n entity: global,\n scope: 'docAccess',\n typeSuffix: 'DocAccess',\n }),\n resolve: docAccessResolver(global),\n }\n\n if (global.versions) {\n const idType = config.db.defaultIDType === 'number' ? GraphQLInt : GraphQLString\n\n const versionGlobalFields: Field[] = [\n ...buildVersionGlobalFields(global),\n {\n name: 'id',\n type: config.db.defaultIDType as 'text',\n },\n {\n name: 'createdAt',\n type: 'date',\n label: 'Created At',\n },\n {\n name: 'updatedAt',\n type: 'date',\n label: 'Updated At',\n },\n ]\n\n graphqlResult.globals.graphQL[slug].versionType = buildObjectType({\n name: `${formattedName}Version`,\n config,\n fields: versionGlobalFields,\n forceNullable: forceNullableObjectType,\n graphqlResult,\n parentName: `${formattedName}Version`,\n })\n\n graphqlResult.Query.fields[`version${formatName(formattedName)}`] = {\n type: graphqlResult.globals.graphQL[slug].versionType,\n args: {\n id: { type: idType },\n ...(config.localization\n ? {\n fallbackLocale: { type: graphqlResult.types.fallbackLocaleInputType },\n locale: { type: graphqlResult.types.localeInputType },\n }\n : {}),\n },\n resolve: findVersionByIDResolver(global),\n }\n graphqlResult.Query.fields[`versions${formattedName}`] = {\n type: buildPaginatedListType(\n `versions${formatName(formattedName)}`,\n graphqlResult.globals.graphQL[slug].versionType,\n ),\n args: {\n where: {\n type: buildWhereInputType({\n name: `versions${formattedName}`,\n fields: versionGlobalFields,\n parentName: `versions${formattedName}`,\n }),\n },\n ...(config.localization\n ? {\n fallbackLocale: { type: graphqlResult.types.fallbackLocaleInputType },\n locale: { type: graphqlResult.types.localeInputType },\n }\n : {}),\n limit: { type: GraphQLInt },\n page: { type: GraphQLInt },\n sort: { type: GraphQLString },\n },\n resolve: findVersionsResolver(global),\n }\n graphqlResult.Mutation.fields[`restoreVersion${formatName(formattedName)}`] = {\n type: graphqlResult.globals.graphQL[slug].type,\n args: {\n id: { type: idType },\n },\n resolve: restoreVersionResolver(global),\n }\n }\n })\n}\n\nexport default initGlobalsGraphQL\n"],"names":["GraphQLBoolean","GraphQLInt","GraphQLNonNull","GraphQLString","pluralize","singular","toWords","buildVersionGlobalFields","docAccessResolver","findOneResolver","findVersionByIDResolver","findVersionsResolver","restoreVersionResolver","updateResolver","formatName","buildMutationInputType","buildObjectType","buildPaginatedListType","buildPolicyType","buildWhereInputType","initGlobalsGraphQL","config","graphqlResult","Object","keys","globals","forEach","slug","global","fields","graphQL","versions","formattedName","name","forceNullableObjectType","Boolean","drafts","updateMutationInputType","parentName","type","forceNullable","mutationInputType","Query","args","draft","localization","fallbackLocale","types","fallbackLocaleInputType","locale","localeInputType","resolve","Mutation","data","entity","scope","typeSuffix","idType","db","defaultIDType","versionGlobalFields","label","versionType","id","where","limit","page","sort"],"rangeMappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;","mappings":"AAAA,oCAAoC,GACpC,SAASA,cAAc,EAAEC,UAAU,EAAEC,cAAc,EAAEC,aAAa,QAAQ,UAAS;AACnF,OAAOC,eAAe,YAAW;AACjC,MAAM,EAAEC,QAAQ,EAAE,GAAGD;AAKrB,SAASE,OAAO,QAAQ,oBAAmB;AAC3C,SAASC,wBAAwB,QAAQ,mBAAkB;AAE3D,SAASC,iBAAiB,QAAQ,oCAAmC;AACrE,OAAOC,qBAAqB,kCAAiC;AAC7D,OAAOC,6BAA6B,0CAAyC;AAC7E,OAAOC,0BAA0B,uCAAsC;AACvE,OAAOC,4BAA4B,yCAAwC;AAC3E,OAAOC,oBAAoB,iCAAgC;AAC3D,OAAOC,gBAAgB,6BAA4B;AACnD,SAASC,sBAAsB,QAAQ,8BAA6B;AACpE,OAAOC,qBAAqB,uBAAsB;AAClD,OAAOC,4BAA4B,8BAA6B;AAChE,SAASC,eAAe,QAAQ,yBAAwB;AACxD,OAAOC,yBAAyB,2BAA0B;AAM1D,SAASC,mBAAmB,EAAEC,MAAM,EAAEC,aAAa,EAA0B;IAC3EC,OAAOC,IAAI,CAACF,cAAcG,OAAO,CAACJ,MAAM,EAAEK,OAAO,CAAC,CAACC;QACjD,MAAMC,SAAgCN,cAAcG,OAAO,CAACJ,MAAM,CAACM,KAAK;QACxE,MAAM,EAAEE,MAAM,EAAEC,OAAO,EAAEC,QAAQ,EAAE,GAAGH;QAEtC,IAAIE,YAAY,OAAO;YACrB;QACF;QAEA,MAAME,gBAAgBF,SAASG,OAAOH,QAAQG,IAAI,GAAG5B,SAASC,QAAQsB,OAAOD,IAAI,EAAE;QAEnF,MAAMO,0BAA0BC,QAAQJ,UAAUK;QAElD,IAAI,CAACd,cAAcG,OAAO,CAACK,OAAO,EAAER,cAAcG,OAAO,CAACK,OAAO,GAAG,CAAC;QAErE,MAAMO,0BAA0BtB,uBAAuB;YACrDkB,MAAMD;YACNX;YACAQ;YACAP;YACAgB,YAAYN;QACd;QACAV,cAAcG,OAAO,CAACK,OAAO,CAACH,KAAK,GAAG;YACpCY,MAAMvB,gBAAgB;gBACpBiB,MAAMD;gBACNX;gBACAQ;gBACAW,eAAeN;gBACfZ;gBACAgB,YAAYN;YACd;YACAS,mBAAmBJ,0BACf,IAAInC,eAAemC,2BACnB;QACN;QAEAf,cAAcoB,KAAK,CAACb,MAAM,CAACG,cAAc,GAAG;YAC1CO,MAAMjB,cAAcG,OAAO,CAACK,OAAO,CAACH,KAAK,CAACY,IAAI;YAC9CI,MAAM;gBACJC,OAAO;oBAAEL,MAAMvC;gBAAe;gBAC9B,GAAIqB,OAAOwB,YAAY,GACnB;oBACEC,gBAAgB;wBAAEP,MAAMjB,cAAcyB,KAAK,CAACC,uBAAuB;oBAAC;oBACpEC,QAAQ;wBAAEV,MAAMjB,cAAcyB,KAAK,CAACG,eAAe;oBAAC;gBACtD,IACA,CAAC,CAAC;YACR;YACAC,SAAS1C,gBAAgBmB;QAC3B;QAEAN,cAAc8B,QAAQ,CAACvB,MAAM,CAAC,CAAC,MAAM,EAAEG,cAAc,CAAC,CAAC,GAAG;YACxDO,MAAMjB,cAAcG,OAAO,CAACK,OAAO,CAACH,KAAK,CAACY,IAAI;YAC9CI,MAAM;gBACJ,GAAIN,0BACA;oBAAEgB,MAAM;wBAAEd,MAAMjB,cAAcG,OAAO,CAACK,OAAO,CAACH,KAAK,CAACc,iBAAiB;oBAAC;gBAAE,IACxE,CAAC,CAAC;gBACNG,OAAO;oBAAEL,MAAMvC;gBAAe;gBAC9B,GAAIqB,OAAOwB,YAAY,GACnB;oBACEI,QAAQ;wBAAEV,MAAMjB,cAAcyB,KAAK,CAACG,eAAe;oBAAC;gBACtD,IACA,CAAC,CAAC;YACR;YACAC,SAAStC,eAAee;QAC1B;QAEAN,cAAcoB,KAAK,CAACb,MAAM,CAAC,CAAC,SAAS,EAAEG,cAAc,CAAC,CAAC,GAAG;YACxDO,MAAMrB,gBAAgB;gBACpBqB,MAAM;gBACNe,QAAQ1B;gBACR2B,OAAO;gBACPC,YAAY;YACd;YACAL,SAAS3C,kBAAkBoB;QAC7B;QAEA,IAAIA,OAAOG,QAAQ,EAAE;YACnB,MAAM0B,SAASpC,OAAOqC,EAAE,CAACC,aAAa,KAAK,WAAW1D,aAAaE;YAEnE,MAAMyD,sBAA+B;mBAChCrD,yBAAyBqB;gBAC5B;oBACEK,MAAM;oBACNM,MAAMlB,OAAOqC,EAAE,CAACC,aAAa;gBAC/B;gBACA;oBACE1B,MAAM;oBACNM,MAAM;oBACNsB,OAAO;gBACT;gBACA;oBACE5B,MAAM;oBACNM,MAAM;oBACNsB,OAAO;gBACT;aACD;YAEDvC,cAAcG,OAAO,CAACK,OAAO,CAACH,KAAK,CAACmC,WAAW,GAAG9C,gBAAgB;gBAChEiB,MAAM,CAAC,EAAED,cAAc,OAAO,CAAC;gBAC/BX;gBACAQ,QAAQ+B;gBACRpB,eAAeN;gBACfZ;gBACAgB,YAAY,CAAC,EAAEN,cAAc,OAAO,CAAC;YACvC;YAEAV,cAAcoB,KAAK,CAACb,MAAM,CAAC,CAAC,OAAO,EAAEf,WAAWkB,eAAe,CAAC,CAAC,GAAG;gBAClEO,MAAMjB,cAAcG,OAAO,CAACK,OAAO,CAACH,KAAK,CAACmC,WAAW;gBACrDnB,MAAM;oBACJoB,IAAI;wBAAExB,MAAMkB;oBAAO;oBACnB,GAAIpC,OAAOwB,YAAY,GACnB;wBACEC,gBAAgB;4BAAEP,MAAMjB,cAAcyB,KAAK,CAACC,uBAAuB;wBAAC;wBACpEC,QAAQ;4BAAEV,MAAMjB,cAAcyB,KAAK,CAACG,eAAe;wBAAC;oBACtD,IACA,CAAC,CAAC;gBACR;gBACAC,SAASzC,wBAAwBkB;YACnC;YACAN,cAAcoB,KAAK,CAACb,MAAM,CAAC,CAAC,QAAQ,EAAEG,cAAc,CAAC,CAAC,GAAG;gBACvDO,MAAMtB,uBACJ,CAAC,QAAQ,EAAEH,WAAWkB,eAAe,CAAC,EACtCV,cAAcG,OAAO,CAACK,OAAO,CAACH,KAAK,CAACmC,WAAW;gBAEjDnB,MAAM;oBACJqB,OAAO;wBACLzB,MAAMpB,oBAAoB;4BACxBc,MAAM,CAAC,QAAQ,EAAED,cAAc,CAAC;4BAChCH,QAAQ+B;4BACRtB,YAAY,CAAC,QAAQ,EAAEN,cAAc,CAAC;wBACxC;oBACF;oBACA,GAAIX,OAAOwB,YAAY,GACnB;wBACEC,gBAAgB;4BAAEP,MAAMjB,cAAcyB,KAAK,CAACC,uBAAuB;wBAAC;wBACpEC,QAAQ;4BAAEV,MAAMjB,cAAcyB,KAAK,CAACG,eAAe;wBAAC;oBACtD,IACA,CAAC,CAAC;oBACNe,OAAO;wBAAE1B,MAAMtC;oBAAW;oBAC1BiE,MAAM;wBAAE3B,MAAMtC;oBAAW;oBACzBkE,MAAM;wBAAE5B,MAAMpC;oBAAc;gBAC9B;gBACAgD,SAASxC,qBAAqBiB;YAChC;YACAN,cAAc8B,QAAQ,CAACvB,MAAM,CAAC,CAAC,cAAc,EAAEf,WAAWkB,eAAe,CAAC,CAAC,GAAG;gBAC5EO,MAAMjB,cAAcG,OAAO,CAACK,OAAO,CAACH,KAAK,CAACY,IAAI;gBAC9CI,MAAM;oBACJoB,IAAI;wBAAExB,MAAMkB;oBAAO;gBACrB;gBACAN,SAASvC,uBAAuBgB;YAClC;QACF;IACF;AACF;AAEA,eAAeR,mBAAkB"}
|
|
@@ -1,19 +1,9 @@
|
|
|
1
|
-
|
|
2
|
-
Object.defineProperty(exports, "__esModule", {
|
|
3
|
-
value: true
|
|
4
|
-
});
|
|
5
|
-
Object.defineProperty(exports, "default", {
|
|
6
|
-
enumerable: true,
|
|
7
|
-
get: function() {
|
|
8
|
-
return _default;
|
|
9
|
-
}
|
|
10
|
-
});
|
|
11
|
-
const _types = require("payload/types");
|
|
1
|
+
import { fieldAffectsData } from 'payload/types';
|
|
12
2
|
const isFieldNullable = (field, force)=>{
|
|
13
3
|
const hasReadAccessControl = field.access && field.access.read;
|
|
14
4
|
const condition = field.admin && field.admin.condition;
|
|
15
|
-
return !(force &&
|
|
5
|
+
return !(force && fieldAffectsData(field) && 'required' in field && field.required && !field.localized && !condition && !hasReadAccessControl);
|
|
16
6
|
};
|
|
17
|
-
|
|
7
|
+
export default isFieldNullable;
|
|
18
8
|
|
|
19
|
-
//# sourceMappingURL=
|
|
9
|
+
//# sourceMappingURL=isFieldNullable.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../../src/schema/isFieldNullable.ts"],"sourcesContent":["import type { FieldAffectingData } from 'payload/types'\n\nimport { fieldAffectsData } from 'payload/types'\n\nconst isFieldNullable = (field: FieldAffectingData, force: boolean): boolean => {\n const hasReadAccessControl = field.access && field.access.read\n const condition = field.admin && field.admin.condition\n return !(\n force &&\n fieldAffectsData(field) &&\n 'required' in field &&\n field.required &&\n !field.localized &&\n !condition &&\n !hasReadAccessControl\n )\n}\n\nexport default isFieldNullable\n"],"names":["fieldAffectsData","isFieldNullable","field","force","hasReadAccessControl","access","read","condition","admin","required","localized"],"rangeMappings":";;;;;;","mappings":"AAEA,SAASA,gBAAgB,QAAQ,gBAAe;AAEhD,MAAMC,kBAAkB,CAACC,OAA2BC;IAClD,MAAMC,uBAAuBF,MAAMG,MAAM,IAAIH,MAAMG,MAAM,CAACC,IAAI;IAC9D,MAAMC,YAAYL,MAAMM,KAAK,IAAIN,MAAMM,KAAK,CAACD,SAAS;IACtD,OAAO,CACLJ,CAAAA,SACAH,iBAAiBE,UACjB,cAAcA,SACdA,MAAMO,QAAQ,IACd,CAACP,MAAMQ,SAAS,IAChB,CAACH,aACD,CAACH,oBAAmB;AAExB;AAEA,eAAeH,gBAAe"}
|
package/dist/schema/operators.js
CHANGED
|
@@ -1,13 +1,3 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", {
|
|
3
|
-
value: true
|
|
4
|
-
});
|
|
5
|
-
Object.defineProperty(exports, "default", {
|
|
6
|
-
enumerable: true,
|
|
7
|
-
get: function() {
|
|
8
|
-
return _default;
|
|
9
|
-
}
|
|
10
|
-
});
|
|
11
1
|
const operators = {
|
|
12
2
|
comparison: [
|
|
13
3
|
'greater_than_equal',
|
|
@@ -36,6 +26,6 @@ const operators = {
|
|
|
36
26
|
'contains'
|
|
37
27
|
]
|
|
38
28
|
};
|
|
39
|
-
|
|
29
|
+
export default operators;
|
|
40
30
|
|
|
41
|
-
//# sourceMappingURL=
|
|
31
|
+
//# sourceMappingURL=operators.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../../src/schema/operators.ts"],"sourcesContent":["const operators = {\n comparison: ['greater_than_equal', 'greater_than', 'less_than_equal', 'less_than'],\n contains: ['in', 'not_in', 'all'],\n equality: ['equals', 'not_equals'],\n geo: ['near'],\n geojson: ['within', 'intersects'],\n partial: ['like', 'contains'],\n}\n\nexport default operators\n"],"names":["operators","comparison","contains","equality","geo","geojson","partial"],"rangeMappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;","mappings":"AAAA,MAAMA,YAAY;IAChBC,YAAY;QAAC;QAAsB;QAAgB;QAAmB;KAAY;IAClFC,UAAU;QAAC;QAAM;QAAU;KAAM;IACjCC,UAAU;QAAC;QAAU;KAAa;IAClCC,KAAK;QAAC;KAAO;IACbC,SAAS;QAAC;QAAU;KAAa;IACjCC,SAAS;QAAC;QAAQ;KAAW;AAC/B;AAEA,eAAeN,UAAS"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"recursivelyBuildNestedPaths.d.ts","sourceRoot":"","sources":["../../src/schema/recursivelyBuildNestedPaths.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,kBAAkB,EAAE,SAAS,EAAE,MAAM,eAAe,CAAA;
|
|
1
|
+
{"version":3,"file":"recursivelyBuildNestedPaths.d.ts","sourceRoot":"","sources":["../../src/schema/recursivelyBuildNestedPaths.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,kBAAkB,EAAE,SAAS,EAAE,MAAM,eAAe,CAAA;AAMlE,KAAK,IAAI,GAAG;IACV,KAAK,EAAE,kBAAkB,GAAG,SAAS,CAAA;IACrC,gBAAgB,EAAE,MAAM,CAAA;IACxB,UAAU,EAAE,MAAM,CAAA;CACnB,CAAA;AAED,QAAA,MAAM,2BAA2B,4CAA6C,IAAI,QAmEjF,CAAA;AAED,eAAe,2BAA2B,CAAA"}
|
|
@@ -1,22 +1,7 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
value: true
|
|
4
|
-
});
|
|
5
|
-
Object.defineProperty(exports, "default", {
|
|
6
|
-
enumerable: true,
|
|
7
|
-
get: function() {
|
|
8
|
-
return _default;
|
|
9
|
-
}
|
|
10
|
-
});
|
|
11
|
-
const _types = require("payload/types");
|
|
12
|
-
const _fieldToWhereInputSchemaMap = /*#__PURE__*/ _interop_require_default(require("./fieldToWhereInputSchemaMap"));
|
|
13
|
-
function _interop_require_default(obj) {
|
|
14
|
-
return obj && obj.__esModule ? obj : {
|
|
15
|
-
default: obj
|
|
16
|
-
};
|
|
17
|
-
}
|
|
1
|
+
import { fieldAffectsData, fieldIsPresentationalOnly } from 'payload/types';
|
|
2
|
+
import fieldToSchemaMap from './fieldToWhereInputSchemaMap.js';
|
|
18
3
|
const recursivelyBuildNestedPaths = ({ field, nestedFieldName2, parentName })=>{
|
|
19
|
-
const fieldName =
|
|
4
|
+
const fieldName = fieldAffectsData(field) ? field.name : undefined;
|
|
20
5
|
const nestedFieldName = fieldName || nestedFieldName2;
|
|
21
6
|
if (field.type === 'tabs') {
|
|
22
7
|
// if the tab has a name, treat it as a group
|
|
@@ -34,8 +19,8 @@ const recursivelyBuildNestedPaths = ({ field, nestedFieldName2, parentName })=>{
|
|
|
34
19
|
}, []);
|
|
35
20
|
}
|
|
36
21
|
const nestedPaths = field.fields.reduce((nestedFields, nestedField)=>{
|
|
37
|
-
if (!
|
|
38
|
-
if (!
|
|
22
|
+
if (!fieldIsPresentationalOnly(nestedField)) {
|
|
23
|
+
if (!fieldAffectsData(nestedField)) {
|
|
39
24
|
return [
|
|
40
25
|
...nestedFields,
|
|
41
26
|
...recursivelyBuildNestedPaths({
|
|
@@ -45,8 +30,8 @@ const recursivelyBuildNestedPaths = ({ field, nestedFieldName2, parentName })=>{
|
|
|
45
30
|
})
|
|
46
31
|
];
|
|
47
32
|
}
|
|
48
|
-
const nestedPathName =
|
|
49
|
-
const getFieldSchema = (
|
|
33
|
+
const nestedPathName = fieldAffectsData(nestedField) ? `${nestedFieldName ? `${nestedFieldName}__` : ''}${nestedField.name}` : undefined;
|
|
34
|
+
const getFieldSchema = fieldToSchemaMap({
|
|
50
35
|
nestedFieldName,
|
|
51
36
|
parentName
|
|
52
37
|
})[nestedField.type];
|
|
@@ -64,8 +49,8 @@ const recursivelyBuildNestedPaths = ({ field, nestedFieldName2, parentName })=>{
|
|
|
64
49
|
return [
|
|
65
50
|
...nestedFields,
|
|
66
51
|
{
|
|
67
|
-
|
|
68
|
-
|
|
52
|
+
type: fieldSchema,
|
|
53
|
+
key: nestedPathName
|
|
69
54
|
}
|
|
70
55
|
];
|
|
71
56
|
}
|
|
@@ -74,6 +59,6 @@ const recursivelyBuildNestedPaths = ({ field, nestedFieldName2, parentName })=>{
|
|
|
74
59
|
}, []);
|
|
75
60
|
return nestedPaths;
|
|
76
61
|
};
|
|
77
|
-
|
|
62
|
+
export default recursivelyBuildNestedPaths;
|
|
78
63
|
|
|
79
|
-
//# sourceMappingURL=
|
|
64
|
+
//# sourceMappingURL=recursivelyBuildNestedPaths.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../../src/schema/recursivelyBuildNestedPaths.ts"],"sourcesContent":["import type { FieldWithSubFields, TabsField } from 'payload/types'\n\nimport { fieldAffectsData, fieldIsPresentationalOnly } from 'payload/types'\n\nimport fieldToSchemaMap from './fieldToWhereInputSchemaMap.js'\n\ntype Args = {\n field: FieldWithSubFields | TabsField\n nestedFieldName2: string\n parentName: string\n}\n\nconst recursivelyBuildNestedPaths = ({ field, nestedFieldName2, parentName }: Args) => {\n const fieldName = fieldAffectsData(field) ? field.name : undefined\n const nestedFieldName = fieldName || nestedFieldName2\n\n if (field.type === 'tabs') {\n // if the tab has a name, treat it as a group\n // otherwise, treat it as a row\n return field.tabs.reduce((tabSchema, tab: any) => {\n tabSchema.push(\n ...recursivelyBuildNestedPaths({\n field: {\n ...tab,\n type: 'name' in tab ? 'group' : 'row',\n },\n nestedFieldName2: nestedFieldName,\n parentName,\n }),\n )\n return tabSchema\n }, [])\n }\n\n const nestedPaths = field.fields.reduce((nestedFields, nestedField) => {\n if (!fieldIsPresentationalOnly(nestedField)) {\n if (!fieldAffectsData(nestedField)) {\n return [\n ...nestedFields,\n ...recursivelyBuildNestedPaths({\n field: nestedField,\n nestedFieldName2: nestedFieldName,\n parentName,\n }),\n ]\n }\n\n const nestedPathName = fieldAffectsData(nestedField)\n ? `${nestedFieldName ? `${nestedFieldName}__` : ''}${nestedField.name}`\n : undefined\n const getFieldSchema = fieldToSchemaMap({\n nestedFieldName,\n parentName,\n })[nestedField.type]\n\n if (getFieldSchema) {\n const fieldSchema = getFieldSchema({\n ...nestedField,\n name: nestedPathName,\n })\n\n if (Array.isArray(fieldSchema)) {\n return [...nestedFields, ...fieldSchema]\n }\n\n return [\n ...nestedFields,\n {\n type: fieldSchema,\n key: nestedPathName,\n },\n ]\n }\n }\n\n return nestedFields\n }, [])\n\n return nestedPaths\n}\n\nexport default recursivelyBuildNestedPaths\n"],"names":["fieldAffectsData","fieldIsPresentationalOnly","fieldToSchemaMap","recursivelyBuildNestedPaths","field","nestedFieldName2","parentName","fieldName","name","undefined","nestedFieldName","type","tabs","reduce","tabSchema","tab","push","nestedPaths","fields","nestedFields","nestedField","nestedPathName","getFieldSchema","fieldSchema","Array","isArray","key"],"rangeMappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;","mappings":"AAEA,SAASA,gBAAgB,EAAEC,yBAAyB,QAAQ,gBAAe;AAE3E,OAAOC,sBAAsB,kCAAiC;AAQ9D,MAAMC,8BAA8B,CAAC,EAAEC,KAAK,EAAEC,gBAAgB,EAAEC,UAAU,EAAQ;IAChF,MAAMC,YAAYP,iBAAiBI,SAASA,MAAMI,IAAI,GAAGC;IACzD,MAAMC,kBAAkBH,aAAaF;IAErC,IAAID,MAAMO,IAAI,KAAK,QAAQ;QACzB,6CAA6C;QAC7C,+BAA+B;QAC/B,OAAOP,MAAMQ,IAAI,CAACC,MAAM,CAAC,CAACC,WAAWC;YACnCD,UAAUE,IAAI,IACTb,4BAA4B;gBAC7BC,OAAO;oBACL,GAAGW,GAAG;oBACNJ,MAAM,UAAUI,MAAM,UAAU;gBAClC;gBACAV,kBAAkBK;gBAClBJ;YACF;YAEF,OAAOQ;QACT,GAAG,EAAE;IACP;IAEA,MAAMG,cAAcb,MAAMc,MAAM,CAACL,MAAM,CAAC,CAACM,cAAcC;QACrD,IAAI,CAACnB,0BAA0BmB,cAAc;YAC3C,IAAI,CAACpB,iBAAiBoB,cAAc;gBAClC,OAAO;uBACFD;uBACAhB,4BAA4B;wBAC7BC,OAAOgB;wBACPf,kBAAkBK;wBAClBJ;oBACF;iBACD;YACH;YAEA,MAAMe,iBAAiBrB,iBAAiBoB,eACpC,CAAC,EAAEV,kBAAkB,CAAC,EAAEA,gBAAgB,EAAE,CAAC,GAAG,GAAG,EAAEU,YAAYZ,IAAI,CAAC,CAAC,GACrEC;YACJ,MAAMa,iBAAiBpB,iBAAiB;gBACtCQ;gBACAJ;YACF,EAAE,CAACc,YAAYT,IAAI,CAAC;YAEpB,IAAIW,gBAAgB;gBAClB,MAAMC,cAAcD,eAAe;oBACjC,GAAGF,WAAW;oBACdZ,MAAMa;gBACR;gBAEA,IAAIG,MAAMC,OAAO,CAACF,cAAc;oBAC9B,OAAO;2BAAIJ;2BAAiBI;qBAAY;gBAC1C;gBAEA,OAAO;uBACFJ;oBACH;wBACER,MAAMY;wBACNG,KAAKL;oBACP;iBACD;YACH;QACF;QAEA,OAAOF;IACT,GAAG,EAAE;IAEL,OAAOF;AACT;AAEA,eAAed,4BAA2B"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"withNullableType.d.ts","sourceRoot":"","sources":["../../src/schema/withNullableType.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,SAAS,CAAA;
|
|
1
|
+
{"version":3,"file":"withNullableType.d.ts","sourceRoot":"","sources":["../../src/schema/withNullableType.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,SAAS,CAAA;AAC1C,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,eAAe,CAAA;AAIvD,QAAA,MAAM,gBAAgB,UACb,kBAAkB,QACnB,WAAW,8BAEhB,WAkBF,CAAA;AAED,eAAe,gBAAgB,CAAA"}
|
|
@@ -1,23 +1,13 @@
|
|
|
1
|
-
|
|
2
|
-
Object.defineProperty(exports, "__esModule", {
|
|
3
|
-
value: true
|
|
4
|
-
});
|
|
5
|
-
Object.defineProperty(exports, "default", {
|
|
6
|
-
enumerable: true,
|
|
7
|
-
get: function() {
|
|
8
|
-
return _default;
|
|
9
|
-
}
|
|
10
|
-
});
|
|
11
|
-
const _graphql = require("graphql");
|
|
1
|
+
import { GraphQLNonNull } from 'graphql';
|
|
12
2
|
const withNullableType = (field, type, forceNullable = false)=>{
|
|
13
3
|
const hasReadAccessControl = field.access && field.access.read;
|
|
14
4
|
const condition = field.admin && field.admin.condition;
|
|
15
5
|
const isTimestamp = field.name === 'createdAt' || field.name === 'updatedAt';
|
|
16
6
|
if (!forceNullable && 'required' in field && field.required && !field.localized && !condition && !hasReadAccessControl && !isTimestamp) {
|
|
17
|
-
return new
|
|
7
|
+
return new GraphQLNonNull(type);
|
|
18
8
|
}
|
|
19
9
|
return type;
|
|
20
10
|
};
|
|
21
|
-
|
|
11
|
+
export default withNullableType;
|
|
22
12
|
|
|
23
|
-
//# sourceMappingURL=
|
|
13
|
+
//# sourceMappingURL=withNullableType.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../../src/schema/withNullableType.ts"],"sourcesContent":["import type { GraphQLType } from 'graphql'\nimport type { FieldAffectingData } from 'payload/types'\n\nimport { GraphQLNonNull } from 'graphql'\n\nconst withNullableType = (\n field: FieldAffectingData,\n type: GraphQLType,\n forceNullable = false,\n): GraphQLType => {\n const hasReadAccessControl = field.access && field.access.read\n const condition = field.admin && field.admin.condition\n const isTimestamp = field.name === 'createdAt' || field.name === 'updatedAt'\n\n if (\n !forceNullable &&\n 'required' in field &&\n field.required &&\n !field.localized &&\n !condition &&\n !hasReadAccessControl &&\n !isTimestamp\n ) {\n return new GraphQLNonNull(type)\n }\n\n return type\n}\n\nexport default withNullableType\n"],"names":["GraphQLNonNull","withNullableType","field","type","forceNullable","hasReadAccessControl","access","read","condition","admin","isTimestamp","name","required","localized"],"rangeMappings":";;;;;;;;;;","mappings":"AAGA,SAASA,cAAc,QAAQ,UAAS;AAExC,MAAMC,mBAAmB,CACvBC,OACAC,MACAC,gBAAgB,KAAK;IAErB,MAAMC,uBAAuBH,MAAMI,MAAM,IAAIJ,MAAMI,MAAM,CAACC,IAAI;IAC9D,MAAMC,YAAYN,MAAMO,KAAK,IAAIP,MAAMO,KAAK,CAACD,SAAS;IACtD,MAAME,cAAcR,MAAMS,IAAI,KAAK,eAAeT,MAAMS,IAAI,KAAK;IAEjE,IACE,CAACP,iBACD,cAAcF,SACdA,MAAMU,QAAQ,IACd,CAACV,MAAMW,SAAS,IAChB,CAACL,aACD,CAACH,wBACD,CAACK,aACD;QACA,OAAO,IAAIV,eAAeG;IAC5B;IAEA,OAAOA;AACT;AAEA,eAAeF,iBAAgB"}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import { GraphQLInputObjectType } from 'graphql';
|
|
2
1
|
import type { FieldAffectingData } from 'payload/types';
|
|
2
|
+
import { GraphQLInputObjectType } from 'graphql';
|
|
3
3
|
/**
|
|
4
4
|
* In GraphQL, you can use "where" as an argument to filter a collection. Example:
|
|
5
5
|
* { Posts(where: { title: { equals: "Hello" } }) { text } }
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"withOperators.d.ts","sourceRoot":"","sources":["../../src/schema/withOperators.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"withOperators.d.ts","sourceRoot":"","sources":["../../src/schema/withOperators.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,kBAAkB,EAAwC,MAAM,eAAe,CAAA;AAE7F,OAAO,EAIL,sBAAsB,EAIvB,MAAM,SAAS,CAAA;AA8OhB;;;;;;;;;;;GAWG;AACH,eAAO,MAAM,aAAa,UACjB,kBAAkB,cACb,MAAM,KACjB,sBA+CF,CAAA"}
|