module Swapz
  module Mongodb
    module Repository
      class Item
      
        def build(attributes = {})
          Swapz::Mongodb::Model::Item.new(attributes)
        end
    
        def all(params)
          Swapz::Mongodb::Model::Item.category_id(params[:category_id]).searched(params[:search]).filtered(params[:filter])
        end
    
        def create(attributes = {})
          Swapz::Mongodb::Model::Item.create(attributes)
        end
    
        def update(id, params)
          Swapz::Mongodb::Model::Item.find(id).update_attributes(params)
        end
    
        def find(id)
          Swapz::Mongodb::Model::Item.find(id)
        end
    
        def deactivate(id)
          Swapz::Mongodb::Model::Item.find(id).deactivate
        end
      
        def permit(params)
          params.require(:item).permit!
        end
      end
    end
  end
end