Files
openfoodnetwork/app/services/permitted_attributes/order_cycle.rb

45 lines
1.2 KiB
Ruby

# frozen_string_literal: true
module PermittedAttributes
class OrderCycle
def initialize(params)
@params = params
end
def call
return {} if @params[:order_cycle].blank?
@params.require(:order_cycle).permit(attributes)
end
def self.basic_attributes
[
:name, :orders_open_at, :orders_close_at, :coordinator_id,
:preferred_product_selection_from_coordinator_inventory_only,
:automatic_notifications,
{ schedule_ids: [], selected_distributor_payment_method_ids: [],
selected_distributor_shipping_method_ids: [], coordinator_fee_ids: [] }
]
end
private
def attributes
self.class.basic_attributes + [incoming_exchanges: permitted_exchange_attributes,
outgoing_exchanges: permitted_exchange_attributes]
end
def permitted_exchange_attributes
[
:id, :sender_id, :receiver_id, :enterprise_id, :incoming, :active,
:select_all_variants, :receival_instructions,
:pickup_time, :pickup_instructions,
:tag_list,
{ tags: [:text],
enterprise_fee_ids: [],
variants: {} }
]
end
end
end