From 49d24990b48b002da34ec27e8d36a59e7578cc97 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?R=C3=A2u=20Cao?= Date: Sat, 4 May 2024 17:05:34 +0200 Subject: [PATCH] Add zap model, user relation --- app/models/user.rb | 5 ++--- app/models/zap.rb | 3 +++ db/migrate/20240422171653_create_zaps.rb | 13 +++++++++++++ db/schema.rb | 14 +++++++++++++- spec/factories/zaps.rb | 7 +++++++ 5 files changed, 38 insertions(+), 4 deletions(-) create mode 100644 app/models/zap.rb create mode 100644 db/migrate/20240422171653_create_zaps.rb create mode 100644 spec/factories/zaps.rb diff --git a/app/models/user.rb b/app/models/user.rb index 1a181dd..f387817 100644 --- a/app/models/user.rb +++ b/app/models/user.rb @@ -17,16 +17,15 @@ class User < ApplicationRecord has_one :invitation, inverse_of: :invitee, foreign_key: 'invited_user_id' has_one :inviter, through: :invitation, source: :user has_many :invitees, through: :invitations - has_many :donations, dependent: :nullify + has_many :remote_storage_authorizations + has_many :zaps has_one :lndhub_user, class_name: "LndhubUser", inverse_of: "user", primary_key: "ln_account", foreign_key: "login" has_many :accounts, through: :lndhub_user - has_many :remote_storage_authorizations - # # Validations # diff --git a/app/models/zap.rb b/app/models/zap.rb new file mode 100644 index 0000000..5e2c9a8 --- /dev/null +++ b/app/models/zap.rb @@ -0,0 +1,3 @@ +class Zap < ApplicationRecord + belongs_to :user +end diff --git a/db/migrate/20240422171653_create_zaps.rb b/db/migrate/20240422171653_create_zaps.rb new file mode 100644 index 0000000..64735a1 --- /dev/null +++ b/db/migrate/20240422171653_create_zaps.rb @@ -0,0 +1,13 @@ +class CreateZaps < ActiveRecord::Migration[7.1] + def change + create_table :zaps do |t| + t.references :user, null: false, foreign_key: true + t.json :request + t.json :receipt + t.text :payment_request + t.bigint :amount + + t.timestamps + end + end +end diff --git a/db/schema.rb b/db/schema.rb index ccd332f..8400be3 100644 --- a/db/schema.rb +++ b/db/schema.rb @@ -10,7 +10,7 @@ # # It's strongly recommended that you check this file into your version control system. -ActiveRecord::Schema[7.1].define(version: 2024_03_16_153558) do +ActiveRecord::Schema[7.1].define(version: 2024_04_22_171653) do create_table "active_storage_attachments", force: :cascade do |t| t.string "name", null: false t.string "record_type", null: false @@ -136,8 +136,20 @@ ActiveRecord::Schema[7.1].define(version: 2024_03_16_153558) do t.index ["reset_password_token"], name: "index_users_on_reset_password_token", unique: true end + create_table "zaps", force: :cascade do |t| + t.integer "user_id", null: false + t.json "request" + t.json "receipt" + t.text "payment_request" + t.bigint "amount" + t.datetime "created_at", null: false + t.datetime "updated_at", null: false + t.index ["user_id"], name: "index_zaps_on_user_id" + end + add_foreign_key "active_storage_attachments", "active_storage_blobs", column: "blob_id" add_foreign_key "active_storage_variant_records", "active_storage_blobs", column: "blob_id" add_foreign_key "remote_storage_authorizations", "app_catalog_web_apps", column: "web_app_id" add_foreign_key "remote_storage_authorizations", "users" + add_foreign_key "zaps", "users" end diff --git a/spec/factories/zaps.rb b/spec/factories/zaps.rb new file mode 100644 index 0000000..2d695d0 --- /dev/null +++ b/spec/factories/zaps.rb @@ -0,0 +1,7 @@ +FactoryBot.define do + factory :zap do + user { nil } + request { "" } + receipt { "" } + end +end