Comee::Core::Engine.routes.draw do
  post "/login", controller: :access, action: :login
  get "/notifications/unread", controller: :notifications, action: :unread
  get "/notifications/read", controller: :notifications, action: :read
  resources :notifications, only: [:index] do
    member do
      post "mark_as_read", controller: :notifications, action: :mark_as_read
      post "mark_as_unread", controller: :notifications, action: :mark_as_unread
    end
  end
  resources :contacts
  resources :suppliers do
    collection do
      post "filter"
    end
  end
  resources :products do
    collection do
      post "master_prices"
      post "client_prices"
      post "filter"
      get "categories"
    end
  end
  resources :product_lookups do
    collection do
      post "filter"
    end
  end

  resources :lookups
  resources :quotation_requests do
    collection do
      post "filter"
      post "create_with_items", controller: :quotation_requests, action: :create_request_with_items
    end
    member do
      post "submit"
      post "submit_for_confirmation"
      post "confirm"
      post "convert"
    end
  end
  resources :quotation_request_items do
    collection do
      post "filter"
      post "cancel"
    end
  end
  resources :external_rfqs
  resources :customer_orders do
    member do
      post "submit"
      post "submit_for_confirmation"
      post "accept"
      post "cancel"
    end
    collection do
      post "filter"
      post "create_with_items"
    end
  end
  resources :customer_order_items do
    collection do
      post "filter"
      post "cancel"
    end
  end
  resources :currencies
  resources :units do
    collection do
      post "filter"
    end
  end
  resources :unit_conversions
  resources :users
  resources :clients do
    member do
      get "rfq_products", controller: :quotation_requests, action: :rfq_products_for_client
      get "prices", controller: :client_prices, action: :fetch_for_client
      get "consignees"
      get "agents"
      get "shipment_items", controller: :shipment_items, action: :filter_for_client
      post "create_agent"
      post "create_contact"
      post "price", controller: :client_prices, action: :fetch_one
      post "product_lookup", controller: :product_lookups, action: :fetch_one
    end
    collection do
      post "filter"
    end
  end
  resources :agents
  resources :client_prices do
    member do
      post "extend_validity"
      post "approve"
    end
    collection do
      post "filter"
    end
  end
  post "/back_orders/filter", controller: :back_orders, action: :filter
  resources :back_orders do
    member do
      post "submit"
    end
  end
  resources :sales_order_items, except: [:index] do
    member do
      post "suggest", controller: :sales_order_items, action: :suggest_values
      post "cancel"
      post "activate"
    end
  end
  resources :shipment_items do
    collection do
      post "filter_with_status"
      post "filter"
    end
  end
  post "/sales_orders/filter", controller: :sales_orders, action: :filter
  resources :sales_orders do
    collection do
      post "create_back_order", action: :create_back_order
    end
    member do
      get "items", controller: :sales_order_items, action: :index
      post "submit"
      post "confirm"
      post "cancel"
    end
  end
  resources :customs_details
  resources :item_statuses do
    collection do
      post "filter"
    end
  end
  resources :fulfillment_centers

  resources :client_warehouses
end