payload 3.0.0-alpha.61 → 3.0.0-alpha.63
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 +2 -0
- package/dist/admin/RichText.d.ts.map +1 -1
- package/dist/admin/RichText.js.map +1 -1
- package/dist/admin/elements/PreviewButton.d.ts +2 -1
- package/dist/admin/elements/PreviewButton.d.ts.map +1 -1
- package/dist/admin/elements/PreviewButton.js.map +1 -1
- package/dist/admin/elements/PublishButton.d.ts +2 -1
- package/dist/admin/elements/PublishButton.d.ts.map +1 -1
- package/dist/admin/elements/PublishButton.js.map +1 -1
- package/dist/admin/elements/SaveButton.d.ts +2 -1
- package/dist/admin/elements/SaveButton.d.ts.map +1 -1
- package/dist/admin/elements/SaveButton.js.map +1 -1
- package/dist/admin/elements/SaveDraftButton.d.ts +2 -1
- package/dist/admin/elements/SaveDraftButton.d.ts.map +1 -1
- package/dist/admin/elements/SaveDraftButton.js.map +1 -1
- package/dist/admin/elements/WithServerSideProps.d.ts +5 -0
- package/dist/admin/elements/WithServerSideProps.d.ts.map +1 -0
- package/dist/admin/elements/WithServerSideProps.js +3 -0
- package/dist/admin/elements/WithServerSideProps.js.map +1 -0
- package/dist/admin/forms/FieldDescription.d.ts +4 -2
- package/dist/admin/forms/FieldDescription.d.ts.map +1 -1
- package/dist/admin/forms/FieldDescription.js.map +1 -1
- package/dist/admin/forms/RowLabel.d.ts +2 -1
- package/dist/admin/forms/RowLabel.d.ts.map +1 -1
- package/dist/admin/forms/RowLabel.js.map +1 -1
- package/dist/admin/types.d.ts +1 -0
- package/dist/admin/types.d.ts.map +1 -1
- package/dist/admin/types.js.map +1 -1
- package/dist/auth/cookies.d.ts +16 -4
- package/dist/auth/cookies.d.ts.map +1 -1
- package/dist/auth/cookies.js +45 -14
- package/dist/auth/cookies.js.map +1 -1
- package/dist/auth/executeAuthStrategies.d.ts +3 -2
- package/dist/auth/executeAuthStrategies.d.ts.map +1 -1
- package/dist/auth/executeAuthStrategies.js.map +1 -1
- package/dist/auth/getFieldsToSign.d.ts +2 -2
- package/dist/auth/getFieldsToSign.d.ts.map +1 -1
- package/dist/auth/getFieldsToSign.js.map +1 -1
- package/dist/auth/operations/auth.d.ts +5 -4
- package/dist/auth/operations/auth.d.ts.map +1 -1
- package/dist/auth/operations/auth.js.map +1 -1
- package/dist/auth/operations/forgotPassword.js +3 -3
- package/dist/auth/operations/forgotPassword.js.map +1 -1
- package/dist/auth/operations/login.d.ts.map +1 -1
- package/dist/auth/operations/login.js +17 -1
- package/dist/auth/operations/login.js.map +1 -1
- package/dist/auth/sendVerificationEmail.d.ts +5 -6
- package/dist/auth/sendVerificationEmail.d.ts.map +1 -1
- package/dist/auth/sendVerificationEmail.js +4 -5
- package/dist/auth/sendVerificationEmail.js.map +1 -1
- package/dist/bin/loader/index.d.ts.map +1 -1
- package/dist/bin/loader/index.js +4 -0
- package/dist/bin/loader/index.js.map +1 -1
- package/dist/collections/config/client.d.ts +15 -12
- package/dist/collections/config/client.d.ts.map +1 -1
- package/dist/collections/config/client.js +3 -1
- package/dist/collections/config/client.js.map +1 -1
- package/dist/collections/config/defaults.d.ts +1 -0
- package/dist/collections/config/defaults.d.ts.map +1 -1
- package/dist/collections/config/defaults.js +1 -0
- package/dist/collections/config/defaults.js.map +1 -1
- package/dist/collections/config/schema.d.ts.map +1 -1
- package/dist/collections/config/schema.js +2 -0
- package/dist/collections/config/schema.js.map +1 -1
- package/dist/collections/config/types.d.ts +12 -8
- package/dist/collections/config/types.d.ts.map +1 -1
- package/dist/collections/config/types.js.map +1 -1
- package/dist/collections/dataloader.d.ts.map +1 -1
- package/dist/collections/dataloader.js +3 -5
- package/dist/collections/dataloader.js.map +1 -1
- package/dist/collections/operations/count.d.ts +13 -0
- package/dist/collections/operations/count.d.ts.map +1 -0
- package/dist/collections/operations/count.js +75 -0
- package/dist/collections/operations/count.js.map +1 -0
- package/dist/collections/operations/create.d.ts.map +1 -1
- package/dist/collections/operations/create.js +4 -8
- package/dist/collections/operations/create.js.map +1 -1
- package/dist/collections/operations/local/count.d.ts +20 -0
- package/dist/collections/operations/local/count.d.ts.map +1 -0
- package/dist/collections/operations/local/count.js +19 -0
- package/dist/collections/operations/local/count.js.map +1 -0
- package/dist/collections/operations/local/create.d.ts +2 -2
- package/dist/collections/operations/local/create.d.ts.map +1 -1
- package/dist/collections/operations/local/create.js.map +1 -1
- package/dist/collections/operations/local/delete.d.ts +2 -2
- package/dist/collections/operations/local/delete.d.ts.map +1 -1
- package/dist/collections/operations/local/delete.js.map +1 -1
- package/dist/collections/operations/local/duplicate.d.ts +2 -2
- package/dist/collections/operations/local/duplicate.d.ts.map +1 -1
- package/dist/collections/operations/local/duplicate.js.map +1 -1
- package/dist/collections/operations/local/find.d.ts +2 -2
- package/dist/collections/operations/local/find.d.ts.map +1 -1
- package/dist/collections/operations/local/find.js.map +1 -1
- package/dist/collections/operations/local/findByID.d.ts +2 -2
- package/dist/collections/operations/local/findByID.d.ts.map +1 -1
- package/dist/collections/operations/local/findByID.js.map +1 -1
- package/dist/collections/operations/local/findVersionByID.d.ts +2 -2
- package/dist/collections/operations/local/findVersionByID.d.ts.map +1 -1
- package/dist/collections/operations/local/findVersionByID.js.map +1 -1
- package/dist/collections/operations/local/findVersions.d.ts +2 -2
- package/dist/collections/operations/local/findVersions.d.ts.map +1 -1
- package/dist/collections/operations/local/findVersions.js.map +1 -1
- package/dist/collections/operations/local/index.d.ts +2 -0
- package/dist/collections/operations/local/index.d.ts.map +1 -1
- package/dist/collections/operations/local/index.js +2 -0
- package/dist/collections/operations/local/index.js.map +1 -1
- package/dist/collections/operations/local/restoreVersion.d.ts +2 -2
- package/dist/collections/operations/local/restoreVersion.d.ts.map +1 -1
- package/dist/collections/operations/local/restoreVersion.js.map +1 -1
- package/dist/collections/operations/local/update.d.ts +2 -2
- package/dist/collections/operations/local/update.d.ts.map +1 -1
- package/dist/collections/operations/local/update.js.map +1 -1
- package/dist/collections/operations/update.d.ts.map +1 -1
- package/dist/collections/operations/update.js +2 -2
- package/dist/collections/operations/update.js.map +1 -1
- package/dist/collections/operations/updateByID.js +1 -1
- package/dist/collections/operations/updateByID.js.map +1 -1
- package/dist/collections/operations/utils.d.ts +6 -0
- package/dist/collections/operations/utils.d.ts.map +1 -1
- package/dist/collections/operations/utils.js.map +1 -1
- package/dist/config/client.d.ts +2 -1
- package/dist/config/client.d.ts.map +1 -1
- package/dist/config/client.js +2 -1
- package/dist/config/client.js.map +1 -1
- package/dist/config/defaults.d.ts.map +1 -1
- package/dist/config/defaults.js +1 -0
- package/dist/config/defaults.js.map +1 -1
- package/dist/config/find.d.ts.map +1 -1
- package/dist/config/find.js +20 -9
- package/dist/config/find.js.map +1 -1
- package/dist/config/schema.d.ts.map +1 -1
- package/dist/config/schema.js +1 -0
- package/dist/config/schema.js.map +1 -1
- package/dist/config/types.d.ts +27 -50
- package/dist/config/types.d.ts.map +1 -1
- package/dist/config/types.js +3 -12
- package/dist/config/types.js.map +1 -1
- package/dist/database/types.d.ts +10 -0
- package/dist/database/types.d.ts.map +1 -1
- package/dist/database/types.js.map +1 -1
- package/dist/email/consoleEmailAdapter.d.ts +3 -0
- package/dist/email/consoleEmailAdapter.d.ts.map +1 -0
- package/dist/email/consoleEmailAdapter.js +16 -0
- package/dist/email/consoleEmailAdapter.js.map +1 -0
- package/dist/email/defaults.d.ts +2 -2
- package/dist/email/defaults.d.ts.map +1 -1
- package/dist/email/defaults.js +3 -3
- package/dist/email/defaults.js.map +1 -1
- package/dist/email/getStringifiedToAddress.d.ts +3 -0
- package/dist/email/getStringifiedToAddress.d.ts.map +1 -0
- package/dist/email/getStringifiedToAddress.js +20 -0
- package/dist/email/getStringifiedToAddress.js.map +1 -0
- package/dist/email/sendEmail.d.ts +3 -2
- package/dist/email/sendEmail.d.ts.map +1 -1
- package/dist/email/sendEmail.js +8 -4
- package/dist/email/sendEmail.js.map +1 -1
- package/dist/email/types.d.ts +25 -18
- package/dist/email/types.d.ts.map +1 -1
- package/dist/email/types.js +5 -1
- package/dist/email/types.js.map +1 -1
- package/dist/exports/auth.d.ts +1 -0
- package/dist/exports/auth.d.ts.map +1 -1
- package/dist/exports/auth.js +1 -0
- package/dist/exports/auth.js.map +1 -1
- package/dist/exports/database.d.ts +1 -1
- package/dist/exports/database.d.ts.map +1 -1
- package/dist/exports/database.js.map +1 -1
- package/dist/exports/i18n/ar.d.ts +2 -0
- package/dist/exports/i18n/ar.d.ts.map +1 -0
- package/dist/exports/i18n/ar.js +3 -0
- package/dist/exports/i18n/ar.js.map +1 -0
- package/dist/exports/i18n/az.d.ts +2 -0
- package/dist/exports/i18n/az.d.ts.map +1 -0
- package/dist/exports/i18n/az.js +3 -0
- package/dist/exports/i18n/az.js.map +1 -0
- package/dist/exports/i18n/bg.d.ts +2 -0
- package/dist/exports/i18n/bg.d.ts.map +1 -0
- package/dist/exports/i18n/bg.js +3 -0
- package/dist/exports/i18n/bg.js.map +1 -0
- package/dist/exports/i18n/cs.d.ts +2 -0
- package/dist/exports/i18n/cs.d.ts.map +1 -0
- package/dist/exports/i18n/cs.js +3 -0
- package/dist/exports/i18n/cs.js.map +1 -0
- package/dist/exports/i18n/de.d.ts +2 -0
- package/dist/exports/i18n/de.d.ts.map +1 -0
- package/dist/exports/i18n/de.js +3 -0
- package/dist/exports/i18n/de.js.map +1 -0
- package/dist/exports/i18n/en.d.ts +2 -0
- package/dist/exports/i18n/en.d.ts.map +1 -0
- package/dist/exports/i18n/en.js +3 -0
- package/dist/exports/i18n/en.js.map +1 -0
- package/dist/exports/i18n/es.d.ts +2 -0
- package/dist/exports/i18n/es.d.ts.map +1 -0
- package/dist/exports/i18n/es.js +3 -0
- package/dist/exports/i18n/es.js.map +1 -0
- package/dist/exports/i18n/fa.d.ts +2 -0
- package/dist/exports/i18n/fa.d.ts.map +1 -0
- package/dist/exports/i18n/fa.js +3 -0
- package/dist/exports/i18n/fa.js.map +1 -0
- package/dist/exports/i18n/fr.d.ts +2 -0
- package/dist/exports/i18n/fr.d.ts.map +1 -0
- package/dist/exports/i18n/fr.js +3 -0
- package/dist/exports/i18n/fr.js.map +1 -0
- package/dist/exports/i18n/hr.d.ts +2 -0
- package/dist/exports/i18n/hr.d.ts.map +1 -0
- package/dist/exports/i18n/hr.js +3 -0
- package/dist/exports/i18n/hr.js.map +1 -0
- package/dist/exports/i18n/hu.d.ts +2 -0
- package/dist/exports/i18n/hu.d.ts.map +1 -0
- package/dist/exports/i18n/hu.js +3 -0
- package/dist/exports/i18n/hu.js.map +1 -0
- package/dist/exports/i18n/it.d.ts +2 -0
- package/dist/exports/i18n/it.d.ts.map +1 -0
- package/dist/exports/i18n/it.js +3 -0
- package/dist/exports/i18n/it.js.map +1 -0
- package/dist/exports/i18n/ja.d.ts +2 -0
- package/dist/exports/i18n/ja.d.ts.map +1 -0
- package/dist/exports/i18n/ja.js +3 -0
- package/dist/exports/i18n/ja.js.map +1 -0
- package/dist/exports/i18n/ko.d.ts +2 -0
- package/dist/exports/i18n/ko.d.ts.map +1 -0
- package/dist/exports/i18n/ko.js +3 -0
- package/dist/exports/i18n/ko.js.map +1 -0
- package/dist/exports/i18n/my.d.ts +2 -0
- package/dist/exports/i18n/my.d.ts.map +1 -0
- package/dist/exports/i18n/my.js +3 -0
- package/dist/exports/i18n/my.js.map +1 -0
- package/dist/exports/i18n/nb.d.ts +2 -0
- package/dist/exports/i18n/nb.d.ts.map +1 -0
- package/dist/exports/i18n/nb.js +3 -0
- package/dist/exports/i18n/nb.js.map +1 -0
- package/dist/exports/i18n/nl.d.ts +2 -0
- package/dist/exports/i18n/nl.d.ts.map +1 -0
- package/dist/exports/i18n/nl.js +3 -0
- package/dist/exports/i18n/nl.js.map +1 -0
- package/dist/exports/i18n/pl.d.ts +2 -0
- package/dist/exports/i18n/pl.d.ts.map +1 -0
- package/dist/exports/i18n/pl.js +3 -0
- package/dist/exports/i18n/pl.js.map +1 -0
- package/dist/exports/i18n/pt.d.ts +2 -0
- package/dist/exports/i18n/pt.d.ts.map +1 -0
- package/dist/exports/i18n/pt.js +3 -0
- package/dist/exports/i18n/pt.js.map +1 -0
- package/dist/exports/i18n/ro.d.ts +2 -0
- package/dist/exports/i18n/ro.d.ts.map +1 -0
- package/dist/exports/i18n/ro.js +3 -0
- package/dist/exports/i18n/ro.js.map +1 -0
- package/dist/exports/i18n/rs.d.ts +2 -0
- package/dist/exports/i18n/rs.d.ts.map +1 -0
- package/dist/exports/i18n/rs.js +3 -0
- package/dist/exports/i18n/rs.js.map +1 -0
- package/dist/exports/i18n/rsLatin.d.ts +2 -0
- package/dist/exports/i18n/rsLatin.d.ts.map +1 -0
- package/dist/exports/i18n/rsLatin.js +3 -0
- package/dist/exports/i18n/rsLatin.js.map +1 -0
- package/dist/exports/i18n/ru.d.ts +2 -0
- package/dist/exports/i18n/ru.d.ts.map +1 -0
- package/dist/exports/i18n/ru.js +3 -0
- package/dist/exports/i18n/ru.js.map +1 -0
- package/dist/exports/i18n/sv.d.ts +2 -0
- package/dist/exports/i18n/sv.d.ts.map +1 -0
- package/dist/exports/i18n/sv.js +3 -0
- package/dist/exports/i18n/sv.js.map +1 -0
- package/dist/exports/i18n/th.d.ts +2 -0
- package/dist/exports/i18n/th.d.ts.map +1 -0
- package/dist/exports/i18n/th.js +3 -0
- package/dist/exports/i18n/th.js.map +1 -0
- package/dist/exports/i18n/tr.d.ts +2 -0
- package/dist/exports/i18n/tr.d.ts.map +1 -0
- package/dist/exports/i18n/tr.js +3 -0
- package/dist/exports/i18n/tr.js.map +1 -0
- package/dist/exports/i18n/uk.d.ts +2 -0
- package/dist/exports/i18n/uk.d.ts.map +1 -0
- package/dist/exports/i18n/uk.js +3 -0
- package/dist/exports/i18n/uk.js.map +1 -0
- package/dist/exports/i18n/vi.d.ts +2 -0
- package/dist/exports/i18n/vi.d.ts.map +1 -0
- package/dist/exports/i18n/vi.js +3 -0
- package/dist/exports/i18n/vi.js.map +1 -0
- package/dist/exports/i18n/zh.d.ts +2 -0
- package/dist/exports/i18n/zh.d.ts.map +1 -0
- package/dist/exports/i18n/zh.js +3 -0
- package/dist/exports/i18n/zh.js.map +1 -0
- package/dist/exports/i18n/zhTw.d.ts +2 -0
- package/dist/exports/i18n/zhTw.d.ts.map +1 -0
- package/dist/exports/i18n/zhTw.js +3 -0
- package/dist/exports/i18n/zhTw.js.map +1 -0
- package/dist/exports/node.d.ts +3 -0
- package/dist/exports/node.d.ts.map +1 -1
- package/dist/exports/node.js +3 -1
- package/dist/exports/node.js.map +1 -1
- package/dist/exports/operations.d.ts +1 -0
- package/dist/exports/operations.d.ts.map +1 -1
- package/dist/exports/operations.js +1 -0
- package/dist/exports/operations.js.map +1 -1
- package/dist/exports/types.d.ts +1 -0
- package/dist/exports/types.d.ts.map +1 -1
- package/dist/exports/types.js.map +1 -1
- package/dist/exports/utilities.d.ts +4 -2
- package/dist/exports/utilities.d.ts.map +1 -1
- package/dist/exports/utilities.js +4 -3
- package/dist/exports/utilities.js.map +1 -1
- package/dist/fields/baseFields/baseBlockFields.d.ts +2 -2
- package/dist/fields/baseFields/baseBlockFields.d.ts.map +1 -1
- package/dist/fields/baseFields/baseBlockFields.js.map +1 -1
- package/dist/fields/config/client.d.ts +128 -103
- package/dist/fields/config/client.d.ts.map +1 -1
- package/dist/fields/config/client.js +2 -1
- package/dist/fields/config/client.js.map +1 -1
- package/dist/fields/config/sanitize.spec.js +4 -1
- package/dist/fields/config/sanitize.spec.js.map +1 -1
- package/dist/fields/config/schema.d.ts.map +1 -1
- package/dist/fields/config/schema.js +7 -1
- package/dist/fields/config/schema.js.map +1 -1
- package/dist/fields/config/types.d.ts +57 -49
- package/dist/fields/config/types.d.ts.map +1 -1
- package/dist/fields/config/types.js.map +1 -1
- package/dist/fields/getDefaultValue.d.ts +2 -2
- package/dist/fields/getDefaultValue.d.ts.map +1 -1
- package/dist/fields/getDefaultValue.js.map +1 -1
- package/dist/fields/validations.d.ts +6 -4
- package/dist/fields/validations.d.ts.map +1 -1
- package/dist/fields/validations.js +49 -10
- package/dist/fields/validations.js.map +1 -1
- package/dist/fields/validations.spec.js +6 -1
- package/dist/fields/validations.spec.js.map +1 -1
- package/dist/globals/config/client.d.ts +1 -1
- package/dist/globals/config/client.d.ts.map +1 -1
- package/dist/globals/config/client.js +2 -1
- package/dist/globals/config/client.js.map +1 -1
- package/dist/globals/config/schema.d.ts.map +1 -1
- package/dist/globals/config/schema.js +1 -0
- package/dist/globals/config/schema.js.map +1 -1
- package/dist/globals/config/types.d.ts +4 -3
- package/dist/globals/config/types.d.ts.map +1 -1
- package/dist/globals/config/types.js.map +1 -1
- package/dist/globals/operations/findOne.d.ts +0 -1
- package/dist/globals/operations/findOne.d.ts.map +1 -1
- package/dist/globals/operations/findOne.js.map +1 -1
- package/dist/globals/operations/local/findOne.d.ts +2 -2
- package/dist/globals/operations/local/findOne.d.ts.map +1 -1
- package/dist/globals/operations/local/findOne.js.map +1 -1
- package/dist/globals/operations/local/findVersionByID.d.ts +2 -2
- package/dist/globals/operations/local/findVersionByID.d.ts.map +1 -1
- package/dist/globals/operations/local/findVersionByID.js.map +1 -1
- package/dist/globals/operations/local/findVersions.d.ts +2 -2
- package/dist/globals/operations/local/findVersions.d.ts.map +1 -1
- package/dist/globals/operations/local/findVersions.js.map +1 -1
- package/dist/globals/operations/local/restoreVersion.d.ts +2 -2
- package/dist/globals/operations/local/restoreVersion.d.ts.map +1 -1
- package/dist/globals/operations/local/restoreVersion.js.map +1 -1
- package/dist/globals/operations/local/update.d.ts +2 -2
- package/dist/globals/operations/local/update.d.ts.map +1 -1
- package/dist/globals/operations/local/update.js.map +1 -1
- package/dist/index.d.ts +17 -6
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +32 -14
- package/dist/index.js.map +1 -1
- package/dist/preferences/operations/update.d.ts +1 -1
- package/dist/preferences/types.d.ts +1 -2
- package/dist/preferences/types.d.ts.map +1 -1
- package/dist/preferences/types.js.map +1 -1
- package/dist/types/index.d.ts +5 -5
- package/dist/types/index.d.ts.map +1 -1
- package/dist/types/index.js.map +1 -1
- package/dist/uploads/generateFileData.d.ts.map +1 -1
- package/dist/uploads/generateFileData.js +3 -2
- package/dist/uploads/generateFileData.js.map +1 -1
- package/dist/uploads/getExternalFile.d.ts +4 -3
- package/dist/uploads/getExternalFile.d.ts.map +1 -1
- package/dist/uploads/getExternalFile.js +5 -4
- package/dist/uploads/getExternalFile.js.map +1 -1
- package/dist/uploads/getImageSize.d.ts +1 -1
- package/dist/uploads/getImageSize.d.ts.map +1 -1
- package/dist/uploads/getImageSize.js +19 -5
- package/dist/uploads/getImageSize.js.map +1 -1
- package/dist/uploads/tempFile.d.ts +7 -0
- package/dist/uploads/tempFile.d.ts.map +1 -0
- package/dist/uploads/tempFile.js +39 -0
- package/dist/uploads/tempFile.js.map +1 -0
- package/dist/uploads/types.d.ts +6 -0
- package/dist/uploads/types.d.ts.map +1 -1
- package/dist/uploads/types.js.map +1 -1
- package/dist/utilities/configToJSONSchema.d.ts.map +1 -1
- package/dist/utilities/configToJSONSchema.js +53 -1
- package/dist/utilities/configToJSONSchema.js.map +1 -1
- package/dist/utilities/importWithoutClientFiles.d.ts.map +1 -1
- package/dist/utilities/importWithoutClientFiles.js +8 -5
- package/dist/utilities/importWithoutClientFiles.js.map +1 -1
- package/dist/utilities/isEntityHidden.d.ts +2 -2
- package/dist/utilities/isEntityHidden.d.ts.map +1 -1
- package/dist/utilities/isEntityHidden.js.map +1 -1
- package/dist/utilities/isReactComponent.d.ts +2 -0
- package/dist/utilities/isReactComponent.d.ts.map +1 -1
- package/dist/utilities/isReactComponent.js +8 -2
- package/dist/utilities/isReactComponent.js.map +1 -1
- package/dist/utilities/telemetry/events/adminInit.d.ts +2 -2
- package/dist/utilities/telemetry/events/adminInit.d.ts.map +1 -1
- package/dist/utilities/telemetry/events/adminInit.js.map +1 -1
- package/dist/utilities/telemetry/index.d.ts +3 -0
- package/dist/utilities/telemetry/index.d.ts.map +1 -1
- package/dist/utilities/telemetry/index.js +32 -6
- package/dist/utilities/telemetry/index.js.map +1 -1
- package/dist/versions/saveVersion.js +1 -1
- package/dist/versions/saveVersion.js.map +1 -1
- package/package.json +15 -6
- package/src/index.ts +42 -18
- package/auth.d.ts +0 -6
- package/auth.js +0 -6
- package/config.d.ts +0 -14
- package/config.js +0 -14
- package/database.d.ts +0 -23
- package/database.js +0 -22
- package/dist/email/build.d.ts +0 -5
- package/dist/email/build.d.ts.map +0 -1
- package/dist/email/build.js +0 -63
- package/dist/email/build.js.map +0 -1
- package/dist/email/mockHandler.d.ts +0 -5
- package/dist/email/mockHandler.d.ts.map +0 -1
- package/dist/email/mockHandler.js +0 -24
- package/dist/email/mockHandler.js.map +0 -1
- package/dist/utilities/getIDType.d.ts +0 -4
- package/dist/utilities/getIDType.d.ts.map +0 -1
- package/dist/utilities/getIDType.js +0 -8
- package/dist/utilities/getIDType.js.map +0 -1
- package/errors.d.ts +0 -2
- package/errors.js +0 -3
- package/node.d.ts +0 -3
- package/node.js +0 -4
- package/operations.d.ts +0 -30
- package/operations.js +0 -31
- package/types.d.ts +0 -17
- package/types.js +0 -5
- package/uploads.d.ts +0 -2
- package/uploads.js +0 -3
- package/utilities.d.ts +0 -32
- package/utilities.js +0 -33
- package/versions.d.ts +0 -9
- package/versions.js +0 -9
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/utilities/telemetry/index.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/utilities/telemetry/index.ts"],"names":[],"mappings":"AASA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,sBAAsB,CAAA;AACnD,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,uBAAuB,CAAA;AAC3D,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,wBAAwB,CAAA;AAM7D,MAAM,MAAM,SAAS,GAAG;IACtB,MAAM,EAAE,IAAI,GAAG,MAAM,CAAA;IACrB,KAAK,EAAE,MAAM,CAAA;IACb,IAAI,EAAE,OAAO,CAAA;IACb,OAAO,EAAE,MAAM,CAAA;IACf,WAAW,EAAE,MAAM,CAAA;IACnB,eAAe,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAA;IACvC,cAAc,EAAE,MAAM,CAAA;IACtB,SAAS,EAAE,MAAM,CAAA;CAClB,CAAA;AAED,KAAK,WAAW,GAAG;IACjB,YAAY,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,SAAS,CAAC,CAAA;IAChD,IAAI,EAAE,MAAM,CAAA;CACb,CAAA;AAED,KAAK,cAAc,GAAG,cAAc,GAAG,eAAe,CAAA;AAEtD,KAAK,IAAI,GAAG;IACV,KAAK,EAAE,cAAc,CAAA;IACrB,OAAO,EAAE,OAAO,CAAA;CACjB,CAAA;AAID,eAAO,MAAM,SAAS,uBAA8B,IAAI,KAAG,QAAQ,IAAI,CAsCtE,CAAA;AA4DD,eAAO,MAAM,iBAAiB,gBAAiB,WAAW,KAAG,MAE5D,CAAA"}
|
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
import { execSync } from 'child_process';
|
|
2
|
+
import ciInfo from 'ci-info';
|
|
2
3
|
import ConfImport from 'conf';
|
|
3
4
|
import { randomBytes } from 'crypto';
|
|
4
5
|
import findUp from 'find-up';
|
|
@@ -7,17 +8,34 @@ import path from 'path';
|
|
|
7
8
|
import { fileURLToPath } from 'url';
|
|
8
9
|
import { oneWayHash } from './oneWayHash.js';
|
|
9
10
|
const Conf = ConfImport.default || ConfImport;
|
|
11
|
+
let baseEvent = null;
|
|
10
12
|
export const sendEvent = async ({ event, payload })=>{
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
13
|
+
try {
|
|
14
|
+
const packageJSON = await getPackageJSON();
|
|
15
|
+
// Only generate the base event once
|
|
16
|
+
if (!baseEvent) {
|
|
17
|
+
baseEvent = {
|
|
18
|
+
ciName: ciInfo.isCI ? ciInfo.name : null,
|
|
15
19
|
envID: getEnvID(),
|
|
20
|
+
isCI: ciInfo.isCI,
|
|
16
21
|
nodeEnv: process.env.NODE_ENV || 'development',
|
|
17
22
|
nodeVersion: process.version,
|
|
23
|
+
payloadPackages: getPayloadPackages(packageJSON),
|
|
18
24
|
payloadVersion: getPayloadVersion(packageJSON),
|
|
19
25
|
projectID: getProjectID(payload, packageJSON)
|
|
20
26
|
};
|
|
27
|
+
}
|
|
28
|
+
if (process.env.PAYLOAD_TELEMETRY_DEBUG) {
|
|
29
|
+
payload.logger.info({
|
|
30
|
+
event: {
|
|
31
|
+
...baseEvent,
|
|
32
|
+
...event
|
|
33
|
+
},
|
|
34
|
+
msg: 'Telemetry Event'
|
|
35
|
+
});
|
|
36
|
+
return;
|
|
37
|
+
}
|
|
38
|
+
if (payload.config.telemetry !== false) {
|
|
21
39
|
await fetch('https://telemetry.payloadcms.com/events', {
|
|
22
40
|
body: JSON.stringify({
|
|
23
41
|
...baseEvent,
|
|
@@ -28,9 +46,9 @@ export const sendEvent = async ({ event, payload })=>{
|
|
|
28
46
|
},
|
|
29
47
|
method: 'post'
|
|
30
48
|
});
|
|
31
|
-
} catch (_) {
|
|
32
|
-
// Eat any errors in sending telemetry event
|
|
33
49
|
}
|
|
50
|
+
} catch (_) {
|
|
51
|
+
// Eat any errors in sending telemetry event
|
|
34
52
|
}
|
|
35
53
|
};
|
|
36
54
|
/**
|
|
@@ -62,6 +80,14 @@ const getGitID = (payload)=>{
|
|
|
62
80
|
return null;
|
|
63
81
|
}
|
|
64
82
|
};
|
|
83
|
+
const getPayloadPackages = (packageJSON)=>{
|
|
84
|
+
return Object.keys(packageJSON.dependencies || {}).reduce((acc, key)=>{
|
|
85
|
+
return key.startsWith('@payloadcms/') ? {
|
|
86
|
+
...acc,
|
|
87
|
+
[key]: packageJSON.dependencies[key]
|
|
88
|
+
} : acc;
|
|
89
|
+
}, {});
|
|
90
|
+
};
|
|
65
91
|
const getPackageJSON = async ()=>{
|
|
66
92
|
const filename = fileURLToPath(import.meta.url);
|
|
67
93
|
const dirname = path.dirname(filename);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../src/utilities/telemetry/index.ts"],"sourcesContent":["import { execSync } from 'child_process'\nimport ConfImport from 'conf'\nimport { randomBytes } from 'crypto'\nimport findUp from 'find-up'\nimport fs from 'fs'\nimport path from 'path'\nimport { fileURLToPath } from 'url'\n\nimport type { Payload } from '../../types/index.js'\nimport type { AdminInitEvent } from './events/adminInit.js'\nimport type { ServerInitEvent } from './events/serverInit.js'\n\nimport { oneWayHash } from './oneWayHash.js'\n\nconst Conf = (ConfImport.default || ConfImport) as unknown as typeof ConfImport.default\n\nexport type BaseEvent = {\n envID: string\n nodeEnv: string\n nodeVersion: string\n payloadVersion: string\n projectID: string\n}\n\ntype PackageJSON = {\n dependencies: Record<string, string | undefined>\n name: string\n}\n\ntype TelemetryEvent = AdminInitEvent | ServerInitEvent\n\ntype Args = {\n event: TelemetryEvent\n payload: Payload\n}\n\nexport const sendEvent = async ({ event, payload }: Args): Promise<void> => {\n
|
|
1
|
+
{"version":3,"sources":["../../../src/utilities/telemetry/index.ts"],"sourcesContent":["import { execSync } from 'child_process'\nimport ciInfo from 'ci-info'\nimport ConfImport from 'conf'\nimport { randomBytes } from 'crypto'\nimport findUp from 'find-up'\nimport fs from 'fs'\nimport path from 'path'\nimport { fileURLToPath } from 'url'\n\nimport type { Payload } from '../../types/index.js'\nimport type { AdminInitEvent } from './events/adminInit.js'\nimport type { ServerInitEvent } from './events/serverInit.js'\n\nimport { oneWayHash } from './oneWayHash.js'\n\nconst Conf = (ConfImport.default || ConfImport) as unknown as typeof ConfImport.default\n\nexport type BaseEvent = {\n ciName: null | string\n envID: string\n isCI: boolean\n nodeEnv: string\n nodeVersion: string\n payloadPackages: Record<string, string>\n payloadVersion: string\n projectID: string\n}\n\ntype PackageJSON = {\n dependencies: Record<string, string | undefined>\n name: string\n}\n\ntype TelemetryEvent = AdminInitEvent | ServerInitEvent\n\ntype Args = {\n event: TelemetryEvent\n payload: Payload\n}\n\nlet baseEvent: BaseEvent | null = null\n\nexport const sendEvent = async ({ event, payload }: Args): Promise<void> => {\n try {\n const packageJSON = await getPackageJSON()\n\n // Only generate the base event once\n if (!baseEvent) {\n baseEvent = {\n ciName: ciInfo.isCI ? ciInfo.name : null,\n envID: getEnvID(),\n isCI: ciInfo.isCI,\n nodeEnv: process.env.NODE_ENV || 'development',\n nodeVersion: process.version,\n payloadPackages: getPayloadPackages(packageJSON),\n payloadVersion: getPayloadVersion(packageJSON),\n projectID: getProjectID(payload, packageJSON),\n }\n }\n\n if (process.env.PAYLOAD_TELEMETRY_DEBUG) {\n payload.logger.info({\n event: { ...baseEvent, ...event },\n msg: 'Telemetry Event',\n })\n return\n }\n\n if (payload.config.telemetry !== false) {\n await fetch('https://telemetry.payloadcms.com/events', {\n body: JSON.stringify({ ...baseEvent, ...event }),\n headers: {\n 'Content-Type': 'application/json',\n },\n method: 'post',\n })\n }\n } catch (_) {\n // Eat any errors in sending telemetry event\n }\n}\n\n/**\n * This is a quasi-persistent identifier used to dedupe recurring events. It's\n * generated from random data and completely anonymous.\n */\nconst getEnvID = (): string => {\n const conf = new Conf()\n const ENV_ID = 'envID'\n\n const val = conf.get(ENV_ID)\n if (val) {\n return val as string\n }\n\n const generated = randomBytes(32).toString('hex')\n conf.set(ENV_ID, generated)\n return generated\n}\n\nconst getProjectID = (payload: Payload, packageJSON: PackageJSON): string => {\n const projectID =\n getGitID(payload) ||\n getPackageJSONID(payload, packageJSON) ||\n payload.config.serverURL ||\n process.cwd()\n return oneWayHash(projectID, payload.secret)\n}\n\nconst getGitID = (payload: Payload) => {\n try {\n const originBuffer = execSync('git config --local --get remote.origin.url', {\n stdio: 'pipe',\n timeout: 1000,\n })\n\n return oneWayHash(String(originBuffer).trim(), payload.secret)\n } catch (_) {\n return null\n }\n}\n\nconst getPayloadPackages = (packageJSON: PackageJSON): Record<string, string> => {\n return Object.keys(packageJSON.dependencies || {}).reduce((acc, key) => {\n return key.startsWith('@payloadcms/') ? { ...acc, [key]: packageJSON.dependencies[key] } : acc\n }, {})\n}\n\nconst getPackageJSON = async (): Promise<PackageJSON> => {\n const filename = fileURLToPath(import.meta.url)\n const dirname = path.dirname(filename)\n const packageJsonPath = await findUp('package.json', { cwd: dirname })\n const jsonContent: PackageJSON = JSON.parse(fs.readFileSync(packageJsonPath, 'utf-8'))\n return jsonContent\n}\n\nconst getPackageJSONID = (payload: Payload, packageJSON: PackageJSON): string => {\n return oneWayHash(packageJSON.name, payload.secret)\n}\n\nexport const getPayloadVersion = (packageJSON: PackageJSON): string => {\n return packageJSON?.dependencies?.payload ?? ''\n}\n"],"names":["execSync","ciInfo","ConfImport","randomBytes","findUp","fs","path","fileURLToPath","oneWayHash","Conf","default","baseEvent","sendEvent","event","payload","packageJSON","getPackageJSON","ciName","isCI","name","envID","getEnvID","nodeEnv","process","env","NODE_ENV","nodeVersion","version","payloadPackages","getPayloadPackages","payloadVersion","getPayloadVersion","projectID","getProjectID","PAYLOAD_TELEMETRY_DEBUG","logger","info","msg","config","telemetry","fetch","body","JSON","stringify","headers","method","_","conf","ENV_ID","val","get","generated","toString","set","getGitID","getPackageJSONID","serverURL","cwd","secret","originBuffer","stdio","timeout","String","trim","Object","keys","dependencies","reduce","acc","key","startsWith","filename","url","dirname","packageJsonPath","jsonContent","parse","readFileSync"],"rangeMappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;","mappings":"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"}
|
|
@@ -112,7 +112,7 @@ export const saveVersion = async ({ id, autosave, collection, docWithLocales: do
|
|
|
112
112
|
createdVersion.createdAt = result.createdAt;
|
|
113
113
|
createdVersion.updatedAt = result.updatedAt;
|
|
114
114
|
createdVersion = sanitizeInternalFields(createdVersion);
|
|
115
|
-
createdVersion.id =
|
|
115
|
+
createdVersion.id = result.parent;
|
|
116
116
|
return createdVersion;
|
|
117
117
|
};
|
|
118
118
|
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../src/versions/saveVersion.ts"],"sourcesContent":["import type { SanitizedCollectionConfig, TypeWithID } from '../collections/config/types.js'\nimport type { SanitizedGlobalConfig } from '../globals/config/types.js'\nimport type { Payload } from '../index.js'\nimport type { PayloadRequest } from '../types/index.js'\n\nimport { deepCopyObject } from '../utilities/deepCopyObject.js'\nimport sanitizeInternalFields from '../utilities/sanitizeInternalFields.js'\nimport { enforceMaxVersions } from './enforceMaxVersions.js'\n\ntype Args = {\n autosave?: boolean\n collection?: SanitizedCollectionConfig\n docWithLocales: any\n draft?: boolean\n global?: SanitizedGlobalConfig\n id?: number | string\n payload: Payload\n req?: PayloadRequest\n}\n\nexport const saveVersion = async ({\n id,\n autosave,\n collection,\n docWithLocales: doc,\n draft,\n global,\n payload,\n req,\n}: Args): Promise<TypeWithID> => {\n let result\n let createNewVersion = true\n const now = new Date().toISOString()\n const versionData = deepCopyObject(doc)\n if (draft) versionData._status = 'draft'\n if (versionData._id) delete versionData._id\n\n try {\n if (autosave) {\n let docs\n const findVersionArgs = {\n limit: 1,\n pagination: false,\n req,\n sort: '-updatedAt',\n }\n if (collection) {\n ;({ docs } = await payload.db.findVersions({\n ...findVersionArgs,\n collection: collection.slug,\n req,\n where: {\n parent: {\n equals: id,\n },\n },\n }))\n } else {\n ;({ docs } = await payload.db.findGlobalVersions({\n ...findVersionArgs,\n global: global.slug,\n req,\n }))\n }\n const [latestVersion] = docs\n\n // overwrite the latest version if it's set to autosave\n if (latestVersion?.autosave === true) {\n createNewVersion = false\n\n const data: Record<string, unknown> = {\n createdAt: new Date(latestVersion.createdAt).toISOString(),\n updatedAt: draft ? now : new Date(doc.updatedAt).toISOString(),\n version: versionData,\n }\n\n const updateVersionArgs = {\n id: latestVersion.id,\n req,\n versionData: data as TypeWithID,\n }\n\n if (collection) {\n result = await payload.db.updateVersion({\n ...updateVersionArgs,\n collection: collection.slug,\n req,\n })\n } else {\n result = await payload.db.updateGlobalVersion({\n ...updateVersionArgs,\n global: global.slug,\n req,\n })\n }\n }\n }\n\n if (createNewVersion) {\n if (collection) {\n result = await payload.db.createVersion({\n autosave: Boolean(autosave),\n collectionSlug: collection.slug,\n createdAt: doc?.createdAt ? new Date(doc.createdAt).toISOString() : now,\n parent: collection ? id : undefined,\n req,\n updatedAt: draft ? now : new Date(doc.updatedAt).toISOString(),\n versionData,\n })\n }\n\n if (global) {\n result = await payload.db.createGlobalVersion({\n autosave: Boolean(autosave),\n createdAt: doc?.createdAt ? new Date(doc.createdAt).toISOString() : now,\n globalSlug: global.slug,\n parent: collection ? id : undefined,\n req,\n updatedAt: draft ? now : new Date(doc.updatedAt).toISOString(),\n versionData,\n })\n }\n }\n } catch (err) {\n let errorMessage: string\n\n if (collection)\n errorMessage = `There was an error while saving a version for the ${collection.labels.singular} with ID ${id}.`\n if (global)\n errorMessage = `There was an error while saving a version for the global ${global.label}.`\n payload.logger.error(errorMessage)\n payload.logger.error(err)\n }\n\n let max = 100\n\n if (collection && typeof collection.versions.maxPerDoc === 'number')\n max = collection.versions.maxPerDoc\n if (global && typeof global.versions.max === 'number') max = global.versions.max\n\n if (createNewVersion && max > 0) {\n await enforceMaxVersions({\n id,\n collection,\n global,\n max,\n payload,\n req,\n })\n }\n\n let createdVersion = result.version\n createdVersion.createdAt = result.createdAt\n createdVersion.updatedAt = result.updatedAt\n\n createdVersion = sanitizeInternalFields(createdVersion)\n createdVersion.id =
|
|
1
|
+
{"version":3,"sources":["../../src/versions/saveVersion.ts"],"sourcesContent":["import type { SanitizedCollectionConfig, TypeWithID } from '../collections/config/types.js'\nimport type { SanitizedGlobalConfig } from '../globals/config/types.js'\nimport type { Payload } from '../index.js'\nimport type { PayloadRequest } from '../types/index.js'\n\nimport { deepCopyObject } from '../utilities/deepCopyObject.js'\nimport sanitizeInternalFields from '../utilities/sanitizeInternalFields.js'\nimport { enforceMaxVersions } from './enforceMaxVersions.js'\n\ntype Args = {\n autosave?: boolean\n collection?: SanitizedCollectionConfig\n docWithLocales: any\n draft?: boolean\n global?: SanitizedGlobalConfig\n id?: number | string\n payload: Payload\n req?: PayloadRequest\n}\n\nexport const saveVersion = async ({\n id,\n autosave,\n collection,\n docWithLocales: doc,\n draft,\n global,\n payload,\n req,\n}: Args): Promise<TypeWithID> => {\n let result\n let createNewVersion = true\n const now = new Date().toISOString()\n const versionData = deepCopyObject(doc)\n if (draft) versionData._status = 'draft'\n if (versionData._id) delete versionData._id\n\n try {\n if (autosave) {\n let docs\n const findVersionArgs = {\n limit: 1,\n pagination: false,\n req,\n sort: '-updatedAt',\n }\n if (collection) {\n ;({ docs } = await payload.db.findVersions({\n ...findVersionArgs,\n collection: collection.slug,\n req,\n where: {\n parent: {\n equals: id,\n },\n },\n }))\n } else {\n ;({ docs } = await payload.db.findGlobalVersions({\n ...findVersionArgs,\n global: global.slug,\n req,\n }))\n }\n const [latestVersion] = docs\n\n // overwrite the latest version if it's set to autosave\n if (latestVersion?.autosave === true) {\n createNewVersion = false\n\n const data: Record<string, unknown> = {\n createdAt: new Date(latestVersion.createdAt).toISOString(),\n updatedAt: draft ? now : new Date(doc.updatedAt).toISOString(),\n version: versionData,\n }\n\n const updateVersionArgs = {\n id: latestVersion.id,\n req,\n versionData: data as TypeWithID,\n }\n\n if (collection) {\n result = await payload.db.updateVersion({\n ...updateVersionArgs,\n collection: collection.slug,\n req,\n })\n } else {\n result = await payload.db.updateGlobalVersion({\n ...updateVersionArgs,\n global: global.slug,\n req,\n })\n }\n }\n }\n\n if (createNewVersion) {\n if (collection) {\n result = await payload.db.createVersion({\n autosave: Boolean(autosave),\n collectionSlug: collection.slug,\n createdAt: doc?.createdAt ? new Date(doc.createdAt).toISOString() : now,\n parent: collection ? id : undefined,\n req,\n updatedAt: draft ? now : new Date(doc.updatedAt).toISOString(),\n versionData,\n })\n }\n\n if (global) {\n result = await payload.db.createGlobalVersion({\n autosave: Boolean(autosave),\n createdAt: doc?.createdAt ? new Date(doc.createdAt).toISOString() : now,\n globalSlug: global.slug,\n parent: collection ? id : undefined,\n req,\n updatedAt: draft ? now : new Date(doc.updatedAt).toISOString(),\n versionData,\n })\n }\n }\n } catch (err) {\n let errorMessage: string\n\n if (collection)\n errorMessage = `There was an error while saving a version for the ${collection.labels.singular} with ID ${id}.`\n if (global)\n errorMessage = `There was an error while saving a version for the global ${global.label}.`\n payload.logger.error(errorMessage)\n payload.logger.error(err)\n }\n\n let max = 100\n\n if (collection && typeof collection.versions.maxPerDoc === 'number')\n max = collection.versions.maxPerDoc\n if (global && typeof global.versions.max === 'number') max = global.versions.max\n\n if (createNewVersion && max > 0) {\n await enforceMaxVersions({\n id,\n collection,\n global,\n max,\n payload,\n req,\n })\n }\n\n let createdVersion = result.version\n createdVersion.createdAt = result.createdAt\n createdVersion.updatedAt = result.updatedAt\n\n createdVersion = sanitizeInternalFields(createdVersion)\n createdVersion.id = result.parent\n\n return createdVersion\n}\n"],"names":["deepCopyObject","sanitizeInternalFields","enforceMaxVersions","saveVersion","id","autosave","collection","docWithLocales","doc","draft","global","payload","req","result","createNewVersion","now","Date","toISOString","versionData","_status","_id","docs","findVersionArgs","limit","pagination","sort","db","findVersions","slug","where","parent","equals","findGlobalVersions","latestVersion","data","createdAt","updatedAt","version","updateVersionArgs","updateVersion","updateGlobalVersion","createVersion","Boolean","collectionSlug","undefined","createGlobalVersion","globalSlug","err","errorMessage","labels","singular","label","logger","error","max","versions","maxPerDoc","createdVersion"],"rangeMappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;","mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "payload",
|
|
3
|
-
"version": "3.0.0-alpha.
|
|
3
|
+
"version": "3.0.0-alpha.63",
|
|
4
4
|
"description": "Node, React and MongoDB Headless CMS and Application Framework",
|
|
5
5
|
"license": "MIT",
|
|
6
6
|
"main": "./dist/index.js",
|
|
@@ -26,6 +26,7 @@
|
|
|
26
26
|
"@swc-node/sourcemap-support": "^0.5.0",
|
|
27
27
|
"@types/probe-image-size": "^7.2.4",
|
|
28
28
|
"bson-objectid": "2.0.4",
|
|
29
|
+
"ci-info": "^4.0.0",
|
|
29
30
|
"conf": "10.2.0",
|
|
30
31
|
"console-table-printer": "2.11.2",
|
|
31
32
|
"dataloader": "2.2.2",
|
|
@@ -35,21 +36,29 @@
|
|
|
35
36
|
"find-up": "4.1.0",
|
|
36
37
|
"get-tsconfig": "^4.7.2",
|
|
37
38
|
"http-status": "1.6.2",
|
|
39
|
+
"image-size": "^1.1.1",
|
|
38
40
|
"joi": "^17.12.1",
|
|
39
41
|
"json-schema-to-typescript": "11.0.3",
|
|
40
42
|
"jsonwebtoken": "9.0.1",
|
|
41
43
|
"minimist": "1.2.8",
|
|
42
44
|
"mkdirp": "1.0.4",
|
|
43
45
|
"monaco-editor": "0.38.0",
|
|
44
|
-
"nodemailer": "6.9.10",
|
|
45
46
|
"pino": "8.15.0",
|
|
46
47
|
"pino-pretty": "10.2.0",
|
|
47
48
|
"pluralize": "8.0.0",
|
|
48
|
-
"probe-image-size": "^7.2.3",
|
|
49
49
|
"sanitize-filename": "1.6.3",
|
|
50
50
|
"scheduler": "0.23.0",
|
|
51
51
|
"scmp": "2.1.0",
|
|
52
|
-
"
|
|
52
|
+
"uuid": "^9.0.1",
|
|
53
|
+
"@payloadcms/translations": "3.0.0-alpha.63"
|
|
54
|
+
},
|
|
55
|
+
"peerDependencies": {
|
|
56
|
+
"@swc/core": "^1.4.13"
|
|
57
|
+
},
|
|
58
|
+
"peerDependenciesMeta": {
|
|
59
|
+
"@swc/core": {
|
|
60
|
+
"optional": true
|
|
61
|
+
}
|
|
53
62
|
},
|
|
54
63
|
"devDependencies": {
|
|
55
64
|
"@monaco-editor/react": "4.5.1",
|
|
@@ -97,7 +106,7 @@
|
|
|
97
106
|
"@payloadcms/eslint-config": "1.1.1"
|
|
98
107
|
},
|
|
99
108
|
"engines": {
|
|
100
|
-
"node": ">=18.
|
|
109
|
+
"node": ">=18.20.2"
|
|
101
110
|
},
|
|
102
111
|
"files": [
|
|
103
112
|
"bin.js",
|
|
@@ -156,7 +165,7 @@
|
|
|
156
165
|
},
|
|
157
166
|
"sideEffects": false,
|
|
158
167
|
"scripts": {
|
|
159
|
-
"build": "pnpm copyfiles && pnpm build:swc && pnpm build:types
|
|
168
|
+
"build": "pnpm copyfiles && pnpm build:swc && pnpm build:types",
|
|
160
169
|
"build:swc": "swc ./src -d ./dist --config-file .swcrc",
|
|
161
170
|
"build:types": "tsc --emitDeclarationOnly --outDir dist",
|
|
162
171
|
"build:watch": "nodemon --watch 'src/**' --ext 'ts,tsx' --exec \"pnpm build:tsc\"",
|
package/src/index.ts
CHANGED
|
@@ -1,6 +1,5 @@
|
|
|
1
1
|
import type { ExecutionResult, GraphQLSchema, ValidationRule } from 'graphql'
|
|
2
2
|
import type { OperationArgs, Request as graphQLRequest } from 'graphql-http'
|
|
3
|
-
import type { SendMailOptions } from 'nodemailer'
|
|
4
3
|
import type pino from 'pino'
|
|
5
4
|
|
|
6
5
|
import crypto from 'crypto'
|
|
@@ -16,6 +15,7 @@ import type { Result as LoginResult } from './auth/operations/login.js'
|
|
|
16
15
|
import type { Result as ResetPasswordResult } from './auth/operations/resetPassword.js'
|
|
17
16
|
import type { AuthStrategy } from './auth/types.js'
|
|
18
17
|
import type { BulkOperationResult, Collection, TypeWithID } from './collections/config/types.js'
|
|
18
|
+
import type { Options as CountOptions } from './collections/operations/local/count.js'
|
|
19
19
|
import type { Options as CreateOptions } from './collections/operations/local/create.js'
|
|
20
20
|
import type {
|
|
21
21
|
ByIDOptions as DeleteByIDOptions,
|
|
@@ -33,9 +33,9 @@ import type {
|
|
|
33
33
|
ManyOptions as UpdateManyOptions,
|
|
34
34
|
Options as UpdateOptions,
|
|
35
35
|
} from './collections/operations/local/update.js'
|
|
36
|
-
import type {
|
|
36
|
+
import type { InitOptions, SanitizedConfig } from './config/types.js'
|
|
37
37
|
import type { BaseDatabaseAdapter, PaginatedDocs } from './database/types.js'
|
|
38
|
-
import type {
|
|
38
|
+
import type { InitializedEmailAdapter } from './email/types.js'
|
|
39
39
|
import type { TypeWithID as GlobalTypeWithID, Globals } from './globals/config/types.js'
|
|
40
40
|
import type { Options as FindGlobalOptions } from './globals/operations/local/findOne.js'
|
|
41
41
|
import type { Options as FindGlobalVersionByIDOptions } from './globals/operations/local/findVersionByID.js'
|
|
@@ -49,10 +49,10 @@ import { APIKeyAuthentication } from './auth/strategies/apiKey.js'
|
|
|
49
49
|
import { JWTAuthentication } from './auth/strategies/jwt.js'
|
|
50
50
|
import localOperations from './collections/operations/local/index.js'
|
|
51
51
|
import { validateSchema } from './config/validate.js'
|
|
52
|
-
import
|
|
53
|
-
import {
|
|
54
|
-
import sendEmail from './email/sendEmail.js'
|
|
52
|
+
import { consoleEmailAdapter } from './email/consoleEmailAdapter.js'
|
|
53
|
+
import { fieldAffectsData } from './exports/types.js'
|
|
55
54
|
import localGlobalOperations from './globals/operations/local/index.js'
|
|
55
|
+
import flattenFields from './utilities/flattenTopLevelFields.js'
|
|
56
56
|
import Logger from './utilities/logger.js'
|
|
57
57
|
import { serverInit as serverInitTelemetry } from './utilities/telemetry/events/serverInit.js'
|
|
58
58
|
|
|
@@ -79,6 +79,18 @@ export class BasePayload<TGeneratedTypes extends GeneratedTypes> {
|
|
|
79
79
|
|
|
80
80
|
config: SanitizedConfig
|
|
81
81
|
|
|
82
|
+
/**
|
|
83
|
+
* @description Performs count operation
|
|
84
|
+
* @param options
|
|
85
|
+
* @returns count of documents satisfying query
|
|
86
|
+
*/
|
|
87
|
+
count = async <T extends keyof TGeneratedTypes['collections']>(
|
|
88
|
+
options: CountOptions<T>,
|
|
89
|
+
): Promise<{ totalDocs: number }> => {
|
|
90
|
+
const { count } = localOperations
|
|
91
|
+
return count(this, options)
|
|
92
|
+
}
|
|
93
|
+
|
|
82
94
|
/**
|
|
83
95
|
* @description Performs create operation
|
|
84
96
|
* @param options
|
|
@@ -90,7 +102,6 @@ export class BasePayload<TGeneratedTypes extends GeneratedTypes> {
|
|
|
90
102
|
const { create } = localOperations
|
|
91
103
|
return create<T>(this, options)
|
|
92
104
|
}
|
|
93
|
-
|
|
94
105
|
db: DatabaseAdapter
|
|
95
106
|
|
|
96
107
|
decrypt = decrypt
|
|
@@ -102,9 +113,7 @@ export class BasePayload<TGeneratedTypes extends GeneratedTypes> {
|
|
|
102
113
|
return duplicate<T>(this, options)
|
|
103
114
|
}
|
|
104
115
|
|
|
105
|
-
email:
|
|
106
|
-
|
|
107
|
-
emailOptions: EmailOptions
|
|
116
|
+
email: InitializedEmailAdapter
|
|
108
117
|
|
|
109
118
|
// TODO: re-implement or remove?
|
|
110
119
|
// errorHandler: ErrorHandler
|
|
@@ -253,7 +262,7 @@ export class BasePayload<TGeneratedTypes extends GeneratedTypes> {
|
|
|
253
262
|
|
|
254
263
|
secret: string
|
|
255
264
|
|
|
256
|
-
sendEmail:
|
|
265
|
+
sendEmail: InitializedEmailAdapter['sendEmail']
|
|
257
266
|
|
|
258
267
|
types: {
|
|
259
268
|
arrayTypes: any
|
|
@@ -340,8 +349,17 @@ export class BasePayload<TGeneratedTypes extends GeneratedTypes> {
|
|
|
340
349
|
}
|
|
341
350
|
|
|
342
351
|
this.config.collections.forEach((collection) => {
|
|
352
|
+
const customID = flattenFields(collection.fields).find(
|
|
353
|
+
(field) => fieldAffectsData(field) && field.name === 'id',
|
|
354
|
+
)
|
|
355
|
+
|
|
356
|
+
let customIDType
|
|
357
|
+
|
|
358
|
+
if (customID?.type === 'number' || customID?.type === 'text') customIDType = customID.type
|
|
359
|
+
|
|
343
360
|
this.collections[collection.slug] = {
|
|
344
361
|
config: collection,
|
|
362
|
+
customIDType,
|
|
345
363
|
}
|
|
346
364
|
})
|
|
347
365
|
|
|
@@ -356,17 +374,21 @@ export class BasePayload<TGeneratedTypes extends GeneratedTypes> {
|
|
|
356
374
|
await this.db.connect()
|
|
357
375
|
}
|
|
358
376
|
|
|
359
|
-
//
|
|
360
|
-
|
|
361
|
-
|
|
377
|
+
// Load email adapter
|
|
378
|
+
if (this.config.email instanceof Promise) {
|
|
379
|
+
const awaitedAdapter = await this.config.email
|
|
380
|
+
this.email = awaitedAdapter({ payload: this })
|
|
381
|
+
} else if (this.config.email) {
|
|
382
|
+
this.email = this.config.email({ payload: this })
|
|
383
|
+
} else {
|
|
362
384
|
this.logger.warn(
|
|
363
|
-
|
|
385
|
+
`No email adapter provided. Email will be written to console. More info at https://payloadcms.com/docs/email/overview.`,
|
|
364
386
|
)
|
|
387
|
+
|
|
388
|
+
this.email = consoleEmailAdapter({ payload: this })
|
|
365
389
|
}
|
|
366
390
|
|
|
367
|
-
this.
|
|
368
|
-
this.email = buildEmail(this.emailOptions, this.logger)
|
|
369
|
-
this.sendEmail = sendEmail.bind(this)
|
|
391
|
+
this.sendEmail = this.email['sendEmail']
|
|
370
392
|
|
|
371
393
|
serverInitTelemetry(this)
|
|
372
394
|
|
|
@@ -473,6 +495,8 @@ type GeneratedTypes = {
|
|
|
473
495
|
globals: {
|
|
474
496
|
[slug: number | string | symbol]: GlobalTypeWithID & Record<string, unknown>
|
|
475
497
|
}
|
|
498
|
+
locale: null | string
|
|
499
|
+
user: TypeWithID & Record<string, unknown> & { collection: string }
|
|
476
500
|
}
|
|
477
501
|
|
|
478
502
|
type Payload = BasePayload<GeneratedTypes>
|
package/auth.d.ts
DELETED
|
@@ -1,6 +0,0 @@
|
|
|
1
|
-
export * from './dist/auth/index.js';
|
|
2
|
-
export { default as executeAccess } from './dist/auth/executeAccess.js';
|
|
3
|
-
export { executeAuthStrategies } from './dist/auth/executeAuthStrategies.js';
|
|
4
|
-
export { getAccessResults } from './dist/auth/getAccessResults.js';
|
|
5
|
-
export type { AuthStrategyFunction, AuthStrategyFunctionArgs, CollectionPermission, FieldPermissions, GlobalPermission, IncomingAuthType, Permission, Permissions, User, VerifyConfig, } from './dist/auth/types.js';
|
|
6
|
-
//# sourceMappingURL=auth.d.ts.map
|
package/auth.js
DELETED
|
@@ -1,6 +0,0 @@
|
|
|
1
|
-
export * from './dist/auth/index.js';
|
|
2
|
-
export { default as executeAccess } from './dist/auth/executeAccess.js';
|
|
3
|
-
export { executeAuthStrategies } from './dist/auth/executeAuthStrategies.js';
|
|
4
|
-
export { getAccessResults } from './dist/auth/getAccessResults.js';
|
|
5
|
-
|
|
6
|
-
//# sourceMappingURL=auth.js.map
|
package/config.d.ts
DELETED
|
@@ -1,14 +0,0 @@
|
|
|
1
|
-
export { buildConfig } from './dist/config/build.js';
|
|
2
|
-
export * from './dist/config/types.js';
|
|
3
|
-
export type { FieldTypes } from './dist/admin/forms/FieldTypes.js';
|
|
4
|
-
export { createClientCollectionConfig } from './dist/collections/config/client.js';
|
|
5
|
-
export { defaults as collectionDefaults } from './dist/collections/config/defaults.js';
|
|
6
|
-
export { createClientConfig } from './dist/config/client.js';
|
|
7
|
-
export { defaults } from './dist/config/defaults.js';
|
|
8
|
-
export { sanitizeConfig } from './dist/config/sanitize.js';
|
|
9
|
-
export { baseBlockFields } from './dist/fields/baseFields/baseBlockFields.js';
|
|
10
|
-
export { baseIDField } from './dist/fields/baseFields/baseIDField.js';
|
|
11
|
-
export { createClientFieldConfig } from './dist/fields/config/client.js';
|
|
12
|
-
export { sanitizeFields } from './dist/fields/config/sanitize.js';
|
|
13
|
-
export { createClientGlobalConfig } from './dist/globals/config/client.js';
|
|
14
|
-
//# sourceMappingURL=config.d.ts.map
|
package/config.js
DELETED
|
@@ -1,14 +0,0 @@
|
|
|
1
|
-
export { buildConfig } from './dist/config/build.js';
|
|
2
|
-
export * from './dist/config/types.js';
|
|
3
|
-
export { createClientCollectionConfig } from './dist/collections/config/client.js';
|
|
4
|
-
export { defaults as collectionDefaults } from './dist/collections/config/defaults.js';
|
|
5
|
-
export { createClientConfig } from './dist/config/client.js';
|
|
6
|
-
export { defaults } from './dist/config/defaults.js';
|
|
7
|
-
export { sanitizeConfig } from './dist/config/sanitize.js';
|
|
8
|
-
export { baseBlockFields } from './dist/fields/baseFields/baseBlockFields.js';
|
|
9
|
-
export { baseIDField } from './dist/fields/baseFields/baseIDField.js';
|
|
10
|
-
export { createClientFieldConfig } from './dist/fields/config/client.js';
|
|
11
|
-
export { sanitizeFields } from './dist/fields/config/sanitize.js';
|
|
12
|
-
export { createClientGlobalConfig } from './dist/globals/config/client.js';
|
|
13
|
-
|
|
14
|
-
//# sourceMappingURL=config.js.map
|
package/database.d.ts
DELETED
|
@@ -1,23 +0,0 @@
|
|
|
1
|
-
export type { BaseDatabaseAdapter, BeginTransaction, CommitTransaction, Connect, Create, CreateArgs, CreateGlobal, CreateGlobalArgs, CreateGlobalVersion, CreateGlobalVersionArgs, CreateMigration, CreateVersion, CreateVersionArgs, DBIdentifierName, DatabaseAdapterResult as DatabaseAdapterObj, DeleteMany, DeleteManyArgs, DeleteOne, DeleteOneArgs, DeleteVersions, DeleteVersionsArgs, Destroy, Find, FindArgs, FindGlobal, FindGlobalArgs, FindGlobalVersions, FindGlobalVersionsArgs, FindOne, FindOneArgs, FindVersions, FindVersionsArgs, Init, Migration, MigrationData, PaginatedDocs, QueryDrafts, QueryDraftsArgs, RollbackTransaction, Transaction, TypeWithVersion, UpdateGlobal, UpdateGlobalArgs, UpdateGlobalVersion, UpdateGlobalVersionArgs, UpdateOne, UpdateOneArgs, UpdateVersion, UpdateVersionArgs, } from './dist/database/types.js';
|
|
2
|
-
export * from './dist/database/queryValidation/types.js';
|
|
3
|
-
export { combineQueries } from './dist/database/combineQueries.js';
|
|
4
|
-
export { createDatabaseAdapter } from './dist/database/createDatabaseAdapter.js';
|
|
5
|
-
export { default as flattenWhereToOperators } from './dist/database/flattenWhereToOperators.js';
|
|
6
|
-
export { getLocalizedPaths } from './dist/database/getLocalizedPaths.js';
|
|
7
|
-
export { createMigration } from './dist/database/migrations/createMigration.js';
|
|
8
|
-
export { getMigrations } from './dist/database/migrations/getMigrations.js';
|
|
9
|
-
export { migrate } from './dist/database/migrations/migrate.js';
|
|
10
|
-
export { migrateDown } from './dist/database/migrations/migrateDown.js';
|
|
11
|
-
export { migrateRefresh } from './dist/database/migrations/migrateRefresh.js';
|
|
12
|
-
export { migrateReset } from './dist/database/migrations/migrateReset.js';
|
|
13
|
-
export { migrateStatus } from './dist/database/migrations/migrateStatus.js';
|
|
14
|
-
export { migrationTemplate } from './dist/database/migrations/migrationTemplate.js';
|
|
15
|
-
export { migrationsCollection } from './dist/database/migrations/migrationsCollection.js';
|
|
16
|
-
export { readMigrationFiles } from './dist/database/migrations/readMigrationFiles.js';
|
|
17
|
-
export type { EntityPolicies, PathToQuery } from './dist/database/queryValidation/types.js';
|
|
18
|
-
export { validateQueryPaths } from './dist/database/queryValidation/validateQueryPaths.js';
|
|
19
|
-
export { validateSearchParam } from './dist/database/queryValidation/validateSearchParams.js';
|
|
20
|
-
export { commitTransaction } from './dist/utilities/commitTransaction.js';
|
|
21
|
-
export { initTransaction } from './dist/utilities/initTransaction.js';
|
|
22
|
-
export { killTransaction } from './dist/utilities/killTransaction.js';
|
|
23
|
-
//# sourceMappingURL=database.d.ts.map
|
package/database.js
DELETED
|
@@ -1,22 +0,0 @@
|
|
|
1
|
-
export * from './dist/database/queryValidation/types.js';
|
|
2
|
-
export { combineQueries } from './dist/database/combineQueries.js';
|
|
3
|
-
export { createDatabaseAdapter } from './dist/database/createDatabaseAdapter.js';
|
|
4
|
-
export { default as flattenWhereToOperators } from './dist/database/flattenWhereToOperators.js';
|
|
5
|
-
export { getLocalizedPaths } from './dist/database/getLocalizedPaths.js';
|
|
6
|
-
export { createMigration } from './dist/database/migrations/createMigration.js';
|
|
7
|
-
export { getMigrations } from './dist/database/migrations/getMigrations.js';
|
|
8
|
-
export { migrate } from './dist/database/migrations/migrate.js';
|
|
9
|
-
export { migrateDown } from './dist/database/migrations/migrateDown.js';
|
|
10
|
-
export { migrateRefresh } from './dist/database/migrations/migrateRefresh.js';
|
|
11
|
-
export { migrateReset } from './dist/database/migrations/migrateReset.js';
|
|
12
|
-
export { migrateStatus } from './dist/database/migrations/migrateStatus.js';
|
|
13
|
-
export { migrationTemplate } from './dist/database/migrations/migrationTemplate.js';
|
|
14
|
-
export { migrationsCollection } from './dist/database/migrations/migrationsCollection.js';
|
|
15
|
-
export { readMigrationFiles } from './dist/database/migrations/readMigrationFiles.js';
|
|
16
|
-
export { validateQueryPaths } from './dist/database/queryValidation/validateQueryPaths.js';
|
|
17
|
-
export { validateSearchParam } from './dist/database/queryValidation/validateSearchParams.js';
|
|
18
|
-
export { commitTransaction } from './dist/utilities/commitTransaction.js';
|
|
19
|
-
export { initTransaction } from './dist/utilities/initTransaction.js';
|
|
20
|
-
export { killTransaction } from './dist/utilities/killTransaction.js';
|
|
21
|
-
|
|
22
|
-
//# sourceMappingURL=database.js.map
|
package/dist/email/build.d.ts
DELETED
|
@@ -1,5 +0,0 @@
|
|
|
1
|
-
import type { Logger } from 'pino';
|
|
2
|
-
import type { EmailOptions } from '../config/types.js';
|
|
3
|
-
import type { BuildEmailResult } from './types.js';
|
|
4
|
-
export default function buildEmail(emailConfig: EmailOptions | undefined, logger: Logger): BuildEmailResult;
|
|
5
|
-
//# sourceMappingURL=build.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"build.d.ts","sourceRoot":"","sources":["../../src/email/build.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,MAAM,CAAA;AAIlC,OAAO,KAAK,EAAE,YAAY,EAAkB,MAAM,oBAAoB,CAAA;AACtE,OAAO,KAAK,EAAE,gBAAgB,EAAoB,MAAM,YAAY,CAAA;AA+CpE,wBAA8B,UAAU,CACtC,WAAW,EAAE,YAAY,GAAG,SAAS,EACrC,MAAM,EAAE,MAAM,GACb,gBAAgB,CAoBlB"}
|
package/dist/email/build.js
DELETED
|
@@ -1,63 +0,0 @@
|
|
|
1
|
-
import nodemailer from 'nodemailer';
|
|
2
|
-
import { hasTransport, hasTransportOptions } from '../config/types.js';
|
|
3
|
-
import { InvalidConfiguration } from '../errors/index.js';
|
|
4
|
-
import mockHandler from './mockHandler.js';
|
|
5
|
-
async function handleTransport(transport, email, logger) {
|
|
6
|
-
try {
|
|
7
|
-
await transport.verify();
|
|
8
|
-
} catch (err) {
|
|
9
|
-
logger.error(`There is an error with the email configuration you have provided. ${err}`);
|
|
10
|
-
}
|
|
11
|
-
return {
|
|
12
|
-
...email,
|
|
13
|
-
transport
|
|
14
|
-
};
|
|
15
|
-
}
|
|
16
|
-
const ensureConfigHasFrom = (emailConfig)=>{
|
|
17
|
-
if (!emailConfig?.fromName || !emailConfig?.fromAddress) {
|
|
18
|
-
throw new InvalidConfiguration('Email fromName and fromAddress must be configured when transport is configured');
|
|
19
|
-
}
|
|
20
|
-
};
|
|
21
|
-
const handleMockAccount = async (emailConfig, logger)=>{
|
|
22
|
-
let mockAccount;
|
|
23
|
-
try {
|
|
24
|
-
mockAccount = await mockHandler(emailConfig);
|
|
25
|
-
const { account: { pass, user, web } } = mockAccount;
|
|
26
|
-
if (emailConfig?.logMockCredentials) {
|
|
27
|
-
logger.info('E-mail configured with mock configuration');
|
|
28
|
-
logger.info(`Log into mock email provider at ${web}`);
|
|
29
|
-
logger.info(`Mock email account username: ${user}`);
|
|
30
|
-
logger.info(`Mock email account password: ${pass}`);
|
|
31
|
-
}
|
|
32
|
-
} catch (err) {
|
|
33
|
-
logger.error({
|
|
34
|
-
err,
|
|
35
|
-
msg: 'There was a problem setting up the mock email handler'
|
|
36
|
-
});
|
|
37
|
-
}
|
|
38
|
-
return mockAccount;
|
|
39
|
-
};
|
|
40
|
-
export default async function buildEmail(emailConfig, logger) {
|
|
41
|
-
if (!emailConfig) {
|
|
42
|
-
return handleMockAccount(emailConfig, logger);
|
|
43
|
-
}
|
|
44
|
-
if (hasTransport(emailConfig) && emailConfig.transport) {
|
|
45
|
-
ensureConfigHasFrom(emailConfig);
|
|
46
|
-
const email = {
|
|
47
|
-
...emailConfig
|
|
48
|
-
};
|
|
49
|
-
const { transport } = emailConfig;
|
|
50
|
-
return handleTransport(transport, email, logger);
|
|
51
|
-
}
|
|
52
|
-
if (hasTransportOptions(emailConfig) && emailConfig.transportOptions) {
|
|
53
|
-
ensureConfigHasFrom(emailConfig);
|
|
54
|
-
const email = {
|
|
55
|
-
...emailConfig
|
|
56
|
-
};
|
|
57
|
-
const transport = nodemailer.createTransport(emailConfig.transportOptions);
|
|
58
|
-
return handleTransport(transport, email, logger);
|
|
59
|
-
}
|
|
60
|
-
return handleMockAccount(emailConfig, logger);
|
|
61
|
-
}
|
|
62
|
-
|
|
63
|
-
//# sourceMappingURL=build.js.map
|
package/dist/email/build.js.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"sources":["../../src/email/build.ts"],"sourcesContent":["import type { Transporter } from 'nodemailer'\nimport type { Logger } from 'pino'\n\nimport nodemailer from 'nodemailer'\n\nimport type { EmailOptions, EmailTransport } from '../config/types.js'\nimport type { BuildEmailResult, MockEmailHandler } from './types.js'\n\nimport { hasTransport, hasTransportOptions } from '../config/types.js'\nimport { InvalidConfiguration } from '../errors/index.js'\nimport mockHandler from './mockHandler.js'\n\nasync function handleTransport(\n transport: Transporter,\n email: EmailTransport,\n logger: Logger,\n): BuildEmailResult {\n try {\n await transport.verify()\n } catch (err) {\n logger.error(`There is an error with the email configuration you have provided. ${err}`)\n }\n\n return { ...email, transport }\n}\n\nconst ensureConfigHasFrom = (emailConfig: EmailOptions) => {\n if (!emailConfig?.fromName || !emailConfig?.fromAddress) {\n throw new InvalidConfiguration(\n 'Email fromName and fromAddress must be configured when transport is configured',\n )\n }\n}\n\nconst handleMockAccount = async (emailConfig: EmailOptions, logger: Logger) => {\n let mockAccount: MockEmailHandler\n try {\n mockAccount = await mockHandler(emailConfig)\n const {\n account: { pass, user, web },\n } = mockAccount\n if (emailConfig?.logMockCredentials) {\n logger.info('E-mail configured with mock configuration')\n logger.info(`Log into mock email provider at ${web}`)\n logger.info(`Mock email account username: ${user}`)\n logger.info(`Mock email account password: ${pass}`)\n }\n } catch (err) {\n logger.error({ err, msg: 'There was a problem setting up the mock email handler' })\n }\n return mockAccount\n}\n\nexport default async function buildEmail(\n emailConfig: EmailOptions | undefined,\n logger: Logger,\n): BuildEmailResult {\n if (!emailConfig) {\n return handleMockAccount(emailConfig, logger)\n }\n\n if (hasTransport(emailConfig) && emailConfig.transport) {\n ensureConfigHasFrom(emailConfig)\n const email = { ...emailConfig }\n const { transport }: { transport: Transporter } = emailConfig\n return handleTransport(transport, email, logger)\n }\n\n if (hasTransportOptions(emailConfig) && emailConfig.transportOptions) {\n ensureConfigHasFrom(emailConfig)\n const email = { ...emailConfig } as EmailTransport\n const transport = nodemailer.createTransport(emailConfig.transportOptions)\n return handleTransport(transport, email, logger)\n }\n\n return handleMockAccount(emailConfig, logger)\n}\n"],"names":["nodemailer","hasTransport","hasTransportOptions","InvalidConfiguration","mockHandler","handleTransport","transport","email","logger","verify","err","error","ensureConfigHasFrom","emailConfig","fromName","fromAddress","handleMockAccount","mockAccount","account","pass","user","web","logMockCredentials","info","msg","buildEmail","transportOptions","createTransport"],"rangeMappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;","mappings":"AAGA,OAAOA,gBAAgB,aAAY;AAKnC,SAASC,YAAY,EAAEC,mBAAmB,QAAQ,qBAAoB;AACtE,SAASC,oBAAoB,QAAQ,qBAAoB;AACzD,OAAOC,iBAAiB,mBAAkB;AAE1C,eAAeC,gBACbC,SAAsB,EACtBC,KAAqB,EACrBC,MAAc;IAEd,IAAI;QACF,MAAMF,UAAUG,MAAM;IACxB,EAAE,OAAOC,KAAK;QACZF,OAAOG,KAAK,CAAC,CAAC,kEAAkE,EAAED,IAAI,CAAC;IACzF;IAEA,OAAO;QAAE,GAAGH,KAAK;QAAED;IAAU;AAC/B;AAEA,MAAMM,sBAAsB,CAACC;IAC3B,IAAI,CAACA,aAAaC,YAAY,CAACD,aAAaE,aAAa;QACvD,MAAM,IAAIZ,qBACR;IAEJ;AACF;AAEA,MAAMa,oBAAoB,OAAOH,aAA2BL;IAC1D,IAAIS;IACJ,IAAI;QACFA,cAAc,MAAMb,YAAYS;QAChC,MAAM,EACJK,SAAS,EAAEC,IAAI,EAAEC,IAAI,EAAEC,GAAG,EAAE,EAC7B,GAAGJ;QACJ,IAAIJ,aAAaS,oBAAoB;YACnCd,OAAOe,IAAI,CAAC;YACZf,OAAOe,IAAI,CAAC,CAAC,gCAAgC,EAAEF,IAAI,CAAC;YACpDb,OAAOe,IAAI,CAAC,CAAC,6BAA6B,EAAEH,KAAK,CAAC;YAClDZ,OAAOe,IAAI,CAAC,CAAC,6BAA6B,EAAEJ,KAAK,CAAC;QACpD;IACF,EAAE,OAAOT,KAAK;QACZF,OAAOG,KAAK,CAAC;YAAED;YAAKc,KAAK;QAAwD;IACnF;IACA,OAAOP;AACT;AAEA,eAAe,eAAeQ,WAC5BZ,WAAqC,EACrCL,MAAc;IAEd,IAAI,CAACK,aAAa;QAChB,OAAOG,kBAAkBH,aAAaL;IACxC;IAEA,IAAIP,aAAaY,gBAAgBA,YAAYP,SAAS,EAAE;QACtDM,oBAAoBC;QACpB,MAAMN,QAAQ;YAAE,GAAGM,WAAW;QAAC;QAC/B,MAAM,EAAEP,SAAS,EAAE,GAA+BO;QAClD,OAAOR,gBAAgBC,WAAWC,OAAOC;IAC3C;IAEA,IAAIN,oBAAoBW,gBAAgBA,YAAYa,gBAAgB,EAAE;QACpEd,oBAAoBC;QACpB,MAAMN,QAAQ;YAAE,GAAGM,WAAW;QAAC;QAC/B,MAAMP,YAAYN,WAAW2B,eAAe,CAACd,YAAYa,gBAAgB;QACzE,OAAOrB,gBAAgBC,WAAWC,OAAOC;IAC3C;IAEA,OAAOQ,kBAAkBH,aAAaL;AACxC"}
|
|
@@ -1,5 +0,0 @@
|
|
|
1
|
-
import type { EmailOptions } from '../config/types.js';
|
|
2
|
-
import type { MockEmailHandler } from './types.js';
|
|
3
|
-
declare const mockEmailHandler: (emailConfig: EmailOptions) => Promise<MockEmailHandler>;
|
|
4
|
-
export default mockEmailHandler;
|
|
5
|
-
//# sourceMappingURL=mockHandler.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"mockHandler.d.ts","sourceRoot":"","sources":["../../src/email/mockHandler.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAA;AACtD,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,YAAY,CAAA;AAIlD,QAAA,MAAM,gBAAgB,gBAAuB,YAAY,KAAG,QAAQ,gBAAgB,CAoBnF,CAAA;AAED,eAAe,gBAAgB,CAAA"}
|
|
@@ -1,24 +0,0 @@
|
|
|
1
|
-
import nodemailer from 'nodemailer';
|
|
2
|
-
import { defaults as emailDefaults } from './defaults.js';
|
|
3
|
-
const mockEmailHandler = async (emailConfig)=>{
|
|
4
|
-
const testAccount = await nodemailer.createTestAccount();
|
|
5
|
-
const smtpOptions = {
|
|
6
|
-
...emailConfig,
|
|
7
|
-
auth: {
|
|
8
|
-
pass: testAccount.pass,
|
|
9
|
-
user: testAccount.user
|
|
10
|
-
},
|
|
11
|
-
fromAddress: emailConfig?.fromAddress || emailDefaults.fromAddress,
|
|
12
|
-
fromName: emailConfig?.fromName || emailDefaults.fromName,
|
|
13
|
-
host: 'smtp.ethereal.email',
|
|
14
|
-
port: 587,
|
|
15
|
-
secure: false
|
|
16
|
-
};
|
|
17
|
-
return {
|
|
18
|
-
account: testAccount,
|
|
19
|
-
transport: nodemailer.createTransport(smtpOptions)
|
|
20
|
-
};
|
|
21
|
-
};
|
|
22
|
-
export default mockEmailHandler;
|
|
23
|
-
|
|
24
|
-
//# sourceMappingURL=mockHandler.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"sources":["../../src/email/mockHandler.ts"],"sourcesContent":["import nodemailer from 'nodemailer'\n\nimport type { EmailOptions } from '../config/types.js'\nimport type { MockEmailHandler } from './types.js'\n\nimport { defaults as emailDefaults } from './defaults.js'\n\nconst mockEmailHandler = async (emailConfig: EmailOptions): Promise<MockEmailHandler> => {\n const testAccount = await nodemailer.createTestAccount()\n\n const smtpOptions = {\n ...emailConfig,\n auth: {\n pass: testAccount.pass,\n user: testAccount.user,\n },\n fromAddress: emailConfig?.fromAddress || emailDefaults.fromAddress,\n fromName: emailConfig?.fromName || emailDefaults.fromName,\n host: 'smtp.ethereal.email',\n port: 587,\n secure: false,\n }\n\n return {\n account: testAccount,\n transport: nodemailer.createTransport(smtpOptions),\n }\n}\n\nexport default mockEmailHandler\n"],"names":["nodemailer","defaults","emailDefaults","mockEmailHandler","emailConfig","testAccount","createTestAccount","smtpOptions","auth","pass","user","fromAddress","fromName","host","port","secure","account","transport","createTransport"],"rangeMappings":";;;;;;;;;;;;;;;;;;;;;","mappings":"AAAA,OAAOA,gBAAgB,aAAY;AAKnC,SAASC,YAAYC,aAAa,QAAQ,gBAAe;AAEzD,MAAMC,mBAAmB,OAAOC;IAC9B,MAAMC,cAAc,MAAML,WAAWM,iBAAiB;IAEtD,MAAMC,cAAc;QAClB,GAAGH,WAAW;QACdI,MAAM;YACJC,MAAMJ,YAAYI,IAAI;YACtBC,MAAML,YAAYK,IAAI;QACxB;QACAC,aAAaP,aAAaO,eAAeT,cAAcS,WAAW;QAClEC,UAAUR,aAAaQ,YAAYV,cAAcU,QAAQ;QACzDC,MAAM;QACNC,MAAM;QACNC,QAAQ;IACV;IAEA,OAAO;QACLC,SAASX;QACTY,WAAWjB,WAAWkB,eAAe,CAACX;IACxC;AACF;AAEA,eAAeJ,iBAAgB"}
|
|
@@ -1,4 +0,0 @@
|
|
|
1
|
-
import type { BaseDatabaseAdapter } from '../database/types.js';
|
|
2
|
-
import type { Field } from '../fields/config/types.js';
|
|
3
|
-
export declare const getIDType: (idField: Field | null, defaultIDType: BaseDatabaseAdapter['defaultIDType'] | null) => 'ObjectID' | 'number' | 'text';
|
|
4
|
-
//# sourceMappingURL=getIDType.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"getIDType.d.ts","sourceRoot":"","sources":["../../src/utilities/getIDType.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,sBAAsB,CAAA;AAC/D,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,2BAA2B,CAAA;AAEtD,eAAO,MAAM,SAAS,YACX,KAAK,GAAG,IAAI,iBACN,mBAAmB,CAAC,eAAe,CAAC,GAAG,IAAI,KACzD,UAAU,GAAG,QAAQ,GAAG,MAK1B,CAAA"}
|