1
0
mirror of https://github.com/LaCasemate/fab-manager.git synced 2024-12-01 12:24:28 +01:00
fab-manager/app/services/plans_service.rb
Sylvain e3187460ea create payment schedules on payzen
Also: make generic the creation of products on remote gateway
Also: make generic the call to gateway specific actions
2021-04-30 16:07:19 +02:00

28 lines
720 B
Ruby

# frozen_string_literal: true
# Provides methods for Plan & PartnerPlan actions
class PlansService
class << self
def create(type, partner, params)
if params[:group_id] == 'all'
plans = type.constantize.create_for_all_groups(params)
return false unless plans
plans.each { |plan| partner.add_role :partner, plan } unless partner.nil?
{ plan_ids: plans.map(&:id) }
else
plan = type.constantize.new(params)
if plan.save
partner&.add_role :partner, plan
plan
else
puts plan.errors
{ errors: plan.errors }
end
end
rescue PaymentGatewayError => e
{ errors: e.message }
end
end
end