Files
MatchLiveTv/backend/app/services/billing/assign_plan.rb
Emiliano Frascaro bba6df52c0 Initial commit: monorepo Match Live TV.
Rails API, app Flutter, infrastruttura Docker/MediaMTX, sito marketing e documentazione di deploy.

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-05-26 17:45:37 +02:00

13 lines
352 B
Ruby

module Billing
class AssignPlan
def self.call(team:, plan_slug:, status: "active", stripe_attrs: {})
plan = Plan[plan_slug]
sub = team.subscription || team.build_subscription
attrs = { plan: plan, status: status }.merge(stripe_attrs.symbolize_keys)
sub.assign_attributes(attrs)
sub.save!
sub
end
end
end