Minor improvements on getting profile additional data.

This commit is contained in:
Andrey Antukh 2021-02-28 19:51:12 +01:00
parent 645954bc7c
commit 129cc86e3b
2 changed files with 13 additions and 13 deletions

View file

@ -242,10 +242,10 @@
profile)]
(db/with-atomic [conn pool]
(let [profile (-> (profile/retrieve-profile-data-by-email conn email)
(let [profile (->> (profile/retrieve-profile-data-by-email conn email)
(validate-profile)
(profile/strip-private-attrs))
profile (merge profile (profile/retrieve-additional-data conn (:id profile)))]
(profile/strip-private-attrs)
(profile/populate-additional-data conn))]
(if-let [token (:invitation-token params)]
;; If the request comes with an invitation token, this means
;; that user wants to accept it with different user. A very
@ -293,11 +293,7 @@
(defn login-or-register
[{:keys [conn] :as cfg} {:keys [email backend] :as params}]
(letfn [(populate-additional-data [conn profile]
(let [data (profile/retrieve-additional-data conn (:id profile))]
(merge profile data)))
(create-profile [conn {:keys [fullname email]}]
(letfn [(create-profile [conn {:keys [fullname email]}]
(db/insert! conn :profile
{:id (uuid/next)
:fullname fullname
@ -315,7 +311,7 @@
(let [profile (profile/retrieve-profile-data-by-email conn email)
profile (if profile
(populate-additional-data conn profile)
(profile/populate-additional-data conn profile)
(register-profile conn params))]
(profile/strip-private-attrs profile))))

View file

@ -71,6 +71,10 @@
{:default-team-id (:id team)
:default-project-id (:id project)}))
(defn populate-additional-data
[conn profile]
(merge profile (retrieve-additional-data conn (:id profile))))
(defn decode-profile-row
[{:keys [props] :as row}]
(cond-> row
@ -83,9 +87,9 @@
(defn retrieve-profile
[conn id]
(let [profile (some-> (retrieve-profile-data conn id)
(let [profile (some->> (retrieve-profile-data conn id)
(strip-private-attrs)
(merge (retrieve-additional-data conn id)))]
(populate-additional-data conn))]
(when (nil? profile)
(ex/raise :type :not-found
:hint "Object doest not exists."))