Rails.application.routes.draw do
  get  "sign_in", to: "sessions#new"
  post "sign_in", to: "sessions#create"
  get  "sign_up", to: "registrations#new"
  post "sign_up", to: "registrations#create"
  resources :sessions, only: [ :index, :show, :destroy ]
  resource  :password, only: [ :edit, :update ]
  namespace :identity do
    resource :email,              only: [ :edit, :update ]
    resource :email_verification, only: [ :show, :create ]
    resource :password_reset,     only: [ :new, :edit, :create, :update ]
  end
  resources :jobs, only: [ :index, :new, :create ] do
    member do
      patch "cancel"
      get "cancel_button"
      get "badge"
    end
  end
  resource :profile, only: [ :show, :edit, :destroy ]
  namespace :admin do
    resources :users, only: [ :index, :show, :update ]
    resources :jobs, only: [ :index ]
    resource :dashboard, only: [ :show ]
  end
  namespace :operator do
    resources :jobs do
      member do
        patch "increment_page", :din
        patch "decrement_page", :din
      end
    end
  end
  get "home", to: "home#index"
  # Define your application routes per the DSL in https://guides.rubyonrails.org/routing.html

  # Reveal health status on /up that returns 200 if the app boots with no exceptions, otherwise 500.
  # Can be used by load balancers and uptime monitors to verify that the app is live.
  get "up" => "rails/health#show", as: :rails_health_check

  # Render dynamic PWA files from app/views/pwa/*
  get "service-worker" => "rails/pwa#service_worker", as: :pwa_service_worker
  get "manifest" => "rails/pwa#manifest", as: :pwa_manifest

  # Defines the root path route ("/")
  root "jobs#index"
end
