sorting out dependencies. untested.
This commit is contained in:
71
project.clj
71
project.clj
@@ -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
|
||||
|
||||
|
||||
@@ -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)))
|
||||
@@ -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]
|
||||
|
||||
Reference in New Issue
Block a user