diff options
Diffstat (limited to 'app/controllers')
-rw-r--r-- | app/controllers/resources_controller.rb | 42 |
1 files changed, 42 insertions, 0 deletions
diff --git a/app/controllers/resources_controller.rb b/app/controllers/resources_controller.rb index 1253b5d..d7fd822 100644 --- a/app/controllers/resources_controller.rb +++ b/app/controllers/resources_controller.rb @@ -1,13 +1,55 @@ class ResourcesController < ApplicationController + before_action :set_resource, only: [:new, :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 |