diff --git a/backend/src/app/loggers/database.clj b/backend/src/app/loggers/database.clj index aaa2e5d47d..1cce8e5b50 100644 --- a/backend/src/app/loggers/database.clj +++ b/backend/src/app/loggers/database.clj @@ -97,7 +97,7 @@ (l/warn :hint "unexpected exception on database error logger" :cause cause)))) (defn- audit-event->report - [{:keys [::audit/context ::audit/props ::audit/ip-addr] :as record}] + [{:keys [context props ip-addr] :as record}] (let [context (reduce-kv (fn [context k v] (let [k' (keyword "frontend" (name k))] @@ -117,14 +117,14 @@ {:context (-> (into (sorted-map) context) (pp/pprint-str :length 50)) - :origin (::audit/name record) + :origin (:name record) :href (get props :href) :hint (get props :hint) :report (get props :report)})) (defn- handle-audit-event "Convert the log record into a report object and persist it on the database" - [{:keys [::db/pool]} {:keys [::audit/id] :as event}] + [{:keys [::db/pool]} {:keys [id] :as event}] (try (let [uri (cf/get :public-uri) report (-> event audit-event->report d/without-nils)] @@ -189,12 +189,12 @@ (::l/id item) (handle-log-record cfg item) - (::audit/id item) - (handle-audit-event cfg item) - (::rlimit/id item) (handle-rlimit-event cfg item) + (-> item meta ::audit/event) + (handle-audit-event cfg item) + :else (l/warn :hint "received unexpected item" :item item)) @@ -226,4 +226,3 @@ [cfg event] (when-let [{:keys [::input]} (get cfg ::reporter)] (sp/put! input event))) - diff --git a/backend/src/app/loggers/mattermost.clj b/backend/src/app/loggers/mattermost.clj index 52fd2edce3..a19bf39836 100644 --- a/backend/src/app/loggers/mattermost.clj +++ b/backend/src/app/loggers/mattermost.clj @@ -83,7 +83,7 @@ :trace (ex/format-throwable cause :detail? false :header? false)})) (defn- audit-event->report - [{:keys [::audit/context ::audit/props ::audit/id] :as event}] + [{:keys [context props id] :as event}] {:id id :type "exception" :origin "audit-log" @@ -92,7 +92,7 @@ :host (cf/get :host) :backend-version (:full cf/version) :frontend-version (:version context) - :profile-id (:audit/profile-id event) + :profile-id (:profile-id event) :href (get props :href)}) (defn- rlimit-event->report @@ -148,12 +148,12 @@ (::l/id item) (handle-event cfg item log-record->report) - (::audit/id item) - (handle-event cfg item audit-event->report) - (::rlimit/id item) (handle-event cfg item rlimit-event->report) + (-> item meta ::audit/event) + (handle-event cfg item audit-event->report) + :else (l/warn :hint "received unexpected item" :item item))) diff --git a/backend/src/app/rpc/commands/audit.clj b/backend/src/app/rpc/commands/audit.clj index 387f23e832..44e547f8cd 100644 --- a/backend/src/app/rpc/commands/audit.clj +++ b/backend/src/app/rpc/commands/audit.clj @@ -77,17 +77,20 @@ [{:keys [::rpc/request-at ::rpc/profile-id events] :as params}] (let [request (-> params meta ::http/request) ip-addr (inet/parse-request request) - xform (map (fn [event] - {:id (uuid/next) - :type (:type event) - :name (:name event) - :props (:props event) - :context (:context event) - :profile-id profile-id - :ip-addr ip-addr - :source "frontend" - :tracked-at (:timestamp event) - :created-at request-at}))] + xform (comp + (map (fn [event] + {:id (uuid/next) + :type (:type event) + :name (:name event) + :props (:props event) + :context (:context event) + :profile-id profile-id + :ip-addr ip-addr + :source "frontend" + :tracked-at (:timestamp event) + :created-at request-at})) + (map (fn [item] + (with-meta item {::audit/event true}))))] (sequence xform events)))