mirror of
https://github.com/openfoodfoundation/openfoodnetwork
synced 2026-03-12 03:50:22 +00:00
35 lines
1001 B
Ruby
35 lines
1001 B
Ruby
# frozen_string_literal: true
|
|
|
|
module Api
|
|
module V1
|
|
class CustomerAccountTransactionController < Api::V1::BaseController
|
|
def create
|
|
authorize! :create, CustomerAccountTransaction
|
|
|
|
default_params = {
|
|
currency: CurrentConfig.get(:currency), created_by: current_api_user
|
|
}
|
|
parameters = default_params.merge(customer_account_transaction_params).merge(description: )
|
|
transaction = CustomerAccountTransaction.new(parameters)
|
|
|
|
if transaction.save
|
|
render json: Api::V1::CustomerAccountTransactionSerializer.new(transaction),
|
|
status: :created
|
|
else
|
|
invalid_resource! transaction
|
|
end
|
|
end
|
|
|
|
private
|
|
|
|
def customer_account_transaction_params
|
|
params.require(:customer_account_transaction).permit(:customer_id, :amount, :description)
|
|
end
|
|
|
|
def description
|
|
I18n.t(".api_customer_credit", description: params[:description])
|
|
end
|
|
end
|
|
end
|
|
end
|