Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

fix(db): Rename invoice_require_successful_payment to add S #2343

Merged
merged 1 commit into from
Jul 29, 2024
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 1 addition & 1 deletion app/controllers/api/v1/wallet_transactions_controller.rb
Original file line number Diff line number Diff line change
Expand Up @@ -54,7 +54,7 @@ def input_params
:paid_credits,
:granted_credits,
:voided_credits,
:invoice_require_successful_payment
:invoice_requires_successful_payment
)
end
end
Expand Down
8 changes: 4 additions & 4 deletions app/controllers/api/v1/wallets_controller.rb
Original file line number Diff line number Diff line change
Expand Up @@ -80,7 +80,7 @@ def input_params
:paid_credits,
:granted_credits,
:expiration_at,
:invoice_require_successful_payment,
:invoice_requires_successful_payment,
recurring_transaction_rules: [
:granted_credits,
:interval,
Expand All @@ -90,7 +90,7 @@ def input_params
:target_ongoing_balance,
:threshold_credits,
:trigger,
:invoice_require_successful_payment
:invoice_requires_successful_payment
]
)
end
Expand All @@ -103,7 +103,7 @@ def update_params
params.require(:wallet).permit(
:name,
:expiration_at,
:invoice_require_successful_payment,
:invoice_requires_successful_payment,
recurring_transaction_rules: [
:lago_id,
:interval,
Expand All @@ -114,7 +114,7 @@ def update_params
:trigger,
:paid_credits,
:granted_credits,
:invoice_require_successful_payment
:invoice_requires_successful_payment
]
)
end
Expand Down
2 changes: 1 addition & 1 deletion app/graphql/mutations/wallet_transactions/create.rb
Original file line number Diff line number Diff line change
Expand Up @@ -14,7 +14,7 @@ class Create < BaseMutation
argument :wallet_id, ID, required: true

argument :granted_credits, String, required: false
argument :invoice_require_successful_payment, Boolean, required: false
argument :invoice_requires_successful_payment, Boolean, required: false
argument :paid_credits, String, required: false
argument :voided_credits, String, required: false

Expand Down
2 changes: 1 addition & 1 deletion app/graphql/types/wallet_transactions/object.rb
Original file line number Diff line number Diff line change
Expand Up @@ -10,7 +10,7 @@ class Object < Types::BaseObject

field :amount, String, null: false
field :credit_amount, String, null: false
field :invoice_require_successful_payment, Boolean, null: false
field :invoice_requires_successful_payment, Boolean, null: false
field :status, Types::WalletTransactions::StatusEnum, null: false
field :transaction_status, Types::WalletTransactions::TransactionStatusEnum, null: false
field :transaction_type, Types::WalletTransactions::TransactionTypeEnum, null: false
Expand Down
2 changes: 1 addition & 1 deletion app/graphql/types/wallets/object.rb
Original file line number Diff line number Diff line change
Expand Up @@ -31,7 +31,7 @@ class Object < Types::BaseObject

field :recurring_transaction_rules, [Types::Wallets::RecurringTransactionRules::Object], null: true

field :invoice_require_successful_payment, Boolean, null: false
field :invoice_requires_successful_payment, Boolean, null: false

field :created_at, GraphQL::Types::ISO8601DateTime, null: false
field :expiration_at, GraphQL::Types::ISO8601DateTime, null: true
Expand Down
2 changes: 1 addition & 1 deletion app/serializers/v1/wallet_serializer.rb
Original file line number Diff line number Diff line change
Expand Up @@ -23,7 +23,7 @@ def serialize
last_balance_sync_at: model.last_balance_sync_at&.iso8601,
last_consumed_credit_at: model.last_consumed_credit_at&.iso8601,
terminated_at: model.terminated_at,
invoice_require_successful_payment: model.invoice_require_successful_payment?
invoice_requires_successful_payment: model.invoice_requires_successful_payment?
}

payload.merge!(recurring_transaction_rules) if include?(:recurring_transaction_rules)
Expand Down
2 changes: 1 addition & 1 deletion app/serializers/v1/wallet_transaction_serializer.rb
Original file line number Diff line number Diff line change
Expand Up @@ -13,7 +13,7 @@ def serialize
credit_amount: model.credit_amount,
settled_at: model.settled_at&.iso8601,
created_at: model.created_at.iso8601,
invoice_require_successful_payment: model.invoice_require_successful_payment?
invoice_requires_successful_payment: model.invoice_requires_successful_payment?
}
end
end
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -15,7 +15,7 @@ def serialize
threshold_credits: model.threshold_credits,
trigger: model.trigger,
created_at: model.created_at.iso8601,
invoice_require_successful_payment: model.invoice_require_successful_payment?
invoice_requires_successful_payment: model.invoice_requires_successful_payment?
}
end
end
Expand Down
18 changes: 9 additions & 9 deletions app/services/wallet_transactions/create_service.rb
Original file line number Diff line number Diff line change
Expand Up @@ -14,17 +14,17 @@ def call

wallet_transactions = []
@source = params[:source] || :manual
invoice_require_successful_payment = if params.key?(:invoice_require_successful_payment)
ActiveModel::Type::Boolean.new.cast(params[:invoice_require_successful_payment])
invoice_requires_successful_payment = if params.key?(:invoice_requires_successful_payment)
ActiveModel::Type::Boolean.new.cast(params[:invoice_requires_successful_payment])
else
result.current_wallet.invoice_require_successful_payment
result.current_wallet.invoice_requires_successful_payment
end

if params[:paid_credits]
transaction = handle_paid_credits(
wallet: result.current_wallet,
paid_credits: params[:paid_credits],
invoice_require_successful_payment:
invoice_requires_successful_payment:
)
wallet_transactions << transaction
end
Expand All @@ -34,7 +34,7 @@ def call
wallet: result.current_wallet,
granted_credits: params[:granted_credits],
reset_consumed_credits: ActiveModel::Type::Boolean.new.cast(params[:reset_consumed_credits]),
invoice_require_successful_payment:
invoice_requires_successful_payment:
)
wallet_transactions << transaction
end
Expand All @@ -60,7 +60,7 @@ def call

attr_reader :organization, :params, :source

def handle_paid_credits(wallet:, paid_credits:, invoice_require_successful_payment:)
def handle_paid_credits(wallet:, paid_credits:, invoice_requires_successful_payment:)
paid_credits_amount = BigDecimal(paid_credits)

return if paid_credits_amount.zero?
Expand All @@ -73,15 +73,15 @@ def handle_paid_credits(wallet:, paid_credits:, invoice_require_successful_payme
status: :pending,
source:,
transaction_status: :purchased,
invoice_require_successful_payment:
invoice_requires_successful_payment:
)

BillPaidCreditJob.perform_later(wallet_transaction, Time.current.to_i)

wallet_transaction
end

def handle_granted_credits(wallet:, granted_credits:, invoice_require_successful_payment:, reset_consumed_credits: false)
def handle_granted_credits(wallet:, granted_credits:, invoice_requires_successful_payment:, reset_consumed_credits: false)
granted_credits_amount = BigDecimal(granted_credits)

return if granted_credits_amount.zero?
Expand All @@ -96,7 +96,7 @@ def handle_granted_credits(wallet:, granted_credits:, invoice_require_successful
settled_at: Time.current,
source:,
transaction_status: :granted,
invoice_require_successful_payment:
invoice_requires_successful_payment:
)

Wallets::Balance::IncreaseService.new(
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -13,7 +13,7 @@ def call
paid_credits: paid_credits(recurring_transaction_rule),
granted_credits: granted_credits(recurring_transaction_rule),
source: :interval,
invoice_require_successful_payment: recurring_transaction_rule.invoice_require_successful_payment?
invoice_requires_successful_payment: recurring_transaction_rule.invoice_requires_successful_payment?
}
)
end
Expand Down
4 changes: 2 additions & 2 deletions app/services/wallets/create_service.rb
Original file line number Diff line number Diff line change
Expand Up @@ -18,8 +18,8 @@ def call
status: :active
}

if params.key?(:invoice_require_successful_payment)
attributes[:invoice_require_successful_payment] = ActiveModel::Type::Boolean.new.cast(params[:invoice_require_successful_payment])
if params.key?(:invoice_requires_successful_payment)
attributes[:invoice_requires_successful_payment] = ActiveModel::Type::Boolean.new.cast(params[:invoice_requires_successful_payment])
end

wallet = Wallet.new(attributes)
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -29,10 +29,10 @@ def call
trigger: rule_params[:trigger].to_s
}

attributes[:invoice_require_successful_payment] = if rule_params.key?(:invoice_require_successful_payment)
ActiveModel::Type::Boolean.new.cast(rule_params[:invoice_require_successful_payment])
attributes[:invoice_requires_successful_payment] = if rule_params.key?(:invoice_requires_successful_payment)
ActiveModel::Type::Boolean.new.cast(rule_params[:invoice_requires_successful_payment])
else
wallet.invoice_require_successful_payment?
wallet.invoice_requires_successful_payment?
end

rule = wallet.recurring_transaction_rules.create!(attributes)
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -26,8 +26,8 @@ def call
end

# NOTE: on creation, we follow the wallet configuration if not set
unless rule.key?(:invoice_require_successful_payment)
rule[:invoice_require_successful_payment] = wallet.invoice_require_successful_payment
unless rule.key?(:invoice_requires_successful_payment)
rule[:invoice_requires_successful_payment] = wallet.invoice_requires_successful_payment
end
created_recurring_rule = wallet.recurring_transaction_rules.create!(rule)
created_recurring_rules_ids.push(created_recurring_rule.id)
Expand Down
2 changes: 1 addition & 1 deletion app/services/wallets/threshold_top_up_service.rb
Original file line number Diff line number Diff line change
Expand Up @@ -19,7 +19,7 @@ def call
paid_credits:,
granted_credits:,
source: :threshold,
invoice_require_successful_payment: threshold_rule.invoice_require_successful_payment?
invoice_requires_successful_payment: threshold_rule.invoice_requires_successful_payment?
}
)
end
Expand Down
4 changes: 2 additions & 2 deletions app/services/wallets/update_service.rb
Original file line number Diff line number Diff line change
Expand Up @@ -17,8 +17,8 @@ def call
ActiveRecord::Base.transaction do
wallet.name = params[:name] if params.key?(:name)
wallet.expiration_at = params[:expiration_at] if params.key?(:expiration_at)
if params.key?(:invoice_require_successful_payment)
wallet.invoice_require_successful_payment = ActiveModel::Type::Boolean.new.cast(params[:invoice_require_successful_payment])
if params.key?(:invoice_requires_successful_payment)
wallet.invoice_requires_successful_payment = ActiveModel::Type::Boolean.new.cast(params[:invoice_requires_successful_payment])
end
if params[:recurring_transaction_rules] && License.premium?
Wallets::RecurringTransactionRules::UpdateService.call(wallet:, params: params[:recurring_transaction_rules])
Expand Down

This file was deleted.

Original file line number Diff line number Diff line change
@@ -0,0 +1,11 @@
# frozen_string_literal: true

class AddInvoiceRequiresSuccessfulPayment < ActiveRecord::Migration[7.1]
disable_ddl_transaction!

def change
add_column :wallets, :invoice_requires_successful_payment, :boolean, default: false, null: false
add_column :wallet_transactions, :invoice_requires_successful_payment, :boolean, default: false, null: false
add_column :recurring_transaction_rules, :invoice_requires_successful_payment, :boolean, default: false, null: false
end
end
7 changes: 4 additions & 3 deletions db/schema.rb

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

6 changes: 3 additions & 3 deletions schema.graphql

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

6 changes: 3 additions & 3 deletions schema.json

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

6 changes: 3 additions & 3 deletions spec/graphql/mutations/wallet_transactions/create_spec.rb
Original file line number Diff line number Diff line change
Expand Up @@ -13,7 +13,7 @@
<<-GQL
mutation($input: CreateCustomerWalletTransactionInput!) {
createCustomerWalletTransaction(input: $input) {
collection { id, status, invoiceRequireSuccessfulPayment }
collection { id, status, invoiceRequiresSuccessfulPayment }
}
}
GQL
Expand All @@ -39,14 +39,14 @@
walletId: wallet.id,
paidCredits: '5.00',
grantedCredits: '5.00',
invoiceRequireSuccessfulPayment: true
invoiceRequiresSuccessfulPayment: true
}
}
)

result_data = result['data']['createCustomerWalletTransaction']
expect(result_data['collection'].map { |wt| wt['status'] })
.to contain_exactly('pending', 'settled')
expect(result_data['collection'].map { |wt| wt['invoiceRequireSuccessfulPayment'] }).to all be true
expect(result_data['collection'].map { |wt| wt['invoiceRequiresSuccessfulPayment'] }).to all be true
end
end
2 changes: 1 addition & 1 deletion spec/graphql/types/wallet_transactions/object_spec.rb
Original file line number Diff line number Diff line change
Expand Up @@ -9,7 +9,7 @@

it { is_expected.to have_field(:amount).of_type('String!') }
it { is_expected.to have_field(:credit_amount).of_type('String!') }
it { is_expected.to have_field(:invoice_require_successful_payment).of_type('Boolean!') }
it { is_expected.to have_field(:invoice_requires_successful_payment).of_type('Boolean!') }
it { is_expected.to have_field(:status).of_type('WalletTransactionStatusEnum!') }
it { is_expected.to have_field(:transaction_status).of_type('WalletTransactionTransactionStatusEnum!') }
it { is_expected.to have_field(:transaction_type).of_type('WalletTransactionTransactionTypeEnum!') }
Expand Down
2 changes: 1 addition & 1 deletion spec/graphql/types/wallets/object_spec.rb
Original file line number Diff line number Diff line change
Expand Up @@ -28,7 +28,7 @@

it { is_expected.to have_field(:recurring_transaction_rules).of_type('[RecurringTransactionRule!]') }

it { is_expected.to have_field(:invoice_require_successful_payment).of_type('Boolean!') }
it { is_expected.to have_field(:invoice_requires_successful_payment).of_type('Boolean!') }

it { is_expected.to have_field(:created_at).of_type('ISO8601DateTime!') }
it { is_expected.to have_field(:expiration_at).of_type('ISO8601DateTime') }
Expand Down
Loading