Billing Stripe, link regia mobile e staff solo trasmissione.
Aggiunge fatturazione club, pagina regia condivisibile senza account, roster squadre e rimuove la modalità controller dall'app (v1.1.0). Co-authored-by: Cursor <cursoragent@cursor.com>
This commit is contained in:
@@ -0,0 +1,55 @@
|
||||
class AddClubBillingAndDocuments < ActiveRecord::Migration[7.2]
|
||||
def change
|
||||
change_table :clubs, bulk: true do |t|
|
||||
t.string :billing_entity_type, default: "company", null: false
|
||||
t.string :billing_legal_name
|
||||
t.string :billing_vat_number
|
||||
t.string :billing_fiscal_code
|
||||
t.string :billing_email
|
||||
t.string :billing_phone
|
||||
t.string :billing_address_line
|
||||
t.string :billing_city
|
||||
t.string :billing_province, limit: 2
|
||||
t.string :billing_postal_code
|
||||
t.string :billing_country, default: "IT", null: false
|
||||
t.string :billing_recipient_code, limit: 7
|
||||
t.string :billing_pec
|
||||
end
|
||||
|
||||
create_table :billing_payments, id: :uuid do |t|
|
||||
t.references :club, null: false, foreign_key: true, type: :uuid
|
||||
t.string :stripe_invoice_id
|
||||
t.string :stripe_payment_intent_id
|
||||
t.string :stripe_charge_id
|
||||
t.integer :amount_cents, null: false
|
||||
t.string :currency, default: "eur", null: false
|
||||
t.string :status, default: "paid", null: false
|
||||
t.string :plan_slug
|
||||
t.string :description
|
||||
t.datetime :paid_at
|
||||
t.string :invoice_pdf_url
|
||||
t.string :receipt_url
|
||||
t.timestamps
|
||||
end
|
||||
|
||||
add_index :billing_payments, :stripe_invoice_id, unique: true, where: "stripe_invoice_id IS NOT NULL"
|
||||
add_index :billing_payments, [:club_id, :paid_at]
|
||||
|
||||
create_table :billing_invoices, id: :uuid do |t|
|
||||
t.references :club, null: false, foreign_key: true, type: :uuid
|
||||
t.references :billing_payment, foreign_key: true, type: :uuid
|
||||
t.string :number, null: false
|
||||
t.date :issued_on, null: false
|
||||
t.integer :amount_cents, null: false
|
||||
t.string :currency, default: "eur", null: false
|
||||
t.string :status, default: "issued", null: false
|
||||
t.string :source, default: "aruba", null: false
|
||||
t.string :aruba_document_id
|
||||
t.text :notes
|
||||
t.timestamps
|
||||
end
|
||||
|
||||
add_index :billing_invoices, [:club_id, :number], unique: true
|
||||
add_index :billing_invoices, [:club_id, :issued_on]
|
||||
end
|
||||
end
|
||||
Reference in New Issue
Block a user