writes as csv.
This commit is contained in:
@@ -12,12 +12,20 @@
|
|||||||
[auto-ap.logging :refer [error-event info-event warn-event]]
|
[auto-ap.logging :refer [error-event info-event warn-event]]
|
||||||
[clj-time.coerce :as coerce :refer [to-date]]
|
[clj-time.coerce :as coerce :refer [to-date]]
|
||||||
[clj-time.core :as time]
|
[clj-time.core :as time]
|
||||||
|
[clojure.data.csv :as csv]
|
||||||
[config.core :refer [env]]
|
[config.core :refer [env]]
|
||||||
[compojure.core :refer [context defroutes GET wrap-routes routes]]
|
[compojure.core :refer [context defroutes GET wrap-routes routes]]
|
||||||
[datomic.api :as d]
|
[datomic.api :as d]
|
||||||
[ring.middleware.json :refer [wrap-json-response]]
|
[ring.middleware.json :refer [wrap-json-response]]
|
||||||
[venia.core :as venia]
|
[venia.core :as venia]
|
||||||
[yang.time :refer [time-it]]))
|
[yang.time :refer [time-it]]))
|
||||||
|
(defn wrap-csv-response [handler]
|
||||||
|
(fn [request]
|
||||||
|
(let [response (handler request)]
|
||||||
|
(println response)
|
||||||
|
(update response :body #(with-open [w (java.io.StringWriter.)]
|
||||||
|
(csv/write-csv w %)
|
||||||
|
(.toString w))))))
|
||||||
|
|
||||||
(def api-key-authed-routes
|
(def api-key-authed-routes
|
||||||
(context "/" []
|
(context "/" []
|
||||||
@@ -238,10 +246,9 @@
|
|||||||
(log/info "Executing raw query " (get query-params "query" ))
|
(log/info "Executing raw query " (get query-params "query" ))
|
||||||
(into (list) (apply d/q (clojure.edn/read-string (get query-params "query" )) (into [(d/db conn)] (clojure.edn/read-string (get query-params "args" "[]"))))))))
|
(into (list) (apply d/q (clojure.edn/read-string (get query-params "query" )) (into [(d/db conn)] (clojure.edn/read-string (get query-params "args" "[]"))))))))
|
||||||
(defroutes export-routes
|
(defroutes export-routes
|
||||||
(wrap-routes
|
(routes
|
||||||
(routes
|
(wrap-routes api-key-authed-routes
|
||||||
api-key-authed-routes
|
wrap-csv-response)
|
||||||
|
|
||||||
(wrap-routes admin-only-routes wrap-secure))
|
(wrap-routes (wrap-routes admin-only-routes wrap-secure)
|
||||||
|
wrap-json-response)))
|
||||||
wrap-json-response))
|
|
||||||
|
|||||||
Reference in New Issue
Block a user