@latte-macchiat-io/latte-payload 1.0.4 → 1.0.5
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/README.md +39 -0
- package/dist/access/adminAccessOnly.d.ts.map +1 -0
- package/dist/access/adminAccessOnly.js.map +1 -0
- package/dist/access/admins.d.ts.map +1 -0
- package/dist/access/admins.js.map +1 -0
- package/dist/access/anyone.d.ts.map +1 -0
- package/dist/access/anyone.js.map +1 -0
- package/dist/access/authenticated.d.ts.map +1 -0
- package/dist/access/authenticated.js.map +1 -0
- package/dist/access/authenticatedAccessOnly.d.ts.map +1 -0
- package/dist/access/authenticatedAccessOnly.js.map +1 -0
- package/dist/access/index.d.ts.map +1 -0
- package/dist/access/index.js.map +1 -0
- package/dist/access/publicReadAuthenticatedAccess.d.ts.map +1 -0
- package/dist/access/publicReadAuthenticatedAccess.js.map +1 -0
- package/dist/collections/ContactMessages/hooks/sendEmailNotification.d.ts.map +1 -0
- package/dist/collections/ContactMessages/hooks/sendEmailNotification.js.map +1 -0
- package/dist/collections/ContactMessages/index.d.ts.map +1 -0
- package/dist/collections/ContactMessages/index.js.map +1 -0
- package/dist/collections/EmailTemplates/index.d.ts.map +1 -0
- package/dist/collections/EmailTemplates/index.js.map +1 -0
- package/dist/collections/Media/index.d.ts.map +1 -0
- package/dist/collections/Media/index.js.map +1 -0
- package/dist/collections/QueuedEmails/components/HtmlViewer.d.ts.map +1 -0
- package/dist/collections/QueuedEmails/components/HtmlViewer.js.map +1 -0
- package/dist/collections/QueuedEmails/components/RetryEmailButtons.d.ts.map +1 -0
- package/dist/collections/QueuedEmails/components/RetryEmailButtons.js.map +1 -0
- package/dist/collections/QueuedEmails/index.d.ts.map +1 -0
- package/dist/collections/QueuedEmails/index.js.map +1 -0
- package/dist/collections/Users/auth-emails/forgot-password-email.d.ts.map +1 -0
- package/dist/collections/Users/auth-emails/forgot-password-email.js.map +1 -0
- package/dist/collections/Users/auth-emails/verify-email.d.ts.map +1 -0
- package/dist/collections/Users/auth-emails/verify-email.js.map +1 -0
- package/dist/collections/Users/hooks/ensureFirstUserIsAdmin.d.ts.map +1 -0
- package/dist/collections/Users/hooks/ensureFirstUserIsAdmin.js.map +1 -0
- package/dist/collections/Users/index.d.ts.map +1 -0
- package/dist/collections/Users/index.js.map +1 -0
- package/dist/collections/index.d.ts.map +1 -0
- package/dist/collections/index.js.map +1 -0
- package/dist/components/admin/client-space-button.d.ts.map +1 -0
- package/dist/{src/components → components}/admin/client-space-button.js +1 -1
- package/dist/components/admin/client-space-button.js.map +1 -0
- package/dist/components/index.d.ts.map +1 -0
- package/dist/components/index.js.map +1 -0
- package/dist/forms/states.d.ts.map +1 -0
- package/dist/forms/states.js.map +1 -0
- package/dist/forms/translate-errors.d.ts.map +1 -0
- package/dist/forms/translate-errors.js.map +1 -0
- package/dist/forms/validators.d.ts.map +1 -0
- package/dist/forms/validators.js.map +1 -0
- package/dist/{src/globals/TermsOfUse → globals/PrivacyPolicy}/hooks/revalidate-cache.d.ts.map +1 -1
- package/dist/{src/globals/TermsOfUse → globals/PrivacyPolicy}/hooks/revalidate-cache.js.map +1 -1
- package/dist/globals/PrivacyPolicy/index.d.ts.map +1 -0
- package/dist/globals/PrivacyPolicy/index.js.map +1 -0
- package/dist/globals/TermsOfUse/hooks/revalidate-cache.d.ts.map +1 -0
- package/dist/globals/TermsOfUse/hooks/revalidate-cache.js.map +1 -0
- package/dist/globals/TermsOfUse/index.d.ts.map +1 -0
- package/dist/globals/TermsOfUse/index.js.map +1 -0
- package/dist/globals/index.d.ts.map +1 -0
- package/dist/globals/index.js.map +1 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js.map +1 -0
- package/dist/tasks/index.d.ts.map +1 -0
- package/dist/tasks/index.js.map +1 -0
- package/dist/tasks/process-email-queue.d.ts.map +1 -0
- package/dist/tasks/process-email-queue.js.map +1 -0
- package/dist/types/index.d.ts.map +1 -0
- package/dist/{src/types → types}/index.js.map +1 -1
- package/dist/types/slug.d.ts.map +1 -0
- package/dist/types/slug.js.map +1 -0
- package/dist/utils/database-dates.d.ts.map +1 -0
- package/dist/utils/database-dates.js.map +1 -0
- package/dist/utils/email/generate-email-html.d.ts.map +1 -0
- package/dist/utils/email/generate-email-html.js.map +1 -0
- package/dist/utils/email/get-email-template.d.ts.map +1 -0
- package/dist/utils/email/get-email-template.js.map +1 -0
- package/dist/utils/email/index.d.ts.map +1 -0
- package/dist/utils/email/index.js.map +1 -0
- package/dist/utils/email/queue-email.d.ts.map +1 -0
- package/dist/utils/email/queue-email.js.map +1 -0
- package/dist/utils/get-global.d.ts.map +1 -0
- package/dist/utils/get-global.js.map +1 -0
- package/dist/utils/id-from-payload.d.ts.map +1 -0
- package/dist/utils/id-from-payload.js.map +1 -0
- package/dist/utils/index.d.ts.map +1 -0
- package/dist/utils/index.js.map +1 -0
- package/dist/utils/migrations.d.ts.map +1 -0
- package/dist/utils/migrations.js.map +1 -0
- package/dist/utils/payload-client.d.ts.map +1 -0
- package/dist/utils/payload-client.js.map +1 -0
- package/dist/utils/slugify.d.ts.map +1 -0
- package/dist/utils/slugify.js.map +1 -0
- package/package.json +1 -1
- package/src/components/admin/client-space-button.tsx +1 -1
- package/tsconfig.json +2 -1
- package/dist/src/access/adminAccessOnly.d.ts.map +0 -1
- package/dist/src/access/adminAccessOnly.js.map +0 -1
- package/dist/src/access/admins.d.ts.map +0 -1
- package/dist/src/access/admins.js.map +0 -1
- package/dist/src/access/anyone.d.ts.map +0 -1
- package/dist/src/access/anyone.js.map +0 -1
- package/dist/src/access/authenticated.d.ts.map +0 -1
- package/dist/src/access/authenticated.js.map +0 -1
- package/dist/src/access/authenticatedAccessOnly.d.ts.map +0 -1
- package/dist/src/access/authenticatedAccessOnly.js.map +0 -1
- package/dist/src/access/index.d.ts.map +0 -1
- package/dist/src/access/index.js.map +0 -1
- package/dist/src/access/publicReadAuthenticatedAccess.d.ts.map +0 -1
- package/dist/src/access/publicReadAuthenticatedAccess.js.map +0 -1
- package/dist/src/collections/ContactMessages/hooks/sendEmailNotification.d.ts.map +0 -1
- package/dist/src/collections/ContactMessages/hooks/sendEmailNotification.js.map +0 -1
- package/dist/src/collections/ContactMessages/index.d.ts.map +0 -1
- package/dist/src/collections/ContactMessages/index.js.map +0 -1
- package/dist/src/collections/EmailTemplates/index.d.ts.map +0 -1
- package/dist/src/collections/EmailTemplates/index.js.map +0 -1
- package/dist/src/collections/Media/index.d.ts.map +0 -1
- package/dist/src/collections/Media/index.js.map +0 -1
- package/dist/src/collections/QueuedEmails/components/HtmlViewer.d.ts.map +0 -1
- package/dist/src/collections/QueuedEmails/components/HtmlViewer.js.map +0 -1
- package/dist/src/collections/QueuedEmails/components/RetryEmailButtons.d.ts.map +0 -1
- package/dist/src/collections/QueuedEmails/components/RetryEmailButtons.js.map +0 -1
- package/dist/src/collections/QueuedEmails/index.d.ts.map +0 -1
- package/dist/src/collections/QueuedEmails/index.js.map +0 -1
- package/dist/src/collections/Users/auth-emails/forgot-password-email.d.ts.map +0 -1
- package/dist/src/collections/Users/auth-emails/forgot-password-email.js.map +0 -1
- package/dist/src/collections/Users/auth-emails/verify-email.d.ts.map +0 -1
- package/dist/src/collections/Users/auth-emails/verify-email.js.map +0 -1
- package/dist/src/collections/Users/hooks/ensureFirstUserIsAdmin.d.ts.map +0 -1
- package/dist/src/collections/Users/hooks/ensureFirstUserIsAdmin.js.map +0 -1
- package/dist/src/collections/Users/index.d.ts.map +0 -1
- package/dist/src/collections/Users/index.js.map +0 -1
- package/dist/src/collections/index.d.ts.map +0 -1
- package/dist/src/collections/index.js.map +0 -1
- package/dist/src/components/admin/client-space-button.d.ts.map +0 -1
- package/dist/src/components/admin/client-space-button.js.map +0 -1
- package/dist/src/components/index.d.ts.map +0 -1
- package/dist/src/components/index.js.map +0 -1
- package/dist/src/forms/states.d.ts.map +0 -1
- package/dist/src/forms/states.js.map +0 -1
- package/dist/src/forms/translate-errors.d.ts.map +0 -1
- package/dist/src/forms/translate-errors.js.map +0 -1
- package/dist/src/forms/validators.d.ts.map +0 -1
- package/dist/src/forms/validators.js.map +0 -1
- package/dist/src/globals/PrivacyPolicy/hooks/revalidate-cache.d.ts.map +0 -1
- package/dist/src/globals/PrivacyPolicy/hooks/revalidate-cache.js.map +0 -1
- package/dist/src/globals/PrivacyPolicy/index.d.ts.map +0 -1
- package/dist/src/globals/PrivacyPolicy/index.js.map +0 -1
- package/dist/src/globals/TermsOfUse/index.d.ts.map +0 -1
- package/dist/src/globals/TermsOfUse/index.js.map +0 -1
- package/dist/src/globals/index.d.ts.map +0 -1
- package/dist/src/globals/index.js.map +0 -1
- package/dist/src/index.d.ts.map +0 -1
- package/dist/src/index.js.map +0 -1
- package/dist/src/tasks/index.d.ts.map +0 -1
- package/dist/src/tasks/index.js.map +0 -1
- package/dist/src/tasks/process-email-queue.d.ts.map +0 -1
- package/dist/src/tasks/process-email-queue.js.map +0 -1
- package/dist/src/types/index.d.ts.map +0 -1
- package/dist/src/types/slug.d.ts.map +0 -1
- package/dist/src/types/slug.js.map +0 -1
- package/dist/src/utils/database-dates.d.ts.map +0 -1
- package/dist/src/utils/database-dates.js.map +0 -1
- package/dist/src/utils/email/generate-email-html.d.ts.map +0 -1
- package/dist/src/utils/email/generate-email-html.js.map +0 -1
- package/dist/src/utils/email/get-email-template.d.ts.map +0 -1
- package/dist/src/utils/email/get-email-template.js.map +0 -1
- package/dist/src/utils/email/index.d.ts.map +0 -1
- package/dist/src/utils/email/index.js.map +0 -1
- package/dist/src/utils/email/queue-email.d.ts.map +0 -1
- package/dist/src/utils/email/queue-email.js.map +0 -1
- package/dist/src/utils/get-global.d.ts.map +0 -1
- package/dist/src/utils/get-global.js.map +0 -1
- package/dist/src/utils/id-from-payload.d.ts.map +0 -1
- package/dist/src/utils/id-from-payload.js.map +0 -1
- package/dist/src/utils/index.d.ts.map +0 -1
- package/dist/src/utils/index.js.map +0 -1
- package/dist/src/utils/migrations.d.ts.map +0 -1
- package/dist/src/utils/migrations.js.map +0 -1
- package/dist/src/utils/payload-client.d.ts.map +0 -1
- package/dist/src/utils/payload-client.js.map +0 -1
- package/dist/src/utils/slugify.d.ts.map +0 -1
- package/dist/src/utils/slugify.js.map +0 -1
- package/dist/tests/fixtures/sample-data.d.ts +0 -27
- package/dist/tests/fixtures/sample-data.d.ts.map +0 -1
- package/dist/tests/fixtures/sample-data.js +0 -53
- package/dist/tests/fixtures/sample-data.js.map +0 -1
- package/dist/tests/helpers/create-test-user.d.ts +0 -16
- package/dist/tests/helpers/create-test-user.d.ts.map +0 -1
- package/dist/tests/helpers/create-test-user.js +0 -27
- package/dist/tests/helpers/create-test-user.js.map +0 -1
- package/dist/tests/helpers/init-payload.d.ts +0 -11
- package/dist/tests/helpers/init-payload.d.ts.map +0 -1
- package/dist/tests/helpers/init-payload.js +0 -52
- package/dist/tests/helpers/init-payload.js.map +0 -1
- package/dist/tests/setup.d.ts +0 -3
- package/dist/tests/setup.d.ts.map +0 -1
- package/dist/tests/setup.integration.d.ts +0 -2
- package/dist/tests/setup.integration.d.ts.map +0 -1
- package/dist/tests/setup.integration.js +0 -8
- package/dist/tests/setup.integration.js.map +0 -1
- package/dist/tests/setup.js +0 -4
- package/dist/tests/setup.js.map +0 -1
- package/dist/tests/unit/access/adminAccessOnly.spec.d.ts +0 -2
- package/dist/tests/unit/access/adminAccessOnly.spec.d.ts.map +0 -1
- package/dist/tests/unit/access/adminAccessOnly.spec.js +0 -97
- package/dist/tests/unit/access/adminAccessOnly.spec.js.map +0 -1
- package/dist/tests/unit/access/admins.spec.d.ts +0 -2
- package/dist/tests/unit/access/admins.spec.d.ts.map +0 -1
- package/dist/tests/unit/access/admins.spec.js +0 -57
- package/dist/tests/unit/access/admins.spec.js.map +0 -1
- package/dist/tests/unit/access/anyone.spec.d.ts +0 -2
- package/dist/tests/unit/access/anyone.spec.d.ts.map +0 -1
- package/dist/tests/unit/access/anyone.spec.js +0 -24
- package/dist/tests/unit/access/anyone.spec.js.map +0 -1
- package/dist/tests/unit/access/authenticated.spec.d.ts +0 -2
- package/dist/tests/unit/access/authenticated.spec.d.ts.map +0 -1
- package/dist/tests/unit/access/authenticated.spec.js +0 -45
- package/dist/tests/unit/access/authenticated.spec.js.map +0 -1
- package/dist/tests/unit/access/authenticatedAccessOnly.spec.d.ts +0 -2
- package/dist/tests/unit/access/authenticatedAccessOnly.spec.d.ts.map +0 -1
- package/dist/tests/unit/access/authenticatedAccessOnly.spec.js +0 -95
- package/dist/tests/unit/access/authenticatedAccessOnly.spec.js.map +0 -1
- package/dist/tests/unit/access/publicReadAuthenticatedAccess.spec.d.ts +0 -2
- package/dist/tests/unit/access/publicReadAuthenticatedAccess.spec.d.ts.map +0 -1
- package/dist/tests/unit/access/publicReadAuthenticatedAccess.spec.js +0 -95
- package/dist/tests/unit/access/publicReadAuthenticatedAccess.spec.js.map +0 -1
- package/dist/tests/unit/forms/validators.spec.d.ts +0 -2
- package/dist/tests/unit/forms/validators.spec.d.ts.map +0 -1
- package/dist/tests/unit/forms/validators.spec.js +0 -294
- package/dist/tests/unit/forms/validators.spec.js.map +0 -1
- package/dist/tests/unit/utils/database-dates.spec.d.ts +0 -2
- package/dist/tests/unit/utils/database-dates.spec.d.ts.map +0 -1
- package/dist/tests/unit/utils/database-dates.spec.js +0 -82
- package/dist/tests/unit/utils/database-dates.spec.js.map +0 -1
- package/dist/tests/unit/utils/id-from-payload.spec.d.ts +0 -2
- package/dist/tests/unit/utils/id-from-payload.spec.d.ts.map +0 -1
- package/dist/tests/unit/utils/id-from-payload.spec.js +0 -110
- package/dist/tests/unit/utils/id-from-payload.spec.js.map +0 -1
- package/dist/tests/unit/utils/slugify.spec.d.ts +0 -2
- package/dist/tests/unit/utils/slugify.spec.d.ts.map +0 -1
- package/dist/tests/unit/utils/slugify.spec.js +0 -150
- package/dist/tests/unit/utils/slugify.spec.js.map +0 -1
- /package/dist/{src/access → access}/adminAccessOnly.d.ts +0 -0
- /package/dist/{src/access → access}/adminAccessOnly.js +0 -0
- /package/dist/{src/access → access}/admins.d.ts +0 -0
- /package/dist/{src/access → access}/admins.js +0 -0
- /package/dist/{src/access → access}/anyone.d.ts +0 -0
- /package/dist/{src/access → access}/anyone.js +0 -0
- /package/dist/{src/access → access}/authenticated.d.ts +0 -0
- /package/dist/{src/access → access}/authenticated.js +0 -0
- /package/dist/{src/access → access}/authenticatedAccessOnly.d.ts +0 -0
- /package/dist/{src/access → access}/authenticatedAccessOnly.js +0 -0
- /package/dist/{src/access → access}/index.d.ts +0 -0
- /package/dist/{src/access → access}/index.js +0 -0
- /package/dist/{src/access → access}/publicReadAuthenticatedAccess.d.ts +0 -0
- /package/dist/{src/access → access}/publicReadAuthenticatedAccess.js +0 -0
- /package/dist/{src/collections → collections}/ContactMessages/hooks/sendEmailNotification.d.ts +0 -0
- /package/dist/{src/collections → collections}/ContactMessages/hooks/sendEmailNotification.js +0 -0
- /package/dist/{src/collections → collections}/ContactMessages/index.d.ts +0 -0
- /package/dist/{src/collections → collections}/ContactMessages/index.js +0 -0
- /package/dist/{src/collections → collections}/EmailTemplates/index.d.ts +0 -0
- /package/dist/{src/collections → collections}/EmailTemplates/index.js +0 -0
- /package/dist/{src/collections → collections}/Media/index.d.ts +0 -0
- /package/dist/{src/collections → collections}/Media/index.js +0 -0
- /package/dist/{src/collections → collections}/QueuedEmails/components/HtmlViewer.d.ts +0 -0
- /package/dist/{src/collections → collections}/QueuedEmails/components/HtmlViewer.js +0 -0
- /package/dist/{src/collections → collections}/QueuedEmails/components/RetryEmailButtons.d.ts +0 -0
- /package/dist/{src/collections → collections}/QueuedEmails/components/RetryEmailButtons.js +0 -0
- /package/dist/{src/collections → collections}/QueuedEmails/index.d.ts +0 -0
- /package/dist/{src/collections → collections}/QueuedEmails/index.js +0 -0
- /package/dist/{src/collections → collections}/Users/auth-emails/forgot-password-email.d.ts +0 -0
- /package/dist/{src/collections → collections}/Users/auth-emails/forgot-password-email.js +0 -0
- /package/dist/{src/collections → collections}/Users/auth-emails/verify-email.d.ts +0 -0
- /package/dist/{src/collections → collections}/Users/auth-emails/verify-email.js +0 -0
- /package/dist/{src/collections → collections}/Users/hooks/ensureFirstUserIsAdmin.d.ts +0 -0
- /package/dist/{src/collections → collections}/Users/hooks/ensureFirstUserIsAdmin.js +0 -0
- /package/dist/{src/collections → collections}/Users/index.d.ts +0 -0
- /package/dist/{src/collections → collections}/Users/index.js +0 -0
- /package/dist/{src/collections → collections}/index.d.ts +0 -0
- /package/dist/{src/collections → collections}/index.js +0 -0
- /package/dist/{src/components → components}/admin/client-space-button.d.ts +0 -0
- /package/dist/{src/components → components}/index.d.ts +0 -0
- /package/dist/{src/components → components}/index.js +0 -0
- /package/dist/{src/forms → forms}/states.d.ts +0 -0
- /package/dist/{src/forms → forms}/states.js +0 -0
- /package/dist/{src/forms → forms}/translate-errors.d.ts +0 -0
- /package/dist/{src/forms → forms}/translate-errors.js +0 -0
- /package/dist/{src/forms → forms}/validators.d.ts +0 -0
- /package/dist/{src/forms → forms}/validators.js +0 -0
- /package/dist/{src/globals → globals}/PrivacyPolicy/hooks/revalidate-cache.d.ts +0 -0
- /package/dist/{src/globals → globals}/PrivacyPolicy/hooks/revalidate-cache.js +0 -0
- /package/dist/{src/globals → globals}/PrivacyPolicy/index.d.ts +0 -0
- /package/dist/{src/globals → globals}/PrivacyPolicy/index.js +0 -0
- /package/dist/{src/globals → globals}/TermsOfUse/hooks/revalidate-cache.d.ts +0 -0
- /package/dist/{src/globals → globals}/TermsOfUse/hooks/revalidate-cache.js +0 -0
- /package/dist/{src/globals → globals}/TermsOfUse/index.d.ts +0 -0
- /package/dist/{src/globals → globals}/TermsOfUse/index.js +0 -0
- /package/dist/{src/globals → globals}/index.d.ts +0 -0
- /package/dist/{src/globals → globals}/index.js +0 -0
- /package/dist/{src/index.d.ts → index.d.ts} +0 -0
- /package/dist/{src/index.js → index.js} +0 -0
- /package/dist/{src/tasks → tasks}/index.d.ts +0 -0
- /package/dist/{src/tasks → tasks}/index.js +0 -0
- /package/dist/{src/tasks → tasks}/process-email-queue.d.ts +0 -0
- /package/dist/{src/tasks → tasks}/process-email-queue.js +0 -0
- /package/dist/{src/types → types}/index.d.ts +0 -0
- /package/dist/{src/types → types}/index.js +0 -0
- /package/dist/{src/types → types}/slug.d.ts +0 -0
- /package/dist/{src/types → types}/slug.js +0 -0
- /package/dist/{src/utils → utils}/database-dates.d.ts +0 -0
- /package/dist/{src/utils → utils}/database-dates.js +0 -0
- /package/dist/{src/utils → utils}/email/generate-email-html.d.ts +0 -0
- /package/dist/{src/utils → utils}/email/generate-email-html.js +0 -0
- /package/dist/{src/utils → utils}/email/get-email-template.d.ts +0 -0
- /package/dist/{src/utils → utils}/email/get-email-template.js +0 -0
- /package/dist/{src/utils → utils}/email/index.d.ts +0 -0
- /package/dist/{src/utils → utils}/email/index.js +0 -0
- /package/dist/{src/utils → utils}/email/queue-email.d.ts +0 -0
- /package/dist/{src/utils → utils}/email/queue-email.js +0 -0
- /package/dist/{src/utils → utils}/get-global.d.ts +0 -0
- /package/dist/{src/utils → utils}/get-global.js +0 -0
- /package/dist/{src/utils → utils}/id-from-payload.d.ts +0 -0
- /package/dist/{src/utils → utils}/id-from-payload.js +0 -0
- /package/dist/{src/utils → utils}/index.d.ts +0 -0
- /package/dist/{src/utils → utils}/index.js +0 -0
- /package/dist/{src/utils → utils}/migrations.d.ts +0 -0
- /package/dist/{src/utils → utils}/migrations.js +0 -0
- /package/dist/{src/utils → utils}/payload-client.d.ts +0 -0
- /package/dist/{src/utils → utils}/payload-client.js +0 -0
- /package/dist/{src/utils → utils}/slugify.d.ts +0 -0
- /package/dist/{src/utils → utils}/slugify.js +0 -0
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"create-test-user.js","sourceRoot":"","sources":["../../../tests/helpers/create-test-user.ts"],"names":[],"mappings":"AASA;;GAEG;AACH,MAAM,CAAC,KAAK,UAAU,cAAc,CAAC,OAAgB,EAAE,SAA+B,EAAE;IACtF,MAAM,EAAE,KAAK,GAAG,kBAAkB,EAAE,QAAQ,GAAG,aAAa,EAAE,KAAK,GAAG,CAAC,MAAM,CAAC,EAAE,IAAI,GAAG,WAAW,EAAE,GAAG,MAAM,CAAC;IAE9G,OAAO,MAAM,OAAO,CAAC,MAAM,CAAC;QAC1B,UAAU,EAAE,OAAO;QACnB,IAAI,EAAE;YACJ,KAAK;YACL,QAAQ;YACR,KAAK;YACL,IAAI;SACL;KACF,CAAC,CAAC;AACL,CAAC;AAED;;GAEG;AACH,MAAM,CAAC,KAAK,UAAU,eAAe,CAAC,OAAgB;IACpD,OAAO,MAAM,cAAc,CAAC,OAAO,EAAE;QACnC,KAAK,EAAE,mBAAmB;QAC1B,QAAQ,EAAE,UAAU;QACpB,KAAK,EAAE,CAAC,OAAO,CAAC;QAChB,IAAI,EAAE,YAAY;KACnB,CAAC,CAAC;AACL,CAAC"}
|
|
@@ -1,11 +0,0 @@
|
|
|
1
|
-
import { type Payload } from 'payload';
|
|
2
|
-
/**
|
|
3
|
-
* Initialize Payload with SQLite for integration tests
|
|
4
|
-
* Follows PayloadCMS testing pattern
|
|
5
|
-
*/
|
|
6
|
-
export declare function initPayloadInt(): Promise<Payload>;
|
|
7
|
-
/**
|
|
8
|
-
* Cleanup Payload instance
|
|
9
|
-
*/
|
|
10
|
-
export declare function cleanupPayload(): Promise<void>;
|
|
11
|
-
//# sourceMappingURL=init-payload.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"init-payload.d.ts","sourceRoot":"","sources":["../../../tests/helpers/init-payload.ts"],"names":[],"mappings":"AAEA,OAAO,EAA2B,KAAK,OAAO,EAAE,MAAM,SAAS,CAAC;AAahE;;;GAGG;AACH,wBAAsB,cAAc,IAAI,OAAO,CAAC,OAAO,CAAC,CA6BvD;AAED;;GAEG;AACH,wBAAsB,cAAc,IAAI,OAAO,CAAC,IAAI,CAAC,CAKpD"}
|
|
@@ -1,52 +0,0 @@
|
|
|
1
|
-
import { sqliteAdapter } from '@payloadcms/db-sqlite';
|
|
2
|
-
import { lexicalEditor } from '@payloadcms/richtext-lexical';
|
|
3
|
-
import { buildConfig, getPayload } from 'payload';
|
|
4
|
-
import path from 'path';
|
|
5
|
-
import { fileURLToPath } from 'url';
|
|
6
|
-
import { createEmailTemplatesCollection } from '@/collections/EmailTemplates/index';
|
|
7
|
-
import { createQueuedEmailsCollection } from '@/collections/QueuedEmails/index';
|
|
8
|
-
import { createUsersCollection } from '@/collections/Users/index';
|
|
9
|
-
const filename = fileURLToPath(import.meta.url);
|
|
10
|
-
const dirname = path.dirname(filename);
|
|
11
|
-
let cachedPayload = null;
|
|
12
|
-
/**
|
|
13
|
-
* Initialize Payload with SQLite for integration tests
|
|
14
|
-
* Follows PayloadCMS testing pattern
|
|
15
|
-
*/
|
|
16
|
-
export async function initPayloadInt() {
|
|
17
|
-
// Return cached instance if available
|
|
18
|
-
if (cachedPayload) {
|
|
19
|
-
return cachedPayload;
|
|
20
|
-
}
|
|
21
|
-
// Minimal test configuration
|
|
22
|
-
const config = buildConfig({
|
|
23
|
-
secret: process.env.PAYLOAD_SECRET || 'test-secret-key',
|
|
24
|
-
db: sqliteAdapter({
|
|
25
|
-
client: {
|
|
26
|
-
url: process.env.DATABASE_URI || ':memory:',
|
|
27
|
-
},
|
|
28
|
-
}),
|
|
29
|
-
editor: lexicalEditor(),
|
|
30
|
-
collections: [createUsersCollection(), createEmailTemplatesCollection(), createQueuedEmailsCollection()],
|
|
31
|
-
globals: [],
|
|
32
|
-
typescript: {
|
|
33
|
-
outputFile: path.resolve(dirname, '../payload-types.ts'),
|
|
34
|
-
},
|
|
35
|
-
onInit: async (payload) => {
|
|
36
|
-
payload.logger.info('Payload initialized for testing');
|
|
37
|
-
},
|
|
38
|
-
});
|
|
39
|
-
const payload = await getPayload({ config });
|
|
40
|
-
cachedPayload = payload;
|
|
41
|
-
return payload;
|
|
42
|
-
}
|
|
43
|
-
/**
|
|
44
|
-
* Cleanup Payload instance
|
|
45
|
-
*/
|
|
46
|
-
export async function cleanupPayload() {
|
|
47
|
-
if (cachedPayload?.db?.destroy) {
|
|
48
|
-
await cachedPayload.db.destroy();
|
|
49
|
-
}
|
|
50
|
-
cachedPayload = null;
|
|
51
|
-
}
|
|
52
|
-
//# sourceMappingURL=init-payload.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"init-payload.js","sourceRoot":"","sources":["../../../tests/helpers/init-payload.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,uBAAuB,CAAC;AACtD,OAAO,EAAE,aAAa,EAAE,MAAM,8BAA8B,CAAC;AAC7D,OAAO,EAAE,WAAW,EAAE,UAAU,EAAgB,MAAM,SAAS,CAAC;AAChE,OAAO,IAAI,MAAM,MAAM,CAAC;AACxB,OAAO,EAAE,aAAa,EAAE,MAAM,KAAK,CAAC;AAEpC,OAAO,EAAE,8BAA8B,EAAE,MAAM,oCAAoC,CAAC;AACpF,OAAO,EAAE,4BAA4B,EAAE,MAAM,kCAAkC,CAAC;AAChF,OAAO,EAAE,qBAAqB,EAAE,MAAM,2BAA2B,CAAC;AAElE,MAAM,QAAQ,GAAG,aAAa,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;AAChD,MAAM,OAAO,GAAG,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC;AAEvC,IAAI,aAAa,GAAmB,IAAI,CAAC;AAEzC;;;GAGG;AACH,MAAM,CAAC,KAAK,UAAU,cAAc;IAClC,sCAAsC;IACtC,IAAI,aAAa,EAAE,CAAC;QAClB,OAAO,aAAa,CAAC;IACvB,CAAC;IAED,6BAA6B;IAC7B,MAAM,MAAM,GAAG,WAAW,CAAC;QACzB,MAAM,EAAE,OAAO,CAAC,GAAG,CAAC,cAAc,IAAI,iBAAiB;QACvD,EAAE,EAAE,aAAa,CAAC;YAChB,MAAM,EAAE;gBACN,GAAG,EAAE,OAAO,CAAC,GAAG,CAAC,YAAY,IAAI,UAAU;aAC5C;SACF,CAAC;QACF,MAAM,EAAE,aAAa,EAAE;QACvB,WAAW,EAAE,CAAC,qBAAqB,EAAE,EAAE,8BAA8B,EAAE,EAAE,4BAA4B,EAAE,CAAC;QACxG,OAAO,EAAE,EAAE;QACX,UAAU,EAAE;YACV,UAAU,EAAE,IAAI,CAAC,OAAO,CAAC,OAAO,EAAE,qBAAqB,CAAC;SACzD;QACD,MAAM,EAAE,KAAK,EAAE,OAAO,EAAE,EAAE;YACxB,OAAO,CAAC,MAAM,CAAC,IAAI,CAAC,iCAAiC,CAAC,CAAC;QACzD,CAAC;KACF,CAAC,CAAC;IAEH,MAAM,OAAO,GAAG,MAAM,UAAU,CAAC,EAAE,MAAM,EAAE,CAAC,CAAC;IAE7C,aAAa,GAAG,OAAO,CAAC;IACxB,OAAO,OAAO,CAAC;AACjB,CAAC;AAED;;GAEG;AACH,MAAM,CAAC,KAAK,UAAU,cAAc;IAClC,IAAI,aAAa,EAAE,EAAE,EAAE,OAAO,EAAE,CAAC;QAC/B,MAAM,aAAa,CAAC,EAAE,CAAC,OAAO,EAAE,CAAC;IACnC,CAAC;IACD,aAAa,GAAG,IAAI,CAAC;AACvB,CAAC"}
|
package/dist/tests/setup.d.ts
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"setup.d.ts","sourceRoot":"","sources":["../../tests/setup.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,QAAQ,CAAC;AAGhC,OAAO,EAAE,MAAM,EAAE,CAAC"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"setup.integration.d.ts","sourceRoot":"","sources":["../../tests/setup.integration.ts"],"names":[],"mappings":""}
|
|
@@ -1,8 +0,0 @@
|
|
|
1
|
-
import { config } from 'dotenv';
|
|
2
|
-
// Load test environment variables
|
|
3
|
-
config({ path: '.env.test' });
|
|
4
|
-
// Set test-specific environment variables
|
|
5
|
-
process.env.PAYLOAD_DROP_DATABASE = 'true';
|
|
6
|
-
process.env.PAYLOAD_DISABLE_ADMIN = 'true';
|
|
7
|
-
process.env.NODE_ENV = 'test'; // Ensure NODE_ENV is 'test' even if it's read-only in some environments
|
|
8
|
-
//# sourceMappingURL=setup.integration.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"setup.integration.js","sourceRoot":"","sources":["../../tests/setup.integration.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,QAAQ,CAAC;AAEhC,kCAAkC;AAClC,MAAM,CAAC,EAAE,IAAI,EAAE,WAAW,EAAE,CAAC,CAAC;AAE9B,0CAA0C;AAC1C,OAAO,CAAC,GAAG,CAAC,qBAAqB,GAAG,MAAM,CAAC;AAC3C,OAAO,CAAC,GAAG,CAAC,qBAAqB,GAAG,MAAM,CAAC;AAC1C,OAAO,CAAC,GAAW,CAAC,QAAQ,GAAG,MAAM,CAAC,CAAC,wEAAwE"}
|
package/dist/tests/setup.js
DELETED
package/dist/tests/setup.js.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"setup.js","sourceRoot":"","sources":["../../tests/setup.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,QAAQ,CAAC;AAEhC,uCAAuC;AACvC,OAAO,EAAE,MAAM,EAAE,CAAC"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"adminAccessOnly.spec.d.ts","sourceRoot":"","sources":["../../../../tests/unit/access/adminAccessOnly.spec.ts"],"names":[],"mappings":""}
|
|
@@ -1,97 +0,0 @@
|
|
|
1
|
-
import { describe, expect, it } from 'vitest';
|
|
2
|
-
import { adminAccessOnly } from '@/access/adminAccessOnly';
|
|
3
|
-
describe('adminAccessOnly access control', () => {
|
|
4
|
-
describe('admin property', () => {
|
|
5
|
-
it('should return true for users with admin role', () => {
|
|
6
|
-
const req = { user: { roles: ['admin'] } };
|
|
7
|
-
expect(adminAccessOnly.admin({ req })).toBe(true);
|
|
8
|
-
});
|
|
9
|
-
it('should return false for users without admin role', () => {
|
|
10
|
-
const req = { user: { roles: ['user'] } };
|
|
11
|
-
expect(adminAccessOnly.admin({ req })).toBe(false);
|
|
12
|
-
});
|
|
13
|
-
it('should return false for unauthenticated users', () => {
|
|
14
|
-
const req = { user: null };
|
|
15
|
-
expect(adminAccessOnly.admin({ req })).toBe(false);
|
|
16
|
-
});
|
|
17
|
-
});
|
|
18
|
-
describe('create property', () => {
|
|
19
|
-
it('should return true for admin users', () => {
|
|
20
|
-
const req = { user: { roles: ['admin'] } };
|
|
21
|
-
expect(adminAccessOnly.create({ req })).toBe(true);
|
|
22
|
-
});
|
|
23
|
-
it('should return false for non-admin users', () => {
|
|
24
|
-
const req = { user: { roles: ['user'] } };
|
|
25
|
-
expect(adminAccessOnly.create({ req })).toBe(false);
|
|
26
|
-
});
|
|
27
|
-
});
|
|
28
|
-
describe('read property', () => {
|
|
29
|
-
it('should return true for admin users', () => {
|
|
30
|
-
const req = { user: { roles: ['admin'] } };
|
|
31
|
-
expect(adminAccessOnly.read({ req })).toBe(true);
|
|
32
|
-
});
|
|
33
|
-
it('should return false for non-admin users', () => {
|
|
34
|
-
const req = { user: { roles: ['user'] } };
|
|
35
|
-
expect(adminAccessOnly.read({ req })).toBe(false);
|
|
36
|
-
});
|
|
37
|
-
});
|
|
38
|
-
describe('update property', () => {
|
|
39
|
-
it('should return true for admin users', () => {
|
|
40
|
-
const req = { user: { roles: ['admin'] } };
|
|
41
|
-
expect(adminAccessOnly.update({ req })).toBe(true);
|
|
42
|
-
});
|
|
43
|
-
it('should return false for non-admin users', () => {
|
|
44
|
-
const req = { user: { roles: ['user'] } };
|
|
45
|
-
expect(adminAccessOnly.update({ req })).toBe(false);
|
|
46
|
-
});
|
|
47
|
-
});
|
|
48
|
-
describe('delete property', () => {
|
|
49
|
-
it('should return true for admin users', () => {
|
|
50
|
-
const req = { user: { roles: ['admin'] } };
|
|
51
|
-
expect(adminAccessOnly.delete({ req })).toBe(true);
|
|
52
|
-
});
|
|
53
|
-
it('should return false for non-admin users', () => {
|
|
54
|
-
const req = { user: { roles: ['user'] } };
|
|
55
|
-
expect(adminAccessOnly.delete({ req })).toBe(false);
|
|
56
|
-
});
|
|
57
|
-
});
|
|
58
|
-
describe('readVersions property', () => {
|
|
59
|
-
it('should return true for admin users', () => {
|
|
60
|
-
const req = { user: { roles: ['admin'] } };
|
|
61
|
-
expect(adminAccessOnly.readVersions({ req })).toBe(true);
|
|
62
|
-
});
|
|
63
|
-
it('should return false for non-admin users', () => {
|
|
64
|
-
const req = { user: { roles: ['user'] } };
|
|
65
|
-
expect(adminAccessOnly.readVersions({ req })).toBe(false);
|
|
66
|
-
});
|
|
67
|
-
});
|
|
68
|
-
describe('unlock property', () => {
|
|
69
|
-
it('should return true for admin users', () => {
|
|
70
|
-
const req = { user: { roles: ['admin'] } };
|
|
71
|
-
expect(adminAccessOnly.unlock({ req })).toBe(true);
|
|
72
|
-
});
|
|
73
|
-
it('should return false for non-admin users', () => {
|
|
74
|
-
const req = { user: { roles: ['user'] } };
|
|
75
|
-
expect(adminAccessOnly.unlock({ req })).toBe(false);
|
|
76
|
-
});
|
|
77
|
-
});
|
|
78
|
-
describe('all properties with unauthenticated user', () => {
|
|
79
|
-
const req = { user: null };
|
|
80
|
-
it('should return false for admin', () => {
|
|
81
|
-
expect(adminAccessOnly.admin({ req })).toBe(false);
|
|
82
|
-
});
|
|
83
|
-
it('should return false for create', () => {
|
|
84
|
-
expect(adminAccessOnly.create({ req })).toBe(false);
|
|
85
|
-
});
|
|
86
|
-
it('should return false for read', () => {
|
|
87
|
-
expect(adminAccessOnly.read({ req })).toBe(false);
|
|
88
|
-
});
|
|
89
|
-
it('should return false for update', () => {
|
|
90
|
-
expect(adminAccessOnly.update({ req })).toBe(false);
|
|
91
|
-
});
|
|
92
|
-
it('should return false for delete', () => {
|
|
93
|
-
expect(adminAccessOnly.delete({ req })).toBe(false);
|
|
94
|
-
});
|
|
95
|
-
});
|
|
96
|
-
});
|
|
97
|
-
//# sourceMappingURL=adminAccessOnly.spec.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"adminAccessOnly.spec.js","sourceRoot":"","sources":["../../../../tests/unit/access/adminAccessOnly.spec.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"admins.spec.d.ts","sourceRoot":"","sources":["../../../../tests/unit/access/admins.spec.ts"],"names":[],"mappings":""}
|
|
@@ -1,57 +0,0 @@
|
|
|
1
|
-
import { describe, expect, it } from 'vitest';
|
|
2
|
-
import { admins, adminsFieldLevel } from '@/access/admins';
|
|
3
|
-
describe('admins access control', () => {
|
|
4
|
-
describe('admins', () => {
|
|
5
|
-
it('should return true for users with admin role', () => {
|
|
6
|
-
const req = { user: { roles: ['admin'] } };
|
|
7
|
-
expect(admins({ req })).toBe(true);
|
|
8
|
-
});
|
|
9
|
-
it('should return false for users without admin role', () => {
|
|
10
|
-
const req = { user: { roles: ['user'] } };
|
|
11
|
-
expect(admins({ req })).toBe(false);
|
|
12
|
-
});
|
|
13
|
-
it('should return false for users with empty roles array', () => {
|
|
14
|
-
const req = { user: { roles: [] } };
|
|
15
|
-
expect(admins({ req })).toBe(false);
|
|
16
|
-
});
|
|
17
|
-
it('should return false for unauthenticated users (null user)', () => {
|
|
18
|
-
const req = { user: null };
|
|
19
|
-
expect(admins({ req })).toBe(false);
|
|
20
|
-
});
|
|
21
|
-
it('should return false for unauthenticated users (undefined user)', () => {
|
|
22
|
-
const req = { user: undefined };
|
|
23
|
-
expect(admins({ req })).toBe(false);
|
|
24
|
-
});
|
|
25
|
-
it('should handle users with multiple roles including admin', () => {
|
|
26
|
-
const req = { user: { roles: ['user', 'admin', 'editor'] } };
|
|
27
|
-
expect(admins({ req })).toBe(true);
|
|
28
|
-
});
|
|
29
|
-
it('should return false when user has no roles property', () => {
|
|
30
|
-
const req = { user: {} };
|
|
31
|
-
expect(admins({ req })).toBe(false);
|
|
32
|
-
});
|
|
33
|
-
it('should return false when roles is null', () => {
|
|
34
|
-
const req = { user: { roles: null } };
|
|
35
|
-
expect(admins({ req })).toBe(false);
|
|
36
|
-
});
|
|
37
|
-
});
|
|
38
|
-
describe('adminsFieldLevel', () => {
|
|
39
|
-
it('should return true for users with admin role', () => {
|
|
40
|
-
const params = { req: { user: { roles: ['admin'] } } };
|
|
41
|
-
expect(adminsFieldLevel(params)).toBe(true);
|
|
42
|
-
});
|
|
43
|
-
it('should return false for users without admin role', () => {
|
|
44
|
-
const params = { req: { user: { roles: ['user'] } } };
|
|
45
|
-
expect(adminsFieldLevel(params)).toBe(false);
|
|
46
|
-
});
|
|
47
|
-
it('should return false for unauthenticated users', () => {
|
|
48
|
-
const params = { req: { user: null } };
|
|
49
|
-
expect(adminsFieldLevel(params)).toBe(false);
|
|
50
|
-
});
|
|
51
|
-
it('should handle users with multiple roles including admin', () => {
|
|
52
|
-
const params = { req: { user: { roles: ['user', 'admin'] } } };
|
|
53
|
-
expect(adminsFieldLevel(params)).toBe(true);
|
|
54
|
-
});
|
|
55
|
-
});
|
|
56
|
-
});
|
|
57
|
-
//# sourceMappingURL=admins.spec.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"admins.spec.js","sourceRoot":"","sources":["../../../../tests/unit/access/admins.spec.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"anyone.spec.d.ts","sourceRoot":"","sources":["../../../../tests/unit/access/anyone.spec.ts"],"names":[],"mappings":""}
|
|
@@ -1,24 +0,0 @@
|
|
|
1
|
-
import { describe, expect, it } from 'vitest';
|
|
2
|
-
import { anyone } from '@/access/anyone';
|
|
3
|
-
describe('anyone access control', () => {
|
|
4
|
-
it('should return true for authenticated users', () => {
|
|
5
|
-
const req = { user: { id: 1 } };
|
|
6
|
-
expect(anyone({ req })).toBe(true);
|
|
7
|
-
});
|
|
8
|
-
it('should return true for unauthenticated users (null)', () => {
|
|
9
|
-
const req = { user: null };
|
|
10
|
-
expect(anyone({ req })).toBe(true);
|
|
11
|
-
});
|
|
12
|
-
it('should return true for unauthenticated users (undefined)', () => {
|
|
13
|
-
const req = { user: undefined };
|
|
14
|
-
expect(anyone({ req })).toBe(true);
|
|
15
|
-
});
|
|
16
|
-
it('should return true with no arguments', () => {
|
|
17
|
-
expect(anyone({})).toBe(true);
|
|
18
|
-
});
|
|
19
|
-
it('should return true for admin users', () => {
|
|
20
|
-
const req = { user: { roles: ['admin'] } };
|
|
21
|
-
expect(anyone({ req })).toBe(true);
|
|
22
|
-
});
|
|
23
|
-
});
|
|
24
|
-
//# sourceMappingURL=anyone.spec.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"anyone.spec.js","sourceRoot":"","sources":["../../../../tests/unit/access/anyone.spec.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,EAAE,EAAE,EAAE,MAAM,QAAQ,CAAC;AAC9C,OAAO,EAAE,MAAM,EAAE,MAAM,iBAAiB,CAAC;AAEzC,QAAQ,CAAC,uBAAuB,EAAE,GAAG,EAAE;IACrC,EAAE,CAAC,4CAA4C,EAAE,GAAG,EAAE;QACpD,MAAM,GAAG,GAAG,EAAE,IAAI,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,EAAS,CAAC;QACvC,MAAM,CAAC,MAAM,CAAC,EAAE,GAAG,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IACrC,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,qDAAqD,EAAE,GAAG,EAAE;QAC7D,MAAM,GAAG,GAAG,EAAE,IAAI,EAAE,IAAI,EAAS,CAAC;QAClC,MAAM,CAAC,MAAM,CAAC,EAAE,GAAG,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IACrC,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,0DAA0D,EAAE,GAAG,EAAE;QAClE,MAAM,GAAG,GAAG,EAAE,IAAI,EAAE,SAAS,EAAS,CAAC;QACvC,MAAM,CAAC,MAAM,CAAC,EAAE,GAAG,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IACrC,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,sCAAsC,EAAE,GAAG,EAAE;QAC9C,MAAM,CAAC,MAAM,CAAC,EAAS,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IACvC,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,oCAAoC,EAAE,GAAG,EAAE;QAC5C,MAAM,GAAG,GAAG,EAAE,IAAI,EAAE,EAAE,KAAK,EAAE,CAAC,OAAO,CAAC,EAAE,EAAS,CAAC;QAClD,MAAM,CAAC,MAAM,CAAC,EAAE,GAAG,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IACrC,CAAC,CAAC,CAAC;AACL,CAAC,CAAC,CAAC"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"authenticated.spec.d.ts","sourceRoot":"","sources":["../../../../tests/unit/access/authenticated.spec.ts"],"names":[],"mappings":""}
|
|
@@ -1,45 +0,0 @@
|
|
|
1
|
-
import { describe, expect, it } from 'vitest';
|
|
2
|
-
import { authenticated, authenticatedFieldLevel } from '@/access/authenticated';
|
|
3
|
-
describe('authenticated access control', () => {
|
|
4
|
-
describe('authenticated', () => {
|
|
5
|
-
it('should return true for authenticated users', () => {
|
|
6
|
-
const req = { user: { id: 1, email: 'test@example.com' } };
|
|
7
|
-
expect(authenticated({ req })).toBe(true);
|
|
8
|
-
});
|
|
9
|
-
it('should return false for null user', () => {
|
|
10
|
-
const req = { user: null };
|
|
11
|
-
expect(authenticated({ req })).toBe(false);
|
|
12
|
-
});
|
|
13
|
-
it('should return false for undefined user', () => {
|
|
14
|
-
const req = { user: undefined };
|
|
15
|
-
expect(authenticated({ req })).toBe(false);
|
|
16
|
-
});
|
|
17
|
-
it('should return true for user with minimal properties', () => {
|
|
18
|
-
const req = { user: {} };
|
|
19
|
-
expect(authenticated({ req })).toBe(true);
|
|
20
|
-
});
|
|
21
|
-
it('should return true for user with roles', () => {
|
|
22
|
-
const req = { user: { roles: ['admin'] } };
|
|
23
|
-
expect(authenticated({ req })).toBe(true);
|
|
24
|
-
});
|
|
25
|
-
});
|
|
26
|
-
describe('authenticatedFieldLevel', () => {
|
|
27
|
-
it('should return true for authenticated users', () => {
|
|
28
|
-
const params = { req: { user: { id: 1 } } };
|
|
29
|
-
expect(authenticatedFieldLevel(params)).toBe(true);
|
|
30
|
-
});
|
|
31
|
-
it('should return false for null user', () => {
|
|
32
|
-
const params = { req: { user: null } };
|
|
33
|
-
expect(authenticatedFieldLevel(params)).toBe(false);
|
|
34
|
-
});
|
|
35
|
-
it('should return false for undefined user', () => {
|
|
36
|
-
const params = { req: { user: undefined } };
|
|
37
|
-
expect(authenticatedFieldLevel(params)).toBe(false);
|
|
38
|
-
});
|
|
39
|
-
it('should return true for user object (even empty)', () => {
|
|
40
|
-
const params = { req: { user: {} } };
|
|
41
|
-
expect(authenticatedFieldLevel(params)).toBe(true);
|
|
42
|
-
});
|
|
43
|
-
});
|
|
44
|
-
});
|
|
45
|
-
//# sourceMappingURL=authenticated.spec.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"authenticated.spec.js","sourceRoot":"","sources":["../../../../tests/unit/access/authenticated.spec.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"authenticatedAccessOnly.spec.d.ts","sourceRoot":"","sources":["../../../../tests/unit/access/authenticatedAccessOnly.spec.ts"],"names":[],"mappings":""}
|
|
@@ -1,95 +0,0 @@
|
|
|
1
|
-
import { describe, expect, it } from 'vitest';
|
|
2
|
-
import { authenticatedAccessOnly } from '@/access/authenticatedAccessOnly';
|
|
3
|
-
describe('authenticatedAccessOnly access control', () => {
|
|
4
|
-
describe('admin property', () => {
|
|
5
|
-
it('should return true for authenticated users', () => {
|
|
6
|
-
const req = { user: { id: 1 } };
|
|
7
|
-
expect(authenticatedAccessOnly.admin({ req })).toBe(true);
|
|
8
|
-
});
|
|
9
|
-
it('should return false for unauthenticated users (null)', () => {
|
|
10
|
-
const req = { user: null };
|
|
11
|
-
expect(authenticatedAccessOnly.admin({ req })).toBe(false);
|
|
12
|
-
});
|
|
13
|
-
it('should return false for unauthenticated users (undefined)', () => {
|
|
14
|
-
const req = { user: undefined };
|
|
15
|
-
expect(authenticatedAccessOnly.admin({ req })).toBe(false);
|
|
16
|
-
});
|
|
17
|
-
it('should return true for empty user object', () => {
|
|
18
|
-
const req = { user: {} };
|
|
19
|
-
expect(authenticatedAccessOnly.admin({ req })).toBe(true);
|
|
20
|
-
});
|
|
21
|
-
});
|
|
22
|
-
describe('create property', () => {
|
|
23
|
-
it('should return true for authenticated users', () => {
|
|
24
|
-
const req = { user: { id: 1 } };
|
|
25
|
-
expect(authenticatedAccessOnly.create({ req })).toBe(true);
|
|
26
|
-
});
|
|
27
|
-
it('should return false for unauthenticated users', () => {
|
|
28
|
-
const req = { user: null };
|
|
29
|
-
expect(authenticatedAccessOnly.create({ req })).toBe(false);
|
|
30
|
-
});
|
|
31
|
-
});
|
|
32
|
-
describe('read property', () => {
|
|
33
|
-
it('should return true for authenticated users', () => {
|
|
34
|
-
const req = { user: { id: 1 } };
|
|
35
|
-
expect(authenticatedAccessOnly.read({ req })).toBe(true);
|
|
36
|
-
});
|
|
37
|
-
it('should return false for unauthenticated users', () => {
|
|
38
|
-
const req = { user: null };
|
|
39
|
-
expect(authenticatedAccessOnly.read({ req })).toBe(false);
|
|
40
|
-
});
|
|
41
|
-
});
|
|
42
|
-
describe('update property', () => {
|
|
43
|
-
it('should return true for authenticated users', () => {
|
|
44
|
-
const req = { user: { id: 1 } };
|
|
45
|
-
expect(authenticatedAccessOnly.update({ req })).toBe(true);
|
|
46
|
-
});
|
|
47
|
-
it('should return false for unauthenticated users', () => {
|
|
48
|
-
const req = { user: null };
|
|
49
|
-
expect(authenticatedAccessOnly.update({ req })).toBe(false);
|
|
50
|
-
});
|
|
51
|
-
});
|
|
52
|
-
describe('delete property', () => {
|
|
53
|
-
it('should return true for authenticated users', () => {
|
|
54
|
-
const req = { user: { id: 1 } };
|
|
55
|
-
expect(authenticatedAccessOnly.delete({ req })).toBe(true);
|
|
56
|
-
});
|
|
57
|
-
it('should return false for unauthenticated users', () => {
|
|
58
|
-
const req = { user: null };
|
|
59
|
-
expect(authenticatedAccessOnly.delete({ req })).toBe(false);
|
|
60
|
-
});
|
|
61
|
-
});
|
|
62
|
-
describe('readVersions property', () => {
|
|
63
|
-
it('should return true for authenticated users', () => {
|
|
64
|
-
const req = { user: { id: 1 } };
|
|
65
|
-
expect(authenticatedAccessOnly.readVersions({ req })).toBe(true);
|
|
66
|
-
});
|
|
67
|
-
it('should return false for unauthenticated users', () => {
|
|
68
|
-
const req = { user: null };
|
|
69
|
-
expect(authenticatedAccessOnly.readVersions({ req })).toBe(false);
|
|
70
|
-
});
|
|
71
|
-
});
|
|
72
|
-
describe('unlock property', () => {
|
|
73
|
-
it('should return true for authenticated users', () => {
|
|
74
|
-
const req = { user: { id: 1 } };
|
|
75
|
-
expect(authenticatedAccessOnly.unlock({ req })).toBe(true);
|
|
76
|
-
});
|
|
77
|
-
it('should return false for unauthenticated users', () => {
|
|
78
|
-
const req = { user: null };
|
|
79
|
-
expect(authenticatedAccessOnly.unlock({ req })).toBe(false);
|
|
80
|
-
});
|
|
81
|
-
});
|
|
82
|
-
describe('all properties work consistently', () => {
|
|
83
|
-
it('should allow all operations for authenticated users', () => {
|
|
84
|
-
const req = { user: { roles: ['user'] } };
|
|
85
|
-
expect(authenticatedAccessOnly.admin({ req })).toBe(true);
|
|
86
|
-
expect(authenticatedAccessOnly.create({ req })).toBe(true);
|
|
87
|
-
expect(authenticatedAccessOnly.read({ req })).toBe(true);
|
|
88
|
-
expect(authenticatedAccessOnly.update({ req })).toBe(true);
|
|
89
|
-
expect(authenticatedAccessOnly.delete({ req })).toBe(true);
|
|
90
|
-
expect(authenticatedAccessOnly.readVersions({ req })).toBe(true);
|
|
91
|
-
expect(authenticatedAccessOnly.unlock({ req })).toBe(true);
|
|
92
|
-
});
|
|
93
|
-
});
|
|
94
|
-
});
|
|
95
|
-
//# sourceMappingURL=authenticatedAccessOnly.spec.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"authenticatedAccessOnly.spec.js","sourceRoot":"","sources":["../../../../tests/unit/access/authenticatedAccessOnly.spec.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"publicReadAuthenticatedAccess.spec.d.ts","sourceRoot":"","sources":["../../../../tests/unit/access/publicReadAuthenticatedAccess.spec.ts"],"names":[],"mappings":""}
|
|
@@ -1,95 +0,0 @@
|
|
|
1
|
-
import { describe, expect, it } from 'vitest';
|
|
2
|
-
import { publicReadAuthenticatedAccess } from '@/access/publicReadAuthenticatedAccess';
|
|
3
|
-
describe('publicReadAuthenticatedAccess access control', () => {
|
|
4
|
-
describe('admin property', () => {
|
|
5
|
-
it('should return true for authenticated users', () => {
|
|
6
|
-
const req = { user: { id: 1 } };
|
|
7
|
-
expect(publicReadAuthenticatedAccess.admin({ req })).toBe(true);
|
|
8
|
-
});
|
|
9
|
-
it('should return false for unauthenticated users', () => {
|
|
10
|
-
const req = { user: null };
|
|
11
|
-
expect(publicReadAuthenticatedAccess.admin({ req })).toBe(false);
|
|
12
|
-
});
|
|
13
|
-
});
|
|
14
|
-
describe('read property (public access)', () => {
|
|
15
|
-
it('should return true for authenticated users', () => {
|
|
16
|
-
const req = { user: { id: 1 } };
|
|
17
|
-
expect(publicReadAuthenticatedAccess.read({ req })).toBe(true);
|
|
18
|
-
});
|
|
19
|
-
it('should return true for unauthenticated users (public read)', () => {
|
|
20
|
-
const req = { user: null };
|
|
21
|
-
expect(publicReadAuthenticatedAccess.read({ req })).toBe(true);
|
|
22
|
-
});
|
|
23
|
-
it('should return true with no user property', () => {
|
|
24
|
-
const req = {};
|
|
25
|
-
expect(publicReadAuthenticatedAccess.read({ req })).toBe(true);
|
|
26
|
-
});
|
|
27
|
-
});
|
|
28
|
-
describe('create property (authenticated only)', () => {
|
|
29
|
-
it('should return true for authenticated users', () => {
|
|
30
|
-
const req = { user: { id: 1 } };
|
|
31
|
-
expect(publicReadAuthenticatedAccess.create({ req })).toBe(true);
|
|
32
|
-
});
|
|
33
|
-
it('should return false for unauthenticated users', () => {
|
|
34
|
-
const req = { user: null };
|
|
35
|
-
expect(publicReadAuthenticatedAccess.create({ req })).toBe(false);
|
|
36
|
-
});
|
|
37
|
-
});
|
|
38
|
-
describe('update property (authenticated only)', () => {
|
|
39
|
-
it('should return true for authenticated users', () => {
|
|
40
|
-
const req = { user: { id: 1 } };
|
|
41
|
-
expect(publicReadAuthenticatedAccess.update({ req })).toBe(true);
|
|
42
|
-
});
|
|
43
|
-
it('should return false for unauthenticated users', () => {
|
|
44
|
-
const req = { user: null };
|
|
45
|
-
expect(publicReadAuthenticatedAccess.update({ req })).toBe(false);
|
|
46
|
-
});
|
|
47
|
-
});
|
|
48
|
-
describe('delete property (authenticated only)', () => {
|
|
49
|
-
it('should return true for authenticated users', () => {
|
|
50
|
-
const req = { user: { id: 1 } };
|
|
51
|
-
expect(publicReadAuthenticatedAccess.delete({ req })).toBe(true);
|
|
52
|
-
});
|
|
53
|
-
it('should return false for unauthenticated users', () => {
|
|
54
|
-
const req = { user: null };
|
|
55
|
-
expect(publicReadAuthenticatedAccess.delete({ req })).toBe(false);
|
|
56
|
-
});
|
|
57
|
-
});
|
|
58
|
-
describe('readVersions property (authenticated only)', () => {
|
|
59
|
-
it('should return true for authenticated users', () => {
|
|
60
|
-
const req = { user: { id: 1 } };
|
|
61
|
-
expect(publicReadAuthenticatedAccess.readVersions({ req })).toBe(true);
|
|
62
|
-
});
|
|
63
|
-
it('should return false for unauthenticated users', () => {
|
|
64
|
-
const req = { user: null };
|
|
65
|
-
expect(publicReadAuthenticatedAccess.readVersions({ req })).toBe(false);
|
|
66
|
-
});
|
|
67
|
-
});
|
|
68
|
-
describe('unlock property (authenticated only)', () => {
|
|
69
|
-
it('should return true for authenticated users', () => {
|
|
70
|
-
const req = { user: { id: 1 } };
|
|
71
|
-
expect(publicReadAuthenticatedAccess.unlock({ req })).toBe(true);
|
|
72
|
-
});
|
|
73
|
-
it('should return false for unauthenticated users', () => {
|
|
74
|
-
const req = { user: null };
|
|
75
|
-
expect(publicReadAuthenticatedAccess.unlock({ req })).toBe(false);
|
|
76
|
-
});
|
|
77
|
-
});
|
|
78
|
-
describe('access pattern verification', () => {
|
|
79
|
-
it('should allow read to everyone and other operations to authenticated users only', () => {
|
|
80
|
-
const authenticatedReq = { user: { id: 1 } };
|
|
81
|
-
const unauthenticatedReq = { user: null };
|
|
82
|
-
// Authenticated user can do everything
|
|
83
|
-
expect(publicReadAuthenticatedAccess.read({ req: authenticatedReq })).toBe(true);
|
|
84
|
-
expect(publicReadAuthenticatedAccess.create({ req: authenticatedReq })).toBe(true);
|
|
85
|
-
expect(publicReadAuthenticatedAccess.update({ req: authenticatedReq })).toBe(true);
|
|
86
|
-
expect(publicReadAuthenticatedAccess.delete({ req: authenticatedReq })).toBe(true);
|
|
87
|
-
// Unauthenticated user can only read
|
|
88
|
-
expect(publicReadAuthenticatedAccess.read({ req: unauthenticatedReq })).toBe(true);
|
|
89
|
-
expect(publicReadAuthenticatedAccess.create({ req: unauthenticatedReq })).toBe(false);
|
|
90
|
-
expect(publicReadAuthenticatedAccess.update({ req: unauthenticatedReq })).toBe(false);
|
|
91
|
-
expect(publicReadAuthenticatedAccess.delete({ req: unauthenticatedReq })).toBe(false);
|
|
92
|
-
});
|
|
93
|
-
});
|
|
94
|
-
});
|
|
95
|
-
//# sourceMappingURL=publicReadAuthenticatedAccess.spec.js.map
|