Rails.application.routes.draw do

  resources :refund_records
  resources :rmas do
    member do
      get :handle_rma
      get :remark
    end
    collection do
      get :new_to_nt
      post :done
      post :remark_it
    end
  end

  # 核心板相关的发货管理
  resources :board_shipping_boxes do
    collection do
      post :prepare_shipping
    end
    member do
      # 添加产品到发货箱中
      post :add_product
      delete :remove_product
      get :shipping
      post :deliver
    end
  end

  resources :shipping_boxes do
    collection do
      post :prepare_shipping
    end
    member do
      post :add_product
      delete :remove_product
      get :shipping
      post :deliver
    end
  end
  resources :products
  resources :clients
  resources :orders
  resources :materiels

  root 'pages#home_index'
  get '/admin' => "admin#index"
  get '/user_not_enabled' => "admin#user_not_enabled"
  get '/admin/overview' => "admin#overview"
  get '/settings' => "settings#index"
  post '/settings' => "settings#update"
  get '/settings/new_role' => "settings#new_role"
  post '/settings/roles' => "settings#create_role"
  delete '/settings/roles/:role_id' => "settings#destroy_role"
  post '/settings/toggle_role_permission' => "settings#toggle_role_permission"
  get '/account' => "admin#account"
  get '/account/edit' => "admin#account_edit"
  get '/account/password' => "admin#password"
  put '/account/password' => "admin#update_password"
  get '/jumbotron' => "device_logs#jumbotron"
  get '/qrcode/shipping_box_scan'       => 'qrcode#shipping_box_scan'

  resources :device_logs do
    member do
      get :histories
    end
    collection do
      get :tests
      get :test_histories
      get :test_history_log
      post :export_tests
    end
  end

  get 'pages/about_us'
  get 'pages/about_us_mobile'
  get 'pages/contact_us'
  get 'pages/product_search'
  get 'pages/product_info/:sn' => "pages#product_info"

  resources :hardwares do
    member do
      get :test_logs
    end
  end

  resources :users do
    member do
      put :reset_password
      put :toggle_enable
    end
  end
  devise_for :users, :path => '', :path_names => {:sign_in => 'login', :sign_out => 'logout'}

  namespace :customer do
    root 'home#index'
    resources :products do
      collection do
        get :search
      end
    end
    resources :orders, only: [:index, :show] do
      member do
        get :shipping_box
      end
    end
  end

  namespace :api do
    namespace :v1 do
      post "/timesync" => "devices#create"
      get  "/device_tests" => "device_tests#show"
      post "/device_tests" => "device_tests#create"
      post "/device_test_items" => "device_tests#log_test_item"
      post "/log_aging_test" => "device_tests#log_aging_test"
      get "/users" => "users#index"
      post "/users/login" => "users#login"
      post "/users" => "users#create"
      get "/report" => "reports#show"
      post "/reports" => "reports#create"
      post "/mac_register" => "mac_register#create"
    end

    namespace :v2 do
      get "customer" => "customer#index"
      get "customer_orders" => "customer_orders#index"
      get "customer_orders/:id" => "customer_orders#show"
      post "/reports" => "reports#create"
    end
  end

end
