mirror of
https://github.com/openfoodfoundation/openfoodnetwork
synced 2026-03-11 03:40:20 +00:00
Add api payment method
It will be used to credit customer via the customer account transaction API
This commit is contained in:
@@ -5170,3 +5170,6 @@ en:
|
||||
invisible_captcha:
|
||||
sentence_for_humans: "Please leave empty"
|
||||
timestamp_error_message: "Please try again after 5 seconds."
|
||||
api_payment_method:
|
||||
name: API customer credit
|
||||
description: Used to credit customer via customer account transactions endpoint
|
||||
|
||||
@@ -0,0 +1,33 @@
|
||||
# frozen_string_literal: true
|
||||
|
||||
class AddApiCustomerCreditPaymentMethod < ActiveRecord::Migration[7.1]
|
||||
def up
|
||||
# Create payment method
|
||||
execute(<<-SQL.squish
|
||||
INSERT INTO spree_payment_methods ( type, name, description, environment, active, display_on, created_at, updated_at)
|
||||
VALUES ('Spree::PaymentMethod::Check', 'api_payment_method.name', 'api_payment_method.description', '#{Rails.env}', true, 'back_end', NOW(), NOW())
|
||||
SQL
|
||||
)
|
||||
|
||||
# Link to existing hub
|
||||
execute(<<-SQL.squish
|
||||
INSERT INTO distributors_payment_methods (distributor_id, payment_method_id, created_at, updated_at)
|
||||
SELECT id, (SELECT id FROM spree_payment_methods WHERE name = 'api_payment_method.name') as payment_method_id, NOW() as created_at, NOW() as updated_at
|
||||
FROM enterprises WHERE sells != 'none'
|
||||
SQL
|
||||
)
|
||||
end
|
||||
|
||||
def down
|
||||
execute(<<-SQL.squish
|
||||
DELETE FROM distributors_payment_methods
|
||||
WHERE payment_method_id = (SELECT id FROM spree_payment_methods WHERE name = 'api_payment_method.name')
|
||||
SQL
|
||||
)
|
||||
|
||||
execute(<<-SQL.squish
|
||||
DELETE FROM spree_payment_methods WHERE name = 'api_payment_method.name'
|
||||
SQL
|
||||
)
|
||||
end
|
||||
end
|
||||
@@ -10,7 +10,7 @@
|
||||
#
|
||||
# It's strongly recommended that you check this file into your version control system.
|
||||
|
||||
ActiveRecord::Schema[7.1].define(version: 2026_01_19_024509) do
|
||||
ActiveRecord::Schema[7.1].define(version: 2026_01_29_230557) do
|
||||
# These are extensions that must be enabled in order to support this database
|
||||
enable_extension "pg_stat_statements"
|
||||
enable_extension "plpgsql"
|
||||
|
||||
@@ -14,6 +14,7 @@ module SampleData
|
||||
distributors.each do |enterprise|
|
||||
create_payment_methods(enterprise)
|
||||
end
|
||||
create_api_method(distributors)
|
||||
end
|
||||
|
||||
private
|
||||
@@ -45,5 +46,16 @@ module SampleData
|
||||
payment_method.calculator = calculator
|
||||
payment_method.save!
|
||||
end
|
||||
|
||||
def create_api_method(enterprises)
|
||||
log "Creating api payment method"
|
||||
Spree::PaymentMethod::Check.create!(
|
||||
name: "api_payment_method.name",
|
||||
description: "api_payment_method.description",
|
||||
environment: Rails.env,
|
||||
distributors: enterprises,
|
||||
display_on: "back_end"
|
||||
)
|
||||
end
|
||||
end
|
||||
end
|
||||
|
||||
Reference in New Issue
Block a user