diff --git a/backend/src/app/loggers/audit.clj b/backend/src/app/loggers/audit.clj index 93a363727..68aa0b116 100644 --- a/backend/src/app/loggers/audit.clj +++ b/backend/src/app/loggers/audit.clj @@ -77,28 +77,20 @@ (merge (:props profile)) (d/without-nils))) -(defn clean-props - [{:keys [profile-id] :as event}] - (let [invalid-keys #{:session-id - :password - :old-password - :token} - xform (comp - (remove (fn [kv] - (qualified-keyword? (first kv)))) - (remove (fn [kv] - (contains? invalid-keys (first kv)))) - (remove (fn [[k v]] - (and (= k :profile-id) - (= v profile-id)))) - (filter (fn [[_ v]] - (or (string? v) - (keyword? v) - (uuid? v) - (boolean? v) - (number? v)))))] +(def reserved-props + #{:session-id + :password + :old-password + :token}) - (update event :props #(into {} xform %)))) +(defn clean-props + [props] + (into {} + (comp + (d/without-nils) + (d/without-qualified) + (remove #(contains? reserved-props (key %)))) + props)) ;; --- SPECS diff --git a/backend/src/app/rpc.clj b/backend/src/app/rpc.clj index cdda84a0b..d365fd909 100644 --- a/backend/src/app/rpc.clj +++ b/backend/src/app/rpc.clj @@ -181,8 +181,7 @@ (merge (::audit/props resultm)) (dissoc :profile-id) (dissoc :type))) - (d/without-qualified) - (d/without-nils)) + (audit/clean-props)) event {:type (or (::audit/type resultm) (::type cfg)) diff --git a/common/src/app/common/data.cljc b/common/src/app/common/data.cljc index ae52003c1..1a9806958 100644 --- a/common/src/app/common/data.cljc +++ b/common/src/app/common/data.cljc @@ -203,19 +203,22 @@ ([coll value] (sequence (replace-by-id value) coll))) -(defn without-nils - "Given a map, return a map removing key-value - pairs when value is `nil`." - [data] - (into {} (remove (comp nil? second)) data)) - (defn vec-without-nils [coll] (into [] (remove nil?) coll)) +(defn without-nils + "Given a map, return a map removing key-value + pairs when value is `nil`." + ([] (remove (comp nil? val))) + ([data] + (into {} (without-nils) data))) + (defn without-qualified - [data] - (into {} (remove (comp qualified-keyword? first)) data)) + ([] + (remove (comp qualified-keyword? key))) + ([data] + (into {} (without-qualified) data))) (defn without-keys "Return a map without the keys provided