Mike Dalessio
89d2f2d0fc
saas: Add bearer token authentication for audit console
...
- Rename SaasAdminController to Admin::AuditController
- Override require_authentication to support bearer tokens alongside
session auth, allowing API access to audit console
- Add migration for audits1984_auditor_tokens table
- Add controller tests for authentication scenarios including staff
validation on token-based access
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com >
2026-01-28 14:13:54 -05:00
Mike Dalessio
3b13c8573e
saas: Backfill tests for admin audit endpoints
2026-01-28 12:55:28 -05:00
Jorge Manrubia
f58a1aeb31
Use a dedicated resource for showing cards in draft mode
...
Mobile team needs this. Also, this lets us get rid from some conditionals for handling
both modes with a single template.
https://3.basecamp.com/2914079/buckets/44843469/messages/9437287330
2026-01-08 10:40:21 +01:00
Jorge Manrubia
766cde4775
Tidy up test
2025-12-19 15:15:00 +01:00
Jorge Manrubia
7bf701095c
Fix tests after the UI/copy changes
2025-12-18 10:05:13 +01:00
Jorge Manrubia
0f9d1df31b
Format
2025-12-18 10:05:13 +01:00
Jorge Manrubia
00cab8ad7a
Add tests for subscription-related messaging
2025-12-18 10:04:15 +01:00
Jorge Manrubia
4e6274d59a
Consider storage when preventing backend card creation and publishing too
2025-12-18 10:04:15 +01:00
Jorge Manrubia
68cec74436
Extract parent class, validate plans can be downgraded/upgraded
2025-12-18 10:04:15 +01:00
Jorge Manrubia
c56dbb5f1e
Add upgrade/downgrade options
2025-12-18 10:04:15 +01:00
Jorge Manrubia
8205823588
Add button to buy extra-storage subscriptions
2025-12-18 10:04:15 +01:00
Jorge Manrubia
3c197debd2
Format
2025-12-16 12:00:46 +01:00
Jorge Manrubia
3395b8d6ed
Grab and show the next amount to pay from Stripe
2025-12-16 12:00:23 +01:00
Jorge Manrubia
8dd31e3635
Add system to comp accounts
2025-12-16 12:00:23 +01:00
Jorge Manrubia
3ef5e4eeef
Add record to track overridden limits
...
Before, we were relying on just changing the cards_count in account, but this
could create problems where the system to calculate the next card number fails due
to the unique constraint.
2025-12-16 12:00:23 +01:00
Jorge Manrubia
c8330a7be8
Don't prevent creating drafts, or you won't get to see the upgrade banner
...
Instead:
- Always let you create drafts when pressing "Add card"
- Prevent creations of published cards via API
- Prevent publication of cards in all cases when the limit is exceeded
2025-12-16 12:00:23 +01:00
Jorge Manrubia
5be4dca80e
Refresh the subscription instead of relying on event payloads
...
Events can land out of order. See https://github.com/basecamp/fizzy-saas/pull/23#discussion_r2609909558
2025-12-16 12:00:23 +01:00
Jorge Manrubia
984a5dd4ce
Add Stripe-based billing system
...
🤖 Generated with [Claude Code](https://claude.com/claude-code )
Co-Authored-By: Jason Zimdars <jz@37signals.com >
2025-12-16 12:00:23 +01:00
Mike Dalessio
d82d68fcd0
Restrict logins to employees in staging
...
as inferred from the email domain, which must be "@37signals.com" or
"@basecamp.com".
2025-12-12 15:07:16 -05:00
Stanko K.R.
43bf226444
Remove duplicate test
2025-11-29 11:16:01 +01:00
Jorge Manrubia
3d849a202a
Move signup code back to the app, leave only queenbee hooks
2025-11-27 12:52:12 +01:00
Jorge Manrubia
ebc212c1d7
Fix: the queenbe mocks were not really being applied
2025-11-24 16:26:41 +01:00
Jorge Manrubia
8019aa154f
Stub QB requests in tests
2025-11-24 15:59:09 +01:00
Jorge Manrubia
2e4478ffe5
Remove empty dir
2025-11-24 15:43:29 +01:00
Jorge Manrubia
38d0e362aa
Move test to the private gem
2025-11-24 15:16:17 +01:00
Jorge Manrubia
db57a7ba0f
Initial commit: Move fizzy-saas to separate repository
2025-11-23 06:04:20 +01:00