7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
|
# File 'app/services/spree_cm_commissioner/inventory_items/bulk_adjust_quantities_on_hold.rb', line 7
def call(inventory_id_and_quantities:, caller_source: nil)
CmAppLogger.log(
label: "#{self.class.name}#call started",
data: {
caller_source: caller_source,
inventory_id_and_quantities: inventory_id_and_quantities
}
)
ActiveRecord::Base.transaction do
inventory_items(inventory_id_and_quantities).each do |inventory_item|
quantity = inventory_id_and_quantities.find { |item| item[:inventory_id] == inventory_item.id }&.dig(:quantity) || 0
adjust_quantity_on_hold(inventory_item, quantity, caller_source)
end
end
success(nil)
end
|