François-Xavier Talbot
4228a193e9
Charge tax on products ( #4361 )
...
* Initial Anrok integration
* Query cache, fmt, clippy
* Fmt
* Use payment intent function in edit_subscription
* Attach Anrok client, use payments in index_billing
* Integrate Anrok with refunds
* Bug fixes
* More bugfixes
* Fix resubscriptions
* Medal promotion bugfixes
* Use stripe metadata constants everywhere
* Pre-fill values in products_tax_identifiers
* Cleanup billing route module
* Cleanup
* Email notification for tax charge
* Don't charge tax on users which haven't been notified of tax change
* Fix taxnotification.amount templates
* Update .env.docker-compose
* Update .env.local
* Clippy
* Fmt
* Query cache
* Periodically update tax amount on upcoming charges
* Fix queries
* Skip indexing tax amount on charges if no charges to process
* chore: query cache, clippy, fmt
* Fix a lot of things
* Remove test code
* chore: query cache, clippy, fmt
* Fix money formatting
* Fix conflicts
* Extra documentation, handle tax association properly
* Track loss in tax drift
* chore: query cache, clippy, fmt
* Add subscription.id variable
* chore: query cache, clippy, fmt
* chore: query cache, clippy, fmt
2025-09-25 11:29:29 +00:00
François-Xavier Talbot
902d749293
[DO NOT MERGE] Email notification system ( #4338 )
...
* Migration
* Fixup db models
* Redis
* Stuff
* Switch PKs to BIGSERIALs, insert to notifications_deliveries when inserting notifications
* Queue, templates
* Query cache
* Fixes, fixtures
* Perf, cache template data & HTML bodies
* Notification type configuration, ResetPassword notification type
* Reset password
* Query cache
* Clippy + fmt
* Traces, fix typo, fix user email in ResetPassword
* send_email
* Models, db
* Remove dead code, adjust notification settings in migration
* Clippy fmt
* Delete dead code, fixes
* Fmt
* Update apps/labrinth/src/queue/email.rs
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com >
Signed-off-by: François-Xavier Talbot <108630700+fetchfern@users.noreply.github.com >
* Remove old fixtures
* Unify email retry delay
* Fix type
* External notifications
* Remove `notifications_types_preference_restrictions`, as user notification preferences is out of scope for this PR
* Query cache, fmt, clippy
* Fix join in get_many_user_exposed_on_site
* Remove migration comment
* Query cache
* Update html body urls
* Remove comment
* Add paymentfailed.service variable to PaymentFailed notification variant
* Fix compile error
* Fix deleting notifications
* Update apps/labrinth/src/database/models/user_item.rs
Co-authored-by: Josiah Glosson <soujournme@gmail.com >
Signed-off-by: François-Xavier Talbot <108630700+fetchfern@users.noreply.github.com >
* Update apps/labrinth/src/database/models/user_item.rs
Co-authored-by: Josiah Glosson <soujournme@gmail.com >
Signed-off-by: François-Xavier Talbot <108630700+fetchfern@users.noreply.github.com >
* Update Cargo.toml
Co-authored-by: Josiah Glosson <soujournme@gmail.com >
Signed-off-by: François-Xavier Talbot <108630700+fetchfern@users.noreply.github.com >
* Update apps/labrinth/migrations/20250902133943_notification-extension.sql
Co-authored-by: Josiah Glosson <soujournme@gmail.com >
Signed-off-by: François-Xavier Talbot <108630700+fetchfern@users.noreply.github.com >
* Address review comments
* Fix compliation
* Update apps/labrinth/src/database/models/users_notifications_preferences_item.rs
Co-authored-by: Josiah Glosson <soujournme@gmail.com >
Signed-off-by: François-Xavier Talbot <108630700+fetchfern@users.noreply.github.com >
* Use strfmt to format emails
* Configurable Reply-To
* Configurable Reply-To
* Refactor for email background task
* Send some emails inline
* Fix account creation email check
* Revert "Use strfmt to format emails"
This reverts commit e0d6614afe51fa6349918377e953ba294c34ae0b.
* Reintroduce fill_template
* Set password reset email inline
* Process more emails per index
* clippy fmt
* Query cache
---------
Signed-off-by: François-Xavier Talbot <108630700+fetchfern@users.noreply.github.com >
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com >
Co-authored-by: Josiah Glosson <soujournme@gmail.com >
2025-09-15 19:02:29 +00:00
François-Xavier Talbot
9497ba70a4
Offers, redemption, preview subscriptions ( #4121 )
...
* Initial db migration/impl, guarded partner routes
* Add guard to /redeem
* Add `public` column to products prices, only expose public prices
* Query cache
* Add partner subscription type
* 5 days subscription interval, metadata
* Create server on redeem
* Query cache
* Fix race condition
* Unprovision Medal subscriptions
* Consider due expiring charge as unprovisionable
* Query cache
* Use a queue
* Promote to full subscription, fmt + clippy
* Patch expiring charge on promotion, comments
* Additional comments
* Add `tags` field to Archon /create request
* Address review comments
* Query cache
* Final fixes to edit_subscription
* Appease clippy
* fmt
2025-08-11 21:40:58 +00:00
François-Xavier Talbot
7223c2b197
Include region in user subscription metadata ( #3733 )
2025-06-02 05:13:06 +00:00
Alejandro González
be37f077d3
feat(labrinth): quarterly billing support ( #3714 )
2025-05-28 22:18:24 +00:00
Josiah Glosson
4e4a7be7ef
Commonize and distinguish a lot of struct names in labrinth::database::models ( #3691 )
2025-05-24 09:38:43 +00:00
Josiah Glosson
9e527ff141
Labrinth ID cleanup ( #3681 )
...
* Put all ID types in the labrinth::models::ids, and reduce code duplication with them
* Rewrite labrinth::database::models::ids and rename most DB interface ID structs to be prefixed with DB
* Run sqlx prepare
---------
Co-authored-by: Alejandro González <7822554+AlexTMjugador@users.noreply.github.com >
2025-05-22 08:34:36 +00:00
Alejandro González
e008b657a5
Fix Clippy lints ( #3494 )
...
* chore: fix some Clippy lints
* chore(labrinth): more Clippy fixes
2025-04-12 13:45:17 +00:00
Prospector
56ba342346
Initial servers upgrades frontend ( #3219 )
...
* Initial servers upgrades frontend
* Fix error when purchasing non-custom servers
* fix backend
* Fix comment
---------
Signed-off-by: Jai Agrawal <18202329+Geometrically@users.noreply.github.com >
Co-authored-by: Jai A <jaiagr+gpg@pm.me >
Co-authored-by: Jai Agrawal <18202329+Geometrically@users.noreply.github.com >
2025-02-12 18:22:49 -08:00
Jai A
0f4af98a21
Fix integer overflow on charges
2025-01-17 17:01:35 -08:00
Geometrically
2987f507fe
Refunds + Upgrading/Downgrading plans ( #2983 )
...
* Refunds + Upgrading/Downgrading plans
* Servers list route
* Finish, lint
* add GAM fee to payouts
* Sync payment intent id with stripe
* fix lint, update migrations
* Remove tauri generated files
* Register refund route
* fix refund bugs
2024-12-06 19:37:17 -08:00
Jai A
8dd955563e
Fix clippy errors + lint, use turbo CI
2024-10-18 16:07:35 -07:00
Jai A
e3a3379615
move to monorepo dir
2024-10-16 14:11:42 -07:00