Files
integreat/src/cljc/auto_ap/ssr_routes.cljc

104 lines
6.5 KiB
Clojure

(ns auto-ap.ssr-routes
(:require
[auto-ap.routes.admin.excel-invoices :as ei-routes]
[auto-ap.routes.admin.import-batch :as ib-routes]
[auto-ap.routes.indicators :as indicator-routes]
[auto-ap.routes.admin.vendors :as v-routes]
[auto-ap.routes.outgoing-invoice :as oi-routes]
[auto-ap.routes.payments :as p-routes]
[auto-ap.routes.invoice :as i-routes]
[auto-ap.routes.admin.clients :as ac-routes]
[auto-ap.routes.admin.sales-summaries :as ss-routes]
[auto-ap.routes.admin.transaction-rules :as tr-routes]))
(def routes {"impersonate" :impersonate
"logout" :logout
"search" :search
"indicators" indicator-routes/routes
"account" {"/search" {:get :account-search}}
"admin" {"" :auto-ap.routes.admin/page
"/client" ac-routes/routes
"/history" {"" :admin-history
"/" :admin-history
#"/search/?" :admin-history-search
["/" [#"\d+" :entity-id] #"/?"] :admin-history
["/inspect/" [#"\d+" :entity-id] #"/?"] :admin-history-inspect}
"/user" {"" {:get :users
:put :user-edit-save}
"/client/new" :user-client-new
"/table" :user-table
"/impersonate" :user-impersonate
["/" [#"\d+" :db/id] "/edit"] {:get :user-edit-dialog}}
"/account" {"" {:get :admin-accounts
:put :admin-account-save
:post :admin-account-save}
"/table" :admin-account-table
"/new" {:get :admin-account-new-dialog}
["/" [#"\d+" :db/id] "/edit"] :admin-account-edit-dialog
"/override/new" :admin-account-client-override-new}
"/background-job" {"" {:get :admin-jobs
:post :admin-job-start}
"/table" :admin-job-table
"/new" {:get :admin-job-start-dialog}
"/subform" :admin-job-subform}
"/vendor" v-routes/routes
"/ezcater-xls" :admin-ezcater-xls
"/import-batch" ib-routes/routes
"/transaction-rule" tr-routes/routes
"/excel-invoice" ei-routes/routes}
"transaction" {"/insights" {"" :transaction-insights
"/table" :transaction-insight-table
["/code/" [#"\d+" :transaction-id]] {:post :transaction-insight-code}
["/disapprove/" [#"\d+" :transaction-id]] {:delete :transaction-insight-disapprove}
["/rows/" [#"\d+" :after]] {:get :transaction-insight-rows}
["/explain/" [#"\d+" :transaction-id]] {:get :transaction-insight-explain}}}
"pos" {"/summaries" ss-routes/routes
"/sales" {"" {:get :pos-sales}
"/table" {:get :pos-sales-table}}
"/expected-deposit" {"" {:get :pos-expected-deposits}
"/table" {:get :pos-expected-deposit-table}}
"/tenders" {"" {:get :pos-tenders}
"/table" {:get :pos-tender-table}}
"/refunds" {"" {:get :pos-refunds}
"/table" {:get :pos-refund-table}}
"/cash-drawer-shifts" {"" {:get :pos-cash-drawer-shifts}
"/table" {:get :pos-cash-drawer-shift-table}}}
"outgoing-invoice" oi-routes/routes
"payment" p-routes/routes
"invoice" i-routes/routes
"vendor" {"/search" :vendor-search}
;; TODO Include IDS in routes for company-specific things, as opposed to headers
"company" {"" :company
"/dropdown" :company-dropdown-search-results
"/signature" {"/put" :company-update-signature}
"/search" :company-search
"/bank-account/typeahead" :bank-account-typeahead
["/" [#"\d+" :db/id] "/bank-account"] {"/search" :bank-account-search}
"/active" {:put :active-client}
"/active-group" {:put :active-client-group}
"/1099" :company-1099
"/1099/table" {:get :company-1099-vendor-table}
"/1099/vendor-dialog" {["/" [#"\d+" :vendor-id]] {:get :company-1099-vendor-dialog
:post :company-1099-vendor-save}}
"/reports" {"" {:get :company-reports
:delete :company-reports-delete}
"/table" :company-reports-table}
"/yodlee" {"" {:get :company-yodlee}
"/table" {:get :company-yodlee-table}
"/fastlink" {:get :company-yodlee-fastlink-dialog}
"/refresh" {:put :company-yodlee-provider-account-refresh}
"/reauthenticate" {:put :company-yodlee-provider-account-reauthenticate}}
"/plaid" {"" {:get :company-plaid}
"/table" {:get :company-plaid-table}
"/link" {:post :company-plaid-link}
"/relink" {:put :company-plaid-relink}
#_#_"/fastlink" {:get :company-yodlee-fastlink-dialog}
#_#_"/refresh" {:put :company-yodlee-provider-account-refresh}}}})
(def only-routes ["/" routes])