mirror of
https://github.com/Dvorinka/Bookra.git
synced 2026-10-28 07:41:16 +00:00
refactor(db): replace sqlc with handwritten pgx repos
- Finish Paddle-to-Stripe billing migration; drop paddle/stripe libs - Renumber migrations; add 00012 memberships+manage_token, 00013 location_type_capacity - Add tests: admin, auth, bookings customer service - Remove graphify-out artifacts and stale env files Authored By: TDvorak <[email protected]> Generated with [Devin](https://devin.ai) Co-Authored-By: Devin <158243242+devin-ai-integration[bot]@users.noreply.github.com>
This commit is contained in:
1 parent
2039669e2c
commit
f2f7439050
93 files changed
+6987
-69060
No files matched your search
+19
-50
@@ -2,33 +2,31 @@
|
||||
# Put concrete values into app-specific env files.
|
||||
|
||||
BOOKRA_APP_ENV=staging
|
||||
BOOKRA_APP_URL=https://app.bookra.example
|
||||
BOOKRA_API_URL=https://api.bookra.example
|
||||
BOOKRA_NEON_AUTH_URL=https://ep-mute-water-alem1v8u.neonauth.c-3.eu-central-1.aws.neon.tech/neondb/auth
|
||||
BOOKRA_FRONTEND_URL=https://app.bookra.example
|
||||
BOOKRA_NEON_AUTH_URL=https://ep-example.neonauth.region.aws.neon.tech/neondb/auth
|
||||
|
||||
# Stripe billing (preferred)
|
||||
BOOKRA_STRIPE_SECRET_KEY=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
|
||||
# Stripe billing (the only billing provider)
|
||||
BOOKRA_STRIPE_API_KEY=sk_test_xxx
|
||||
BOOKRA_STRIPE_WEBHOOK_SECRET=whsec_xxx
|
||||
|
||||
# Stripe Monthly Prices
|
||||
BOOKRA_STRIPE_STARTER_CZK_MONTHLY_PRICE_ID=price_1TV6Z6GrjyNQaOSGZFcmltqI
|
||||
BOOKRA_STRIPE_STARTER_USD_MONTHLY_PRICE_ID=price_1TV6cAGrjyNQaOSGXBhOq3Dk
|
||||
BOOKRA_STRIPE_PRO_CZK_MONTHLY_PRICE_ID=price_1TV6ZZGrjyNQaOSGqWENnjDD
|
||||
BOOKRA_STRIPE_PRO_USD_MONTHLY_PRICE_ID=price_1TV6dXGrjyNQaOSGeWzJlg2n
|
||||
BOOKRA_STRIPE_BUSINESS_CZK_MONTHLY_PRICE_ID=price_1TV6bgGrjyNQaOSGqzGTM68E
|
||||
BOOKRA_STRIPE_BUSINESS_USD_MONTHLY_PRICE_ID=price_1TV6dpGrjyNQaOSGCqKO42Oi
|
||||
BOOKRA_STRIPE_STARTER_CZK_MONTHLY_PRICE_ID=price_xxx
|
||||
BOOKRA_STRIPE_STARTER_USD_MONTHLY_PRICE_ID=price_xxx
|
||||
BOOKRA_STRIPE_PRO_CZK_MONTHLY_PRICE_ID=price_xxx
|
||||
BOOKRA_STRIPE_PRO_USD_MONTHLY_PRICE_ID=price_xxx
|
||||
BOOKRA_STRIPE_BUSINESS_CZK_MONTHLY_PRICE_ID=price_xxx
|
||||
BOOKRA_STRIPE_BUSINESS_USD_MONTHLY_PRICE_ID=price_xxx
|
||||
|
||||
# Stripe Yearly Prices (17% discount)
|
||||
BOOKRA_STRIPE_STARTER_CZK_YEARLY_PRICE_ID=price_1TVAlqGrjyNQaOSGNiZQ5tEx
|
||||
BOOKRA_STRIPE_STARTER_USD_YEARLY_PRICE_ID=price_1TVAnSGrjyNQaOSGTHQHrgv3
|
||||
BOOKRA_STRIPE_PRO_CZK_YEARLY_PRICE_ID=price_1TVAmVGrjyNQaOSGWDgWqYvb
|
||||
BOOKRA_STRIPE_PRO_USD_YEARLY_PRICE_ID=price_1TVAnjGrjyNQaOSGvAANw64k
|
||||
BOOKRA_STRIPE_BUSINESS_CZK_YEARLY_PRICE_ID=price_1TVAmsGrjyNQaOSGL7Sl5cCd
|
||||
BOOKRA_STRIPE_BUSINESS_USD_YEARLY_PRICE_ID=price_1TVAo7GrjyNQaOSGB8LSCOua
|
||||
# Stripe Yearly Prices
|
||||
BOOKRA_STRIPE_STARTER_CZK_YEARLY_PRICE_ID=price_xxx
|
||||
BOOKRA_STRIPE_STARTER_USD_YEARLY_PRICE_ID=price_xxx
|
||||
BOOKRA_STRIPE_PRO_CZK_YEARLY_PRICE_ID=price_xxx
|
||||
BOOKRA_STRIPE_PRO_USD_YEARLY_PRICE_ID=price_xxx
|
||||
BOOKRA_STRIPE_BUSINESS_CZK_YEARLY_PRICE_ID=price_xxx
|
||||
BOOKRA_STRIPE_BUSINESS_USD_YEARLY_PRICE_ID=price_xxx
|
||||
|
||||
# Stripe SMS prices — one per market/currency (create as standard prices, not metered)
|
||||
# These are used for monthly aggregate billing (invoice item at month end)
|
||||
# Czech: 1.50 CZK per SMS | US: ~$0.065 per SMS | EUR: ~€0.060 | GBP: ~£0.050 | PLN: ~0.27zł
|
||||
# Stripe SMS prices — one per currency (standard prices, not metered)
|
||||
BOOKRA_STRIPE_SMS_CZK_PRICE_ID=price_xxx
|
||||
BOOKRA_STRIPE_SMS_USD_PRICE_ID=price_xxx
|
||||
BOOKRA_STRIPE_SMS_EUR_PRICE_ID=
|
||||
@@ -39,35 +37,6 @@ BOOKRA_STRIPE_SMS_PLN_PRICE_ID=
|
||||
BOOKRA_SMSMANAGER_API_KEY=your_smsmanager_api_key
|
||||
BOOKRA_SMSMANAGER_BASE_URL=https://api.smsmngr.com/v2
|
||||
|
||||
# Legacy price IDs (fallback)
|
||||
BOOKRA_STRIPE_STARTER_CZK_PRICE_ID=price_1TV6Z6GrjyNQaOSGZFcmltqI
|
||||
BOOKRA_STRIPE_STARTER_USD_PRICE_ID=price_1TV6cAGrjyNQaOSGXBhOq3Dk
|
||||
BOOKRA_STRIPE_PRO_CZK_PRICE_ID=price_1TV6ZZGrjyNQaOSGqWENnjDD
|
||||
BOOKRA_STRIPE_PRO_USD_PRICE_ID=price_1TV6dXGrjyNQaOSGeWzJlg2n
|
||||
BOOKRA_STRIPE_BUSINESS_CZK_PRICE_ID=price_1TV6bgGrjyNQaOSGqzGTM68E
|
||||
BOOKRA_STRIPE_BUSINESS_USD_PRICE_ID=price_1TV6dpGrjyNQaOSGCqKO42Oi
|
||||
|
||||
VITE_STRIPE_PUBLISHABLE_KEY=pk_live_51TV6GOGrjyNQaOSGddY1BS14H63e1uYgZUgPe25WhP7yMxmZxMprN3U3scnsmKGBmREzHLrhJlVSEiErimNwVtuR00TRAcHaJi
|
||||
|
||||
# Admin credentials (for platform management)
|
||||
BOOKRA_ADMIN_EMAIL=[email protected]
|
||||
BOOKRA_ADMIN_KEY=your-secure-admin-key-here
|
||||
|
||||
# Paddle billing (fallback)
|
||||
BOOKRA_PADDLE_ENV=sandbox
|
||||
BOOKRA_PADDLE_API_KEY=pdl_sdbx_api_key
|
||||
BOOKRA_PADDLE_WEBHOOK_SECRET=pdl_ntfset_secret
|
||||
BOOKRA_PADDLE_STARTER_CZK_PRICE_ID=pri_starter_czk_123
|
||||
BOOKRA_PADDLE_STARTER_USD_PRICE_ID=pri_starter_usd_123
|
||||
BOOKRA_PADDLE_PRO_CZK_PRICE_ID=pri_pro_czk_123
|
||||
BOOKRA_PADDLE_PRO_USD_PRICE_ID=pri_pro_usd_123
|
||||
BOOKRA_PADDLE_BUSINESS_CZK_PRICE_ID=pri_business_czk_123
|
||||
BOOKRA_PADDLE_BUSINESS_USD_PRICE_ID=pri_business_usd_123
|
||||
VITE_PADDLE_CLIENT_TOKEN=test_paddle_client_token
|
||||
|
||||
BOOKRA_SMTP_HOST=smtp.example.com
|
||||
BOOKRA_UMAMI_API_URL=https://umami.example.com
|
||||
|
||||
# Sentry (optional)
|
||||
VITE_SENTRY_DSN=https://462fb8597035778961e2e06c48c7c7fd@o4511360379191296.ingest.de.sentry.io/4511360406454352
|
||||
BOOKRA_SENTRY_DSN=https://462fb8597035778961e2e06c48c7c7fd@o4511360379191296.ingest.de.sentry.io/4511360406454352
|
||||
BOOKRA_ADMIN_KEY=replace-with-secure-random-key
|
||||
Reference in new issue
Block a user