require_relative "./csrf.rb" require_relative "./auth.rb" class LifePex::Systems::RecallSystem < LifePex::Systems::AuthSystem include LifePex::Systems::CrlfHelper get "/recalls", auth: [] do recalls = current_user.recalls slim :recalls, locals: { recalls: recalls } end get "/recalls/new", auth: [] do pexs = current_user.pexs slim :recall_form, locals: { pexs: pexs } end post "/recalls", auth: [] do flash = {} if !LifePex::Pex.where(user_id: current_user_id, id: params["pex_id"]).first flash[:danger] = "Invalid pex" else recall = LifePex::Recall.new( user_id: current_user_id, pex_id: params["pex_id"], name: params["name"], span_duration: params["span_duration"], repeated: params["repeated"], ).save flash[:success] = "Recall #{recall.name} created" end recalls = current_user.recalls slim :recalls, locals: { recalls: recalls, flash: flash } end post "/recalls/delete", auth: [] do recall = LifePex::Recall.where(user_id: current_user_id, id: params["id"]).first flash = {} if recall recall.destroy flash[:success] = "Recall #{recall.name} removed" else flash[:danger] = "Recall do not exists" end recalls = current_user.recalls slim :recalls, locals: { recalls: recalls, flash: flash } end end