aboutsummaryrefslogtreecommitdiff
path: root/app/controllers/resources_controller.rb
blob: 75fcedf7336eaaf5e66c19cae0b20adac5cdb18f (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
class ResourcesController < ApplicationController
  before_action :set_resource, only: [:new, :show, :edit, :update, :delete, :destroy]

  # GET /resources
  def index
    @resources = Resource.order(:uuid).page params[:page]
  end

  # GET /resources/new
  def new
  end

  # POST /resources
  def create
    # Check list:
    # 1. UUID is not set, or not known
    # 2. Agent is correct
    # 3. Name, Description, Phone, Email, etc. do not yield results
    # 4. Background job to validate fields and save
    # 5. Or Background job to list similar items
    # 6. Return to user with new record or list of mergeable ones
  end

  # GET /resources/:id
  def show
  end

  # GET /resources/:id/edit
  def edit
  end

  # PATCH /resources/:id
  def update
    # Check list:
    # 1. Compare records for changes
    # 2. Validate each change
    # 3. Moderate queue or save
  end

  # GET /resources/:id/delete
  def delete
  end

  # DELETE /resources/:id
  def destroy
    # Check list
    # 1. User belongs to Agent and is :maintainer?
  end

  private

  def set_resource
    @resource = Resource.find_by(uuid: params[:id]) || Resource.new
  end
end