working on solr stuff.
This commit is contained in:
@@ -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 "Z+AOjQU9M4SwKVU2meYtyNxXtz1Axu/9xohvteXf"
|
||||
:aws-access-key-id "AKIAINHACMVQJ6NYD26A"
|
||||
:aws-secret-access-key "FwdL4TbIC/5H/4mwhQy4iSI/eSewyPgfS1EEt6tL"
|
||||
: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"}}
|
||||
|
||||
@@ -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));
|
||||
|
||||
@@ -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 _]
|
||||
|
||||
@@ -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")
|
||||
|
||||
@@ -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)))
|
||||
|
||||
|
||||
|
||||
@@ -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"
|
||||
|
||||
@@ -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)))))))))))
|
||||
|
||||
|
||||
Reference in New Issue
Block a user