2e348a1608
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`
49 lines
1.2 KiB
Bash
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 |