Migrates user page to SSR

This commit is contained in:
2023-10-12 21:55:37 -07:00
parent c00940fcbf
commit d9fec54062
16 changed files with 542 additions and 33 deletions

View File

@@ -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))