From c22c5ba9fe31e188fce3d1fce4d4d2191b8bf16a Mon Sep 17 00:00:00 2001 From: Bryce Covert Date: Wed, 29 Sep 2021 18:04:07 -0700 Subject: [PATCH] new locations --- config/prod-background-worker.edn | 7 +- scratch-sessions/temp.clj | 214 +++++++++++++++++++++++++++++ src/clj/auto_ap/routes/queries.clj | 39 ++---- src/clj/user.clj | 123 ++++++++++++++++- 4 files changed, 356 insertions(+), 27 deletions(-) diff --git a/config/prod-background-worker.edn b/config/prod-background-worker.edn index 878dba81..f757c3a8 100644 --- a/config/prod-background-worker.edn +++ b/config/prod-background-worker.edn @@ -95,6 +95,10 @@ {:square-location "ACNTYY8WVZ6DV", :location "NP", :token "EAAAEO2xSqesDutZz71hz3eulKmrlKTiEqG3uZ4j25x5GYlOluQ2cj2JxNUXqXD7"}, + "NGVO" + {:square-location "LTGBD7NDCFD36", + :location "VO", + :token "EAAAEO2xSqesDutZz71hz3eulKmrlKTiEqG3uZ4j25x5GYlOluQ2cj2JxNUXqXD7"} "NGAK" {:square-location "2RVBYER6QSV7W", :location "MH", @@ -106,5 +110,4 @@ "20TY" {:square-location "L2579ATQ0X1ET", :location "WG", - :token "EAAAEEr749Ea6AdPTdngsmUPwIM3ETbPwcx3QQl_NS0KWuIL-JNzAg4f3W9DGQhb"}} - } + :token "EAAAEEr749Ea6AdPTdngsmUPwIM3ETbPwcx3QQl_NS0KWuIL-JNzAg4f3W9DGQhb"}}} diff --git a/scratch-sessions/temp.clj b/scratch-sessions/temp.clj index 5c51cb83..fcc719c2 100644 --- a/scratch-sessions/temp.clj +++ b/scratch-sessions/temp.clj @@ -467,3 +467,217 @@ sx (d/pull (d/db conn) '[* {:invoice/status [:db/ident]} ] 17592240679462) + + +(def my-other-set + (set + ["Bsj8zSJLhYfBGYl42u9onKkeV" + "vBQ3tOGdjj6KIVapfuMMNkleV" + "CBFtMr7cPqrvq3LFqF1lcbcr0zbZY" + "BGwIDJQcuIPVp2GLu30leFAfV" + "DV1nf3Lx78HCiG4fMGzhuBoeV" + "RAtIC1Kz3MrojHxrUNROkHyeV" + "1W7Caow6Aynr6FIg6OjhZtzeV" + "6vMokGcoHp2lKeN2gG0ZfVWHZAUZY" + "gkVqvQB0idwG9E3e9jCzhzaUxhJZY" + "4MD2BW5Qoodfy2TEhrhDmxJeWfOZY" + "yPeoYCJztU3hOj4IIMfgeZqjnIfZY" + "oUB5nJQnb1RRkYvFy6b5WSHBDQZZY" + "yfwdGRT9ZKzCBSGRdsBTtqXZ9jWZY" + "Rcx70uv8SVR1dz5JkI8YZCleV" + "0oobKSaRtgpoIk6DFUHWnNiE1Y6YY" + "ydhE5PHyxfHRM9Zig7z1clHC0CKZY" + "Sp9Jy6iklgEC8wHld7WwdY1A8sLZY" + "JclkCNxqm0MbngUyvGD4O1keV" + "WbvGqOoGWUsoy2FA44EDv6YrU0UZY" + "doQZOXfWgbKomwPSuHSUsUreV" + "1ASPapG6bV5dbEDjAkCHgi0eV" + "CtNSISjjj2y9D5h4oa1ClJ8QFhWZY" + "ytx2QbZmOh1wA56K9RjGCsCOl65YY" + "E4g7hAZDso6RHQf5rTj7YYAxQkCZY" + "c8UhaSbWAoCkVI9AMHBvroqIKcUZY" + "2DNlbJwLVH1Zhtnuex5KYZJgJWIZY" + "mJUdRyKMU4yanZNnPzI4KbAQ9mcZY" + "ZEfTvPs0Ojhyl1mVtiD4iLmeV" + "JodDdbMbZbhH7cjipbshElmeV" + "RchpFNzbpnmurZNvEMfqqT7eV" + "HXZHsWbN7oM1Ad2XrYG7TgneV" + "5GgnDDXVahiPkxlCiRhwhEseV" + "UOxmIQCicTCzu4iXhipk3ATO4rBZY" + "A6CfxlWcCKYoqYOoZKXsxIb1LtGZY" + "qJff1DJyMkdOO3w8CQtyk8JBVkDZY" + "l2Tuh7tuzwlcXR9RMznlaKneV" + "rbQu4ahKIPYZEswUaxdTYPmeV" + "dYWe7mTaTL21OVHqTHlpkoveV" + "6HQwOES3M3sebg7aHA2kBBKdzOfZY" + "EGPjtFhk3ZfrXGLlrqcU4ATsdHQZY" + "jfwoeIa1tSyEJGaKO66nLtleV" + "2ftQGWeatEKQuq4kYo0s5UOJf8QZY" + "L32oDHTooH04nVee4KxUOs1eV" + "2Fs2ILclotx4urEF6nbnZkBvC0AZY" + "tEW7O0u7WYrpWs8cRJIi7HAfV" + "Rq83DL5RaUo8F3ssZOEdTRzeV" + "YEBDzdA9Q7MnoKB2QZUUBgSwL9SZY" + "AekV8pJUj0IUnyhSLhdoMEV3ZgSZY" + "C9XLY0V2iQolQCw2ZDPR1NKcd2aZY" + "OVeOuUUZM74n3FNhLAMtANo7qRMZY" + "alZzXCYuEQ3CwpIdb3tJWNr6lIZZY" + "AKkw9cLXB3ElcRJC0uMUqIugbHeZY" + "rvAZeRm2ndIXGyR25c1FmI3eV" + "ipvUAHfqno17qMkSbyvPZ9UnIsXZY" + "Bmgwp2G71UAxoIPVbHyASjqeV" + "tY8fzdqgUuIrHKKn553Z9w9eV" + "WZg7Gpqt1BngUoidbj94vM0BjD8YY" + "1qrvlraW5eULeUAwVlwTXOAfV" + "Jw1h9kt66Su4SH2unKC13M0eV" + "sYQmuTeKq2ZmwbyKihLyHaMhbYTZY" + "MKVWBj3V6wzCMXdlQ6GjWciNppBZY" + "RgDn8f4BH8P6zOHURueOnZzeV" + "CHYxKp6RNtLNivoBuw8SAWmVJwYZY" + "R8hrw6UdXFSAAbzlfVrQWwreV" + "vRGWNAUf9zwPeiUIGnBXM57eV" + "wSIuZ01BD8q21ldGRxngbm7IrbXZY" + "lUe2KBtFGNvmtqRJ5lH3wF2eV" + "rrGzZBGYeupr1N66SpiKVR6eV" + "kyZ70CTvLJZYy2JBgQHrrP9TdKCZY" + "hoPT5Q6FGFyMU0u7uYxdbaseV" + "kIENLF39suSOks9SGjTJ1xMOWDfZY" + "bFnrxD7MjkUvJRGYOpE6GNgeV" + "ntQ5KD5MWfdDe1pnVgVQtM0eV" + "Pxgdmp58TJGUeE3GGm7KNHveV" + "vRkdz1GmZt0cscQB9ho4hj9eV" + "Im0EC0G4no6f0RnkASLcXh8mcR9YY" + "zPwM9UOeXqLPvU1oa3mRCz3eV" + "sEaE8dO4HX8ksHs6hdMyPal43D9YY" + "tAimSXtgI8Eh1rH9PX0eSvjeV" + "ZQdXrz4cdYFUu8Jz20kAPf9eV" + "16vV9PDy1Curw4SOid45avmeV" + "YIvRzxJdPH7zRbMr7J1C4oP5MLRZY" + "f9iRwhZoM4NbdWWbj18hBj5eV" + "N4uIjsHvio7zGTdfD57zoTzeV" + "jLwZEk8DwnzRH3D8moMKpvmeV" + "xUhz7xcT837WgUSGHAtvM9neV" + "ztdtsd7I9DtsJXQWTDIGfJ0eV" + "vNyfGGzDAwtV3n7UyyjC4CneV" + "Jo5x7G4a4NGQ1loxqA0rGOueV" + "vjLyqZHtSnEzNa1TsEscc5heV" + "UufTPUwjmczvLUXdqGJKDMsclfTZY" + "Vk0L0SzC4VJSIJpmLisLU76eV" + "k2PX9irWoxgUSRF8xzBzm2iPtODZY" + "kOZ2pyYxDsER8Wk5uaMaW6tO4cCZY" + "X5qdSCAlqnISsnib6uGprH3eV" + "jDANpM0VYDMLnwbgE0RTo90eV" + "idxqrmyKpLBLmxIyvIc61LuaiNTZY" + "dCveEvPFYJXTJNkiP0kVmrneV" + "in0rGzWrEWVefaB6RAqm3Ry8ukdZY" + "hauaBHwn1lsOaLvGzn63mEueV" + "9upOpnryJcdzFfzpvMd4m17eV" + "NeLvGBlVagiitD3f8k1PQA5eV" + "TxL9j1v1ofhsb94PUDMJyKleV" + "9ImWb0TEPB1hYwiFHVst4g2eV" + "BiKMirH38kSQ5o3jPIWOy4weV" + "fzHAx5m8Ch9weMEMGQbARhheV" + "JANt7ex4eBmmjZ9Wi1vpILgeV" + "65DtGODM81tOo2c4S5LgdICHJWdZY" + "rPILFhv1tT4SfkmO6YKXD80eV" + "qVB3cqIoM5TL9K1PCfXm6vVXFScZY" + "DTuiQYzGPVZA0LqacYfnZFveV" + "XjzvSAoyxwUPAHxyCB56jHueV" + "d8gaBzmbHWLMynPCvVOSViteV" + "Yq2KkuRdNHFp4yh4FlS4Zz3m1WJZY" + "HfRjhczw7EibYA8CnDhTpnueV" + "nfhpKujldjFhHW0PRRhpKureV" + "p4tZ6uM7u6vSkQ1mtgrh7I2eV" + "SHWolfXO0MMF5CPsiK2dD50CDl7YY" + "7DYuemUQl4zDeQqwIR3i2greV" + "nHHWqrAXH0z9ICUTuKaHrE0eV" + "nPvqpIfnLN5Ja6sESGWWzM7eV" + "bZ5rHVyqEP6IjnmaVaosRMjeV" + "qJ7Vzqi41jaIgTUOtLXNPHJxOTcZY" + "0QugWhClLiHkr96m8M06hlS4d4BZY" + "KlToOBjxOyddwGIRfXgViyfut8WZY" + "lQmRZdEWg2Ip9gcS5MEgj7eeV" + "TbgDirp4ugkPUN1c8AZpBx0eV" + "TBD9pa9KTXDojJeRI5La0bweV" + "WnRaHxLgvTMijfrgL13XyREYK3eZY" + "Rcx1TRs6WbA2YBuaJ4agq2peV" + "6tV52gMQYdo45NoJQXwpkfOV9RCZY" + "xUHoo5BhX9PoMN2SeDNqbekeV" + "1UcplezXuW0BixA5JSVOcQoeV" + "hueFrQFdXvbarFwttJIHnJpeV" + "L74QHTT903E37Zgu48kI64qeV" + "McgzDxRo3UF2WjhoMzJwrRM4jkcZY" + "79PpJ0kqZE7C3Uu1U2EGWT8eV" + "HRMkJOwawAFNbjfDhUCSgO5eV" + "7RptH2ZN0rZId7sAfWScQc2eV" + "Sd3f3tnn1XRM0Z7McXz31nrqYSYZY" + "rvohcJVk1ddcbAFeGjIRGHoeV" + "ByuKSnr7zwUtAcxk1Cx4XjheV" + "M6z1FGrvsmzaM1c2BWWx3nhlO6QZY" + "FiFu2q2FkoTYDd2O7aBRBYveV" + "WRI5ixKmHAl14NSqaxvPdK8mUvcZY" + "HTLlGG1fAuPMAzEg5r3dBKueV" + "37fb62AyNagTKba75PtZ5uueV" + "h4pkh8Fkh7MgM9tLh9UP0xheV" + "CdL3xoGOosCKM29ufZDimEneGIHZY" + "9qBrllh8izz5pORbeEe508teV" + "CNLPz0wBVVWUoGxED1LUv3m2irWZY" + "jfa5AEfdZALtkJ1NgIBPN5neV" + "nlgNTP8vi86UIwjgYsHkAzgeV" + "2XTX30n8oIo5CIWDUaybBSIRGoFZY" + "Y8j0ulnTpZO4nIvSeR0KidXpSzLZY" + "CpPocrDqcP5Ipke249hlbCC4hmAZY" + "yfuu1W0X152bc3JRSP5kKOsBkdAZY" + "40jAlPDdzEvsj78dpGqXkVtG7THZY" + "LFbbtrPe80pVrg7AnSdj5yjeV" + "R2EMjYIch4pC3v6rUW55n5yeV" + "yLSL6l92hHVrtRBth0qoLSyI1veZY" + "cyrtbxISed5RQccxaxn7ElpeR9OZY" + "lUYHwJY8RwJ9BcsJIY4O6LreV" + "OlWkVmNcuhtRSyuiyFa2Zkya23UZY" + "3dWYpB3cSqO4DKjpQBSS6N9eV" + "c6duaM91lGGNQ5Mv5Y3z6I9QkeQZY" + "GV8sWQyJalTFqwSTMunz9ayBE9OZY" + "vXHz4kDUJ2330VBdtMHa4soeV" + "TpBUg9ZW11f529Hk3HBtaJseV" + "8WprF5WnadpQbl1pYREGuEz3LxFZY" + "PXbj9eoSJk0TxiNlBoAvViveV" + "Wx4JIAaRG261xio8yNEbPhaMbL6YY" + "qdngYY7eeqkEn4OsQWZ2YXvboXFZY" + "d2x2sGHout5s0T7Ovmmfq3teV" + "vL1dKZtH3i76B6I1xq2Q4CweV" + "LTWt7GoNyi9GsUKxocssORAfV" + "088a70M6EISmGmAQWZ70iUKH7pAZY" + "2H7l6i6j49Wtl0KIdApPNfQm1e8YY" + ])) + +(clojure.set/difference + + my-other-set + (->> (d/q '[:find ?ext-id + :with ?s + :in $ + :where + [?s :sales-order/client [:client/code "NGVZ"]] + [?s :sales-order/date ?d] + [(clj-time.coerce/to-date-time ?d) ?d2] + [(auto-ap.time/localize ?d2) ?d3] + [(auto-ap.time/unparse-local ?d3 auto-ap.time/normal-date) ?d4] + [(= "09/16/2021" ?d4)] + [?s :sales-order/external-id ?ext-id]] + (d/db conn)) + (map first) + (map (fn [d] (last (str/split d #"-")))) + set) + ) + +(clojure.pprint/pprint (seq (:returns (:order (order "jfwoeIa1tSyEJGaKO66nLtleV"))))) + + + +(lc/with-context {:source "Historical loading data"} + (doseq [d (clj-time.periodic/periodic-seq (time/plus (time/now) (time/days -20)) + (time/now) + (time/days 1))] + (upsert d)) + (log/info "Done loading historical data")) diff --git a/src/clj/auto_ap/routes/queries.clj b/src/clj/auto_ap/routes/queries.clj index 26beae29..0cf9008d 100644 --- a/src/clj/auto_ap/routes/queries.clj +++ b/src/clj/auto_ap/routes/queries.clj @@ -53,37 +53,28 @@ (into [(d/db conn)] (clojure.edn/read-string (get query-params "args" "[]"))))))))) +(defn put-query [id body note] + (s3/put-object :bucket-name (:data-bucket env) + :key (str "queries/" id) + :input-stream (io/make-input-stream (.getBytes body) {}) + :metadata {:content-type "application/text" + :user-metadata {:note note}}) + {:body {:query body + :id id + :results-url (str "/api/queries/" id "/results") + :csv-results-url (str "/api/queries/" id "/results/csv") + :json-results-url (str "/api/queries/" id "/results/json")}}) + (def json-routes (context "/queries" [] (POST "/" {:keys [query-params identity] :as request} (assert-admin identity) - (let [uuid (str (UUID/randomUUID)) - body (body-string request)] - (s3/put-object :bucket-name (:data-bucket env) - :key (str "queries/" uuid) - :input-stream (io/make-input-stream (.getBytes body) {}) - :metadata {:content-type "application/text" - :user-metadata {:note (query-params "note")}}) - {:body {:query body - :id uuid - :results-url (str "/api/queries/" uuid "/results") - :csv-results-url (str "/api/queries/" uuid "/results/csv") - :json-results-url (str "/api/queries/" uuid "/results/json")}}) - - ) + (log/info "Note" (query-params "note")) + (put-query (str (UUID/randomUUID)) (body-string request) (query-params "note"))) (PUT "/:query-id" {:keys [query-params identity params] :as request} (assert-admin identity) (log/info "Note" (query-params "note")) - (let [body (body-string request)] - (s3/put-object :bucket-name (:data-bucket env) - :key (str "queries/" (:query-id params)) - :input-stream (io/make-input-stream (.getBytes body) {}) - :metadata {:content-type "application/text" - :user-metadata {:note (query-params "note")}}) - {:body {:query body - :id (:query-id params) - :csv-results-url (str "/api/queries/" (:query-id params) "/results/csv") - :json-results-url (str "/api/queries/" (:query-id params) "/results/json")}})) + (put-query (:query-id params) (body-string request) (query-params "note"))) (GET "/:query-id" {:keys [query-params identity params]} (assert-admin identity) (let [{:keys [query-id]} params diff --git a/src/clj/user.clj b/src/clj/user.clj index 24b7086d..dfc8d293 100644 --- a/src/clj/user.clj +++ b/src/clj/user.clj @@ -12,8 +12,10 @@ [clj-time.core :as t] [clojure.java.io :as io] [clojure.string :as str] + [auto-ap.routes.queries :as q] [amazonica.aws.s3 :as s3]) - (:import [org.apache.commons.io.input BOMInputStream])) + (:import [org.apache.commons.io.input BOMInputStream] + java.util.UUID)) (defn mark-until-date [client end] (let [conn (d/connect uri)] @@ -472,3 +474,122 @@ (fn [e] (println "failed " e))) (async/