working on solr stuff.

This commit is contained in:
Bryce
2023-06-06 21:08:19 -07:00
parent d2cb0763d7
commit de6c6b3031
7 changed files with 268 additions and 321 deletions

View File

@@ -7,8 +7,8 @@
:system "dev"}
:db-name "prod-migration2"
:jwt-secret "auto ap invoices are awesome"
:aws-access-key-id "AKIAJIS67OSJARD2E6VQ"
:aws-secret-access-key "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"
:aws-access-key-id "AKIAINHACMVQJ6NYD26A"
:aws-secret-access-key "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"
:aws-region "us-east-1"
:datomic-url "datomic:dev://localhost:4334/dev2"
:invoice-import-queue-url "https://sqs.us-east-1.amazonaws.com/679918342773/integreat-mail-staging"
@@ -17,7 +17,7 @@
:scheduled-jobs-queue-url "https://sqs.us-east-1.amazonaws.com/679918342773/integreat-scheduled-jobs-prod"
:invoice-email "invoices-staging@mail.app.integreatconsult.com"
:import-failure-destination-email "bryce@brycecovertoperations.com"
:data-bucket "data.staging.app.integreatconsult.com"
:data-bucket "data.dev.app.integreatconsult.com"
:plaid {:base-url "https://sandbox.plaid.com"
:client-id "61bfab05f7e762001b323f79"
:secret-key "f902743e6f4cef86b7f3b51141aeea"}
@@ -41,88 +41,6 @@
:yodlee2-client-secret "8I0mmq1wmAWSSpr9"
:yodlee2-base-url "https://sandbox.api.yodlee.com/ysl"
:yodlee2-fastlink "https://fl4.sandbox.yodlee.com/authenticate/restserver/fastlink"
:square-config {"NGE1"
{:square-location "SCX0Y8CTGM1S0",
:location "UC",
:token "EAAAEO2xSqesDutZz71hz3eulKmrlKTiEqG3uZ4j25x5GYlOluQ2cj2JxNUXqXD7"},
"NGOP"
{:square-location "L3GMNBFARX9GG",
:location "OP",
:token "EAAAEO2xSqesDutZz71hz3eulKmrlKTiEqG3uZ4j25x5GYlOluQ2cj2JxNUXqXD7"},
"NGDG"
{:square-location "LQTHXQY69MYB6",
:location "DB",
:token "EAAAEO2xSqesDutZz71hz3eulKmrlKTiEqG3uZ4j25x5GYlOluQ2cj2JxNUXqXD7"},
"NGPG"
{:square-location "AMQ0NPA8FGDEF",
:location "SZ",
:token "EAAAEO2xSqesDutZz71hz3eulKmrlKTiEqG3uZ4j25x5GYlOluQ2cj2JxNUXqXD7"},
"NGEZ"
{:square-location "L0Z167T2T7W7F",
:location "JS",
:token "EAAAEO2xSqesDutZz71hz3eulKmrlKTiEqG3uZ4j25x5GYlOluQ2cj2JxNUXqXD7"},
"NGLK"
{:square-location "LRC7WVD77ZM81",
:location "SM",
:token "EAAAEO2xSqesDutZz71hz3eulKmrlKTiEqG3uZ4j25x5GYlOluQ2cj2JxNUXqXD7"},
"NGA1"
{:square-location "FZ3ZYC77T3W1T",
:location "KA",
:token "EAAAEO2xSqesDutZz71hz3eulKmrlKTiEqG3uZ4j25x5GYlOluQ2cj2JxNUXqXD7"},
"NGKG"
{:square-location "8JT71V8XGYAT3",
:location "NB",
:token "EAAAEO2xSqesDutZz71hz3eulKmrlKTiEqG3uZ4j25x5GYlOluQ2cj2JxNUXqXD7"},
"NGEB"
{:square-location "LEV4GM1JPJS6R",
:location "CV",
:token "EAAAEO2xSqesDutZz71hz3eulKmrlKTiEqG3uZ4j25x5GYlOluQ2cj2JxNUXqXD7"},
"NGGG"
{:square-location "L7S9MXZBJ00HY",
:location "LM",
:token "EAAAEO2xSqesDutZz71hz3eulKmrlKTiEqG3uZ4j25x5GYlOluQ2cj2JxNUXqXD7"},
"NGRV"
{:square-location "L0J45VZKHWXVR",
:location "RV",
:token "EAAAEO2xSqesDutZz71hz3eulKmrlKTiEqG3uZ4j25x5GYlOluQ2cj2JxNUXqXD7"},
"NGSM"
{:square-location "LG5X0MHA4NZDM",
:location "SM",
:token "EAAAEO2xSqesDutZz71hz3eulKmrlKTiEqG3uZ4j25x5GYlOluQ2cj2JxNUXqXD7"},
"NGZO"
{:square-location "KMVFQ9CRCXJ10",
:location "VT",
:token "EAAAEO2xSqesDutZz71hz3eulKmrlKTiEqG3uZ4j25x5GYlOluQ2cj2JxNUXqXD7"},
"NGWL"
{:square-location "LSWNP14T0YKD9",
:location "WL",
:token "EAAAEO2xSqesDutZz71hz3eulKmrlKTiEqG3uZ4j25x5GYlOluQ2cj2JxNUXqXD7"},
"NGMJ"
{:square-location "FNH5VRT890WK8",
:location "SC",
:token "EAAAEO2xSqesDutZz71hz3eulKmrlKTiEqG3uZ4j25x5GYlOluQ2cj2JxNUXqXD7"},
"NGHG"
{:square-location "LXJCAHYGZVNEJ",
:location "DC",
:token "EAAAEO2xSqesDutZz71hz3eulKmrlKTiEqG3uZ4j25x5GYlOluQ2cj2JxNUXqXD7"},
"NGVZ"
{:square-location "ACNTYY8WVZ6DV",
:location "NP",
:token "EAAAEO2xSqesDutZz71hz3eulKmrlKTiEqG3uZ4j25x5GYlOluQ2cj2JxNUXqXD7"},
"NGAK"
{:square-location "2RVBYER6QSV7W",
:location "MH",
:token "EAAAEO2xSqesDutZz71hz3eulKmrlKTiEqG3uZ4j25x5GYlOluQ2cj2JxNUXqXD7"},
"NGGH"
{:square-location "LT322EK0S2TRD",
:location "FM",
:token "EAAAEO2xSqesDutZz71hz3eulKmrlKTiEqG3uZ4j25x5GYlOluQ2cj2JxNUXqXD7"}
"20TY"
{:square-location "L2579ATQ0X1ET",
:location "WG",
:token "EAAAEEr749Ea6AdPTdngsmUPwIM3ETbPwcx3QQl_NS0KWuIL-JNzAg4f3W9DGQhb"}}
:intuit {:client-id "ABBAQI0qeck149vEC1e8tV6b3YJNujOCdwsUMkJ1ZoptzumyYu"
:client-secret "7DriIEend1K9RHlzhupIxPFQozXHELLfeFW2GfTR"
:redirect-uri "https://developer.intuit.com/v2/OAuth2Playground/RedirectUrl"}}

View File

@@ -1224,14 +1224,14 @@ input:checked + .toggle-bg {
margin-top: 0.5rem;
}
.mt-5 {
margin-top: 1.25rem;
}
.mt-4 {
margin-top: 1rem;
}
.mt-5 {
margin-top: 1.25rem;
}
.block {
display: block;
}
@@ -1364,6 +1364,10 @@ input:checked + .toggle-bg {
max-width: 42rem;
}
.max-w-lg {
max-width: 32rem;
}
.max-w-screen-2xl {
max-width: 1536px;
}
@@ -1372,10 +1376,6 @@ input:checked + .toggle-bg {
max-width: 1024px;
}
.max-w-lg {
max-width: 32rem;
}
.flex-1 {
flex: 1 1 0%;
}
@@ -1564,24 +1564,18 @@ input:checked + .toggle-bg {
margin-bottom: calc(0.75rem * var(--tw-space-y-reverse));
}
.space-y-6 > :not([hidden]) ~ :not([hidden]) {
--tw-space-y-reverse: 0;
margin-top: calc(1.5rem * calc(1 - var(--tw-space-y-reverse)));
margin-bottom: calc(1.5rem * var(--tw-space-y-reverse));
}
.space-y-8 > :not([hidden]) ~ :not([hidden]) {
--tw-space-y-reverse: 0;
margin-top: calc(2rem * calc(1 - var(--tw-space-y-reverse)));
margin-bottom: calc(2rem * var(--tw-space-y-reverse));
}
.space-y-4 > :not([hidden]) ~ :not([hidden]) {
--tw-space-y-reverse: 0;
margin-top: calc(1rem * calc(1 - var(--tw-space-y-reverse)));
margin-bottom: calc(1rem * var(--tw-space-y-reverse));
}
.space-y-6 > :not([hidden]) ~ :not([hidden]) {
--tw-space-y-reverse: 0;
margin-top: calc(1.5rem * calc(1 - var(--tw-space-y-reverse)));
margin-bottom: calc(1.5rem * var(--tw-space-y-reverse));
}
.divide-y > :not([hidden]) ~ :not([hidden]) {
--tw-divide-y-reverse: 0;
border-top-width: calc(1px * calc(1 - var(--tw-divide-y-reverse)));
@@ -1719,6 +1713,11 @@ input:checked + .toggle-bg {
background-color: rgb(204 235 251 / var(--tw-bg-opacity));
}
.bg-blue-300 {
--tw-bg-opacity: 1;
background-color: rgb(102 196 242 / var(--tw-bg-opacity));
}
.bg-blue-500 {
--tw-bg-opacity: 1;
background-color: rgb(0 156 234 / var(--tw-bg-opacity));
@@ -1774,6 +1773,11 @@ input:checked + .toggle-bg {
background-color: rgb(242 248 234 / var(--tw-bg-opacity));
}
.bg-red-100 {
--tw-bg-opacity: 1;
background-color: rgb(255 205 205 / var(--tw-bg-opacity));
}
.bg-red-50 {
--tw-bg-opacity: 1;
background-color: rgb(255 230 230 / var(--tw-bg-opacity));
@@ -1793,16 +1797,6 @@ input:checked + .toggle-bg {
background-color: rgb(253 246 178 / var(--tw-bg-opacity));
}
.bg-red-100 {
--tw-bg-opacity: 1;
background-color: rgb(255 205 205 / var(--tw-bg-opacity));
}
.bg-blue-300 {
--tw-bg-opacity: 1;
background-color: rgb(102 196 242 / var(--tw-bg-opacity));
}
.bg-opacity-50 {
--tw-bg-opacity: 0.5;
}
@@ -2545,16 +2539,16 @@ input:checked + .toggle-bg {
background-color: rgb(24 36 9 / var(--tw-bg-opacity));
}
:is(.dark .dark\:bg-yellow-900) {
--tw-bg-opacity: 1;
background-color: rgb(99 49 18 / var(--tw-bg-opacity));
}
:is(.dark .dark\:bg-red-900) {
--tw-bg-opacity: 1;
background-color: rgb(51 1 1 / var(--tw-bg-opacity));
}
:is(.dark .dark\:bg-yellow-900) {
--tw-bg-opacity: 1;
background-color: rgb(99 49 18 / var(--tw-bg-opacity));
}
:is(.dark .dark\:bg-opacity-80) {
--tw-bg-opacity: 0.8;
}
@@ -2604,6 +2598,11 @@ input:checked + .toggle-bg {
color: rgb(175 211 130 / var(--tw-text-opacity));
}
:is(.dark .dark\:text-red-300) {
--tw-text-opacity: 1;
color: rgb(255 104 104 / var(--tw-text-opacity));
}
:is(.dark .dark\:text-red-400) {
--tw-text-opacity: 1;
color: rgb(255 53 53 / var(--tw-text-opacity));
@@ -2619,11 +2618,6 @@ input:checked + .toggle-bg {
color: rgb(250 202 21 / var(--tw-text-opacity));
}
:is(.dark .dark\:text-red-300) {
--tw-text-opacity: 1;
color: rgb(255 104 104 / var(--tw-text-opacity));
}
:is(.dark .dark\:placeholder-gray-400)::-moz-placeholder {
--tw-placeholder-opacity: 1;
color: rgb(156 163 175 / var(--tw-placeholder-opacity));

View File

@@ -44,12 +44,14 @@
extract)]))
(defn extract-sheet-details [bucket object]
(doto
(-> (lambda/invoke {:function-name "xls-extractor" :payload
(json/write-str
{"s3_url" object "s3_bucket" bucket})})
:payload
slurp
json/read-str))
json/read-str)
println))
(defn parse-file
[file _]

View File

@@ -35,6 +35,7 @@
(map vector headers r)))))
(defn map->sales-order [r clients]
(println r)
(let [order-number (get r "Order Number")
event-date (get r "Event Date")
store-name (get r "Store Name")

View File

@@ -203,3 +203,34 @@
(index-documents impl index [i])))
(defrecord InMemSolrClient [data-set-atom]
SolrClient
(index-documents [this index xs]
(swap! data-set-atom
(fn [data-set]
(reduce
(fn [data-set x]
(let [thing (datomic->solr x)]
(update data-set index conj [(str/join " " (vals x)) thing])))
data-set
xs)))
nil)
(index-documents-raw [this index xs]
(swap! data-set-atom
(fn [data-set]
(reduce
(fn [data-set x]
(update data-set index conj [(str/join " " (vals x)) x]))
data-set
xs))))
(query [this index q]
(filter
(fn [[x e]]
(str/includes? x (get q "query")))
(get @data-set-atom index)))
(delete [this index]
(swap! data-set-atom dissoc index)))

View File

@@ -8,7 +8,9 @@
(use-fixtures :each wrap-setup)
(deftest test-account-search
#_(deftest test-account-search
(with-redefs [auto-ap.solr/impl (auto-ap.solr/->InMemSolrClient (atom {}))]
(testing "It should find matching account names"
@(dc/transact conn [{:account/name "Food Research"
:db/ident :client-specific-account
@@ -17,16 +19,15 @@
:account/applicability :account-applicability/global
:account/default-allowance :allowance/allowed}])
(sut/rebuild-search-index)
(clojure.pprint/pprint auto-ap.solr/impl)
(is (> (count (sut/search {:id (admin-token)}
{:query "Food Research"}
nil
))
nil))
0)))
(testing "It should find exact matches by numbers"
(is (= (count (sut/search {:id (admin-token)}
{:query "51100"}
nil
))
nil))
1)))
(testing "It should filter out accounts that are not allowed for clients"
@(dc/transact conn [{:account/name "CLIENT SPECIFIC"
@@ -38,8 +39,7 @@
(sut/rebuild-search-index)
(is (= [] (sut/search {:id (admin-token)}
{:query "CLIENTSPECIFIC"}
nil
)))
nil)))
(testing "It should show up for the client specific version"
(let [client-id (-> @(dc/transact conn [{:client/name "CLIENT"
@@ -141,7 +141,7 @@
{:query "VENDORONLY"
:allowance :invoice
:vendor_id vendor-id}
nil))))))))
nil)))))))
(deftest get-graphql
(testing "should retrieve a single account"
@@ -160,7 +160,7 @@
(dissoc (first (:accounts (sut/get-graphql {:id (admin-token)} {} nil)))
:id
:type
:default_allowance)))))
:default_allowance)))))))
(deftest upsert-account
(testing "should create a new account"

View File

@@ -9,6 +9,7 @@
(use-fixtures :each wrap-setup)
(deftest stream->sales-orders
(with-redefs [auto-ap.solr/impl (auto-ap.solr/->InMemSolrClient (atom {}))]
(testing "Should import nothing when there are no clients"
(with-open [s (io/input-stream (io/resource "sample-ezcater.xlsx"))]
(is (= [:missing "Nick The Greek (Santa Cruz)"] (first (sut/stream->sales-orders s))))))
@@ -54,5 +55,5 @@
:location "DT"
:returns 0.0}
(last (first (filter (comp #{:order} first)
(sut/stream->sales-orders s))))))))))
(sut/stream->sales-orders s)))))))))))