aboutsummaryrefslogtreecommitdiff
path: root/src/cashflow/routes.clj
blob: 3420327d971a076657bf491f58e0be7cecc8186a (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
(ns cashflow.routes
  (:require [reitit.ring :as rring]
            [ring.util.response :as ruresp]
            [ring.middleware.params :as rmparams]
            [cashflow.frontend.transactions.one-time :as cftone-time]
            [cashflow.frontend.transactions.recurring :as cftrecurring]))

(def routes [["/static/*" (rring/create-resource-handler)]

             ["/" {:get {:handler (fn [& _] (ruresp/redirect "/transactions/one-time/" 308))}}]

             ["/transactions"
              ["/one-time"
               ["/" {:get {:handler cftone-time/handle-get}
                     :post {:handler cftone-time/handle-post}}]
               ["/{year}/{month}/" {:get {:handler cftone-time/handle-get}}]
               ["/{id}/" {:delete {:handler cftone-time/handle-delete}}]]
              ["/recurring"
               ["/" {:get {:handler cftrecurring/handle-get}
                     :post {:handler cftrecurring/handle-post}}]
               ["/{id}/" {:delete {:handler cftrecurring/handle-delete}}]]]])

(def ring-handler (-> routes
                      (rring/router {:middleware []})
                      rring/ring-handler
                      rmparams/wrap-params))