Files
core/.env.example
T
hykocx 2e348a1608 feat(storage): add configurable storage access policies
Replace hardcoded `users/` path-based access control with a
declarative `storageAccessPolicies` system defined per module via
`defineModule()`.

- Add `storageAccessPolicies` field to `defineModule()` defaults with
  support for `owner` and `admin` policy types
- Expose `getAllStorageAccessPolicies()` from the modules/storage layer
- Refactor `handleGetFile` in `storage/api.js` to resolve access
  control dynamically from registered policies instead of hardcoded
  path checks
- Add `ZEN_STORAGE_ENDPOINT` env var and update `.env.example` to
  support S3-compatible backends (Cloudflare R2, Backblaze B2)
- Document the env/doc sync convention in `DEV.md`
2026-04-14 17:09:27 -04:00

49 lines
1.2 KiB
Bash

# CORE
NEXT_PUBLIC_URL=http://localhost:3000
NEXT_PUBLIC_URL_DEV=http://localhost:3000
ZEN_NAME=ZEN
# CONFIG
ZEN_TIMEZONE=America/Toronto
ZEN_DATE_FORMAT=YYYY-MM-DD
ZEN_CURRENCY=CAD
ZEN_CURRENCY_SYMBOL=$
ZEN_SUPPORT_EMAIL=support@exemple.com
# DATABASE
ZEN_DATABASE_URL=postgres://USER:PASSWORD@HOST:PORT/postgres
ZEN_DATABASE_URL_DEV=postgres://USER:PASSWORD@HOST:PORT/postgres_dev
ZEN_DB_SSL_DISABLED=false
# STORAGE (S3-compatible — Cloudflare R2 ou Backblaze B2)
# R2 : ZEN_STORAGE_ENDPOINT=<accountId>.r2.cloudflarestorage.com ZEN_STORAGE_REGION=auto
# B2 : ZEN_STORAGE_ENDPOINT=s3.<region>.backblazeb2.com ZEN_STORAGE_REGION=<region>
ZEN_STORAGE_ENDPOINT=
ZEN_STORAGE_REGION=auto
ZEN_STORAGE_BUCKET=
ZEN_STORAGE_ACCESS_KEY=
ZEN_STORAGE_SECRET_KEY=
# EMAIL
ZEN_EMAIL_RESEND_APIKEY=
ZEN_EMAIL_FROM_NAME="EXEMPLE"
ZEN_EMAIL_FROM_ADDRESS=app@exemple.com
ZEN_EMAIL_LOGO=
ZEN_EMAIL_LOGO_URL=
# STRIPE
STRIPE_SECRET_KEY=
STRIPE_PUBLISHABLE_KEY=
STRIPE_WEBHOOK_SECRET=
# AUTH SETTINGS
ZEN_AUTH_REDIRECT_AFTER_LOGIN=/admin
ZEN_AUTH_SESSION_COOKIE_NAME=zen_session
# PUBLIC SETTINGS
ZEN_PUBLIC_LOGO_WHITE=
ZEN_PUBLIC_LOGO_BLACK=
ZEN_PUBLIC_LOGO_URL=
# OTHERS
NEXT_TELEMETRY_DISABLED=1