sorting out dependencies. untested.
This commit is contained in:
71
project.clj
71
project.clj
@@ -6,11 +6,12 @@
|
|||||||
:username "datomic@brycecovertoperations.com"
|
:username "datomic@brycecovertoperations.com"
|
||||||
:password "9a382afc-d119-44db-83c2-98d8057d7666"}}
|
:password "9a382afc-d119-44db-83c2-98d8057d7666"}}
|
||||||
:dependencies [[org.clojure/clojure "1.9.0"]
|
:dependencies [[org.clojure/clojure "1.9.0"]
|
||||||
[org.clojure/clojurescript "1.10.764"]
|
[com.datomic/datomic-pro "0.9.5703"
|
||||||
[postgresql/postgresql "9.3-1102.jdbc41"]
|
:exclusions [com.google.guava/guava
|
||||||
[com.datomic/datomic-pro "0.9.5703" :exclusions [com.google.guava/guava org.apache.httpcomponents/httpclient]]
|
org.apache.httpcomponents/httpclient
|
||||||
|
org.slf4j/jul-to-slf4j
|
||||||
|
org.slf4j/log4j-over-slf4j]]
|
||||||
[compojure "1.6.1" :exclusions [ring]]
|
[compojure "1.6.1" :exclusions [ring]]
|
||||||
[kibu/pushy "0.3.8"]
|
|
||||||
[bidi "2.1.2"]
|
[bidi "2.1.2"]
|
||||||
[ring/ring-defaults "0.2.1"]
|
[ring/ring-defaults "0.2.1"]
|
||||||
[mount "0.1.16"]
|
[mount "0.1.16"]
|
||||||
@@ -25,43 +26,46 @@
|
|||||||
org.eclipse.jetty/jetty-server]]
|
org.eclipse.jetty/jetty-server]]
|
||||||
[yogthos/config "0.8"]
|
[yogthos/config "0.8"]
|
||||||
[dk.ative/docjure "1.12.0"]
|
[dk.ative/docjure "1.12.0"]
|
||||||
[org.clojure/java.jdbc "0.7.3"]
|
|
||||||
|
|
||||||
[clj-fuzzy "0.4.1"]
|
[clj-fuzzy "0.4.1"]
|
||||||
[honeysql "0.9.2"]
|
|
||||||
[com.walmartlabs/lacinia "0.25.0"]
|
[com.walmartlabs/lacinia "0.25.0"]
|
||||||
;; https://mvnrepository.com/artifact/postgresql/postgresql
|
|
||||||
[vincit/venia "0.2.5"]
|
[vincit/venia "0.2.5"]
|
||||||
[postgresql/postgresql "9.3-1102.jdbc41"]
|
|
||||||
[digest "1.4.8"]
|
[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-http "3.7.0" :exclusions [org.apache.httpcomponents/httpclient org.apache.httpcomponents/httpcore]]
|
||||||
[clj-pdf "2.2.33"]
|
[clj-pdf "2.2.33"]
|
||||||
[org.clojure/core.async "0.3.465"]
|
[org.clojure/core.async "0.3.465"]
|
||||||
[fogus/ring-edn "0.3.0"]
|
[fogus/ring-edn "0.3.0"]
|
||||||
[buddy/buddy-auth "2.1.0"]
|
[buddy/buddy-auth "2.1.0"
|
||||||
[buddy/buddy-sign "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]]
|
[nrepl "0.6.0" :exclusions [org.clojure/tools.logging]]
|
||||||
[org.clojure/tools.logging "1.1.0"]
|
[org.clojure/tools.logging "1.1.0"]
|
||||||
[ch.qos.logback/logback-classic "1.2.3"]
|
[ch.qos.logback/logback-classic "1.2.3"]
|
||||||
[ch.qos.logback.contrib/logback-jackson "0.1.5"]
|
[ch.qos.logback.contrib/logback-jackson "0.1.5"]
|
||||||
[ch.qos.logback.contrib/logback-json-classic "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"]
|
[clj-time "0.14.3"]
|
||||||
[io.forward/clojure-mail "1.0.7"]
|
|
||||||
[ring/ring-json "0.4.0" :exclusions [cheshire]]
|
[ring/ring-json "0.4.0" :exclusions [cheshire]]
|
||||||
[com.cemerick/url "0.1.1"]
|
[com.cemerick/url "0.1.1"]
|
||||||
[bk/ring-gzip "0.3.0"]
|
[bk/ring-gzip "0.3.0"]
|
||||||
[cider/cider-nrepl "0.21.1"]
|
|
||||||
[amazonica "0.3.121"
|
[amazonica "0.3.121"
|
||||||
:exclusions [com.amazonaws/aws-java-sdk
|
:exclusions [com.amazonaws/aws-java-sdk
|
||||||
com.amazonaws/amazon-kinesis-client]]
|
com.amazonaws/amazon-kinesis-client]]
|
||||||
[com.amazonaws/aws-java-sdk-core "1.11.600"]
|
[com.amazonaws/aws-java-sdk-core "1.11.600"
|
||||||
[com.amazonaws/aws-java-sdk-ses "1.11.600"]
|
:exclusions [commons-codec
|
||||||
[com.amazonaws/aws-java-sdk-sqs "1.11.600"]
|
commons-logging]]
|
||||||
[com.amazonaws/aws-java-sdk-s3 "1.11.600"]
|
[com.amazonaws/aws-java-sdk-ses "1.11.600"
|
||||||
[com.amazonaws/aws-java-sdk-dynamodb "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-http "9.4.17.v20190418"]
|
||||||
[org.eclipse.jetty/jetty-util "9.4.17.v20190418"]
|
[org.eclipse.jetty/jetty-util "9.4.17.v20190418"]
|
||||||
[org.eclipse.jetty/jetty-server "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.json "0.2.6"]
|
||||||
[org.clojure/data.csv "0.1.4"]
|
[org.clojure/data.csv "0.1.4"]
|
||||||
[io.rkn/conformity "0.5.1"]
|
[io.rkn/conformity "0.5.1"]
|
||||||
[cider/piggieback "0.4.0"]
|
|
||||||
|
|
||||||
[hiccup "1.0.5"]]
|
[hiccup "1.0.5"]]
|
||||||
:plugins [[lein-ring "0.9.7"]
|
:plugins [[lein-ring "0.9.7"]
|
||||||
@@ -87,10 +90,15 @@
|
|||||||
{:dev
|
{:dev
|
||||||
{:resource-paths ["resources" "target"]
|
{:resource-paths ["resources" "target"]
|
||||||
:dependencies [[binaryage/devtools "0.9.4"]
|
: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
|
[com.bhauman/figwheel-main "0.2.12" :exclusions [org.clojure/clojurescript
|
||||||
|
ring
|
||||||
ring/ring-core
|
ring/ring-core
|
||||||
ring/ring-codec
|
ring/ring-codec
|
||||||
|
ring/ring-defaults
|
||||||
|
ring/ring-devel
|
||||||
|
org.clojure/tools.cli
|
||||||
ring.adapter.jetty
|
ring.adapter.jetty
|
||||||
binaryage/devtools
|
binaryage/devtools
|
||||||
commons-io
|
commons-io
|
||||||
@@ -100,15 +108,19 @@
|
|||||||
org.eclipse.jetty.websocket/websocket-server
|
org.eclipse.jetty.websocket/websocket-server
|
||||||
org.eclipse.jetty.websocket/websocket-servlet
|
org.eclipse.jetty.websocket/websocket-servlet
|
||||||
args4j]]
|
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"]]
|
[javax.servlet/servlet-api "2.5"]]
|
||||||
:plugins [
|
:plugins [
|
||||||
[lein-pdo "0.1.1"]]
|
[lein-pdo "0.1.1"]]
|
||||||
:jvm-opts ["-Dconfig=config/dev.edn" "--add-modules" "java.xml.bind"]}
|
:jvm-opts ["-Dconfig=config/dev.edn" "--add-modules" "java.xml.bind"]}
|
||||||
:uberjar {:prep-tasks ["fig:min" ]
|
:uberjar {:prep-tasks ["fig:min" ]
|
||||||
:dependencies [[com.bhauman/figwheel-main "0.2.12" :exclusions [org.clojure/clojurescript
|
:dependencies [[com.bhauman/figwheel-main "0.2.12" :exclusions [org.clojure/clojurescript
|
||||||
|
ring
|
||||||
ring/ring-core
|
ring/ring-core
|
||||||
ring/ring-codec
|
ring/ring-codec
|
||||||
|
ring/ring-defaults
|
||||||
|
ring/ring-devel
|
||||||
|
org.clojure/tools.cli
|
||||||
ring.adapter.jetty
|
ring.adapter.jetty
|
||||||
binaryage/devtools
|
binaryage/devtools
|
||||||
commons-io
|
commons-io
|
||||||
@@ -118,11 +130,18 @@
|
|||||||
org.eclipse.jetty.websocket/websocket-server
|
org.eclipse.jetty.websocket/websocket-server
|
||||||
org.eclipse.jetty.websocket/websocket-servlet
|
org.eclipse.jetty.websocket/websocket-servlet
|
||||||
args4j]]]}
|
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] ]
|
[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"]
|
[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
|
: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
|
(ns auto-ap.server
|
||||||
(:require #_[auto-ap.background.mail :refer [always-process-sqs]]
|
(:require [auto-ap.handler :refer [app]]
|
||||||
[auto-ap.handler :refer [app]]
|
|
||||||
[auto-ap.ledger :as ledger]
|
[auto-ap.ledger :as ledger]
|
||||||
[auto-ap.yodlee.core]
|
[auto-ap.yodlee.core]
|
||||||
[auto-ap.background.invoices]
|
[auto-ap.background.invoices]
|
||||||
|
|||||||
Reference in New Issue
Block a user