mirror of
https://github.com/penpot/penpot.git
synced 2025-05-13 23:56:37 +02:00
Merge pull request #5315 from penpot/niwinz-team-access-request-quotes
🎉 Add quote definitions for team access requests
This commit is contained in:
commit
5d95d755ad
3 changed files with 65 additions and 9 deletions
|
@ -144,6 +144,8 @@
|
||||||
[:quotes-comments-per-file {:optional true} ::sm/int]
|
[:quotes-comments-per-file {:optional true} ::sm/int]
|
||||||
[:quotes-snapshots-per-file {:optional true} ::sm/int]
|
[:quotes-snapshots-per-file {:optional true} ::sm/int]
|
||||||
[:quotes-snapshots-per-team {:optional true} ::sm/int]
|
[:quotes-snapshots-per-team {:optional true} ::sm/int]
|
||||||
|
[:quotes-team-access-requests-per-team {:optional true} ::sm/int]
|
||||||
|
[:quotes-team-access-requests-per-requester {:optional true} ::sm/int]
|
||||||
|
|
||||||
[:auth-data-cookie-domain {:optional true} :string]
|
[:auth-data-cookie-domain {:optional true} :string]
|
||||||
[:auth-token-cookie-name {:optional true} :string]
|
[:auth-token-cookie-name {:optional true} :string]
|
||||||
|
|
|
@ -532,17 +532,20 @@
|
||||||
team-owner (get-team-owner conn team-id)
|
team-owner (get-team-owner conn team-id)
|
||||||
|
|
||||||
file (when (some? file-id)
|
file (when (some? file-id)
|
||||||
(get-file-for-team-access-request cfg file-id))
|
(get-file-for-team-access-request cfg file-id))]
|
||||||
|
|
||||||
request (upsert-team-access-request conn team-id profile-id)]
|
(-> cfg
|
||||||
|
(assoc ::quotes/profile-id profile-id)
|
||||||
;; FIXME missing quotes
|
(assoc ::quotes/team-id team-id)
|
||||||
|
(quotes/check! {::quotes/id ::quotes/team-access-requests-per-team}
|
||||||
|
{::quotes/id ::quotes/team-access-requests-per-requester}))
|
||||||
|
|
||||||
(teams/check-profile-muted conn requester)
|
(teams/check-profile-muted conn requester)
|
||||||
(teams/check-email-bounce conn (:email team-owner) false)
|
(teams/check-email-bounce conn (:email team-owner) false)
|
||||||
(teams/check-email-spam conn (:email team-owner) true)
|
(teams/check-email-spam conn (:email team-owner) true)
|
||||||
|
|
||||||
(let [factory (cond
|
(let [request (upsert-team-access-request conn team-id profile-id)
|
||||||
|
factory (cond
|
||||||
(and (some? file) (:is-default team) is-viewer)
|
(and (some? file) (:is-default team) is-viewer)
|
||||||
eml/request-file-access-yourpenpot-view
|
eml/request-file-access-yourpenpot-view
|
||||||
|
|
||||||
|
@ -565,9 +568,9 @@
|
||||||
:team-id team-id
|
:team-id team-id
|
||||||
:file-name (:name file)
|
:file-name (:name file)
|
||||||
:file-id file-id
|
:file-id file-id
|
||||||
:page-id (:page-id file)}))
|
:page-id (:page-id file)})
|
||||||
|
|
||||||
(with-meta {:request request}
|
(with-meta {:request request}
|
||||||
{::audit/props {:request 1}})))
|
{::audit/props {:request 1}}))))
|
||||||
|
|
||||||
|
|
||||||
|
|
|
@ -442,7 +442,7 @@
|
||||||
|
|
||||||
|
|
||||||
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
|
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
|
||||||
;; QUOTE: SNAPSHOTS-PER-FILE
|
;; QUOTE: SNAPSHOTS-PER-TEAM
|
||||||
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
|
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
|
||||||
|
|
||||||
(def ^:private schema:snapshots-per-team
|
(def ^:private schema:snapshots-per-team
|
||||||
|
@ -472,6 +472,57 @@
|
||||||
(assoc ::count-sql [sql:get-snapshots-per-team team-id])
|
(assoc ::count-sql [sql:get-snapshots-per-team team-id])
|
||||||
(generic-check!)))
|
(generic-check!)))
|
||||||
|
|
||||||
|
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
|
||||||
|
;; QUOTE: TEAM-ACCESS-REQUESTS-PER-TEAM
|
||||||
|
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
|
||||||
|
|
||||||
|
(def ^:private schema:team-access-requests-per-team
|
||||||
|
[:map
|
||||||
|
[::profile-id ::sm/uuid]
|
||||||
|
[::team-id ::sm/uuid]])
|
||||||
|
|
||||||
|
(def ^:private valid-team-access-requests-per-team-quote?
|
||||||
|
(sm/lazy-validator schema:team-access-requests-per-team))
|
||||||
|
|
||||||
|
(def ^:private sql:get-team-access-requests-per-team
|
||||||
|
"SELECT count(*) AS total
|
||||||
|
FROM team_access_request AS tar
|
||||||
|
WHERE tar.team_id = ?")
|
||||||
|
|
||||||
|
(defmethod check-quote ::team-access-requests-per-team
|
||||||
|
[{:keys [::profile-id ::team-id ::target] :as quote}]
|
||||||
|
(assert (valid-team-access-requests-per-team-quote? quote) "invalid quote parameters")
|
||||||
|
(-> quote
|
||||||
|
(assoc ::default (cf/get :quotes-team-access-requests-per-team Integer/MAX_VALUE))
|
||||||
|
(assoc ::quote-sql [sql:get-quotes-2 target team-id profile-id profile-id])
|
||||||
|
(assoc ::count-sql [sql:get-team-access-requests-per-team team-id])
|
||||||
|
(generic-check!)))
|
||||||
|
|
||||||
|
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
|
||||||
|
;; QUOTE: TEAM-ACCESS-REQUESTS-PER-REQUESTER
|
||||||
|
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
|
||||||
|
|
||||||
|
(def ^:private schema:team-access-requests-per-requester
|
||||||
|
[:map
|
||||||
|
[::profile-id ::sm/uuid]])
|
||||||
|
|
||||||
|
(def ^:private valid-team-access-requests-per-requester-quote?
|
||||||
|
(sm/lazy-validator schema:team-access-requests-per-requester))
|
||||||
|
|
||||||
|
(def ^:private sql:get-team-access-requests-per-requester
|
||||||
|
"SELECT count(*) AS total
|
||||||
|
FROM team_access_request AS tar
|
||||||
|
WHERE tar.requester_id = ?")
|
||||||
|
|
||||||
|
(defmethod check-quote ::team-access-requests-per-requester
|
||||||
|
[{:keys [::profile-id ::target] :as quote}]
|
||||||
|
(assert (valid-team-access-requests-per-requester-quote? quote) "invalid quote parameters")
|
||||||
|
(-> quote
|
||||||
|
(assoc ::default (cf/get :quotes-team-access-requests-per-requester Integer/MAX_VALUE))
|
||||||
|
(assoc ::quote-sql [sql:get-quotes-1 target profile-id])
|
||||||
|
(assoc ::count-sql [sql:get-team-access-requests-per-requester profile-id])
|
||||||
|
(generic-check!)))
|
||||||
|
|
||||||
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
|
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
|
||||||
;; QUOTE: DEFAULT
|
;; QUOTE: DEFAULT
|
||||||
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
|
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue