payload 3.0.0-alpha.65 → 3.0.0-alpha.66
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/admin/RichText.d.ts +3 -0
- package/dist/admin/RichText.d.ts.map +1 -1
- package/dist/admin/RichText.js.map +1 -1
- package/dist/admin/elements/Tab.d.ts +3 -0
- package/dist/admin/elements/Tab.d.ts.map +1 -1
- package/dist/admin/elements/Tab.js.map +1 -1
- package/dist/admin/types.d.ts +1 -1
- package/dist/admin/types.d.ts.map +1 -1
- package/dist/admin/types.js.map +1 -1
- package/dist/auth/getAccessResults.js +1 -1
- package/dist/auth/getAccessResults.js.map +1 -1
- package/dist/auth/operations/forgotPassword.js +3 -2
- package/dist/auth/operations/forgotPassword.js.map +1 -1
- package/dist/auth/sendVerificationEmail.js +3 -2
- package/dist/auth/sendVerificationEmail.js.map +1 -1
- package/dist/bin/loader/index.d.ts.map +1 -1
- package/dist/bin/loader/index.js +2 -1
- package/dist/bin/loader/index.js.map +1 -1
- package/dist/bin/loader/resolveOriginalPath.d.ts +10 -0
- package/dist/bin/loader/resolveOriginalPath.d.ts.map +1 -0
- package/dist/bin/loader/resolveOriginalPath.js +32 -0
- package/dist/bin/loader/resolveOriginalPath.js.map +1 -0
- package/dist/collections/config/sanitize.d.ts +2 -3
- package/dist/collections/config/sanitize.d.ts.map +1 -1
- package/dist/collections/config/sanitize.js +7 -4
- package/dist/collections/config/sanitize.js.map +1 -1
- package/dist/collections/config/schema.d.ts.map +1 -1
- package/dist/collections/config/schema.js +1 -0
- package/dist/collections/config/schema.js.map +1 -1
- package/dist/config/build.d.ts.map +1 -1
- package/dist/config/build.js +3 -4
- package/dist/config/build.js.map +1 -1
- package/dist/config/sanitize.d.ts +1 -1
- package/dist/config/sanitize.d.ts.map +1 -1
- package/dist/config/sanitize.js +28 -7
- package/dist/config/sanitize.js.map +1 -1
- package/dist/config/schema.js +1 -1
- package/dist/config/schema.js.map +1 -1
- package/dist/config/types.d.ts +11 -2
- package/dist/config/types.d.ts.map +1 -1
- package/dist/config/types.js.map +1 -1
- package/dist/database/queryValidation/validateQueryPaths.js +1 -1
- package/dist/database/queryValidation/validateQueryPaths.js.map +1 -1
- package/dist/email/consoleEmailAdapter.d.ts.map +1 -1
- package/dist/email/consoleEmailAdapter.js +1 -0
- package/dist/email/consoleEmailAdapter.js.map +1 -1
- package/dist/email/types.d.ts +1 -0
- package/dist/email/types.d.ts.map +1 -1
- package/dist/email/types.js.map +1 -1
- package/dist/errors/APIError.d.ts +2 -2
- package/dist/errors/APIError.d.ts.map +1 -1
- package/dist/errors/APIError.js +1 -2
- package/dist/errors/APIError.js.map +1 -1
- package/dist/errors/AuthenticationError.d.ts +2 -3
- package/dist/errors/AuthenticationError.d.ts.map +1 -1
- package/dist/errors/AuthenticationError.js +2 -3
- package/dist/errors/AuthenticationError.js.map +1 -1
- package/dist/errors/DuplicateCollection.d.ts +2 -3
- package/dist/errors/DuplicateCollection.d.ts.map +1 -1
- package/dist/errors/DuplicateCollection.js +2 -3
- package/dist/errors/DuplicateCollection.js.map +1 -1
- package/dist/errors/DuplicateFieldName.d.ts +2 -3
- package/dist/errors/DuplicateFieldName.d.ts.map +1 -1
- package/dist/errors/DuplicateFieldName.js +2 -3
- package/dist/errors/DuplicateFieldName.js.map +1 -1
- package/dist/errors/DuplicateGlobal.d.ts +2 -3
- package/dist/errors/DuplicateGlobal.d.ts.map +1 -1
- package/dist/errors/DuplicateGlobal.js +2 -3
- package/dist/errors/DuplicateGlobal.js.map +1 -1
- package/dist/errors/ErrorDeletingFile.d.ts +2 -3
- package/dist/errors/ErrorDeletingFile.d.ts.map +1 -1
- package/dist/errors/ErrorDeletingFile.js +2 -3
- package/dist/errors/ErrorDeletingFile.js.map +1 -1
- package/dist/errors/FileRetrievalError.d.ts +6 -0
- package/dist/errors/FileRetrievalError.d.ts.map +1 -0
- package/dist/errors/FileRetrievalError.js +13 -0
- package/dist/errors/FileRetrievalError.js.map +1 -0
- package/dist/errors/FileUploadError.d.ts +2 -3
- package/dist/errors/FileUploadError.d.ts.map +1 -1
- package/dist/errors/FileUploadError.js +2 -3
- package/dist/errors/FileUploadError.js.map +1 -1
- package/dist/errors/Forbidden.d.ts +2 -3
- package/dist/errors/Forbidden.d.ts.map +1 -1
- package/dist/errors/Forbidden.js +2 -3
- package/dist/errors/Forbidden.js.map +1 -1
- package/dist/errors/InvalidConfiguration.d.ts +2 -3
- package/dist/errors/InvalidConfiguration.d.ts.map +1 -1
- package/dist/errors/InvalidConfiguration.js +2 -3
- package/dist/errors/InvalidConfiguration.js.map +1 -1
- package/dist/errors/InvalidFieldName.d.ts +2 -3
- package/dist/errors/InvalidFieldName.d.ts.map +1 -1
- package/dist/errors/InvalidFieldName.js +2 -3
- package/dist/errors/InvalidFieldName.js.map +1 -1
- package/dist/errors/InvalidFieldRelationship.d.ts +2 -3
- package/dist/errors/InvalidFieldRelationship.d.ts.map +1 -1
- package/dist/errors/InvalidFieldRelationship.js +2 -3
- package/dist/errors/InvalidFieldRelationship.js.map +1 -1
- package/dist/errors/InvalidSchema.d.ts +2 -3
- package/dist/errors/InvalidSchema.d.ts.map +1 -1
- package/dist/errors/InvalidSchema.js +2 -3
- package/dist/errors/InvalidSchema.js.map +1 -1
- package/dist/errors/LockedAuth.d.ts +2 -3
- package/dist/errors/LockedAuth.d.ts.map +1 -1
- package/dist/errors/LockedAuth.js +2 -3
- package/dist/errors/LockedAuth.js.map +1 -1
- package/dist/errors/MissingCollectionLabel.d.ts +2 -3
- package/dist/errors/MissingCollectionLabel.d.ts.map +1 -1
- package/dist/errors/MissingCollectionLabel.js +2 -3
- package/dist/errors/MissingCollectionLabel.js.map +1 -1
- package/dist/errors/MissingEditorProp.d.ts +2 -3
- package/dist/errors/MissingEditorProp.d.ts.map +1 -1
- package/dist/errors/MissingEditorProp.js +2 -3
- package/dist/errors/MissingEditorProp.js.map +1 -1
- package/dist/errors/MissingFieldInputOptions.d.ts +2 -3
- package/dist/errors/MissingFieldInputOptions.d.ts.map +1 -1
- package/dist/errors/MissingFieldInputOptions.js +2 -3
- package/dist/errors/MissingFieldInputOptions.js.map +1 -1
- package/dist/errors/MissingFieldType.d.ts +2 -3
- package/dist/errors/MissingFieldType.d.ts.map +1 -1
- package/dist/errors/MissingFieldType.js +2 -3
- package/dist/errors/MissingFieldType.js.map +1 -1
- package/dist/errors/MissingFile.d.ts +2 -3
- package/dist/errors/MissingFile.d.ts.map +1 -1
- package/dist/errors/MissingFile.js +2 -3
- package/dist/errors/MissingFile.js.map +1 -1
- package/dist/errors/NotFound.d.ts +2 -3
- package/dist/errors/NotFound.d.ts.map +1 -1
- package/dist/errors/NotFound.js +2 -3
- package/dist/errors/NotFound.js.map +1 -1
- package/dist/errors/QueryError.d.ts +2 -3
- package/dist/errors/QueryError.d.ts.map +1 -1
- package/dist/errors/QueryError.js +2 -3
- package/dist/errors/QueryError.js.map +1 -1
- package/dist/errors/TimestampsRequired.d.ts +2 -3
- package/dist/errors/TimestampsRequired.d.ts.map +1 -1
- package/dist/errors/TimestampsRequired.js +2 -3
- package/dist/errors/TimestampsRequired.js.map +1 -1
- package/dist/errors/UnathorizedError.d.ts +2 -3
- package/dist/errors/UnathorizedError.d.ts.map +1 -1
- package/dist/errors/UnathorizedError.js +2 -3
- package/dist/errors/UnathorizedError.js.map +1 -1
- package/dist/errors/ValidationError.d.ts +2 -3
- package/dist/errors/ValidationError.d.ts.map +1 -1
- package/dist/errors/ValidationError.js +2 -3
- package/dist/errors/ValidationError.js.map +1 -1
- package/dist/errors/index.d.ts +20 -19
- package/dist/errors/index.d.ts.map +1 -1
- package/dist/errors/index.js +20 -19
- package/dist/errors/index.js.map +1 -1
- package/dist/exports/i18n.d.ts +2 -0
- package/dist/exports/i18n.d.ts.map +1 -0
- package/dist/exports/i18n.js +3 -0
- package/dist/exports/i18n.js.map +1 -0
- package/dist/fields/config/client.d.ts +1 -1
- package/dist/fields/config/sanitize.d.ts +7 -2
- package/dist/fields/config/sanitize.d.ts.map +1 -1
- package/dist/fields/config/sanitize.js +56 -45
- package/dist/fields/config/sanitize.js.map +1 -1
- package/dist/fields/config/sanitize.spec.js +76 -85
- package/dist/fields/config/sanitize.spec.js.map +1 -1
- package/dist/fields/config/types.d.ts +4 -3
- package/dist/fields/config/types.d.ts.map +1 -1
- package/dist/fields/config/types.js.map +1 -1
- package/dist/fields/hooks/afterRead/promise.d.ts.map +1 -1
- package/dist/fields/hooks/afterRead/promise.js +3 -0
- package/dist/fields/hooks/afterRead/promise.js.map +1 -1
- package/dist/fields/validations.d.ts.map +1 -1
- package/dist/fields/validations.js +3 -0
- package/dist/fields/validations.js.map +1 -1
- package/dist/globals/config/sanitize.d.ts +2 -3
- package/dist/globals/config/sanitize.d.ts.map +1 -1
- package/dist/globals/config/sanitize.js +36 -35
- package/dist/globals/config/sanitize.js.map +1 -1
- package/dist/preferences/operations/delete.js +2 -2
- package/dist/preferences/operations/delete.js.map +1 -1
- package/dist/preferences/operations/update.js +1 -1
- package/dist/preferences/operations/update.js.map +1 -1
- package/dist/uploads/generateFileData.js +2 -2
- package/dist/uploads/generateFileData.js.map +1 -1
- package/dist/uploads/getExternalFile.d.ts.map +1 -1
- package/dist/uploads/getExternalFile.js +5 -2
- package/dist/uploads/getExternalFile.js.map +1 -1
- package/dist/uploads/types.d.ts +4 -0
- package/dist/uploads/types.d.ts.map +1 -1
- package/dist/uploads/types.js.map +1 -1
- package/dist/utilities/checkDuplicateCollections.js +1 -1
- package/dist/utilities/checkDuplicateCollections.js.map +1 -1
- package/dist/utilities/configToJSONSchema.d.ts.map +1 -1
- package/dist/utilities/configToJSONSchema.js +3 -0
- package/dist/utilities/configToJSONSchema.js.map +1 -1
- package/dist/utilities/configToJSONSchema.spec.js +2 -2
- package/dist/utilities/configToJSONSchema.spec.js.map +1 -1
- package/dist/utilities/createLocalReq.d.ts.map +1 -1
- package/dist/utilities/createLocalReq.js +4 -2
- package/dist/utilities/createLocalReq.js.map +1 -1
- package/dist/utilities/importWithoutClientFiles.js +1 -1
- package/dist/utilities/importWithoutClientFiles.js.map +1 -1
- package/dist/utilities/parseCookies.js +1 -1
- package/dist/utilities/parseCookies.js.map +1 -1
- package/dist/utilities/telemetry/index.d.ts +7 -1
- package/dist/utilities/telemetry/index.d.ts.map +1 -1
- package/dist/utilities/telemetry/index.js +41 -19
- package/dist/utilities/telemetry/index.js.map +1 -1
- package/package.json +67 -70
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../src/collections/config/schema.ts"],"sourcesContent":["import joi from 'joi'\n\nimport { endpointsSchema } from '../../config/schema.js'\nimport {\n componentSchema,\n customViewSchema,\n livePreviewSchema,\n} from '../../config/shared/componentSchema.js'\n\nconst strategyBaseSchema = joi.object().keys({\n logout: joi.boolean(),\n refresh: joi.boolean(),\n})\n\nconst collectionSchema = joi.object().keys({\n slug: joi.string().required(),\n access: joi.object({\n admin: joi.func(),\n create: joi.func(),\n delete: joi.func(),\n read: joi.func(),\n readVersions: joi.func(),\n unlock: joi.func(),\n update: joi.func(),\n }),\n admin: joi.object({\n components: joi.object({\n AfterList: joi.array().items(componentSchema),\n AfterListTable: joi.array().items(componentSchema),\n BeforeList: joi.array().items(componentSchema),\n BeforeListTable: joi.array().items(componentSchema),\n edit: joi.object({\n PreviewButton: componentSchema,\n PublishButton: componentSchema,\n SaveButton: componentSchema,\n SaveDraftButton: componentSchema,\n }),\n views: joi.object({\n Edit: joi.alternatives().try(\n componentSchema,\n joi.object({\n API: joi.alternatives().try(componentSchema, customViewSchema),\n Default: joi.alternatives().try(componentSchema, customViewSchema),\n LivePreview: joi.alternatives().try(componentSchema, customViewSchema),\n Version: joi.alternatives().try(componentSchema, customViewSchema),\n Versions: joi.alternatives().try(componentSchema, customViewSchema),\n // Relationships\n // References\n }),\n ),\n List: joi.alternatives().try(\n componentSchema,\n joi.object({\n Component: componentSchema,\n actions: joi.array().items(componentSchema),\n }),\n ),\n }),\n }),\n custom: joi.object().pattern(joi.string(), joi.any()),\n defaultColumns: joi.array().items(joi.string()),\n description: joi.alternatives().try(joi.string(), componentSchema),\n enableRichTextLink: joi.boolean(),\n enableRichTextRelationship: joi.boolean(),\n group: joi.alternatives().try(joi.string(), joi.object().pattern(joi.string(), [joi.string()])),\n hidden: joi.alternatives().try(joi.boolean(), joi.func()),\n hideAPIURL: joi.bool(),\n listSearchableFields: joi.array().items(joi.string()),\n livePreview: joi.object(livePreviewSchema),\n pagination: joi.object({\n defaultLimit: joi.number(),\n limits: joi.array().items(joi.number()),\n }),\n preview: joi.func(),\n useAsTitle: joi.string(),\n }),\n auth: joi.alternatives().try(\n joi.object({\n cookies: joi.object().keys({\n domain: joi.string(),\n sameSite: joi.string(), // TODO: add further specificity with joi.xor\n secure: joi.boolean(),\n }),\n depth: joi.number(),\n disableLocalStrategy: joi.boolean().valid(true),\n forgotPassword: joi.object().keys({\n generateEmailHTML: joi.func(),\n generateEmailSubject: joi.func(),\n }),\n lockTime: joi.number(),\n maxLoginAttempts: joi.number(),\n removeTokenFromResponses: joi.boolean().valid(true),\n strategies: joi.array().items(\n joi.object().keys({\n name: joi.string().required(),\n authenticate: joi.func().required(),\n }),\n ),\n tokenExpiration: joi.number(),\n useAPIKey: joi.boolean(),\n verify: joi.alternatives().try(\n joi.boolean(),\n joi.object().keys({\n generateEmailHTML: joi.func(),\n generateEmailSubject: joi.func(),\n }),\n ),\n }),\n joi.boolean(),\n ),\n custom: joi.object().pattern(joi.string(), joi.any()),\n dbName: joi.alternatives().try(joi.string(), joi.func()),\n defaultSort: joi.string(),\n disableDuplicate: joi.bool(),\n endpoints: endpointsSchema,\n fields: joi.array(),\n graphQL: joi.alternatives().try(\n joi.object().keys({\n pluralName: joi.string(),\n singularName: joi.string(),\n }),\n joi.boolean(),\n ),\n hooks: joi.object({\n afterChange: joi.array().items(joi.func()),\n afterDelete: joi.array().items(joi.func()),\n afterForgotPassword: joi.array().items(joi.func()),\n afterLogin: joi.array().items(joi.func()),\n afterLogout: joi.array().items(joi.func()),\n afterMe: joi.array().items(joi.func()),\n afterOperation: joi.array().items(joi.func()),\n afterRead: joi.array().items(joi.func()),\n afterRefresh: joi.array().items(joi.func()),\n beforeChange: joi.array().items(joi.func()),\n beforeDelete: joi.array().items(joi.func()),\n beforeLogin: joi.array().items(joi.func()),\n beforeOperation: joi.array().items(joi.func()),\n beforeRead: joi.array().items(joi.func()),\n beforeValidate: joi.array().items(joi.func()),\n }),\n labels: joi.object({\n plural: joi\n .alternatives()\n .try(joi.func(), joi.string(), joi.object().pattern(joi.string(), [joi.string()])),\n singular: joi\n .alternatives()\n .try(joi.func(), joi.string(), joi.object().pattern(joi.string(), [joi.string()])),\n }),\n timestamps: joi.boolean(),\n typescript: joi.object().keys({\n interface: joi.string(),\n }),\n upload: joi.alternatives().try(\n joi.object({\n adminThumbnail: joi.alternatives().try(joi.string(), componentSchema),\n crop: joi.bool(),\n disableLocalStorage: joi.bool(),\n externalFileHeaderFilter: joi.func(),\n filesRequiredOnCreate: joi.bool(),\n focalPoint: joi.bool(),\n formatOptions: joi.object().keys({\n format: joi.string(),\n options: joi.object(),\n }),\n handlers: joi.array().items(joi.func()),\n imageSizes: joi.array().items(\n joi\n .object()\n .keys({\n name: joi.string(),\n crop: joi.string(), // TODO: add further specificity with joi.xor\n height: joi.number().integer().allow(null),\n width: joi.number().integer().allow(null),\n })\n .unknown(),\n ),\n mimeTypes: joi.array().items(joi.string()),\n resizeOptions: joi\n .object()\n .keys({\n background: joi.string(),\n fastShrinkOnLoad: joi.bool(),\n fit: joi.string(),\n height: joi.number().allow(null),\n kernel: joi.string(),\n position: joi.alternatives().try(joi.string(), joi.number()),\n width: joi.number().allow(null),\n withoutEnlargement: joi.bool(),\n })\n .allow(null),\n staticDir: joi.string(),\n staticOptions: joi.object(),\n tempFileDir: joi.string(),\n trimOptions: joi.alternatives().try(\n joi.object().keys({\n format: joi.string(),\n options: joi.object(),\n }),\n joi.string(),\n joi.number(),\n ),\n useTempFiles: joi.bool(),\n }),\n joi.boolean(),\n ),\n versions: joi.alternatives().try(\n joi.object({\n drafts: joi.alternatives().try(\n joi.object({\n autosave: joi.alternatives().try(\n joi.boolean(),\n joi.object({\n interval: joi.number(),\n }),\n ),\n }),\n joi.boolean(),\n ),\n maxPerDoc: joi.number(),\n }),\n joi.boolean(),\n ),\n})\n\nexport default collectionSchema\n"],"names":["joi","endpointsSchema","componentSchema","customViewSchema","livePreviewSchema","strategyBaseSchema","object","keys","logout","boolean","refresh","collectionSchema","slug","string","required","access","admin","func","create","delete","read","readVersions","unlock","update","components","AfterList","array","items","AfterListTable","BeforeList","BeforeListTable","edit","PreviewButton","PublishButton","SaveButton","SaveDraftButton","views","Edit","alternatives","try","API","Default","LivePreview","Version","Versions","List","Component","actions","custom","pattern","any","defaultColumns","description","enableRichTextLink","enableRichTextRelationship","group","hidden","hideAPIURL","bool","listSearchableFields","livePreview","pagination","defaultLimit","number","limits","preview","useAsTitle","auth","cookies","domain","sameSite","secure","depth","disableLocalStrategy","valid","forgotPassword","generateEmailHTML","generateEmailSubject","lockTime","maxLoginAttempts","removeTokenFromResponses","strategies","name","authenticate","tokenExpiration","useAPIKey","verify","dbName","defaultSort","disableDuplicate","endpoints","fields","graphQL","pluralName","singularName","hooks","afterChange","afterDelete","afterForgotPassword","afterLogin","afterLogout","afterMe","afterOperation","afterRead","afterRefresh","beforeChange","beforeDelete","beforeLogin","beforeOperation","beforeRead","beforeValidate","labels","plural","singular","timestamps","typescript","interface","upload","adminThumbnail","crop","disableLocalStorage","externalFileHeaderFilter","filesRequiredOnCreate","focalPoint","formatOptions","format","options","handlers","imageSizes","height","integer","allow","width","unknown","mimeTypes","resizeOptions","background","fastShrinkOnLoad","fit","kernel","position","withoutEnlargement","staticDir","staticOptions","tempFileDir","trimOptions","useTempFiles","versions","drafts","autosave","interval","maxPerDoc"],"rangeMappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;","mappings":"AAAA,OAAOA,SAAS,MAAK;AAErB,SAASC,eAAe,QAAQ,yBAAwB;AACxD,SACEC,eAAe,EACfC,gBAAgB,EAChBC,iBAAiB,QACZ,yCAAwC;AAE/C,MAAMC,qBAAqBL,IAAIM,MAAM,GAAGC,IAAI,CAAC;IAC3CC,QAAQR,IAAIS,OAAO;IACnBC,SAASV,IAAIS,OAAO;AACtB;AAEA,MAAME,mBAAmBX,IAAIM,MAAM,GAAGC,IAAI,CAAC;IACzCK,MAAMZ,IAAIa,MAAM,GAAGC,QAAQ;IAC3BC,QAAQf,IAAIM,MAAM,CAAC;QACjBU,OAAOhB,IAAIiB,IAAI;QACfC,QAAQlB,IAAIiB,IAAI;QAChBE,QAAQnB,IAAIiB,IAAI;QAChBG,MAAMpB,IAAIiB,IAAI;QACdI,cAAcrB,IAAIiB,IAAI;QACtBK,QAAQtB,IAAIiB,IAAI;QAChBM,QAAQvB,IAAIiB,IAAI;IAClB;IACAD,OAAOhB,IAAIM,MAAM,CAAC;QAChBkB,YAAYxB,IAAIM,MAAM,CAAC;YACrBmB,WAAWzB,IAAI0B,KAAK,GAAGC,KAAK,CAACzB;YAC7B0B,gBAAgB5B,IAAI0B,KAAK,GAAGC,KAAK,CAACzB;YAClC2B,YAAY7B,IAAI0B,KAAK,GAAGC,KAAK,CAACzB;YAC9B4B,iBAAiB9B,IAAI0B,KAAK,GAAGC,KAAK,CAACzB;YACnC6B,MAAM/B,IAAIM,MAAM,CAAC;gBACf0B,eAAe9B;gBACf+B,eAAe/B;gBACfgC,YAAYhC;gBACZiC,iBAAiBjC;YACnB;YACAkC,OAAOpC,IAAIM,MAAM,CAAC;gBAChB+B,MAAMrC,IAAIsC,YAAY,GAAGC,GAAG,CAC1BrC,iBACAF,IAAIM,MAAM,CAAC;oBACTkC,KAAKxC,IAAIsC,YAAY,GAAGC,GAAG,CAACrC,iBAAiBC;oBAC7CsC,SAASzC,IAAIsC,YAAY,GAAGC,GAAG,CAACrC,iBAAiBC;oBACjDuC,aAAa1C,IAAIsC,YAAY,GAAGC,GAAG,CAACrC,iBAAiBC;oBACrDwC,SAAS3C,IAAIsC,YAAY,GAAGC,GAAG,CAACrC,iBAAiBC;oBACjDyC,UAAU5C,IAAIsC,YAAY,GAAGC,GAAG,CAACrC,iBAAiBC;gBAGpD;gBAEF0C,MAAM7C,IAAIsC,YAAY,GAAGC,GAAG,CAC1BrC,iBACAF,IAAIM,MAAM,CAAC;oBACTwC,WAAW5C;oBACX6C,SAAS/C,IAAI0B,KAAK,GAAGC,KAAK,CAACzB;gBAC7B;YAEJ;QACF;QACA8C,QAAQhD,IAAIM,MAAM,GAAG2C,OAAO,CAACjD,IAAIa,MAAM,IAAIb,IAAIkD,GAAG;QAClDC,gBAAgBnD,IAAI0B,KAAK,GAAGC,KAAK,CAAC3B,IAAIa,MAAM;QAC5CuC,aAAapD,IAAIsC,YAAY,GAAGC,GAAG,CAACvC,IAAIa,MAAM,IAAIX;QAClDmD,oBAAoBrD,IAAIS,OAAO;QAC/B6C,4BAA4BtD,IAAIS,OAAO;QACvC8C,OAAOvD,IAAIsC,YAAY,GAAGC,GAAG,CAACvC,IAAIa,MAAM,IAAIb,IAAIM,MAAM,GAAG2C,OAAO,CAACjD,IAAIa,MAAM,IAAI;YAACb,IAAIa,MAAM;SAAG;QAC7F2C,QAAQxD,IAAIsC,YAAY,GAAGC,GAAG,CAACvC,IAAIS,OAAO,IAAIT,IAAIiB,IAAI;QACtDwC,YAAYzD,IAAI0D,IAAI;QACpBC,sBAAsB3D,IAAI0B,KAAK,GAAGC,KAAK,CAAC3B,IAAIa,MAAM;QAClD+C,aAAa5D,IAAIM,MAAM,CAACF;QACxByD,YAAY7D,IAAIM,MAAM,CAAC;YACrBwD,cAAc9D,IAAI+D,MAAM;YACxBC,QAAQhE,IAAI0B,KAAK,GAAGC,KAAK,CAAC3B,IAAI+D,MAAM;QACtC;QACAE,SAASjE,IAAIiB,IAAI;QACjBiD,YAAYlE,IAAIa,MAAM;IACxB;IACAsD,MAAMnE,IAAIsC,YAAY,GAAGC,GAAG,CAC1BvC,IAAIM,MAAM,CAAC;QACT8D,SAASpE,IAAIM,MAAM,GAAGC,IAAI,CAAC;YACzB8D,QAAQrE,IAAIa,MAAM;YAClByD,UAAUtE,IAAIa,MAAM;YACpB0D,QAAQvE,IAAIS,OAAO;QACrB;QACA+D,OAAOxE,IAAI+D,MAAM;QACjBU,sBAAsBzE,IAAIS,OAAO,GAAGiE,KAAK,CAAC;QAC1CC,gBAAgB3E,IAAIM,MAAM,GAAGC,IAAI,CAAC;YAChCqE,mBAAmB5E,IAAIiB,IAAI;YAC3B4D,sBAAsB7E,IAAIiB,IAAI;QAChC;QACA6D,UAAU9E,IAAI+D,MAAM;QACpBgB,kBAAkB/E,IAAI+D,MAAM;QAC5BiB,0BAA0BhF,IAAIS,OAAO,GAAGiE,KAAK,CAAC;QAC9CO,YAAYjF,IAAI0B,KAAK,GAAGC,KAAK,CAC3B3B,IAAIM,MAAM,GAAGC,IAAI,CAAC;YAChB2E,MAAMlF,IAAIa,MAAM,GAAGC,QAAQ;YAC3BqE,cAAcnF,IAAIiB,IAAI,GAAGH,QAAQ;QACnC;QAEFsE,iBAAiBpF,IAAI+D,MAAM;QAC3BsB,WAAWrF,IAAIS,OAAO;QACtB6E,QAAQtF,IAAIsC,YAAY,GAAGC,GAAG,CAC5BvC,IAAIS,OAAO,IACXT,IAAIM,MAAM,GAAGC,IAAI,CAAC;YAChBqE,mBAAmB5E,IAAIiB,IAAI;YAC3B4D,sBAAsB7E,IAAIiB,IAAI;QAChC;IAEJ,IACAjB,IAAIS,OAAO;IAEbuC,QAAQhD,IAAIM,MAAM,GAAG2C,OAAO,CAACjD,IAAIa,MAAM,IAAIb,IAAIkD,GAAG;IAClDqC,QAAQvF,IAAIsC,YAAY,GAAGC,GAAG,CAACvC,IAAIa,MAAM,IAAIb,IAAIiB,IAAI;IACrDuE,aAAaxF,IAAIa,MAAM;IACvB4E,kBAAkBzF,IAAI0D,IAAI;IAC1BgC,WAAWzF;IACX0F,QAAQ3F,IAAI0B,KAAK;IACjBkE,SAAS5F,IAAIsC,YAAY,GAAGC,GAAG,CAC7BvC,IAAIM,MAAM,GAAGC,IAAI,CAAC;QAChBsF,YAAY7F,IAAIa,MAAM;QACtBiF,cAAc9F,IAAIa,MAAM;IAC1B,IACAb,IAAIS,OAAO;IAEbsF,OAAO/F,IAAIM,MAAM,CAAC;QAChB0F,aAAahG,IAAI0B,KAAK,GAAGC,KAAK,CAAC3B,IAAIiB,IAAI;QACvCgF,aAAajG,IAAI0B,KAAK,GAAGC,KAAK,CAAC3B,IAAIiB,IAAI;QACvCiF,qBAAqBlG,IAAI0B,KAAK,GAAGC,KAAK,CAAC3B,IAAIiB,IAAI;QAC/CkF,YAAYnG,IAAI0B,KAAK,GAAGC,KAAK,CAAC3B,IAAIiB,IAAI;QACtCmF,aAAapG,IAAI0B,KAAK,GAAGC,KAAK,CAAC3B,IAAIiB,IAAI;QACvCoF,SAASrG,IAAI0B,KAAK,GAAGC,KAAK,CAAC3B,IAAIiB,IAAI;QACnCqF,gBAAgBtG,IAAI0B,KAAK,GAAGC,KAAK,CAAC3B,IAAIiB,IAAI;QAC1CsF,WAAWvG,IAAI0B,KAAK,GAAGC,KAAK,CAAC3B,IAAIiB,IAAI;QACrCuF,cAAcxG,IAAI0B,KAAK,GAAGC,KAAK,CAAC3B,IAAIiB,IAAI;QACxCwF,cAAczG,IAAI0B,KAAK,GAAGC,KAAK,CAAC3B,IAAIiB,IAAI;QACxCyF,cAAc1G,IAAI0B,KAAK,GAAGC,KAAK,CAAC3B,IAAIiB,IAAI;QACxC0F,aAAa3G,IAAI0B,KAAK,GAAGC,KAAK,CAAC3B,IAAIiB,IAAI;QACvC2F,iBAAiB5G,IAAI0B,KAAK,GAAGC,KAAK,CAAC3B,IAAIiB,IAAI;QAC3C4F,YAAY7G,IAAI0B,KAAK,GAAGC,KAAK,CAAC3B,IAAIiB,IAAI;QACtC6F,gBAAgB9G,IAAI0B,KAAK,GAAGC,KAAK,CAAC3B,IAAIiB,IAAI;IAC5C;IACA8F,QAAQ/G,IAAIM,MAAM,CAAC;QACjB0G,QAAQhH,IACLsC,YAAY,GACZC,GAAG,CAACvC,IAAIiB,IAAI,IAAIjB,IAAIa,MAAM,IAAIb,IAAIM,MAAM,GAAG2C,OAAO,CAACjD,IAAIa,MAAM,IAAI;YAACb,IAAIa,MAAM;SAAG;QAClFoG,UAAUjH,IACPsC,YAAY,GACZC,GAAG,CAACvC,IAAIiB,IAAI,IAAIjB,IAAIa,MAAM,IAAIb,IAAIM,MAAM,GAAG2C,OAAO,CAACjD,IAAIa,MAAM,IAAI;YAACb,IAAIa,MAAM;SAAG;IACpF;IACAqG,YAAYlH,IAAIS,OAAO;IACvB0G,YAAYnH,IAAIM,MAAM,GAAGC,IAAI,CAAC;QAC5B6G,WAAWpH,IAAIa,MAAM;IACvB;IACAwG,QAAQrH,IAAIsC,YAAY,GAAGC,GAAG,CAC5BvC,IAAIM,MAAM,CAAC;QACTgH,gBAAgBtH,IAAIsC,YAAY,GAAGC,GAAG,CAACvC,IAAIa,MAAM,IAAIX;QACrDqH,MAAMvH,IAAI0D,IAAI;QACd8D,qBAAqBxH,IAAI0D,IAAI;QAC7B+D,0BAA0BzH,IAAIiB,IAAI;QAClCyG,uBAAuB1H,IAAI0D,IAAI;QAC/BiE,YAAY3H,IAAI0D,IAAI;QACpBkE,eAAe5H,IAAIM,MAAM,GAAGC,IAAI,CAAC;YAC/BsH,QAAQ7H,IAAIa,MAAM;YAClBiH,SAAS9H,IAAIM,MAAM;QACrB;QACAyH,UAAU/H,IAAI0B,KAAK,GAAGC,KAAK,CAAC3B,IAAIiB,IAAI;QACpC+G,YAAYhI,IAAI0B,KAAK,GAAGC,KAAK,CAC3B3B,IACGM,MAAM,GACNC,IAAI,CAAC;YACJ2E,MAAMlF,IAAIa,MAAM;YAChB0G,MAAMvH,IAAIa,MAAM;YAChBoH,QAAQjI,IAAI+D,MAAM,GAAGmE,OAAO,GAAGC,KAAK,CAAC;YACrCC,OAAOpI,IAAI+D,MAAM,GAAGmE,OAAO,GAAGC,KAAK,CAAC;QACtC,GACCE,OAAO;QAEZC,WAAWtI,IAAI0B,KAAK,GAAGC,KAAK,CAAC3B,IAAIa,MAAM;QACvC0H,eAAevI,IACZM,MAAM,GACNC,IAAI,CAAC;YACJiI,YAAYxI,IAAIa,MAAM;YACtB4H,kBAAkBzI,IAAI0D,IAAI;YAC1BgF,KAAK1I,IAAIa,MAAM;YACfoH,QAAQjI,IAAI+D,MAAM,GAAGoE,KAAK,CAAC;YAC3BQ,QAAQ3I,IAAIa,MAAM;YAClB+H,UAAU5I,IAAIsC,YAAY,GAAGC,GAAG,CAACvC,IAAIa,MAAM,IAAIb,IAAI+D,MAAM;YACzDqE,OAAOpI,IAAI+D,MAAM,GAAGoE,KAAK,CAAC;YAC1BU,oBAAoB7I,IAAI0D,IAAI;QAC9B,GACCyE,KAAK,CAAC;QACTW,WAAW9I,IAAIa,MAAM;QACrBkI,eAAe/I,IAAIM,MAAM;QACzB0I,aAAahJ,IAAIa,MAAM;QACvBoI,aAAajJ,IAAIsC,YAAY,GAAGC,GAAG,CACjCvC,IAAIM,MAAM,GAAGC,IAAI,CAAC;YAChBsH,QAAQ7H,IAAIa,MAAM;YAClBiH,SAAS9H,IAAIM,MAAM;QACrB,IACAN,IAAIa,MAAM,IACVb,IAAI+D,MAAM;QAEZmF,cAAclJ,IAAI0D,IAAI;IACxB,IACA1D,IAAIS,OAAO;IAEb0I,UAAUnJ,IAAIsC,YAAY,GAAGC,GAAG,CAC9BvC,IAAIM,MAAM,CAAC;QACT8I,QAAQpJ,IAAIsC,YAAY,GAAGC,GAAG,CAC5BvC,IAAIM,MAAM,CAAC;YACT+I,UAAUrJ,IAAIsC,YAAY,GAAGC,GAAG,CAC9BvC,IAAIS,OAAO,IACXT,IAAIM,MAAM,CAAC;gBACTgJ,UAAUtJ,IAAI+D,MAAM;YACtB;QAEJ,IACA/D,IAAIS,OAAO;QAEb8I,WAAWvJ,IAAI+D,MAAM;IACvB,IACA/D,IAAIS,OAAO;AAEf;AAEA,eAAeE,iBAAgB"}
|
|
1
|
+
{"version":3,"sources":["../../../src/collections/config/schema.ts"],"sourcesContent":["import joi from 'joi'\n\nimport { endpointsSchema } from '../../config/schema.js'\nimport {\n componentSchema,\n customViewSchema,\n livePreviewSchema,\n} from '../../config/shared/componentSchema.js'\n\nconst strategyBaseSchema = joi.object().keys({\n logout: joi.boolean(),\n refresh: joi.boolean(),\n})\n\nconst collectionSchema = joi.object().keys({\n slug: joi.string().required(),\n access: joi.object({\n admin: joi.func(),\n create: joi.func(),\n delete: joi.func(),\n read: joi.func(),\n readVersions: joi.func(),\n unlock: joi.func(),\n update: joi.func(),\n }),\n admin: joi.object({\n components: joi.object({\n AfterList: joi.array().items(componentSchema),\n AfterListTable: joi.array().items(componentSchema),\n BeforeList: joi.array().items(componentSchema),\n BeforeListTable: joi.array().items(componentSchema),\n edit: joi.object({\n PreviewButton: componentSchema,\n PublishButton: componentSchema,\n SaveButton: componentSchema,\n SaveDraftButton: componentSchema,\n }),\n views: joi.object({\n Edit: joi.alternatives().try(\n componentSchema,\n joi.object({\n API: joi.alternatives().try(componentSchema, customViewSchema),\n Default: joi.alternatives().try(componentSchema, customViewSchema),\n LivePreview: joi.alternatives().try(componentSchema, customViewSchema),\n Version: joi.alternatives().try(componentSchema, customViewSchema),\n Versions: joi.alternatives().try(componentSchema, customViewSchema),\n // Relationships\n // References\n }),\n ),\n List: joi.alternatives().try(\n componentSchema,\n joi.object({\n Component: componentSchema,\n actions: joi.array().items(componentSchema),\n }),\n ),\n }),\n }),\n custom: joi.object().pattern(joi.string(), joi.any()),\n defaultColumns: joi.array().items(joi.string()),\n description: joi.alternatives().try(joi.string(), componentSchema),\n enableRichTextLink: joi.boolean(),\n enableRichTextRelationship: joi.boolean(),\n group: joi.alternatives().try(joi.string(), joi.object().pattern(joi.string(), [joi.string()])),\n hidden: joi.alternatives().try(joi.boolean(), joi.func()),\n hideAPIURL: joi.bool(),\n listSearchableFields: joi.array().items(joi.string()),\n livePreview: joi.object(livePreviewSchema),\n pagination: joi.object({\n defaultLimit: joi.number(),\n limits: joi.array().items(joi.number()),\n }),\n preview: joi.func(),\n useAsTitle: joi.string(),\n }),\n auth: joi.alternatives().try(\n joi.object({\n cookies: joi.object().keys({\n domain: joi.string(),\n sameSite: joi.string(), // TODO: add further specificity with joi.xor\n secure: joi.boolean(),\n }),\n depth: joi.number(),\n disableLocalStrategy: joi.boolean().valid(true),\n forgotPassword: joi.object().keys({\n generateEmailHTML: joi.func(),\n generateEmailSubject: joi.func(),\n }),\n lockTime: joi.number(),\n maxLoginAttempts: joi.number(),\n removeTokenFromResponses: joi.boolean().valid(true),\n strategies: joi.array().items(\n joi.object().keys({\n name: joi.string().required(),\n authenticate: joi.func().required(),\n }),\n ),\n tokenExpiration: joi.number(),\n useAPIKey: joi.boolean(),\n verify: joi.alternatives().try(\n joi.boolean(),\n joi.object().keys({\n generateEmailHTML: joi.func(),\n generateEmailSubject: joi.func(),\n }),\n ),\n }),\n joi.boolean(),\n ),\n custom: joi.object().pattern(joi.string(), joi.any()),\n dbName: joi.alternatives().try(joi.string(), joi.func()),\n defaultSort: joi.string(),\n disableDuplicate: joi.bool(),\n endpoints: endpointsSchema,\n fields: joi.array(),\n graphQL: joi.alternatives().try(\n joi.object().keys({\n pluralName: joi.string(),\n singularName: joi.string(),\n }),\n joi.boolean(),\n ),\n hooks: joi.object({\n afterChange: joi.array().items(joi.func()),\n afterDelete: joi.array().items(joi.func()),\n afterForgotPassword: joi.array().items(joi.func()),\n afterLogin: joi.array().items(joi.func()),\n afterLogout: joi.array().items(joi.func()),\n afterMe: joi.array().items(joi.func()),\n afterOperation: joi.array().items(joi.func()),\n afterRead: joi.array().items(joi.func()),\n afterRefresh: joi.array().items(joi.func()),\n beforeChange: joi.array().items(joi.func()),\n beforeDelete: joi.array().items(joi.func()),\n beforeLogin: joi.array().items(joi.func()),\n beforeOperation: joi.array().items(joi.func()),\n beforeRead: joi.array().items(joi.func()),\n beforeValidate: joi.array().items(joi.func()),\n }),\n labels: joi.object({\n plural: joi\n .alternatives()\n .try(joi.func(), joi.string(), joi.object().pattern(joi.string(), [joi.string()])),\n singular: joi\n .alternatives()\n .try(joi.func(), joi.string(), joi.object().pattern(joi.string(), [joi.string()])),\n }),\n timestamps: joi.boolean(),\n typescript: joi.object().keys({\n interface: joi.string(),\n }),\n upload: joi.alternatives().try(\n joi.object({\n adapter: joi.string(),\n adminThumbnail: joi.alternatives().try(joi.string(), componentSchema),\n crop: joi.bool(),\n disableLocalStorage: joi.bool(),\n externalFileHeaderFilter: joi.func(),\n filesRequiredOnCreate: joi.bool(),\n focalPoint: joi.bool(),\n formatOptions: joi.object().keys({\n format: joi.string(),\n options: joi.object(),\n }),\n handlers: joi.array().items(joi.func()),\n imageSizes: joi.array().items(\n joi\n .object()\n .keys({\n name: joi.string(),\n crop: joi.string(), // TODO: add further specificity with joi.xor\n height: joi.number().integer().allow(null),\n width: joi.number().integer().allow(null),\n })\n .unknown(),\n ),\n mimeTypes: joi.array().items(joi.string()),\n resizeOptions: joi\n .object()\n .keys({\n background: joi.string(),\n fastShrinkOnLoad: joi.bool(),\n fit: joi.string(),\n height: joi.number().allow(null),\n kernel: joi.string(),\n position: joi.alternatives().try(joi.string(), joi.number()),\n width: joi.number().allow(null),\n withoutEnlargement: joi.bool(),\n })\n .allow(null),\n staticDir: joi.string(),\n staticOptions: joi.object(),\n tempFileDir: joi.string(),\n trimOptions: joi.alternatives().try(\n joi.object().keys({\n format: joi.string(),\n options: joi.object(),\n }),\n joi.string(),\n joi.number(),\n ),\n useTempFiles: joi.bool(),\n }),\n joi.boolean(),\n ),\n versions: joi.alternatives().try(\n joi.object({\n drafts: joi.alternatives().try(\n joi.object({\n autosave: joi.alternatives().try(\n joi.boolean(),\n joi.object({\n interval: joi.number(),\n }),\n ),\n }),\n joi.boolean(),\n ),\n maxPerDoc: joi.number(),\n }),\n joi.boolean(),\n ),\n})\n\nexport default collectionSchema\n"],"names":["joi","endpointsSchema","componentSchema","customViewSchema","livePreviewSchema","strategyBaseSchema","object","keys","logout","boolean","refresh","collectionSchema","slug","string","required","access","admin","func","create","delete","read","readVersions","unlock","update","components","AfterList","array","items","AfterListTable","BeforeList","BeforeListTable","edit","PreviewButton","PublishButton","SaveButton","SaveDraftButton","views","Edit","alternatives","try","API","Default","LivePreview","Version","Versions","List","Component","actions","custom","pattern","any","defaultColumns","description","enableRichTextLink","enableRichTextRelationship","group","hidden","hideAPIURL","bool","listSearchableFields","livePreview","pagination","defaultLimit","number","limits","preview","useAsTitle","auth","cookies","domain","sameSite","secure","depth","disableLocalStrategy","valid","forgotPassword","generateEmailHTML","generateEmailSubject","lockTime","maxLoginAttempts","removeTokenFromResponses","strategies","name","authenticate","tokenExpiration","useAPIKey","verify","dbName","defaultSort","disableDuplicate","endpoints","fields","graphQL","pluralName","singularName","hooks","afterChange","afterDelete","afterForgotPassword","afterLogin","afterLogout","afterMe","afterOperation","afterRead","afterRefresh","beforeChange","beforeDelete","beforeLogin","beforeOperation","beforeRead","beforeValidate","labels","plural","singular","timestamps","typescript","interface","upload","adapter","adminThumbnail","crop","disableLocalStorage","externalFileHeaderFilter","filesRequiredOnCreate","focalPoint","formatOptions","format","options","handlers","imageSizes","height","integer","allow","width","unknown","mimeTypes","resizeOptions","background","fastShrinkOnLoad","fit","kernel","position","withoutEnlargement","staticDir","staticOptions","tempFileDir","trimOptions","useTempFiles","versions","drafts","autosave","interval","maxPerDoc"],"rangeMappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;","mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"build.d.ts","sourceRoot":"","sources":["../../src/config/build.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"build.d.ts","sourceRoot":"","sources":["../../src/config/build.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,MAAM,EAAE,eAAe,EAAE,MAAM,YAAY,CAAA;AAIzD;;;;GAIG;AACH,wBAAsB,WAAW,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,eAAe,CAAC,CAW1E"}
|
package/dist/config/build.js
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
|
|
1
|
+
import { sanitizeConfig } from './sanitize.js';
|
|
2
2
|
/**
|
|
3
3
|
* @description Builds and validates Payload configuration
|
|
4
4
|
* @param config Payload Config
|
|
@@ -9,10 +9,9 @@
|
|
|
9
9
|
const configAfterPlugin = await acc;
|
|
10
10
|
return plugin(configAfterPlugin);
|
|
11
11
|
}, Promise.resolve(config));
|
|
12
|
-
|
|
13
|
-
return sanitizedConfig;
|
|
12
|
+
return await sanitizeConfig(configAfterPlugins);
|
|
14
13
|
}
|
|
15
|
-
return sanitizeConfig(config);
|
|
14
|
+
return await sanitizeConfig(config);
|
|
16
15
|
}
|
|
17
16
|
|
|
18
17
|
//# sourceMappingURL=build.js.map
|
package/dist/config/build.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../src/config/build.ts"],"sourcesContent":["
|
|
1
|
+
{"version":3,"sources":["../../src/config/build.ts"],"sourcesContent":["import type { Config, SanitizedConfig } from './types.js'\n\nimport { sanitizeConfig } from './sanitize.js'\n\n/**\n * @description Builds and validates Payload configuration\n * @param config Payload Config\n * @returns Built and sanitized Payload Config\n */\nexport async function buildConfig(config: Config): Promise<SanitizedConfig> {\n if (Array.isArray(config.plugins)) {\n const configAfterPlugins = await config.plugins.reduce(async (acc, plugin) => {\n const configAfterPlugin = await acc\n return plugin(configAfterPlugin)\n }, Promise.resolve(config))\n\n return await sanitizeConfig(configAfterPlugins)\n }\n\n return await sanitizeConfig(config)\n}\n"],"names":["sanitizeConfig","buildConfig","config","Array","isArray","plugins","configAfterPlugins","reduce","acc","plugin","configAfterPlugin","Promise","resolve"],"rangeMappings":";;;;;;;;;;;;;;","mappings":"AAEA,SAASA,cAAc,QAAQ,gBAAe;AAE9C;;;;CAIC,GACD,OAAO,eAAeC,YAAYC,MAAc;IAC9C,IAAIC,MAAMC,OAAO,CAACF,OAAOG,OAAO,GAAG;QACjC,MAAMC,qBAAqB,MAAMJ,OAAOG,OAAO,CAACE,MAAM,CAAC,OAAOC,KAAKC;YACjE,MAAMC,oBAAoB,MAAMF;YAChC,OAAOC,OAAOC;QAChB,GAAGC,QAAQC,OAAO,CAACV;QAEnB,OAAO,MAAMF,eAAeM;IAC9B;IAEA,OAAO,MAAMN,eAAeE;AAC9B"}
|
|
@@ -1,3 +1,3 @@
|
|
|
1
1
|
import type { Config, SanitizedConfig } from './types.js';
|
|
2
|
-
export declare const sanitizeConfig: (incomingConfig: Config) => SanitizedConfig
|
|
2
|
+
export declare const sanitizeConfig: (incomingConfig: Config) => Promise<SanitizedConfig>;
|
|
3
3
|
//# sourceMappingURL=sanitize.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"sanitize.d.ts","sourceRoot":"","sources":["../../src/config/sanitize.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EACV,MAAM,EAGN,eAAe,EAChB,MAAM,YAAY,CAAA;
|
|
1
|
+
{"version":3,"file":"sanitize.d.ts","sourceRoot":"","sources":["../../src/config/sanitize.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EACV,MAAM,EAGN,eAAe,EAChB,MAAM,YAAY,CAAA;AAsCnB,eAAO,MAAM,cAAc,mBAA0B,MAAM,KAAG,QAAQ,eAAe,CAoGpF,CAAA"}
|
package/dist/config/sanitize.js
CHANGED
|
@@ -1,10 +1,10 @@
|
|
|
1
1
|
import { en } from '@payloadcms/translations/languages/en';
|
|
2
2
|
import merge from 'deepmerge';
|
|
3
3
|
import { defaultUserCollection } from '../auth/defaultUser.js';
|
|
4
|
-
import sanitizeCollection from '../collections/config/sanitize.js';
|
|
4
|
+
import { sanitizeCollection } from '../collections/config/sanitize.js';
|
|
5
5
|
import { migrationsCollection } from '../database/migrations/migrationsCollection.js';
|
|
6
6
|
import { InvalidConfiguration } from '../errors/index.js';
|
|
7
|
-
import sanitizeGlobals from '../globals/config/sanitize.js';
|
|
7
|
+
import { sanitizeGlobals } from '../globals/config/sanitize.js';
|
|
8
8
|
import getPreferencesCollection from '../preferences/preferencesCollection.js';
|
|
9
9
|
import checkDuplicateCollections from '../utilities/checkDuplicateCollections.js';
|
|
10
10
|
import { isPlainObject } from '../utilities/isPlainObject.js';
|
|
@@ -23,12 +23,13 @@ const sanitizeAdminConfig = (configToSanitize)=>{
|
|
|
23
23
|
sanitizedConfig.collections.push(defaultUserCollection);
|
|
24
24
|
}
|
|
25
25
|
}
|
|
26
|
-
|
|
26
|
+
const userCollection = sanitizedConfig.collections.find(({ slug })=>slug === sanitizedConfig.admin.user);
|
|
27
|
+
if (!userCollection || !userCollection.auth) {
|
|
27
28
|
throw new InvalidConfiguration(`${sanitizedConfig.admin.user} is not a valid admin user collection`);
|
|
28
29
|
}
|
|
29
30
|
return sanitizedConfig;
|
|
30
31
|
};
|
|
31
|
-
export const sanitizeConfig = (incomingConfig)=>{
|
|
32
|
+
export const sanitizeConfig = async (incomingConfig)=>{
|
|
32
33
|
const configWithDefaults = merge(defaults, incomingConfig, {
|
|
33
34
|
isMergeableObject: isPlainObject
|
|
34
35
|
});
|
|
@@ -70,16 +71,36 @@ export const sanitizeConfig = (incomingConfig)=>{
|
|
|
70
71
|
translations: {},
|
|
71
72
|
...incomingConfig?.i18n ?? {}
|
|
72
73
|
};
|
|
73
|
-
configWithDefaults.collections.push(getPreferencesCollection(
|
|
74
|
+
configWithDefaults.collections.push(getPreferencesCollection(config));
|
|
74
75
|
configWithDefaults.collections.push(migrationsCollection);
|
|
75
|
-
|
|
76
|
+
const richTextSanitizationPromises = [];
|
|
77
|
+
for(let i = 0; i < config.collections.length; i++){
|
|
78
|
+
config.collections[i] = await sanitizeCollection(config, config.collections[i], richTextSanitizationPromises);
|
|
79
|
+
}
|
|
76
80
|
checkDuplicateCollections(config.collections);
|
|
77
81
|
if (config.globals.length > 0) {
|
|
78
|
-
config.globals = sanitizeGlobals(config);
|
|
82
|
+
config.globals = await sanitizeGlobals(config, richTextSanitizationPromises);
|
|
79
83
|
}
|
|
80
84
|
if (config.serverURL !== '') {
|
|
81
85
|
config.csrf.push(config.serverURL);
|
|
82
86
|
}
|
|
87
|
+
// Get deduped list of upload adapters
|
|
88
|
+
if (!config.upload) config.upload = {
|
|
89
|
+
adapters: []
|
|
90
|
+
};
|
|
91
|
+
config.upload.adapters = Array.from(new Set(config.collections.map((c)=>c.upload?.adapter).filter(Boolean)));
|
|
92
|
+
/*
|
|
93
|
+
Execute richText sanitization
|
|
94
|
+
*/ if (typeof incomingConfig.editor === 'function') {
|
|
95
|
+
config.editor = await incomingConfig.editor({
|
|
96
|
+
config: config
|
|
97
|
+
});
|
|
98
|
+
}
|
|
99
|
+
const promises = [];
|
|
100
|
+
for (const sanitizeFunction of richTextSanitizationPromises){
|
|
101
|
+
promises.push(sanitizeFunction(config));
|
|
102
|
+
}
|
|
103
|
+
await Promise.all(promises);
|
|
83
104
|
return config;
|
|
84
105
|
};
|
|
85
106
|
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../src/config/sanitize.ts"],"sourcesContent":["import { en } from '@payloadcms/translations/languages/en'\nimport merge from 'deepmerge'\n\nimport type {\n Config,\n LocalizationConfigWithLabels,\n LocalizationConfigWithNoLabels,\n SanitizedConfig,\n} from './types.js'\n\nimport { defaultUserCollection } from '../auth/defaultUser.js'\nimport sanitizeCollection from '../collections/config/sanitize.js'\nimport { migrationsCollection } from '../database/migrations/migrationsCollection.js'\nimport { InvalidConfiguration } from '../errors/index.js'\nimport sanitizeGlobals from '../globals/config/sanitize.js'\nimport getPreferencesCollection from '../preferences/preferencesCollection.js'\nimport checkDuplicateCollections from '../utilities/checkDuplicateCollections.js'\nimport { isPlainObject } from '../utilities/isPlainObject.js'\nimport { defaults } from './defaults.js'\n\nconst sanitizeAdminConfig = (configToSanitize: Config): Partial<SanitizedConfig> => {\n const sanitizedConfig = { ...configToSanitize }\n\n // add default user collection if none provided\n if (!sanitizedConfig?.admin?.user) {\n const firstCollectionWithAuth = sanitizedConfig.collections.find(({ auth }) => Boolean(auth))\n if (firstCollectionWithAuth) {\n sanitizedConfig.admin.user = firstCollectionWithAuth.slug\n } else {\n sanitizedConfig.admin.user = defaultUserCollection.slug\n sanitizedConfig.collections.push(defaultUserCollection)\n }\n }\n\n
|
|
1
|
+
{"version":3,"sources":["../../src/config/sanitize.ts"],"sourcesContent":["import { en } from '@payloadcms/translations/languages/en'\nimport merge from 'deepmerge'\n\nimport type {\n Config,\n LocalizationConfigWithLabels,\n LocalizationConfigWithNoLabels,\n SanitizedConfig,\n} from './types.js'\n\nimport { defaultUserCollection } from '../auth/defaultUser.js'\nimport { sanitizeCollection } from '../collections/config/sanitize.js'\nimport { migrationsCollection } from '../database/migrations/migrationsCollection.js'\nimport { InvalidConfiguration } from '../errors/index.js'\nimport { sanitizeGlobals } from '../globals/config/sanitize.js'\nimport getPreferencesCollection from '../preferences/preferencesCollection.js'\nimport checkDuplicateCollections from '../utilities/checkDuplicateCollections.js'\nimport { isPlainObject } from '../utilities/isPlainObject.js'\nimport { defaults } from './defaults.js'\n\nconst sanitizeAdminConfig = (configToSanitize: Config): Partial<SanitizedConfig> => {\n const sanitizedConfig = { ...configToSanitize }\n\n // add default user collection if none provided\n if (!sanitizedConfig?.admin?.user) {\n const firstCollectionWithAuth = sanitizedConfig.collections.find(({ auth }) => Boolean(auth))\n if (firstCollectionWithAuth) {\n sanitizedConfig.admin.user = firstCollectionWithAuth.slug\n } else {\n sanitizedConfig.admin.user = defaultUserCollection.slug\n sanitizedConfig.collections.push(defaultUserCollection)\n }\n }\n\n const userCollection = sanitizedConfig.collections.find(\n ({ slug }) => slug === sanitizedConfig.admin.user,\n )\n if (!userCollection || !userCollection.auth) {\n throw new InvalidConfiguration(\n `${sanitizedConfig.admin.user} is not a valid admin user collection`,\n )\n }\n\n return sanitizedConfig as unknown as Partial<SanitizedConfig>\n}\n\nexport const sanitizeConfig = async (incomingConfig: Config): Promise<SanitizedConfig> => {\n const configWithDefaults: Config = merge(defaults, incomingConfig, {\n isMergeableObject: isPlainObject,\n }) as Config\n\n if (!configWithDefaults?.serverURL) {\n configWithDefaults.serverURL = ''\n }\n\n const config: Partial<SanitizedConfig> = sanitizeAdminConfig(configWithDefaults)\n\n if (config.localization && config.localization.locales?.length > 0) {\n // clone localization config so to not break everything\n const firstLocale = config.localization.locales[0]\n if (typeof firstLocale === 'string') {\n config.localization.localeCodes = [\n ...(config.localization as unknown as LocalizationConfigWithNoLabels).locales,\n ]\n\n // is string[], so convert to Locale[]\n config.localization.locales = (\n config.localization as unknown as LocalizationConfigWithNoLabels\n ).locales.map((locale) => ({\n code: locale,\n label: locale,\n rtl: false,\n toString: () => locale,\n }))\n } else {\n // is Locale[], so convert to string[] for localeCodes\n config.localization.localeCodes = config.localization.locales.reduce((locales, locale) => {\n locales.push(locale.code)\n return locales\n }, [] as string[])\n\n config.localization.locales = (\n config.localization as LocalizationConfigWithLabels\n ).locales.map((locale) => ({\n ...locale,\n toString: () => locale.code,\n }))\n }\n }\n\n config.i18n = {\n fallbackLanguage: 'en',\n supportedLanguages: {\n en,\n },\n translations: {},\n ...(incomingConfig?.i18n ?? {}),\n }\n\n configWithDefaults.collections.push(getPreferencesCollection(config as unknown as Config))\n configWithDefaults.collections.push(migrationsCollection)\n\n const richTextSanitizationPromises: Array<(config: SanitizedConfig) => Promise<void>> = []\n for (let i = 0; i < config.collections.length; i++) {\n config.collections[i] = await sanitizeCollection(\n config as unknown as Config,\n config.collections[i],\n richTextSanitizationPromises,\n )\n }\n\n checkDuplicateCollections(config.collections)\n\n if (config.globals.length > 0) {\n config.globals = await sanitizeGlobals(\n config as unknown as Config,\n richTextSanitizationPromises,\n )\n }\n\n if (config.serverURL !== '') {\n config.csrf.push(config.serverURL)\n }\n\n // Get deduped list of upload adapters\n if (!config.upload) config.upload = { adapters: [] }\n config.upload.adapters = Array.from(\n new Set(config.collections.map((c) => c.upload?.adapter).filter(Boolean)),\n )\n\n /*\n Execute richText sanitization\n */\n if (typeof incomingConfig.editor === 'function') {\n config.editor = await incomingConfig.editor({\n config: config as SanitizedConfig,\n })\n }\n\n const promises: Promise<void>[] = []\n for (const sanitizeFunction of richTextSanitizationPromises) {\n promises.push(sanitizeFunction(config as SanitizedConfig))\n }\n await Promise.all(promises)\n\n return config as SanitizedConfig\n}\n"],"names":["en","merge","defaultUserCollection","sanitizeCollection","migrationsCollection","InvalidConfiguration","sanitizeGlobals","getPreferencesCollection","checkDuplicateCollections","isPlainObject","defaults","sanitizeAdminConfig","configToSanitize","sanitizedConfig","admin","user","firstCollectionWithAuth","collections","find","auth","Boolean","slug","push","userCollection","sanitizeConfig","incomingConfig","configWithDefaults","isMergeableObject","serverURL","config","localization","locales","length","firstLocale","localeCodes","map","locale","code","label","rtl","toString","reduce","i18n","fallbackLanguage","supportedLanguages","translations","richTextSanitizationPromises","i","globals","csrf","upload","adapters","Array","from","Set","c","adapter","filter","editor","promises","sanitizeFunction","Promise","all"],"rangeMappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;","mappings":"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"}
|
package/dist/config/schema.js
CHANGED
|
@@ -81,7 +81,7 @@ export default joi.object({
|
|
|
81
81
|
populationPromise: joi.func().optional(),
|
|
82
82
|
validate: joi.func().required()
|
|
83
83
|
}).unknown(),
|
|
84
|
-
email: joi.object(),
|
|
84
|
+
email: joi.alternatives().try(joi.object(), joi.func()),
|
|
85
85
|
endpoints: endpointsSchema,
|
|
86
86
|
globals: joi.array(),
|
|
87
87
|
graphQL: joi.object().keys({
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../src/config/schema.ts"],"sourcesContent":["import joi from 'joi'\n\nimport { adminViewSchema } from './shared/adminViewSchema.js'\nimport { componentSchema, livePreviewSchema } from './shared/componentSchema.js'\n\nconst component = joi.alternatives().try(joi.object().unknown(), joi.func())\n\nexport const endpointsSchema = joi.alternatives().try(\n joi.array().items(\n joi.object({\n custom: joi.object().pattern(joi.string(), joi.any()),\n handler: joi.alternatives().try(joi.array().items(joi.func()), joi.func()),\n method: joi\n .string()\n .valid('get', 'head', 'post', 'put', 'patch', 'delete', 'connect', 'options'),\n path: joi.string(),\n root: joi.bool(),\n }),\n ),\n joi.boolean(),\n)\n\nexport default joi.object({\n admin: joi.object({\n autoLogin: joi.alternatives().try(\n joi.object().keys({\n email: joi.string(),\n password: joi.string(),\n prefillOnly: joi.boolean(),\n }),\n joi.boolean(),\n ),\n avatar: joi.alternatives().try(joi.string(), component),\n buildPath: joi.string(),\n components: joi.object().keys({\n Nav: component,\n actions: joi.array().items(component),\n afterDashboard: joi.array().items(component),\n afterLogin: joi.array().items(component),\n afterNavLinks: joi.array().items(component),\n beforeDashboard: joi.array().items(component),\n beforeLogin: joi.array().items(component),\n beforeNavLinks: joi.array().items(component),\n graphics: joi.object({\n Icon: component,\n Logo: component,\n }),\n logout: joi.object({\n Button: component,\n }),\n providers: joi.array().items(component),\n views: joi.alternatives().try(\n joi.object({\n Account: joi.alternatives().try(component, adminViewSchema),\n Dashboard: joi.alternatives().try(component, adminViewSchema),\n }),\n joi.object().pattern(joi.string(), component),\n ),\n }),\n custom: joi.object().pattern(joi.string(), joi.any()),\n dateFormat: joi.string(),\n disable: joi.bool(),\n inactivityRoute: joi.string(),\n livePreview: joi.object({\n ...livePreviewSchema,\n collections: joi.array().items(joi.string()),\n globals: joi.array().items(joi.string()),\n }),\n logoutRoute: joi.string(),\n meta: joi.object().keys({\n favicon: joi.string(),\n ogImage: joi.string(),\n titleSuffix: joi.string(),\n }),\n user: joi.string(),\n }),\n bin: joi.array().items(\n joi.object().keys({\n key: joi.string(),\n scriptPath: joi.string(),\n }),\n ),\n collections: joi.array(),\n cookiePrefix: joi.string(),\n cors: [joi.string().valid('*'), joi.array().items(joi.string())],\n csrf: joi.array().items(joi.string().allow('')).sparse(),\n custom: joi.object().pattern(joi.string(), joi.any()),\n db: joi.any(),\n debug: joi.boolean(),\n defaultDepth: joi.number().min(0).max(30),\n defaultMaxTextLength: joi.number(),\n editor: joi\n .object()\n .required()\n .keys({\n CellComponent: componentSchema.optional(),\n FieldComponent: componentSchema.optional(),\n afterReadPromise: joi.func().optional(),\n outputSchema: joi.func().optional(),\n populationPromise: joi.func().optional(),\n validate: joi.func().required(),\n })\n .unknown(),\n email: joi.object(),\n endpoints: endpointsSchema,\n globals: joi.array(),\n graphQL: joi.object().keys({\n disable: joi.boolean(),\n disablePlaygroundInProduction: joi.boolean(),\n maxComplexity: joi.number(),\n mutations: joi.function(),\n queries: joi.function(),\n }),\n hooks: joi.object().keys({\n afterError: joi.func(),\n }),\n i18n: joi.object(),\n indexSortableFields: joi.boolean(),\n local: joi.boolean(),\n localization: joi.alternatives().try(\n joi.object().keys({\n defaultLocale: joi.string(),\n fallback: joi.boolean(),\n localeCodes: joi.array().items(joi.string()),\n locales: joi.alternatives().try(\n joi.array().items(\n joi.object().keys({\n code: joi.string(),\n fallbackLocale: joi.string(),\n label: joi\n .alternatives()\n .try(\n joi.object().pattern(joi.string(), [joi.string()]),\n joi.string(),\n joi.valid(false),\n ),\n rtl: joi.boolean(),\n toString: joi.func(),\n }),\n ),\n joi.array().items(joi.string()),\n ),\n }),\n joi.boolean(),\n ),\n maxDepth: joi.number().min(0).max(100),\n onInit: joi.func(),\n plugins: joi.array().items(joi.func()),\n routes: joi.object({\n admin: joi.string(),\n api: joi.string(),\n graphQL: joi.string(),\n graphQLPlayground: joi.string(),\n }),\n secret: joi.string(),\n serverURL: joi\n .string()\n .uri()\n .allow('')\n .custom((value, helper) => {\n const urlWithoutProtocol = value.split('//')[1]\n\n if (!urlWithoutProtocol) {\n return helper.message({\n custom: 'You need to include either \"https://\" or \"http://\" in your serverURL.',\n })\n }\n\n if (urlWithoutProtocol.indexOf('/') > -1) {\n return helper.message({\n custom:\n 'Your serverURL cannot have a path. It can only contain a protocol, a domain, and an optional port.',\n })\n }\n\n return value\n }),\n sharp: joi.any(),\n telemetry: joi.boolean(),\n typescript: joi.object({\n declare: joi.boolean(),\n outputFile: joi.string(),\n }),\n upload: joi.object(),\n})\n"],"names":["joi","adminViewSchema","componentSchema","livePreviewSchema","component","alternatives","try","object","unknown","func","endpointsSchema","array","items","custom","pattern","string","any","handler","method","valid","path","root","bool","boolean","admin","autoLogin","keys","email","password","prefillOnly","avatar","buildPath","components","Nav","actions","afterDashboard","afterLogin","afterNavLinks","beforeDashboard","beforeLogin","beforeNavLinks","graphics","Icon","Logo","logout","Button","providers","views","Account","Dashboard","dateFormat","disable","inactivityRoute","livePreview","collections","globals","logoutRoute","meta","favicon","ogImage","titleSuffix","user","bin","key","scriptPath","cookiePrefix","cors","csrf","allow","sparse","db","debug","defaultDepth","number","min","max","defaultMaxTextLength","editor","required","CellComponent","optional","FieldComponent","afterReadPromise","outputSchema","populationPromise","validate","endpoints","graphQL","disablePlaygroundInProduction","maxComplexity","mutations","function","queries","hooks","afterError","i18n","indexSortableFields","local","localization","defaultLocale","fallback","localeCodes","locales","code","fallbackLocale","label","rtl","toString","maxDepth","onInit","plugins","routes","api","graphQLPlayground","secret","serverURL","uri","value","helper","urlWithoutProtocol","split","message","indexOf","sharp","telemetry","typescript","declare","outputFile","upload"],"rangeMappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;","mappings":"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"}
|
|
1
|
+
{"version":3,"sources":["../../src/config/schema.ts"],"sourcesContent":["import joi from 'joi'\n\nimport { adminViewSchema } from './shared/adminViewSchema.js'\nimport { componentSchema, livePreviewSchema } from './shared/componentSchema.js'\n\nconst component = joi.alternatives().try(joi.object().unknown(), joi.func())\n\nexport const endpointsSchema = joi.alternatives().try(\n joi.array().items(\n joi.object({\n custom: joi.object().pattern(joi.string(), joi.any()),\n handler: joi.alternatives().try(joi.array().items(joi.func()), joi.func()),\n method: joi\n .string()\n .valid('get', 'head', 'post', 'put', 'patch', 'delete', 'connect', 'options'),\n path: joi.string(),\n root: joi.bool(),\n }),\n ),\n joi.boolean(),\n)\n\nexport default joi.object({\n admin: joi.object({\n autoLogin: joi.alternatives().try(\n joi.object().keys({\n email: joi.string(),\n password: joi.string(),\n prefillOnly: joi.boolean(),\n }),\n joi.boolean(),\n ),\n avatar: joi.alternatives().try(joi.string(), component),\n buildPath: joi.string(),\n components: joi.object().keys({\n Nav: component,\n actions: joi.array().items(component),\n afterDashboard: joi.array().items(component),\n afterLogin: joi.array().items(component),\n afterNavLinks: joi.array().items(component),\n beforeDashboard: joi.array().items(component),\n beforeLogin: joi.array().items(component),\n beforeNavLinks: joi.array().items(component),\n graphics: joi.object({\n Icon: component,\n Logo: component,\n }),\n logout: joi.object({\n Button: component,\n }),\n providers: joi.array().items(component),\n views: joi.alternatives().try(\n joi.object({\n Account: joi.alternatives().try(component, adminViewSchema),\n Dashboard: joi.alternatives().try(component, adminViewSchema),\n }),\n joi.object().pattern(joi.string(), component),\n ),\n }),\n custom: joi.object().pattern(joi.string(), joi.any()),\n dateFormat: joi.string(),\n disable: joi.bool(),\n inactivityRoute: joi.string(),\n livePreview: joi.object({\n ...livePreviewSchema,\n collections: joi.array().items(joi.string()),\n globals: joi.array().items(joi.string()),\n }),\n logoutRoute: joi.string(),\n meta: joi.object().keys({\n favicon: joi.string(),\n ogImage: joi.string(),\n titleSuffix: joi.string(),\n }),\n user: joi.string(),\n }),\n bin: joi.array().items(\n joi.object().keys({\n key: joi.string(),\n scriptPath: joi.string(),\n }),\n ),\n collections: joi.array(),\n cookiePrefix: joi.string(),\n cors: [joi.string().valid('*'), joi.array().items(joi.string())],\n csrf: joi.array().items(joi.string().allow('')).sparse(),\n custom: joi.object().pattern(joi.string(), joi.any()),\n db: joi.any(),\n debug: joi.boolean(),\n defaultDepth: joi.number().min(0).max(30),\n defaultMaxTextLength: joi.number(),\n editor: joi\n .object()\n .required()\n .keys({\n CellComponent: componentSchema.optional(),\n FieldComponent: componentSchema.optional(),\n afterReadPromise: joi.func().optional(),\n outputSchema: joi.func().optional(),\n populationPromise: joi.func().optional(),\n validate: joi.func().required(),\n })\n .unknown(),\n email: joi.alternatives().try(joi.object(), joi.func()),\n endpoints: endpointsSchema,\n globals: joi.array(),\n graphQL: joi.object().keys({\n disable: joi.boolean(),\n disablePlaygroundInProduction: joi.boolean(),\n maxComplexity: joi.number(),\n mutations: joi.function(),\n queries: joi.function(),\n }),\n hooks: joi.object().keys({\n afterError: joi.func(),\n }),\n i18n: joi.object(),\n indexSortableFields: joi.boolean(),\n local: joi.boolean(),\n localization: joi.alternatives().try(\n joi.object().keys({\n defaultLocale: joi.string(),\n fallback: joi.boolean(),\n localeCodes: joi.array().items(joi.string()),\n locales: joi.alternatives().try(\n joi.array().items(\n joi.object().keys({\n code: joi.string(),\n fallbackLocale: joi.string(),\n label: joi\n .alternatives()\n .try(\n joi.object().pattern(joi.string(), [joi.string()]),\n joi.string(),\n joi.valid(false),\n ),\n rtl: joi.boolean(),\n toString: joi.func(),\n }),\n ),\n joi.array().items(joi.string()),\n ),\n }),\n joi.boolean(),\n ),\n maxDepth: joi.number().min(0).max(100),\n onInit: joi.func(),\n plugins: joi.array().items(joi.func()),\n routes: joi.object({\n admin: joi.string(),\n api: joi.string(),\n graphQL: joi.string(),\n graphQLPlayground: joi.string(),\n }),\n secret: joi.string(),\n serverURL: joi\n .string()\n .uri()\n .allow('')\n .custom((value, helper) => {\n const urlWithoutProtocol = value.split('//')[1]\n\n if (!urlWithoutProtocol) {\n return helper.message({\n custom: 'You need to include either \"https://\" or \"http://\" in your serverURL.',\n })\n }\n\n if (urlWithoutProtocol.indexOf('/') > -1) {\n return helper.message({\n custom:\n 'Your serverURL cannot have a path. It can only contain a protocol, a domain, and an optional port.',\n })\n }\n\n return value\n }),\n sharp: joi.any(),\n telemetry: joi.boolean(),\n typescript: joi.object({\n declare: joi.boolean(),\n outputFile: joi.string(),\n }),\n upload: joi.object(),\n})\n"],"names":["joi","adminViewSchema","componentSchema","livePreviewSchema","component","alternatives","try","object","unknown","func","endpointsSchema","array","items","custom","pattern","string","any","handler","method","valid","path","root","bool","boolean","admin","autoLogin","keys","email","password","prefillOnly","avatar","buildPath","components","Nav","actions","afterDashboard","afterLogin","afterNavLinks","beforeDashboard","beforeLogin","beforeNavLinks","graphics","Icon","Logo","logout","Button","providers","views","Account","Dashboard","dateFormat","disable","inactivityRoute","livePreview","collections","globals","logoutRoute","meta","favicon","ogImage","titleSuffix","user","bin","key","scriptPath","cookiePrefix","cors","csrf","allow","sparse","db","debug","defaultDepth","number","min","max","defaultMaxTextLength","editor","required","CellComponent","optional","FieldComponent","afterReadPromise","outputSchema","populationPromise","validate","endpoints","graphQL","disablePlaygroundInProduction","maxComplexity","mutations","function","queries","hooks","afterError","i18n","indexSortableFields","local","localization","defaultLocale","fallback","localeCodes","locales","code","fallbackLocale","label","rtl","toString","maxDepth","onInit","plugins","routes","api","graphQLPlayground","secret","serverURL","uri","value","helper","urlWithoutProtocol","split","message","indexOf","sharp","telemetry","typescript","declare","outputFile","upload"],"rangeMappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;","mappings":"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"}
|
package/dist/config/types.d.ts
CHANGED
|
@@ -6,6 +6,7 @@ import type { DestinationStream, LoggerOptions } from 'pino';
|
|
|
6
6
|
import type React from 'react';
|
|
7
7
|
import type { default as sharp } from 'sharp';
|
|
8
8
|
import type { DeepRequired } from 'ts-essentials';
|
|
9
|
+
import type { RichTextAdapterProvider } from '../admin/RichText.js';
|
|
9
10
|
import type { DocumentTab, RichTextAdapter } from '../admin/types.js';
|
|
10
11
|
import type { AdminView, ServerSideEditViewProps } from '../admin/views/types.js';
|
|
11
12
|
import type { User } from '../auth/types.js';
|
|
@@ -451,7 +452,7 @@ export type Config = {
|
|
|
451
452
|
*/
|
|
452
453
|
defaultMaxTextLength?: number;
|
|
453
454
|
/** Default richtext editor to use for richText fields */
|
|
454
|
-
editor:
|
|
455
|
+
editor: RichTextAdapterProvider<any, any, any>;
|
|
455
456
|
/**
|
|
456
457
|
* Email Adapter
|
|
457
458
|
*
|
|
@@ -561,8 +562,10 @@ export type Config = {
|
|
|
561
562
|
*/
|
|
562
563
|
upload?: ExpressFileUploadOptions;
|
|
563
564
|
};
|
|
564
|
-
export type SanitizedConfig = Omit<DeepRequired<Config>, 'collections' | 'endpoint' | 'globals' | 'i18n' | 'localization'> & {
|
|
565
|
+
export type SanitizedConfig = Omit<DeepRequired<Config>, 'collections' | 'editor' | 'endpoint' | 'globals' | 'i18n' | 'localization' | 'upload'> & {
|
|
565
566
|
collections: SanitizedCollectionConfig[];
|
|
567
|
+
/** Default richtext editor to use for richText fields */
|
|
568
|
+
editor: RichTextAdapter<any, any, any>;
|
|
566
569
|
endpoints: Endpoint[];
|
|
567
570
|
globals: SanitizedGlobalConfig[];
|
|
568
571
|
i18n: Required<I18nOptions>;
|
|
@@ -572,6 +575,12 @@ export type SanitizedConfig = Omit<DeepRequired<Config>, 'collections' | 'endpoi
|
|
|
572
575
|
configDir: string;
|
|
573
576
|
rawConfig: string;
|
|
574
577
|
};
|
|
578
|
+
upload: ExpressFileUploadOptions & {
|
|
579
|
+
/**
|
|
580
|
+
* Deduped list of adapters used in the project
|
|
581
|
+
*/
|
|
582
|
+
adapters: string[];
|
|
583
|
+
};
|
|
575
584
|
};
|
|
576
585
|
export type EditConfig = ({
|
|
577
586
|
/**
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/config/types.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/config/types.ts"],"names":[],"mappings":"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"}
|
package/dist/config/types.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../src/config/types.ts"],"sourcesContent":["import type { I18nOptions, TFunction } from '@payloadcms/translations'\nimport type { Options as ExpressFileUploadOptions } from 'express-fileupload'\nimport type GraphQL from 'graphql'\nimport type { DestinationStream, LoggerOptions, P } from 'pino'\nimport type React from 'react'\nimport type { default as sharp } from 'sharp'\nimport type { DeepRequired } from 'ts-essentials'\n\nimport type { DocumentTab, RichTextAdapter } from '../admin/types.js'\nimport type { AdminView, ServerSideEditViewProps } from '../admin/views/types.js'\nimport type { User } from '../auth/types.js'\nimport type {\n AfterErrorHook,\n Collection,\n CollectionConfig,\n SanitizedCollectionConfig,\n} from '../collections/config/types.js'\nimport type { DatabaseAdapterResult } from '../database/types.js'\nimport type { EmailAdapter, SendEmailOptions } from '../email/types.js'\nimport type { GlobalConfig, Globals, SanitizedGlobalConfig } from '../globals/config/types.js'\nimport type { Payload } from '../index.js'\nimport type { PayloadRequest, PayloadRequestWithData, Where } from '../types/index.js'\nimport type { PayloadLogger } from '../utilities/logger.js'\n\nexport type BinScriptConfig = {\n key: string\n scriptPath: string\n}\n\nexport type BinScript = (config: SanitizedConfig) => Promise<void> | void\n\ntype Prettify<T> = {\n [K in keyof T]: T[K]\n} & NonNullable<unknown>\n\n// eslint-disable-next-line no-use-before-define\nexport type Plugin = (config: Config) => Config | Promise<Config>\n\nexport type LivePreviewConfig = {\n /**\n Device breakpoints to use for the `iframe` of the Live Preview window.\n Options are displayed in the Live Preview toolbar.\n The `responsive` breakpoint is included by default.\n */\n breakpoints?: {\n height: number | string\n label: string\n name: string\n width: number | string\n }[]\n /**\n The URL of the frontend application. This will be rendered within an `iframe` as its `src`.\n Payload will send a `window.postMessage()` to this URL with the document data in real-time.\n The frontend application is responsible for receiving the message and updating the UI accordingly.\n Use the `useLivePreview` hook to get started in React applications.\n */\n url?:\n | ((args: {\n collectionConfig?: SanitizedCollectionConfig\n data: Record<string, any>\n globalConfig?: SanitizedGlobalConfig\n locale: Locale\n payload: Payload\n }) => Promise<string> | string)\n | string\n}\n\nexport type ServerOnlyLivePreviewProperties = keyof Pick<LivePreviewConfig, 'url'>\n\ntype GeneratePreviewURLOptions = {\n locale: string\n req: PayloadRequestWithData\n token: null | string\n}\n\nexport type GeneratePreviewURL = (\n doc: Record<string, unknown>,\n options: GeneratePreviewURLOptions,\n) => Promise<null | string> | null | string\n\nexport type GraphQLInfo = {\n Mutation: {\n fields: Record<string, any>\n name: string\n }\n Query: {\n fields: Record<string, any>\n name: string\n }\n collections: {\n [slug: number | string | symbol]: Collection\n }\n globals: Globals\n types: {\n arrayTypes: Record<string, GraphQL.GraphQLType>\n blockInputTypes: Record<string, GraphQL.GraphQLInputObjectType>\n blockTypes: Record<string, GraphQL.GraphQLObjectType>\n fallbackLocaleInputType?: GraphQL.GraphQLEnumType | GraphQL.GraphQLScalarType\n groupTypes: Record<string, GraphQL.GraphQLObjectType>\n localeInputType?: GraphQL.GraphQLEnumType | GraphQL.GraphQLScalarType\n tabTypes: Record<string, GraphQL.GraphQLObjectType>\n }\n}\nexport type GraphQLExtension = (\n graphQL: typeof GraphQL,\n context: {\n config: SanitizedConfig\n } & GraphQLInfo,\n) => Record<string, unknown>\n\nexport type InitOptions = {\n /**\n * Sometimes, with the local API, you might need to pass a config file directly, for example, serverless on Vercel\n * The passed config should match the config file, and if it doesn't, there could be mismatches between the admin UI\n * and the backend functionality\n */\n config: Promise<SanitizedConfig> | SanitizedConfig\n /**\n * Disable connect to the database on init\n */\n disableDBConnect?: boolean\n\n /**\n * Disable running of the `onInit` function\n */\n disableOnInit?: boolean\n\n /**\n * A previously instantiated logger instance. Must conform to the PayloadLogger interface which uses Pino\n * This allows you to bring your own logger instance and let payload use it\n */\n logger?: PayloadLogger\n\n loggerDestination?: DestinationStream\n\n /**\n * Specify options for the built-in Pino logger that Payload uses for internal logging.\n *\n * See Pino Docs for options: https://getpino.io/#/docs/api?id=options\n */\n loggerOptions?: LoggerOptions\n /**\n * A function that is called immediately following startup that receives the Payload instance as it's only argument.\n */\n onInit?: (payload: Payload) => Promise<void> | void\n}\n\n/**\n * This result is calculated on the server\n * and then sent to the client allowing the dashboard to show accessible data and actions.\n *\n * If the result is `true`, the user has access.\n * If the result is an object, it is interpreted as a MongoDB query.\n *\n * @example `{ createdBy: { equals: id } }`\n *\n * @example `{ tenant: { in: tenantIds } }`\n *\n * @see https://payloadcms.com/docs/access-control/overview\n */\nexport type AccessResult = Where | boolean\n\nexport type AccessArgs<T = any, U = any> = {\n /**\n * The relevant resource that is being accessed.\n *\n * `data` is null when a list is requested\n */\n data?: T\n /** ID of the resource being accessed */\n id?: number | string\n /** If true, the request is for a static file */\n isReadingStaticFile?: boolean\n /** The original request that requires an access check */\n req: PayloadRequestWithData<U>\n}\n\n/**\n * Access function runs on the server\n * and is sent to the client allowing the dashboard to show accessible data and actions.\n *\n * @see https://payloadcms.com/docs/access-control/overview\n */\nexport type Access<T = any, U = any> = (\n args: AccessArgs<T, U>,\n) => AccessResult | Promise<AccessResult>\n\n/** Web Request/Response model, but the the req has more payload specific properties added to it. */\nexport type PayloadHandler = (req: PayloadRequest) => Promise<Response> | Response\n\n/**\n * Docs: https://payloadcms.com/docs/rest-api/overview#custom-endpoints\n */\nexport type Endpoint<U = User> = {\n /** Extension point to add your custom data. */\n custom?: Record<string, any>\n\n /**\n * Middleware that will be called when the path/method matches\n *\n * Compatible with Web Request/Response Model\n */\n handler: PayloadHandler\n /** HTTP method (or \"all\") */\n method: 'connect' | 'delete' | 'get' | 'head' | 'options' | 'patch' | 'post' | 'put'\n /**\n * Pattern that should match the path of the incoming request\n *\n * Compatible with the Express router\n */\n path: string\n /**\n * Please add \"root\" routes under the /api folder in the Payload Project.\n * https://nextjs.org/docs/app/api-reference/file-conventions/route\n *\n * @deprecated in 3.0\n */\n root?: never\n}\n\nexport type EditViewComponent = React.ComponentType<ServerSideEditViewProps>\n\nexport type EditViewConfig =\n | {\n /**\n * Add a new Edit view to the admin panel\n * i.e. you can render a custom view that has no tab, if desired\n * Or override a specific properties of an existing one\n * i.e. you can customize the `Default` view tab label, if desired\n */\n Tab?: DocumentTab\n path?: string\n }\n | {\n Component: EditViewComponent\n path: string\n }\n | {\n actions?: CustomComponent[]\n }\n\n/**\n * Override existing views\n * i.e. Dashboard, Account, API, LivePreview, etc.\n * Path is not available here\n * All Tab properties become optional\n * i.e. you can change just the label, if desired\n */\nexport type EditView = EditViewComponent | EditViewConfig\n\nexport type ServerProps = {\n payload: Payload\n}\n\nexport const serverProps: (keyof ServerProps)[] = ['payload']\n\nexport type CustomComponent<T extends any = any> = React.ComponentType<T & ServerProps>\n\nexport type Locale = {\n /**\n * value of supported locale\n * @example \"en\"\n */\n code: string\n /**\n * Code of another locale to use when reading documents with fallback, if not specified defaultLocale is used\n */\n fallbackLocale?: string\n /**\n * label of supported locale\n * @example \"English\"\n */\n label: Record<string, string> | string\n /**\n * if true, defaults textAligmnent on text fields to RTL\n */\n rtl?: boolean\n}\n\nexport type BaseLocalizationConfig = {\n /**\n * Locale for users that have not expressed their preference for a specific locale\n * @example `\"en\"`\n */\n defaultLocale: string\n /** Set to `true` to let missing values in localised fields fall back to the values in `defaultLocale` */\n fallback?: boolean\n}\n\nexport type LocalizationConfigWithNoLabels = Prettify<\n BaseLocalizationConfig & {\n /**\n * List of supported locales\n * @example `[\"en\", \"es\", \"fr\", \"nl\", \"de\", \"jp\"]`\n */\n locales: string[]\n }\n>\n\nexport type LocalizationConfigWithLabels = Prettify<\n BaseLocalizationConfig & {\n /**\n * List of supported locales with labels\n * @example {\n * label: 'English',\n * value: 'en',\n * rtl: false\n * }\n */\n locales: Locale[]\n }\n>\n\nexport type SanitizedLocalizationConfig = Prettify<\n LocalizationConfigWithLabels & {\n /**\n * List of supported locales\n * @example `[\"en\", \"es\", \"fr\", \"nl\", \"de\", \"jp\"]`\n */\n localeCodes: string[]\n }\n>\n\n/**\n * @see https://payloadcms.com/docs/configuration/localization#localization\n */\nexport type LocalizationConfig = Prettify<\n LocalizationConfigWithLabels | LocalizationConfigWithNoLabels\n>\n\nexport type LabelFunction = ({ t }: { t: TFunction }) => string\n\nexport type SharpDependency = (\n input?:\n | ArrayBuffer\n | Buffer\n | Float32Array\n | Float64Array\n | Int8Array\n | Int16Array\n | Int32Array\n | Uint8Array\n | Uint8ClampedArray\n | Uint16Array\n | Uint32Array\n | string,\n options?: sharp.SharpOptions,\n) => sharp.Sharp\n\n/**\n * This is the central configuration\n *\n * @see https://payloadcms.com/docs/configuration/overview\n */\nexport type Config = {\n /** Configure admin dashboard */\n admin?: {\n /** Automatically log in as a user when visiting the admin dashboard. */\n autoLogin?:\n | {\n /**\n * The email address of the user to login as\n *\n */\n email: string\n /** The password of the user to login as */\n password: string\n /**\n * If set to true, the login credentials will be prefilled but the user will still need to click the login button.\n *\n * @default false\n */\n prefillOnly?: boolean\n }\n | false\n /** Set account profile picture. Options: gravatar, default or a custom React component. */\n avatar?: 'default' | 'gravatar' | React.ComponentType<any>\n\n /**\n * Add extra and/or replace built-in components with custom components\n *\n * @see https://payloadcms.com/docs/admin/components\n */\n components?: {\n /**\n * Replace the navigation with a custom component\n */\n Nav?: CustomComponent\n /**\n * Add custom components to the top right of the Admin Panel\n */\n actions?: CustomComponent[]\n /**\n * Add custom components after the collection overview\n */\n afterDashboard?: CustomComponent[]\n /**\n * Add custom components after the email/password field\n */\n afterLogin?: CustomComponent[]\n /**\n * Add custom components after the navigation links\n */\n afterNavLinks?: CustomComponent[]\n /**\n * Add custom components before the collection overview\n */\n beforeDashboard?: CustomComponent[]\n /**\n * Add custom components before the email/password field\n */\n beforeLogin?: CustomComponent[]\n /**\n * Add custom components before the navigation links\n */\n beforeNavLinks?: CustomComponent[]\n /** Replace graphical components */\n graphics?: {\n /** Replace the icon in the navigation */\n Icon?: CustomComponent\n /** Replace the logo on the login page */\n Logo?: CustomComponent\n }\n /** Replace logout related components */\n logout?: {\n /** Replace the logout button */\n Button?: CustomComponent\n }\n /**\n * Wrap the admin dashboard in custom context providers\n */\n providers?: React.ComponentType<{ children?: React.ReactNode }>[]\n /**\n * Replace or modify top-level admin routes, or add new ones:\n * + `Account` - `/admin/account`\n * + `Dashboard` - `/admin`\n * + `:path` - `/admin/:path`\n */\n views?: {\n /** Add custom admin views */\n [key: string]: AdminView\n /** Replace the account screen */\n Account?: AdminView\n /** Replace the admin homepage */\n Dashboard?: AdminView\n }\n }\n /** Extension point to add your custom data. Available in server and client. */\n custom?: Record<string, any>\n /** Global date format that will be used for all dates in the Admin panel. Any valid date-fns format pattern can be used. */\n dateFormat?: string\n /** If set to true, the entire Admin panel will be disabled. */\n disable?: boolean\n /** The route the user will be redirected to after being inactive for too long. */\n inactivityRoute?: string\n livePreview?: LivePreviewConfig & {\n collections?: string[]\n globals?: string[]\n }\n /** The route for the logout page. */\n logoutRoute?: string\n /** Base meta data to use for the Admin panel. Included properties are titleSuffix, ogImage, and favicon. */\n meta?: {\n /**\n * Public path to an icon\n *\n * This image may be displayed in the browser next to the title of the page\n */\n favicon?: string\n /**\n * Public path to an image\n *\n * This image may be displayed as preview when the link is shared on social media\n */\n ogImage?: string\n /**\n * String to append to the <title> of admin pages\n * @example `\" - My Brand\"`\n */\n titleSuffix?: string\n }\n /** The slug of a Collection that you want be used to log in to the Admin dashboard. */\n user?: string\n }\n /** Custom Payload bin scripts can be injected via the config. */\n bin?: BinScriptConfig[]\n /**\n * Manage the datamodel of your application\n *\n * @see https://payloadcms.com/docs/configuration/collections#collection-configs\n */\n collections?: CollectionConfig[]\n /**\n * Replace the built-in components with custom ones\n */\n components?: { [key: string]: (() => JSX.Element) | JSX.Element }\n /**\n * Prefix a string to all cookies that Payload sets.\n *\n * @default \"payload\"\n */\n cookiePrefix?: string\n /** Either a whitelist array of URLS to allow CORS requests from, or a wildcard string ('*') to accept incoming requests from any domain. */\n cors?: '*' | string[]\n /** A whitelist array of URLs to allow Payload cookies to be accepted from as a form of CSRF protection. */\n csrf?: string[]\n\n /** Extension point to add your custom data. Server only. */\n custom?: Record<string, any>\n\n /** Pass in a database adapter for use on this project. */\n db: DatabaseAdapterResult\n /** Enable to expose more detailed error information. */\n debug?: boolean\n /**\n * If a user does not specify `depth` while requesting a resource, this depth will be used.\n *\n * @see https://payloadcms.com/docs/getting-started/concepts#depth\n *\n * @default 2\n */\n defaultDepth?: number\n /**\n * The maximum allowed depth to be permitted application-wide. This setting helps prevent against malicious queries.\n *\n * @default 40000\n */\n defaultMaxTextLength?: number\n /** Default richtext editor to use for richText fields */\n editor: RichTextAdapter<any, any, any>\n /**\n * Email Adapter\n *\n * @see https://payloadcms.com/docs/email/overview\n */\n email?: EmailAdapter | Promise<EmailAdapter>\n /** Custom REST endpoints */\n endpoints?: Endpoint[]\n /**\n * @see https://payloadcms.com/docs/configuration/globals#global-configs\n */\n globals?: GlobalConfig[]\n /**\n * Manage the GraphQL API\n *\n * You can add your own GraphQL queries and mutations to Payload, making use of all the types that Payload has defined for you.\n *\n * @see https://payloadcms.com/docs/graphql/overview\n */\n graphQL?: {\n disable?: boolean\n disablePlaygroundInProduction?: boolean\n maxComplexity?: number\n /**\n * Function that returns an object containing keys to custom GraphQL mutations\n *\n * @see https://payloadcms.com/docs/graphql/extending\n */\n mutations?: GraphQLExtension\n /**\n * Function that returns an object containing keys to custom GraphQL queries\n *\n * @see https://payloadcms.com/docs/graphql/extending\n */\n queries?: GraphQLExtension\n }\n /**\n * Tap into Payload-wide hooks.\n *\n * @see https://payloadcms.com/docs/hooks/overview\n */\n hooks?: {\n afterError?: AfterErrorHook\n }\n /** i18n config settings */\n i18n?: I18nOptions\n /** Automatically index all sortable top-level fields in the database to improve sort performance and add database compatibility for Azure Cosmos and similar. */\n indexSortableFields?: boolean\n /**\n * Translate your content to different languages/locales.\n *\n * @default false // disable localization\n */\n localization?: LocalizationConfig | false\n /**\n * The maximum allowed depth to be permitted application-wide. This setting helps prevent against malicious queries.\n *\n * @see https://payloadcms.com/docs/getting-started/concepts#depth\n *\n * @default 10\n */\n maxDepth?: number\n /** A function that is called immediately following startup that receives the Payload instance as its only argument. */\n onInit?: (payload: Payload) => Promise<void> | void\n /**\n * An array of Payload plugins.\n *\n * @see https://payloadcms.com/docs/plugins/overview\n */\n plugins?: Plugin[]\n /** Control the routing structure that Payload binds itself to. */\n routes?: {\n /** @default \"/admin\" */\n admin?: string\n /** @default \"/api\" */\n api?: string\n /** @default \"/graphql\" */\n graphQL?: string\n /** @default \"/graphql-playground\" */\n graphQLPlayground?: string\n }\n /** Secure string that Payload will use for any encryption workflows */\n secret: string\n /**\n * Define the absolute URL of your app including the protocol, for example `https://example.org`.\n * No paths allowed, only protocol, domain and (optionally) port.\n *\n * @see https://payloadcms.com/docs/configuration/overview#options\n */\n serverURL?: string\n /**\n * Pass in a local copy of Sharp if you'd like to use it.\n *\n */\n sharp?: SharpDependency\n /** Send anonymous telemetry data about general usage. */\n telemetry?: boolean\n /** Control how typescript interfaces are generated from your collections. */\n typescript?: {\n /** Disable declare block in generated types file */\n declare?: false\n /** Filename to write the generated types to */\n outputFile?: string\n }\n /**\n * Customize the handling of incoming file uploads for collections that have uploads enabled.\n */\n upload?: ExpressFileUploadOptions\n}\n\nexport type SanitizedConfig = Omit<\n DeepRequired<Config>,\n 'collections' | 'endpoint' | 'globals' | 'i18n' | 'localization'\n> & {\n collections: SanitizedCollectionConfig[]\n endpoints: Endpoint[]\n globals: SanitizedGlobalConfig[]\n i18n: Required<I18nOptions>\n localization: SanitizedLocalizationConfig | false\n paths: {\n config: string\n configDir: string\n rawConfig: string\n }\n}\n\nexport type EditConfig =\n | (\n | {\n /**\n * Replace or modify individual nested routes, or add new ones:\n * + `Default` - `/admin/collections/:collection/:id`\n * + `API` - `/admin/collections/:collection/:id/api`\n * + `LivePreview` - `/admin/collections/:collection/:id/preview`\n * + `References` - `/admin/collections/:collection/:id/references`\n * + `Relationships` - `/admin/collections/:collection/:id/relationships`\n * + `Versions` - `/admin/collections/:collection/:id/versions`\n * + `Version` - `/admin/collections/:collection/:id/versions/:version`\n * + `CustomView` - `/admin/collections/:collection/:id/:path`\n */\n API?: EditViewComponent | Partial<EditViewConfig>\n Default?: EditViewComponent | Partial<EditViewConfig>\n LivePreview?: EditViewComponent | Partial<EditViewConfig>\n Version?: EditViewComponent | Partial<EditViewConfig>\n Versions?: EditViewComponent | Partial<EditViewConfig>\n // TODO: uncomment these as they are built\n // References?: EditView\n // Relationships?: EditView\n }\n | {\n [key: string]: EditViewConfig\n }\n )\n | EditViewComponent\n\nexport type EntityDescriptionComponent = CustomComponent\n\nexport type EntityDescriptionFunction = () => string\n\nexport type EntityDescription =\n | EntityDescriptionComponent\n | EntityDescriptionFunction\n | Record<string, string>\n | string\n\nexport type { EmailAdapter, SendEmailOptions }\n"],"names":["serverProps"],"rangeMappings":";;","mappings":"AA8PA,OAAO,MAAMA,cAAqC;IAAC;CAAU,CAAA"}
|
|
1
|
+
{"version":3,"sources":["../../src/config/types.ts"],"sourcesContent":["import type { I18nOptions, TFunction } from '@payloadcms/translations'\nimport type { Options as ExpressFileUploadOptions } from 'express-fileupload'\nimport type GraphQL from 'graphql'\nimport type { DestinationStream, LoggerOptions, P } from 'pino'\nimport type React from 'react'\nimport type { default as sharp } from 'sharp'\nimport type { DeepRequired } from 'ts-essentials'\n\nimport type { RichTextAdapterProvider } from '../admin/RichText.js'\nimport type { DocumentTab, RichTextAdapter } from '../admin/types.js'\nimport type { AdminView, ServerSideEditViewProps } from '../admin/views/types.js'\nimport type { User } from '../auth/types.js'\nimport type {\n AfterErrorHook,\n Collection,\n CollectionConfig,\n SanitizedCollectionConfig,\n} from '../collections/config/types.js'\nimport type { DatabaseAdapterResult } from '../database/types.js'\nimport type { EmailAdapter, SendEmailOptions } from '../email/types.js'\nimport type { GlobalConfig, Globals, SanitizedGlobalConfig } from '../globals/config/types.js'\nimport type { Payload } from '../index.js'\nimport type { PayloadRequest, PayloadRequestWithData, Where } from '../types/index.js'\nimport type { PayloadLogger } from '../utilities/logger.js'\n\nexport type BinScriptConfig = {\n key: string\n scriptPath: string\n}\n\nexport type BinScript = (config: SanitizedConfig) => Promise<void> | void\n\ntype Prettify<T> = {\n [K in keyof T]: T[K]\n} & NonNullable<unknown>\n\n// eslint-disable-next-line no-use-before-define\nexport type Plugin = (config: Config) => Config | Promise<Config>\n\nexport type LivePreviewConfig = {\n /**\n Device breakpoints to use for the `iframe` of the Live Preview window.\n Options are displayed in the Live Preview toolbar.\n The `responsive` breakpoint is included by default.\n */\n breakpoints?: {\n height: number | string\n label: string\n name: string\n width: number | string\n }[]\n /**\n The URL of the frontend application. This will be rendered within an `iframe` as its `src`.\n Payload will send a `window.postMessage()` to this URL with the document data in real-time.\n The frontend application is responsible for receiving the message and updating the UI accordingly.\n Use the `useLivePreview` hook to get started in React applications.\n */\n url?:\n | ((args: {\n collectionConfig?: SanitizedCollectionConfig\n data: Record<string, any>\n globalConfig?: SanitizedGlobalConfig\n locale: Locale\n payload: Payload\n }) => Promise<string> | string)\n | string\n}\n\nexport type ServerOnlyLivePreviewProperties = keyof Pick<LivePreviewConfig, 'url'>\n\ntype GeneratePreviewURLOptions = {\n locale: string\n req: PayloadRequestWithData\n token: null | string\n}\n\nexport type GeneratePreviewURL = (\n doc: Record<string, unknown>,\n options: GeneratePreviewURLOptions,\n) => Promise<null | string> | null | string\n\nexport type GraphQLInfo = {\n Mutation: {\n fields: Record<string, any>\n name: string\n }\n Query: {\n fields: Record<string, any>\n name: string\n }\n collections: {\n [slug: number | string | symbol]: Collection\n }\n globals: Globals\n types: {\n arrayTypes: Record<string, GraphQL.GraphQLType>\n blockInputTypes: Record<string, GraphQL.GraphQLInputObjectType>\n blockTypes: Record<string, GraphQL.GraphQLObjectType>\n fallbackLocaleInputType?: GraphQL.GraphQLEnumType | GraphQL.GraphQLScalarType\n groupTypes: Record<string, GraphQL.GraphQLObjectType>\n localeInputType?: GraphQL.GraphQLEnumType | GraphQL.GraphQLScalarType\n tabTypes: Record<string, GraphQL.GraphQLObjectType>\n }\n}\nexport type GraphQLExtension = (\n graphQL: typeof GraphQL,\n context: {\n config: SanitizedConfig\n } & GraphQLInfo,\n) => Record<string, unknown>\n\nexport type InitOptions = {\n /**\n * Sometimes, with the local API, you might need to pass a config file directly, for example, serverless on Vercel\n * The passed config should match the config file, and if it doesn't, there could be mismatches between the admin UI\n * and the backend functionality\n */\n config: Promise<SanitizedConfig> | SanitizedConfig\n /**\n * Disable connect to the database on init\n */\n disableDBConnect?: boolean\n\n /**\n * Disable running of the `onInit` function\n */\n disableOnInit?: boolean\n\n /**\n * A previously instantiated logger instance. Must conform to the PayloadLogger interface which uses Pino\n * This allows you to bring your own logger instance and let payload use it\n */\n logger?: PayloadLogger\n\n loggerDestination?: DestinationStream\n\n /**\n * Specify options for the built-in Pino logger that Payload uses for internal logging.\n *\n * See Pino Docs for options: https://getpino.io/#/docs/api?id=options\n */\n loggerOptions?: LoggerOptions\n /**\n * A function that is called immediately following startup that receives the Payload instance as it's only argument.\n */\n onInit?: (payload: Payload) => Promise<void> | void\n}\n\n/**\n * This result is calculated on the server\n * and then sent to the client allowing the dashboard to show accessible data and actions.\n *\n * If the result is `true`, the user has access.\n * If the result is an object, it is interpreted as a MongoDB query.\n *\n * @example `{ createdBy: { equals: id } }`\n *\n * @example `{ tenant: { in: tenantIds } }`\n *\n * @see https://payloadcms.com/docs/access-control/overview\n */\nexport type AccessResult = Where | boolean\n\nexport type AccessArgs<T = any, U = any> = {\n /**\n * The relevant resource that is being accessed.\n *\n * `data` is null when a list is requested\n */\n data?: T\n /** ID of the resource being accessed */\n id?: number | string\n /** If true, the request is for a static file */\n isReadingStaticFile?: boolean\n /** The original request that requires an access check */\n req: PayloadRequestWithData<U>\n}\n\n/**\n * Access function runs on the server\n * and is sent to the client allowing the dashboard to show accessible data and actions.\n *\n * @see https://payloadcms.com/docs/access-control/overview\n */\nexport type Access<T = any, U = any> = (\n args: AccessArgs<T, U>,\n) => AccessResult | Promise<AccessResult>\n\n/** Web Request/Response model, but the the req has more payload specific properties added to it. */\nexport type PayloadHandler = (req: PayloadRequest) => Promise<Response> | Response\n\n/**\n * Docs: https://payloadcms.com/docs/rest-api/overview#custom-endpoints\n */\nexport type Endpoint<U = User> = {\n /** Extension point to add your custom data. */\n custom?: Record<string, any>\n\n /**\n * Middleware that will be called when the path/method matches\n *\n * Compatible with Web Request/Response Model\n */\n handler: PayloadHandler\n /** HTTP method (or \"all\") */\n method: 'connect' | 'delete' | 'get' | 'head' | 'options' | 'patch' | 'post' | 'put'\n /**\n * Pattern that should match the path of the incoming request\n *\n * Compatible with the Express router\n */\n path: string\n /**\n * Please add \"root\" routes under the /api folder in the Payload Project.\n * https://nextjs.org/docs/app/api-reference/file-conventions/route\n *\n * @deprecated in 3.0\n */\n root?: never\n}\n\nexport type EditViewComponent = React.ComponentType<ServerSideEditViewProps>\n\nexport type EditViewConfig =\n | {\n /**\n * Add a new Edit view to the admin panel\n * i.e. you can render a custom view that has no tab, if desired\n * Or override a specific properties of an existing one\n * i.e. you can customize the `Default` view tab label, if desired\n */\n Tab?: DocumentTab\n path?: string\n }\n | {\n Component: EditViewComponent\n path: string\n }\n | {\n actions?: CustomComponent[]\n }\n\n/**\n * Override existing views\n * i.e. Dashboard, Account, API, LivePreview, etc.\n * Path is not available here\n * All Tab properties become optional\n * i.e. you can change just the label, if desired\n */\nexport type EditView = EditViewComponent | EditViewConfig\n\nexport type ServerProps = {\n payload: Payload\n}\n\nexport const serverProps: (keyof ServerProps)[] = ['payload']\n\nexport type CustomComponent<T extends any = any> = React.ComponentType<T & ServerProps>\n\nexport type Locale = {\n /**\n * value of supported locale\n * @example \"en\"\n */\n code: string\n /**\n * Code of another locale to use when reading documents with fallback, if not specified defaultLocale is used\n */\n fallbackLocale?: string\n /**\n * label of supported locale\n * @example \"English\"\n */\n label: Record<string, string> | string\n /**\n * if true, defaults textAligmnent on text fields to RTL\n */\n rtl?: boolean\n}\n\nexport type BaseLocalizationConfig = {\n /**\n * Locale for users that have not expressed their preference for a specific locale\n * @example `\"en\"`\n */\n defaultLocale: string\n /** Set to `true` to let missing values in localised fields fall back to the values in `defaultLocale` */\n fallback?: boolean\n}\n\nexport type LocalizationConfigWithNoLabels = Prettify<\n BaseLocalizationConfig & {\n /**\n * List of supported locales\n * @example `[\"en\", \"es\", \"fr\", \"nl\", \"de\", \"jp\"]`\n */\n locales: string[]\n }\n>\n\nexport type LocalizationConfigWithLabels = Prettify<\n BaseLocalizationConfig & {\n /**\n * List of supported locales with labels\n * @example {\n * label: 'English',\n * value: 'en',\n * rtl: false\n * }\n */\n locales: Locale[]\n }\n>\n\nexport type SanitizedLocalizationConfig = Prettify<\n LocalizationConfigWithLabels & {\n /**\n * List of supported locales\n * @example `[\"en\", \"es\", \"fr\", \"nl\", \"de\", \"jp\"]`\n */\n localeCodes: string[]\n }\n>\n\n/**\n * @see https://payloadcms.com/docs/configuration/localization#localization\n */\nexport type LocalizationConfig = Prettify<\n LocalizationConfigWithLabels | LocalizationConfigWithNoLabels\n>\n\nexport type LabelFunction = ({ t }: { t: TFunction }) => string\n\nexport type SharpDependency = (\n input?:\n | ArrayBuffer\n | Buffer\n | Float32Array\n | Float64Array\n | Int8Array\n | Int16Array\n | Int32Array\n | Uint8Array\n | Uint8ClampedArray\n | Uint16Array\n | Uint32Array\n | string,\n options?: sharp.SharpOptions,\n) => sharp.Sharp\n\n/**\n * This is the central configuration\n *\n * @see https://payloadcms.com/docs/configuration/overview\n */\nexport type Config = {\n /** Configure admin dashboard */\n admin?: {\n /** Automatically log in as a user when visiting the admin dashboard. */\n autoLogin?:\n | {\n /**\n * The email address of the user to login as\n *\n */\n email: string\n /** The password of the user to login as */\n password: string\n /**\n * If set to true, the login credentials will be prefilled but the user will still need to click the login button.\n *\n * @default false\n */\n prefillOnly?: boolean\n }\n | false\n /** Set account profile picture. Options: gravatar, default or a custom React component. */\n avatar?: 'default' | 'gravatar' | React.ComponentType<any>\n\n /**\n * Add extra and/or replace built-in components with custom components\n *\n * @see https://payloadcms.com/docs/admin/components\n */\n components?: {\n /**\n * Replace the navigation with a custom component\n */\n Nav?: CustomComponent\n /**\n * Add custom components to the top right of the Admin Panel\n */\n actions?: CustomComponent[]\n /**\n * Add custom components after the collection overview\n */\n afterDashboard?: CustomComponent[]\n /**\n * Add custom components after the email/password field\n */\n afterLogin?: CustomComponent[]\n /**\n * Add custom components after the navigation links\n */\n afterNavLinks?: CustomComponent[]\n /**\n * Add custom components before the collection overview\n */\n beforeDashboard?: CustomComponent[]\n /**\n * Add custom components before the email/password field\n */\n beforeLogin?: CustomComponent[]\n /**\n * Add custom components before the navigation links\n */\n beforeNavLinks?: CustomComponent[]\n /** Replace graphical components */\n graphics?: {\n /** Replace the icon in the navigation */\n Icon?: CustomComponent\n /** Replace the logo on the login page */\n Logo?: CustomComponent\n }\n /** Replace logout related components */\n logout?: {\n /** Replace the logout button */\n Button?: CustomComponent\n }\n /**\n * Wrap the admin dashboard in custom context providers\n */\n providers?: React.ComponentType<{ children?: React.ReactNode }>[]\n /**\n * Replace or modify top-level admin routes, or add new ones:\n * + `Account` - `/admin/account`\n * + `Dashboard` - `/admin`\n * + `:path` - `/admin/:path`\n */\n views?: {\n /** Add custom admin views */\n [key: string]: AdminView\n /** Replace the account screen */\n Account?: AdminView\n /** Replace the admin homepage */\n Dashboard?: AdminView\n }\n }\n /** Extension point to add your custom data. Available in server and client. */\n custom?: Record<string, any>\n /** Global date format that will be used for all dates in the Admin panel. Any valid date-fns format pattern can be used. */\n dateFormat?: string\n /** If set to true, the entire Admin panel will be disabled. */\n disable?: boolean\n /** The route the user will be redirected to after being inactive for too long. */\n inactivityRoute?: string\n livePreview?: LivePreviewConfig & {\n collections?: string[]\n globals?: string[]\n }\n /** The route for the logout page. */\n logoutRoute?: string\n /** Base meta data to use for the Admin panel. Included properties are titleSuffix, ogImage, and favicon. */\n meta?: {\n /**\n * Public path to an icon\n *\n * This image may be displayed in the browser next to the title of the page\n */\n favicon?: string\n /**\n * Public path to an image\n *\n * This image may be displayed as preview when the link is shared on social media\n */\n ogImage?: string\n /**\n * String to append to the <title> of admin pages\n * @example `\" - My Brand\"`\n */\n titleSuffix?: string\n }\n /** The slug of a Collection that you want be used to log in to the Admin dashboard. */\n user?: string\n }\n /** Custom Payload bin scripts can be injected via the config. */\n bin?: BinScriptConfig[]\n /**\n * Manage the datamodel of your application\n *\n * @see https://payloadcms.com/docs/configuration/collections#collection-configs\n */\n collections?: CollectionConfig[]\n /**\n * Replace the built-in components with custom ones\n */\n components?: { [key: string]: (() => JSX.Element) | JSX.Element }\n /**\n * Prefix a string to all cookies that Payload sets.\n *\n * @default \"payload\"\n */\n cookiePrefix?: string\n /** Either a whitelist array of URLS to allow CORS requests from, or a wildcard string ('*') to accept incoming requests from any domain. */\n cors?: '*' | string[]\n /** A whitelist array of URLs to allow Payload cookies to be accepted from as a form of CSRF protection. */\n csrf?: string[]\n\n /** Extension point to add your custom data. Server only. */\n custom?: Record<string, any>\n\n /** Pass in a database adapter for use on this project. */\n db: DatabaseAdapterResult\n /** Enable to expose more detailed error information. */\n debug?: boolean\n /**\n * If a user does not specify `depth` while requesting a resource, this depth will be used.\n *\n * @see https://payloadcms.com/docs/getting-started/concepts#depth\n *\n * @default 2\n */\n defaultDepth?: number\n /**\n * The maximum allowed depth to be permitted application-wide. This setting helps prevent against malicious queries.\n *\n * @default 40000\n */\n defaultMaxTextLength?: number\n /** Default richtext editor to use for richText fields */\n editor: RichTextAdapterProvider<any, any, any>\n /**\n * Email Adapter\n *\n * @see https://payloadcms.com/docs/email/overview\n */\n email?: EmailAdapter | Promise<EmailAdapter>\n /** Custom REST endpoints */\n endpoints?: Endpoint[]\n /**\n * @see https://payloadcms.com/docs/configuration/globals#global-configs\n */\n globals?: GlobalConfig[]\n /**\n * Manage the GraphQL API\n *\n * You can add your own GraphQL queries and mutations to Payload, making use of all the types that Payload has defined for you.\n *\n * @see https://payloadcms.com/docs/graphql/overview\n */\n graphQL?: {\n disable?: boolean\n disablePlaygroundInProduction?: boolean\n maxComplexity?: number\n /**\n * Function that returns an object containing keys to custom GraphQL mutations\n *\n * @see https://payloadcms.com/docs/graphql/extending\n */\n mutations?: GraphQLExtension\n /**\n * Function that returns an object containing keys to custom GraphQL queries\n *\n * @see https://payloadcms.com/docs/graphql/extending\n */\n queries?: GraphQLExtension\n }\n /**\n * Tap into Payload-wide hooks.\n *\n * @see https://payloadcms.com/docs/hooks/overview\n */\n hooks?: {\n afterError?: AfterErrorHook\n }\n /** i18n config settings */\n i18n?: I18nOptions\n /** Automatically index all sortable top-level fields in the database to improve sort performance and add database compatibility for Azure Cosmos and similar. */\n indexSortableFields?: boolean\n /**\n * Translate your content to different languages/locales.\n *\n * @default false // disable localization\n */\n localization?: LocalizationConfig | false\n /**\n * The maximum allowed depth to be permitted application-wide. This setting helps prevent against malicious queries.\n *\n * @see https://payloadcms.com/docs/getting-started/concepts#depth\n *\n * @default 10\n */\n maxDepth?: number\n /** A function that is called immediately following startup that receives the Payload instance as its only argument. */\n onInit?: (payload: Payload) => Promise<void> | void\n /**\n * An array of Payload plugins.\n *\n * @see https://payloadcms.com/docs/plugins/overview\n */\n plugins?: Plugin[]\n /** Control the routing structure that Payload binds itself to. */\n routes?: {\n /** @default \"/admin\" */\n admin?: string\n /** @default \"/api\" */\n api?: string\n /** @default \"/graphql\" */\n graphQL?: string\n /** @default \"/graphql-playground\" */\n graphQLPlayground?: string\n }\n /** Secure string that Payload will use for any encryption workflows */\n secret: string\n /**\n * Define the absolute URL of your app including the protocol, for example `https://example.org`.\n * No paths allowed, only protocol, domain and (optionally) port.\n *\n * @see https://payloadcms.com/docs/configuration/overview#options\n */\n serverURL?: string\n /**\n * Pass in a local copy of Sharp if you'd like to use it.\n *\n */\n sharp?: SharpDependency\n /** Send anonymous telemetry data about general usage. */\n telemetry?: boolean\n /** Control how typescript interfaces are generated from your collections. */\n typescript?: {\n /** Disable declare block in generated types file */\n declare?: false\n /** Filename to write the generated types to */\n outputFile?: string\n }\n /**\n * Customize the handling of incoming file uploads for collections that have uploads enabled.\n */\n upload?: ExpressFileUploadOptions\n}\n\nexport type SanitizedConfig = Omit<\n DeepRequired<Config>,\n 'collections' | 'editor' | 'endpoint' | 'globals' | 'i18n' | 'localization' | 'upload'\n> & {\n collections: SanitizedCollectionConfig[]\n /** Default richtext editor to use for richText fields */\n editor: RichTextAdapter<any, any, any>\n endpoints: Endpoint[]\n globals: SanitizedGlobalConfig[]\n i18n: Required<I18nOptions>\n localization: SanitizedLocalizationConfig | false\n paths: {\n config: string\n configDir: string\n rawConfig: string\n }\n upload: ExpressFileUploadOptions & {\n /**\n * Deduped list of adapters used in the project\n */\n adapters: string[]\n }\n}\n\nexport type EditConfig =\n | (\n | {\n /**\n * Replace or modify individual nested routes, or add new ones:\n * + `Default` - `/admin/collections/:collection/:id`\n * + `API` - `/admin/collections/:collection/:id/api`\n * + `LivePreview` - `/admin/collections/:collection/:id/preview`\n * + `References` - `/admin/collections/:collection/:id/references`\n * + `Relationships` - `/admin/collections/:collection/:id/relationships`\n * + `Versions` - `/admin/collections/:collection/:id/versions`\n * + `Version` - `/admin/collections/:collection/:id/versions/:version`\n * + `CustomView` - `/admin/collections/:collection/:id/:path`\n */\n API?: EditViewComponent | Partial<EditViewConfig>\n Default?: EditViewComponent | Partial<EditViewConfig>\n LivePreview?: EditViewComponent | Partial<EditViewConfig>\n Version?: EditViewComponent | Partial<EditViewConfig>\n Versions?: EditViewComponent | Partial<EditViewConfig>\n // TODO: uncomment these as they are built\n // References?: EditView\n // Relationships?: EditView\n }\n | {\n [key: string]: EditViewConfig\n }\n )\n | EditViewComponent\n\nexport type EntityDescriptionComponent = CustomComponent\n\nexport type EntityDescriptionFunction = () => string\n\nexport type EntityDescription =\n | EntityDescriptionComponent\n | EntityDescriptionFunction\n | Record<string, string>\n | string\n\nexport type { EmailAdapter, SendEmailOptions }\n"],"names":["serverProps"],"rangeMappings":";;","mappings":"AA+PA,OAAO,MAAMA,cAAqC;IAAC;CAAU,CAAA"}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
/* eslint-disable no-restricted-syntax */ import QueryError from '../../errors/QueryError.js';
|
|
1
|
+
/* eslint-disable no-restricted-syntax */ import { QueryError } from '../../errors/QueryError.js';
|
|
2
2
|
import { validOperators } from '../../types/constants.js';
|
|
3
3
|
import { deepCopyObject } from '../../utilities/deepCopyObject.js';
|
|
4
4
|
import flattenFields from '../../utilities/flattenTopLevelFields.js';
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../src/database/queryValidation/validateQueryPaths.ts"],"sourcesContent":["/* eslint-disable no-restricted-syntax */\nimport type { SanitizedCollectionConfig } from '../../collections/config/types.js'\nimport type { Field, FieldAffectingData } from '../../fields/config/types.js'\nimport type { SanitizedGlobalConfig } from '../../globals/config/types.js'\n/* eslint-disable no-await-in-loop */\nimport type { Operator, PayloadRequestWithData, Where, WhereField } from '../../types/index.js'\nimport type { EntityPolicies } from './types.js'\n\nimport QueryError from '../../errors/QueryError.js'\nimport { validOperators } from '../../types/constants.js'\nimport { deepCopyObject } from '../../utilities/deepCopyObject.js'\nimport flattenFields from '../../utilities/flattenTopLevelFields.js'\nimport { validateSearchParam } from './validateSearchParams.js'\n\ntype Args = {\n errors?: { path: string }[]\n overrideAccess: boolean\n policies?: EntityPolicies\n req: PayloadRequestWithData\n versionFields?: Field[]\n where: Where\n} & (\n | {\n collectionConfig: SanitizedCollectionConfig\n globalConfig?: never | undefined\n }\n | {\n collectionConfig?: never | undefined\n globalConfig: SanitizedGlobalConfig\n }\n)\n\nconst flattenWhere = (query: Where): WhereField[] =>\n Object.entries(query).reduce((flattenedConstraints, [key, val]) => {\n if ((key === 'and' || key === 'or') && Array.isArray(val)) {\n const subWhereConstraints: Where[] = val.reduce((acc, subVal) => {\n const subWhere = flattenWhere(subVal)\n return [...acc, ...subWhere]\n }, [])\n return [...flattenedConstraints, ...subWhereConstraints]\n }\n\n return [...flattenedConstraints, { [key]: val }]\n }, [])\n\nexport async function validateQueryPaths({\n collectionConfig,\n errors = [],\n globalConfig,\n overrideAccess,\n policies = {\n collections: {},\n globals: {},\n },\n req,\n versionFields,\n where,\n}: Args): Promise<void> {\n const fields = flattenFields(\n versionFields || (globalConfig || collectionConfig).fields,\n ) as FieldAffectingData[]\n if (typeof where === 'object') {\n const whereFields = flattenWhere(where)\n // We need to determine if the whereKey is an AND, OR, or a schema path\n const promises = []\n whereFields.map(async (constraint) => {\n Object.keys(constraint).map(async (path) => {\n Object.entries(constraint[path]).map(async ([operator, val]) => {\n if (validOperators.includes(operator as Operator)) {\n promises.push(\n validateSearchParam({\n collectionConfig: deepCopyObject(collectionConfig),\n errors,\n fields: fields as Field[],\n globalConfig: deepCopyObject(globalConfig),\n operator,\n overrideAccess,\n path,\n policies,\n req,\n val,\n versionFields,\n }),\n )\n }\n })\n })\n })\n await Promise.all(promises)\n if (errors.length > 0) {\n throw new QueryError(errors)\n }\n }\n}\n"],"names":["QueryError","validOperators","deepCopyObject","flattenFields","validateSearchParam","flattenWhere","query","Object","entries","reduce","flattenedConstraints","key","val","Array","isArray","subWhereConstraints","acc","subVal","subWhere","validateQueryPaths","collectionConfig","errors","globalConfig","overrideAccess","policies","collections","globals","req","versionFields","where","fields","whereFields","promises","map","constraint","keys","path","operator","includes","push","Promise","all","length"],"rangeMappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;","mappings":"AAAA,uCAAuC,GAQvC,
|
|
1
|
+
{"version":3,"sources":["../../../src/database/queryValidation/validateQueryPaths.ts"],"sourcesContent":["/* eslint-disable no-restricted-syntax */\nimport type { SanitizedCollectionConfig } from '../../collections/config/types.js'\nimport type { Field, FieldAffectingData } from '../../fields/config/types.js'\nimport type { SanitizedGlobalConfig } from '../../globals/config/types.js'\n/* eslint-disable no-await-in-loop */\nimport type { Operator, PayloadRequestWithData, Where, WhereField } from '../../types/index.js'\nimport type { EntityPolicies } from './types.js'\n\nimport { QueryError } from '../../errors/QueryError.js'\nimport { validOperators } from '../../types/constants.js'\nimport { deepCopyObject } from '../../utilities/deepCopyObject.js'\nimport flattenFields from '../../utilities/flattenTopLevelFields.js'\nimport { validateSearchParam } from './validateSearchParams.js'\n\ntype Args = {\n errors?: { path: string }[]\n overrideAccess: boolean\n policies?: EntityPolicies\n req: PayloadRequestWithData\n versionFields?: Field[]\n where: Where\n} & (\n | {\n collectionConfig: SanitizedCollectionConfig\n globalConfig?: never | undefined\n }\n | {\n collectionConfig?: never | undefined\n globalConfig: SanitizedGlobalConfig\n }\n)\n\nconst flattenWhere = (query: Where): WhereField[] =>\n Object.entries(query).reduce((flattenedConstraints, [key, val]) => {\n if ((key === 'and' || key === 'or') && Array.isArray(val)) {\n const subWhereConstraints: Where[] = val.reduce((acc, subVal) => {\n const subWhere = flattenWhere(subVal)\n return [...acc, ...subWhere]\n }, [])\n return [...flattenedConstraints, ...subWhereConstraints]\n }\n\n return [...flattenedConstraints, { [key]: val }]\n }, [])\n\nexport async function validateQueryPaths({\n collectionConfig,\n errors = [],\n globalConfig,\n overrideAccess,\n policies = {\n collections: {},\n globals: {},\n },\n req,\n versionFields,\n where,\n}: Args): Promise<void> {\n const fields = flattenFields(\n versionFields || (globalConfig || collectionConfig).fields,\n ) as FieldAffectingData[]\n if (typeof where === 'object') {\n const whereFields = flattenWhere(where)\n // We need to determine if the whereKey is an AND, OR, or a schema path\n const promises = []\n whereFields.map(async (constraint) => {\n Object.keys(constraint).map(async (path) => {\n Object.entries(constraint[path]).map(async ([operator, val]) => {\n if (validOperators.includes(operator as Operator)) {\n promises.push(\n validateSearchParam({\n collectionConfig: deepCopyObject(collectionConfig),\n errors,\n fields: fields as Field[],\n globalConfig: deepCopyObject(globalConfig),\n operator,\n overrideAccess,\n path,\n policies,\n req,\n val,\n versionFields,\n }),\n )\n }\n })\n })\n })\n await Promise.all(promises)\n if (errors.length > 0) {\n throw new QueryError(errors)\n }\n }\n}\n"],"names":["QueryError","validOperators","deepCopyObject","flattenFields","validateSearchParam","flattenWhere","query","Object","entries","reduce","flattenedConstraints","key","val","Array","isArray","subWhereConstraints","acc","subVal","subWhere","validateQueryPaths","collectionConfig","errors","globalConfig","overrideAccess","policies","collections","globals","req","versionFields","where","fields","whereFields","promises","map","constraint","keys","path","operator","includes","push","Promise","all","length"],"rangeMappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;","mappings":"AAAA,uCAAuC,GAQvC,SAASA,UAAU,QAAQ,6BAA4B;AACvD,SAASC,cAAc,QAAQ,2BAA0B;AACzD,SAASC,cAAc,QAAQ,oCAAmC;AAClE,OAAOC,mBAAmB,2CAA0C;AACpE,SAASC,mBAAmB,QAAQ,4BAA2B;AAoB/D,MAAMC,eAAe,CAACC,QACpBC,OAAOC,OAAO,CAACF,OAAOG,MAAM,CAAC,CAACC,sBAAsB,CAACC,KAAKC,IAAI;QAC5D,IAAI,AAACD,CAAAA,QAAQ,SAASA,QAAQ,IAAG,KAAME,MAAMC,OAAO,CAACF,MAAM;YACzD,MAAMG,sBAA+BH,IAAIH,MAAM,CAAC,CAACO,KAAKC;gBACpD,MAAMC,WAAWb,aAAaY;gBAC9B,OAAO;uBAAID;uBAAQE;iBAAS;YAC9B,GAAG,EAAE;YACL,OAAO;mBAAIR;mBAAyBK;aAAoB;QAC1D;QAEA,OAAO;eAAIL;YAAsB;gBAAE,CAACC,IAAI,EAAEC;YAAI;SAAE;IAClD,GAAG,EAAE;AAEP,OAAO,eAAeO,mBAAmB,EACvCC,gBAAgB,EAChBC,SAAS,EAAE,EACXC,YAAY,EACZC,cAAc,EACdC,WAAW;IACTC,aAAa,CAAC;IACdC,SAAS,CAAC;AACZ,CAAC,EACDC,GAAG,EACHC,aAAa,EACbC,KAAK,EACA;IACL,MAAMC,SAAS3B,cACbyB,iBAAiB,AAACN,CAAAA,gBAAgBF,gBAAe,EAAGU,MAAM;IAE5D,IAAI,OAAOD,UAAU,UAAU;QAC7B,MAAME,cAAc1B,aAAawB;QACjC,uEAAuE;QACvE,MAAMG,WAAW,EAAE;QACnBD,YAAYE,GAAG,CAAC,OAAOC;YACrB3B,OAAO4B,IAAI,CAACD,YAAYD,GAAG,CAAC,OAAOG;gBACjC7B,OAAOC,OAAO,CAAC0B,UAAU,CAACE,KAAK,EAAEH,GAAG,CAAC,OAAO,CAACI,UAAUzB,IAAI;oBACzD,IAAIX,eAAeqC,QAAQ,CAACD,WAAuB;wBACjDL,SAASO,IAAI,CACXnC,oBAAoB;4BAClBgB,kBAAkBlB,eAAekB;4BACjCC;4BACAS,QAAQA;4BACRR,cAAcpB,eAAeoB;4BAC7Be;4BACAd;4BACAa;4BACAZ;4BACAG;4BACAf;4BACAgB;wBACF;oBAEJ;gBACF;YACF;QACF;QACA,MAAMY,QAAQC,GAAG,CAACT;QAClB,IAAIX,OAAOqB,MAAM,GAAG,GAAG;YACrB,MAAM,IAAI1C,WAAWqB;QACvB;IACF;AACF"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"consoleEmailAdapter.d.ts","sourceRoot":"","sources":["../../src/email/consoleEmailAdapter.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,YAAY,CAAA;AAK9C,eAAO,MAAM,mBAAmB,EAAE,YAAY,CAAC,IAAI,
|
|
1
|
+
{"version":3,"file":"consoleEmailAdapter.d.ts","sourceRoot":"","sources":["../../src/email/consoleEmailAdapter.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,YAAY,CAAA;AAK9C,eAAO,MAAM,mBAAmB,EAAE,YAAY,CAAC,IAAI,CAUjD,CAAA"}
|
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
import { emailDefaults } from './defaults.js';
|
|
2
2
|
import { getStringifiedToAddress } from './getStringifiedToAddress.js';
|
|
3
3
|
export const consoleEmailAdapter = ({ payload })=>({
|
|
4
|
+
name: 'console',
|
|
4
5
|
defaultFromAddress: emailDefaults.defaultFromAddress,
|
|
5
6
|
defaultFromName: emailDefaults.defaultFromName,
|
|
6
7
|
sendEmail: async (message)=>{
|