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,6 +176,7 @@
(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]
(when (:profile-id event)
[(uuid/next) [(uuid/next)
(:name event) (:name event)
(:type event) (:type event)
@ -183,13 +184,13 @@
(:tracked-at event) (:tracked-at event)
(some-> (:ip-addr event) db/inet) (some-> (:ip-addr event) db/inet)
(db/tjson (:props event)) (db/tjson (:props event))
"backend"])] "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