From c22c34ff16a4d6cd82d035aad284d085ede49629 Mon Sep 17 00:00:00 2001 From: Simon Brooke Date: Fri, 14 Sep 2018 22:20:28 +0100 Subject: [PATCH] Closer, but still not recording requests. --- project.clj | 1 + src/clj/youyesyet/db/core.clj | 5 +++++ src/clj/youyesyet/routes/rest.clj | 14 +++++++------- src/cljs/youyesyet/canvasser_app/handlers.cljs | 13 +++++++++---- 4 files changed, 22 insertions(+), 11 deletions(-) diff --git a/project.clj b/project.clj index 2623248..ff9aa7d 100644 --- a/project.clj +++ b/project.clj @@ -36,6 +36,7 @@ [org.webjars/bootstrap "4.1.2"] [org.webjars/font-awesome "5.1.0"] [org.webjars.bower/tether "1.4.4"] + [postgre-types "0.0.4"] [re-frame "0.10.5"] [reagent "0.8.1"] [reagent-utils "0.3.1"] diff --git a/src/clj/youyesyet/db/core.clj b/src/clj/youyesyet/db/core.clj index 0cd74b0..033ec72 100644 --- a/src/clj/youyesyet/db/core.clj +++ b/src/clj/youyesyet/db/core.clj @@ -6,6 +6,7 @@ [conman.core :as conman] [hugsql.core :as hugsql] [mount.core :refer [defstate]] + [postgre-types.json :refer [add-json-type add-jsonb-type]] [youyesyet.config :refer [env]]) (:import org.postgresql.util.PGobject java.sql.Array @@ -23,6 +24,10 @@ :driver-class-name "org.postgresql.Driver"}) :stop (conman/disconnect! *db*)) +(add-json-type generate-string parse-string) +(add-jsonb-type generate-string parse-string) + + (conman/bind-connection *db* "sql/queries.auto.sql" "sql/queries.sql") (hugsql/def-sqlvec-fns "sql/queries.auto.sql") diff --git a/src/clj/youyesyet/routes/rest.clj b/src/clj/youyesyet/routes/rest.clj index 6e948b0..a9d5390 100644 --- a/src/clj/youyesyet/routes/rest.clj +++ b/src/clj/youyesyet/routes/rest.clj @@ -102,17 +102,17 @@ [request] (let [last-visit (last-visit-by-current-user request) params (massage-params request)] + (log/debug "rest/current-visit-id: type of address_id is: " (type (:address_id params))) (if (= - (:address_id params) - (:address_id last-visit)) + (:address_id params) + (:address_id last-visit)) (:id last-visit) (db/create-visit! - db/*db* - (assoc - params - :canvasser_id (-> request :session :user :id) - :date (jt/to-sql-timestamp (jt/local-date-time))))))) + db/*db* + {:address_id (:address_id params) + :canvasser_id (-> request :session :user :id) + :date (jt/to-sql-timestamp (jt/local-date-time))})))) (defn create-intention-and-visit! diff --git a/src/cljs/youyesyet/canvasser_app/handlers.cljs b/src/cljs/youyesyet/canvasser_app/handlers.cljs index 18c0662..409c515 100644 --- a/src/cljs/youyesyet/canvasser_app/handlers.cljs +++ b/src/cljs/youyesyet/canvasser_app/handlers.cljs @@ -540,10 +540,15 @@ (fn [db [_ response]] (case (:status response) - (400 403 500) - (do - (js/console.log "Server responded " (:status response) " - " (:response response) "; not requeueing") - (assoc db :error (:response response))) + (400 403 404 500) + (let [error (str + "Transmission failed " + (:status response) + " - " + (:response response) + "; not requeueing")] + (js/console.log error) + (assoc (clear-messages db) :error error)) ;; default (do (js/console.log (str "Transmission failed (" response "), requeueing" (:tx-item db)))