mirror of
https://github.com/penpot/penpot.git
synced 2026-04-25 11:18:36 +00:00
✨ On profile deletion, remove the user from nitrate too
This commit is contained in:
parent
66e34950b2
commit
cd320c0cd6
@ -1,3 +1,9 @@
|
|||||||
|
;; This Source Code Form is subject to the terms of the Mozilla Public
|
||||||
|
;; License, v. 2.0. If a copy of the MPL was not distributed with this
|
||||||
|
;; file, You can obtain one at http://mozilla.org/MPL/2.0/.
|
||||||
|
;;
|
||||||
|
;; Copyright (c) KALEIDOS INC
|
||||||
|
|
||||||
(ns app.nitrate
|
(ns app.nitrate
|
||||||
"Module that make calls to the external nitrate aplication"
|
"Module that make calls to the external nitrate aplication"
|
||||||
(:require
|
(:require
|
||||||
@ -286,6 +292,16 @@
|
|||||||
"/remove-user")
|
"/remove-user")
|
||||||
nil params)))
|
nil params)))
|
||||||
|
|
||||||
|
(defn- remove-profile-from-all-orgs-api
|
||||||
|
[cfg {:keys [profile-id] :as params}]
|
||||||
|
(let [baseuri (cf/get :nitrate-backend-uri)]
|
||||||
|
(request-to-nitrate cfg :post
|
||||||
|
(str baseuri
|
||||||
|
"/api/users/"
|
||||||
|
profile-id
|
||||||
|
"/remove-organizations")
|
||||||
|
nil params)))
|
||||||
|
|
||||||
(defn- remove-team-from-org-api
|
(defn- remove-team-from-org-api
|
||||||
[cfg {:keys [team-id organization-id] :as params}]
|
[cfg {:keys [team-id organization-id] :as params}]
|
||||||
(let [baseuri (cf/get :nitrate-backend-uri)
|
(let [baseuri (cf/get :nitrate-backend-uri)
|
||||||
@ -330,17 +346,18 @@
|
|||||||
(defmethod ig/init-key ::client
|
(defmethod ig/init-key ::client
|
||||||
[_ cfg]
|
[_ cfg]
|
||||||
(when (contains? cf/flags :nitrate)
|
(when (contains? cf/flags :nitrate)
|
||||||
{:get-team-org (partial get-team-org-api cfg)
|
{:get-team-org (partial get-team-org-api cfg)
|
||||||
:set-team-org (partial set-team-org-api cfg)
|
:set-team-org (partial set-team-org-api cfg)
|
||||||
:get-org-membership (partial get-org-membership-api cfg)
|
:get-org-membership (partial get-org-membership-api cfg)
|
||||||
:get-org-membership-by-team (partial get-org-membership-by-team-api cfg)
|
:get-org-membership-by-team (partial get-org-membership-by-team-api cfg)
|
||||||
:get-org-summary (partial get-org-summary-api cfg)
|
:get-org-summary (partial get-org-summary-api cfg)
|
||||||
:add-profile-to-org (partial add-profile-to-org-api cfg)
|
:add-profile-to-org (partial add-profile-to-org-api cfg)
|
||||||
:remove-profile-from-org (partial remove-profile-from-org-api cfg)
|
:remove-profile-from-org (partial remove-profile-from-org-api cfg)
|
||||||
:delete-team (partial delete-team-api cfg)
|
:remove-profile-from-all-orgs (partial remove-profile-from-all-orgs-api cfg)
|
||||||
:remove-team-from-org (partial remove-team-from-org-api cfg)
|
:delete-team (partial delete-team-api cfg)
|
||||||
:get-subscription (partial get-subscription-api cfg)
|
:remove-team-from-org (partial remove-team-from-org-api cfg)
|
||||||
:connectivity (partial get-connectivity-api cfg)}))
|
:get-subscription (partial get-subscription-api cfg)
|
||||||
|
:connectivity (partial get-connectivity-api cfg)}))
|
||||||
|
|
||||||
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
|
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
|
||||||
;; UTILS
|
;; UTILS
|
||||||
|
|||||||
@ -1,4 +1,12 @@
|
|||||||
|
;; This Source Code Form is subject to the terms of the Mozilla Public
|
||||||
|
;; License, v. 2.0. If a copy of the MPL was not distributed with this
|
||||||
|
;; file, You can obtain one at http://mozilla.org/MPL/2.0/.
|
||||||
|
;;
|
||||||
|
;; Copyright (c) KALEIDOS INC
|
||||||
|
|
||||||
(ns app.rpc.commands.nitrate
|
(ns app.rpc.commands.nitrate
|
||||||
|
"Nitrate API for Penpot. Provides nitrate-related endpoints to be called
|
||||||
|
from Penpot frontend."
|
||||||
(:require
|
(:require
|
||||||
[app.common.data :as d]
|
[app.common.data :as d]
|
||||||
[app.common.exceptions :as ex]
|
[app.common.exceptions :as ex]
|
||||||
@ -12,7 +20,6 @@
|
|||||||
[app.util.services :as sv]))
|
[app.util.services :as sv]))
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
(defn assert-is-owner [cfg profile-id team-id]
|
(defn assert-is-owner [cfg profile-id team-id]
|
||||||
(let [perms (teams/get-permissions cfg profile-id team-id)]
|
(let [perms (teams/get-permissions cfg profile-id team-id)]
|
||||||
(when-not (:is-owner perms)
|
(when-not (:is-owner perms)
|
||||||
|
|||||||
@ -462,6 +462,9 @@
|
|||||||
{:deleted-at deleted-at}
|
{:deleted-at deleted-at}
|
||||||
{:id profile-id})
|
{:id profile-id})
|
||||||
|
|
||||||
|
;; Api call to nitrate
|
||||||
|
(nitrate/call cfg :remove-profile-from-all-orgs {:profile-id profile-id})
|
||||||
|
|
||||||
;; Schedule cascade deletion to a worker
|
;; Schedule cascade deletion to a worker
|
||||||
(wrk/submit! {::db/conn conn
|
(wrk/submit! {::db/conn conn
|
||||||
::wrk/task :delete-object
|
::wrk/task :delete-object
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user