From 4ab492d7593aab33939b8dc40d98d357741ca758 Mon Sep 17 00:00:00 2001 From: Bryce Covert Date: Wed, 23 Sep 2020 11:47:18 -0700 Subject: [PATCH] making routes real --- src/clj/auto_ap/handler.clj | 10 +++++++-- src/cljc/auto_ap/client_routes.cljc | 34 +++++++++++++++++++++++++++++ src/cljs/auto_ap/routes.cljs | 34 ++--------------------------- 3 files changed, 44 insertions(+), 34 deletions(-) create mode 100644 src/cljc/auto_ap/client_routes.cljc diff --git a/src/clj/auto_ap/handler.clj b/src/clj/auto_ap/handler.clj index 62021f61..e19a6fd4 100644 --- a/src/clj/auto_ap/handler.clj +++ b/src/clj/auto_ap/handler.clj @@ -19,7 +19,9 @@ [ring.middleware.params :refer [wrap-params]] [ring.middleware.reload :refer [wrap-reload]] [ring.util.response :as response] - [unilog.context :as lc])) + [unilog.context :as lc] + [auto-ap.client-routes :as client-routes] + [bidi.bidi :as bidi])) (when (:aws-access-key-id env) (defcredential (:aws-access-key-id env) (:aws-secret-access-key env) (:aws-region env))) @@ -33,7 +35,11 @@ (defroutes static-routes (GET "/" [] (response/resource-response "index.html" {:root "public"})) (route/resources "/") - (routes (ANY "*" [] (response/resource-response "index.html" {:root "public"})))) + (routes (ANY "*" {:keys [path] :as r} + (if (bidi/match-route client-routes/routes (:uri r)) + (response/resource-response "index.html" {:root "public"}) + {:status 404 + :body "Not found"})))) (defroutes health-check (GET "/health-check" [] diff --git a/src/cljc/auto_ap/client_routes.cljc b/src/cljc/auto_ap/client_routes.cljc new file mode 100644 index 00000000..d5701fbd --- /dev/null +++ b/src/cljc/auto_ap/client_routes.cljc @@ -0,0 +1,34 @@ +(ns auto-ap.client-routes + (:require [bidi.bidi :as bidi])) + +(def routes ["/" {"" :index + "login/" :login + "needs-activation/" :needs-activation + "needs-activation" :needs-activation + "payments/" :payments + "admin/" {"" :admin + "clients" :admin-clients + "users" :admin-users + "rules" :admin-rules + "accounts" :admin-accounts + "reminders" :admin-reminders + "vendors" :admin-vendors + "excel-import" :admin-excel-import + "yodlee" :admin-yodlee} + "invoices/" {"" :invoices + "import" :import-invoices + "unpaid" :unpaid-invoices + "paid" :paid-invoices + "voided" :voided-invoices + "new" :new-invoice} + "sales-orders/" {"" :sales-orders} + "transactions/" {"" :transactions + "unapproved" :unapproved-transactions + "approved" :approved-transactions + "requires-feedback" :requires-feedback-transactions + + "excluded" :excluded-transactions} + "ledger/" {"" :ledger + "profit-and-loss" :profit-and-loss + "balance-sheet" :balance-sheet + "external-import" :external-import-ledger}}]) diff --git a/src/cljs/auto_ap/routes.cljs b/src/cljs/auto_ap/routes.cljs index 7d510145..1fafbd01 100644 --- a/src/cljs/auto_ap/routes.cljs +++ b/src/cljs/auto_ap/routes.cljs @@ -1,34 +1,4 @@ (ns auto-ap.routes - (:require [bidi.bidi :as bidi])) + (:require [auto-ap.client-routes :as client-routes])) -(def routes ["/" {"" :index - "login/" :login - "needs-activation/" :needs-activation - "needs-activation" :needs-activation - "payments/" :payments - "admin/" {"" :admin - "clients" :admin-clients - "users" :admin-users - "rules" :admin-rules - "accounts" :admin-accounts - "reminders" :admin-reminders - "vendors" :admin-vendors - "excel-import" :admin-excel-import - "yodlee" :admin-yodlee} - "invoices/" {"" :invoices - "import" :import-invoices - "unpaid" :unpaid-invoices - "paid" :paid-invoices - "voided" :voided-invoices - "new" :new-invoice} - "sales-orders/" {"" :sales-orders} - "transactions/" {"" :transactions - "unapproved" :unapproved-transactions - "approved" :approved-transactions - "requires-feedback" :requires-feedback-transactions - - "excluded" :excluded-transactions} - "ledger/" {"" :ledger - "profit-and-loss" :profit-and-loss - "balance-sheet" :balance-sheet - "external-import" :external-import-ledger}}]) +(def routes client-routes/routes)