(ns __resource__.__action__
  (:require [coast :refer [first! flash pull q delete redirect rescue url-for]]))

(defn action [{:keys [params] :as req}]
  (let [[_ errors] (-> (q '[:select __resource__/id]
                           [:where [:__resource__/id (:id params)]])
                       (first!)
                       (delete)
                       (rescue))]
    (if (nil? errors)
      (redirect (url-for :__resource__.list/view))
      (-> (redirect (url-for :__resource__.list/view))
          (flash "Something went wrong!")))))
