Migrates user page to SSR
This commit is contained in:
@@ -1,15 +1,19 @@
|
||||
(ns auto-ap.ssr.company
|
||||
(:require
|
||||
[auto-ap.datomic :refer [conn]]
|
||||
[auto-ap.datomic :refer [conn pull-attr]]
|
||||
[auto-ap.datomic.clients :refer [full-read]]
|
||||
[auto-ap.solr :as solr]
|
||||
[auto-ap.ssr-routes :as ssr-routes]
|
||||
[auto-ap.ssr.components :as com]
|
||||
[auto-ap.ssr.svg :as svg]
|
||||
[auto-ap.ssr.ui :refer [base-page]]
|
||||
[bidi.bidi :as bidi]
|
||||
[cemerick.url :as url]
|
||||
[clojure.set :as set]
|
||||
[clojure.string :as str]
|
||||
[config.core :refer [env]]
|
||||
[datomic.api :as dc]
|
||||
[auto-ap.ssr-routes :as ssr-routes]
|
||||
[bidi.bidi :as bidi]))
|
||||
[ring.middleware.json :refer [wrap-json-response]]))
|
||||
|
||||
(defn please-select-client-screen* []
|
||||
[:div.grid.grid-cols-3
|
||||
@@ -66,3 +70,19 @@
|
||||
(main-content* {:client (:client request)}))
|
||||
"My Company"))
|
||||
|
||||
(defn search [{:keys [clients query-params]}]
|
||||
(let [valid-client-ids (set (map :db/id clients))
|
||||
name-like-ids (when (not-empty (get query-params "q"))
|
||||
(set (map (comp #(Long/parseLong %) :id)
|
||||
(solr/query solr/impl "clients"
|
||||
{"query" (format "_text_:(%s*)" (str/upper-case (solr/escape (get query-params "q"))))
|
||||
"fields" "id"
|
||||
"limit" 300}))))
|
||||
valid-clients (for [n name-like-ids
|
||||
:when (valid-client-ids n)]
|
||||
{"id" n "text" (pull-attr (dc/db conn) :client/name n)}
|
||||
)]
|
||||
{:body {"results" valid-clients}}))
|
||||
|
||||
(def search (wrap-json-response search))
|
||||
|
||||
|
||||
Reference in New Issue
Block a user