Process audit log events only if profile-id is known

This commit is contained in:
Andrey Antukh 2022-02-10 00:01:14 +01:00 committed by Alonso Torres
parent 3461ec2281
commit 8babb59f75

View file

@ -176,20 +176,21 @@
(defn- persist-events (defn- persist-events
[{:keys [pool executor] :as cfg} events] [{:keys [pool executor] :as cfg} events]
(letfn [(event->row [event] (letfn [(event->row [event]
[(uuid/next) (when (:profile-id event)
(:name event) [(uuid/next)
(:type event) (:name event)
(:profile-id event) (:type event)
(:tracked-at event) (:profile-id event)
(some-> (:ip-addr event) db/inet) (:tracked-at event)
(db/tjson (:props event)) (some-> (:ip-addr event) db/inet)
"backend"])] (db/tjson (:props event))
"backend"]))]
(aa/with-thread executor (aa/with-thread executor
(when (seq events) (when (seq events)
(db/with-atomic [conn pool] (db/with-atomic [conn pool]
(db/insert-multi! conn :audit-log (db/insert-multi! conn :audit-log
[:id :name :type :profile-id :tracked-at :ip-addr :props :source] [:id :name :type :profile-id :tracked-at :ip-addr :props :source]
(sequence (map event->row) events))))))) (sequence (keep event->row) events)))))))
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;; Archive Task ;; Archive Task