Billing upgrade/downgrade, inviti in app e diretta YouTube da mobile.

Upgrade Stripe con addebito immediato; downgrade programmato a fine periodo.
UX billing più sobria con box info; icone piani. API inviti e OAuth YouTube
per staff trasmissione; deep link join; scelta partita programmata o nuova.

Co-authored-by: Cursor <cursoragent@cursor.com>
This commit is contained in:
2026-06-02 22:15:27 +02:00
parent 2cb267f991
commit 566104aff4
49 changed files with 1615 additions and 173 deletions

7
backend/db/schema.rb generated
View File

@@ -10,7 +10,7 @@
#
# It's strongly recommended that you check this file into your version control system.
ActiveRecord::Schema[7.2].define(version: 2026_05_31_140000) do
ActiveRecord::Schema[7.2].define(version: 2026_06_02_120000) do
# These are extensions that must be enabled in order to support this database
enable_extension "pgcrypto"
enable_extension "plpgsql"
@@ -250,7 +250,11 @@ ActiveRecord::Schema[7.2].define(version: 2026_05_31_140000) do
t.datetime "updated_at", null: false
t.uuid "club_id", null: false
t.string "billing_interval"
t.uuid "pending_plan_id"
t.string "pending_billing_interval"
t.string "stripe_schedule_id"
t.index ["club_id"], name: "index_subscriptions_on_club_id", unique: true
t.index ["pending_plan_id"], name: "index_subscriptions_on_pending_plan_id"
t.index ["plan_id"], name: "index_subscriptions_on_plan_id"
t.index ["stripe_subscription_id"], name: "index_subscriptions_on_stripe_subscription_id", unique: true, where: "(stripe_subscription_id IS NOT NULL)"
end
@@ -353,6 +357,7 @@ ActiveRecord::Schema[7.2].define(version: 2026_05_31_140000) do
add_foreign_key "stream_sessions", "users"
add_foreign_key "subscriptions", "clubs"
add_foreign_key "subscriptions", "plans"
add_foreign_key "subscriptions", "plans", column: "pending_plan_id"
add_foreign_key "team_invitations", "teams"
add_foreign_key "team_roster_members", "teams"
add_foreign_key "teams", "clubs"