sorting out dependencies. untested.

This commit is contained in:
Bryce Covert
2020-12-23 13:17:27 -08:00
parent ff09faefb0
commit a46b58fe00
3 changed files with 46 additions and 73 deletions

View File

@@ -6,11 +6,12 @@
:username "datomic@brycecovertoperations.com"
:password "9a382afc-d119-44db-83c2-98d8057d7666"}}
:dependencies [[org.clojure/clojure "1.9.0"]
[org.clojure/clojurescript "1.10.764"]
[postgresql/postgresql "9.3-1102.jdbc41"]
[com.datomic/datomic-pro "0.9.5703" :exclusions [com.google.guava/guava org.apache.httpcomponents/httpclient]]
[com.datomic/datomic-pro "0.9.5703"
:exclusions [com.google.guava/guava
org.apache.httpcomponents/httpclient
org.slf4j/jul-to-slf4j
org.slf4j/log4j-over-slf4j]]
[compojure "1.6.1" :exclusions [ring]]
[kibu/pushy "0.3.8"]
[bidi "2.1.2"]
[ring/ring-defaults "0.2.1"]
[mount "0.1.16"]
@@ -25,43 +26,46 @@
org.eclipse.jetty/jetty-server]]
[yogthos/config "0.8"]
[dk.ative/docjure "1.12.0"]
[org.clojure/java.jdbc "0.7.3"]
[clj-fuzzy "0.4.1"]
[honeysql "0.9.2"]
[com.walmartlabs/lacinia "0.25.0"]
;; https://mvnrepository.com/artifact/postgresql/postgresql
[vincit/venia "0.2.5"]
[postgresql/postgresql "9.3-1102.jdbc41"]
[digest "1.4.8"]
[nilenso/honeysql-postgres "0.2.4"]
[cljs-http "0.1.44"]
[clj-http "3.7.0" :exclusions [org.apache.httpcomponents/httpclient org.apache.httpcomponents/httpcore]]
[clj-pdf "2.2.33"]
[org.clojure/core.async "0.3.465"]
[fogus/ring-edn "0.3.0"]
[buddy/buddy-auth "2.1.0"]
[buddy/buddy-sign "2.1.0"]
[buddy/buddy-auth "2.1.0"
:exclusions [com.fasterxml.jackson.dataformat/jackson-dataformat-cbor
com.fasterxml.jackson.core/jackson-core]]
[nrepl "0.6.0" :exclusions [org.clojure/tools.logging]]
[org.clojure/tools.logging "1.1.0"]
[ch.qos.logback/logback-classic "1.2.3"]
[ch.qos.logback.contrib/logback-jackson "0.1.5"]
[ch.qos.logback.contrib/logback-json-classic "0.1.5"]
[spootnik/unilog "0.7.24"]
[spootnik/unilog "0.7.24"
:exclusions [com.fasterxml.jackson.core/jackson-core
com.fasterxml.jackson.core/jackson-databind]]
[clj-time "0.14.3"]
[io.forward/clojure-mail "1.0.7"]
[ring/ring-json "0.4.0" :exclusions [cheshire]]
[com.cemerick/url "0.1.1"]
[bk/ring-gzip "0.3.0"]
[cider/cider-nrepl "0.21.1"]
[amazonica "0.3.121"
:exclusions [com.amazonaws/aws-java-sdk
com.amazonaws/amazon-kinesis-client]]
[com.amazonaws/aws-java-sdk-core "1.11.600"]
[com.amazonaws/aws-java-sdk-ses "1.11.600"]
[com.amazonaws/aws-java-sdk-sqs "1.11.600"]
[com.amazonaws/aws-java-sdk-s3 "1.11.600"]
[com.amazonaws/aws-java-sdk-dynamodb "1.11.600"]
[com.amazonaws/aws-java-sdk-core "1.11.600"
:exclusions [commons-codec
commons-logging]]
[com.amazonaws/aws-java-sdk-ses "1.11.600"
:exclusions [commons-codec
org.apache.httpcomponents/httpclient]]
[com.amazonaws/aws-java-sdk-s3 "1.11.600"
:exclusions [commons-codec
org.apache.httpcomponents/httpclient]]
[com.amazonaws/aws-java-sdk-dynamodb "1.11.600"
:exclusions [commons-codec
org.apache.httpcomponents/httpclient]]
[org.eclipse.jetty/jetty-http "9.4.17.v20190418"]
[org.eclipse.jetty/jetty-util "9.4.17.v20190418"]
[org.eclipse.jetty/jetty-server "9.4.17.v20190418"]
@@ -70,7 +74,6 @@
[org.clojure/data.json "0.2.6"]
[org.clojure/data.csv "0.1.4"]
[io.rkn/conformity "0.5.1"]
[cider/piggieback "0.4.0"]
[hiccup "1.0.5"]]
:plugins [[lein-ring "0.9.7"]
@@ -87,10 +90,15 @@
{:dev
{:resource-paths ["resources" "target"]
:dependencies [[binaryage/devtools "0.9.4"]
#_[refactor-nrepl "2.5.0"]
[postgresql/postgresql "9.3-1102.jdbc41"]
[org.clojure/java.jdbc "0.7.3"]
[com.bhauman/figwheel-main "0.2.12" :exclusions [org.clojure/clojurescript
ring
ring/ring-core
ring/ring-codec
ring/ring-defaults
ring/ring-devel
org.clojure/tools.cli
ring.adapter.jetty
binaryage/devtools
commons-io
@@ -100,15 +108,19 @@
org.eclipse.jetty.websocket/websocket-server
org.eclipse.jetty.websocket/websocket-servlet
args4j]]
[com.bhauman/rebel-readline-cljs "0.1.4"]
[com.bhauman/rebel-readline-cljs "0.1.4" :exclusions [org.clojure/clojurescript]]
[javax.servlet/servlet-api "2.5"]]
:plugins [
[lein-pdo "0.1.1"]]
:jvm-opts ["-Dconfig=config/dev.edn" "--add-modules" "java.xml.bind"]}
:uberjar {:prep-tasks ["fig:min" ]
:dependencies [[com.bhauman/figwheel-main "0.2.12" :exclusions [org.clojure/clojurescript
ring
ring/ring-core
ring/ring-codec
ring/ring-defaults
ring/ring-devel
org.clojure/tools.cli
ring.adapter.jetty
binaryage/devtools
commons-io
@@ -118,11 +130,18 @@
org.eclipse.jetty.websocket/websocket-server
org.eclipse.jetty.websocket/websocket-servlet
args4j]]]}
:provided {:dependencies [[org.clojure/clojurescript "1.10.764"]
:provided {:dependencies [[org.clojure/clojurescript "1.10.764"
:exclusions [com.google.code.findbugs/jsr305
com.fasterxml.jackson.core/jackson-core]]
[reagent "1.0.0-alpha2" :exclusions [cljsjs/react cljsjs/react-dom cljsjs/react-dom-server] ]
[re-frame "0.10.2"]
[re-frame "0.10.2"
:exclusions
[reagent
org.clojure/clojurescript]]
[re-frame-utils "0.1.0"]
[com.andrewmcveigh/cljs-time "0.5.2"]]}}
[com.andrewmcveigh/cljs-time "0.5.2"]
[cljs-http "0.1.44"]
[kibu/pushy "0.3.8"]]}}
:main auto-ap.server

View File

@@ -1,45 +0,0 @@
(ns auto-ap.background.mail
(:require [amazonica.aws.s3 :as s3]
[amazonica.aws.sqs :as sqs]
[auto-ap.parse :as parse]
[clojure-mail.message :as message]
[clojure.data.json :as json]
[clojure.java.io :as io]
[config.core :refer [env]])
(:import (java.util Properties UUID)
(javax.mail Session)
(javax.mail.internet MimeMessage)))
#_(defn process-sqs []
(try
(println "Fetching messages from sqs...")
(let [companies (companies/get-all)
vendors (vendors/get-all)]
(doseq [message (:messages (sqs/receive-message {:queue-url (:invoice-import-queue-url env)
:wait-time-seconds 5
:max-number-of-messages 10
#_#_:attribute-names ["All"]}))]
(let [message-body (json/read-str (:body message)
:key-fn keyword)]
(doseq [r (:Records message-body)]
(println "Processing record " r)
(let [props (Session/getDefaultInstance (Properties.))
message-stream (-> (s3/get-object {:key (-> r :s3 :object :key)
:bucket-name (-> r :s3 :bucket :name)})
:input-stream)
mail (message/read-message (MimeMessage. props message-stream))]
(doseq [pdf-stream (->> (-> mail :body)
(filter :content-type)
(filter #(re-find #"application/pdf" (:content-type %)) ))]
(let [filename (str "/tmp/" (UUID/randomUUID) ".pdf")]
(io/copy (:body pdf-stream) (io/file filename))
(invoices/import (parse/parse-file filename filename) companies)
(io/delete-file filename))))))
(sqs/delete-message (assoc message :queue-url (:invoice-import-queue-url env) ))))
(catch Exception e
(println e))))
#_(defn always-process-sqs []
(while (not (Thread/interrupted))
(process-sqs)))

View File

@@ -1,6 +1,5 @@
(ns auto-ap.server
(:require #_[auto-ap.background.mail :refer [always-process-sqs]]
[auto-ap.handler :refer [app]]
(:require [auto-ap.handler :refer [app]]
[auto-ap.ledger :as ledger]
[auto-ap.yodlee.core]
[auto-ap.background.invoices]