mirror of
https://github.com/penpot/penpot.git
synced 2025-03-11 07:11:32 -05:00
🔥 Replace spec with schema on access-token rpc methods
This commit is contained in:
parent
368917f7f5
commit
279c6337e4
1 changed files with 18 additions and 19 deletions
|
@ -6,7 +6,7 @@
|
||||||
|
|
||||||
(ns app.rpc.commands.access-token
|
(ns app.rpc.commands.access-token
|
||||||
(:require
|
(:require
|
||||||
[app.common.spec :as us]
|
[app.common.schema :as sm]
|
||||||
[app.common.uuid :as uuid]
|
[app.common.uuid :as uuid]
|
||||||
[app.db :as db]
|
[app.db :as db]
|
||||||
[app.main :as-alias main]
|
[app.main :as-alias main]
|
||||||
|
@ -16,8 +16,7 @@
|
||||||
[app.setup :as-alias setup]
|
[app.setup :as-alias setup]
|
||||||
[app.tokens :as tokens]
|
[app.tokens :as tokens]
|
||||||
[app.util.services :as sv]
|
[app.util.services :as sv]
|
||||||
[app.util.time :as dt]
|
[app.util.time :as dt]))
|
||||||
[clojure.spec.alpha :as s]))
|
|
||||||
|
|
||||||
(defn- decode-row
|
(defn- decode-row
|
||||||
[row]
|
[row]
|
||||||
|
@ -44,7 +43,7 @@
|
||||||
:perms (db/create-array conn "text" [])})))
|
:perms (db/create-array conn "text" [])})))
|
||||||
|
|
||||||
|
|
||||||
(defn repl-create-access-token
|
(defn repl:create-access-token
|
||||||
[{:keys [::db/pool] :as system} profile-id name expiration]
|
[{:keys [::db/pool] :as system} profile-id name expiration]
|
||||||
(db/with-atomic [conn pool]
|
(db/with-atomic [conn pool]
|
||||||
(let [props (:app.setup/props system)]
|
(let [props (:app.setup/props system)]
|
||||||
|
@ -53,16 +52,14 @@
|
||||||
name
|
name
|
||||||
expiration))))
|
expiration))))
|
||||||
|
|
||||||
(s/def ::name ::us/not-empty-string)
|
(def ^:private schema:create-access-token
|
||||||
(s/def ::expiration ::dt/duration)
|
[:map {:title "create-access-token"}
|
||||||
|
[:name [:string {:max 250 :min 1}]]
|
||||||
(s/def ::create-access-token
|
[:expiration {:optional true} ::dt/duration]])
|
||||||
(s/keys :req [::rpc/profile-id]
|
|
||||||
:req-un [::name]
|
|
||||||
:opt-un [::expiration]))
|
|
||||||
|
|
||||||
(sv/defmethod ::create-access-token
|
(sv/defmethod ::create-access-token
|
||||||
{::doc/added "1.18"}
|
{::doc/added "1.18"
|
||||||
|
::sm/params schema:create-access-token}
|
||||||
[{:keys [::db/pool] :as cfg} {:keys [::rpc/profile-id name expiration]}]
|
[{:keys [::db/pool] :as cfg} {:keys [::rpc/profile-id name expiration]}]
|
||||||
(db/with-atomic [conn pool]
|
(db/with-atomic [conn pool]
|
||||||
(let [cfg (assoc cfg ::db/conn conn)]
|
(let [cfg (assoc cfg ::db/conn conn)]
|
||||||
|
@ -72,21 +69,23 @@
|
||||||
(-> (create-access-token cfg profile-id name expiration)
|
(-> (create-access-token cfg profile-id name expiration)
|
||||||
(decode-row)))))
|
(decode-row)))))
|
||||||
|
|
||||||
(s/def ::delete-access-token
|
(def ^:private schema:delete-access-token
|
||||||
(s/keys :req [::rpc/profile-id]
|
[:map {:title "delete-access-token"}
|
||||||
:req-un [::us/id]))
|
[:id ::sm/uuid]])
|
||||||
|
|
||||||
(sv/defmethod ::delete-access-token
|
(sv/defmethod ::delete-access-token
|
||||||
{::doc/added "1.18"}
|
{::doc/added "1.18"
|
||||||
|
::sm/params schema:delete-access-token}
|
||||||
[{:keys [::db/pool]} {:keys [::rpc/profile-id id]}]
|
[{:keys [::db/pool]} {:keys [::rpc/profile-id id]}]
|
||||||
(db/delete! pool :access-token {:id id :profile-id profile-id})
|
(db/delete! pool :access-token {:id id :profile-id profile-id})
|
||||||
nil)
|
nil)
|
||||||
|
|
||||||
(s/def ::get-access-tokens
|
(def ^:private schema:get-access-tokens
|
||||||
(s/keys :req [::rpc/profile-id]))
|
[:map {:title "get-access-tokens"}])
|
||||||
|
|
||||||
(sv/defmethod ::get-access-tokens
|
(sv/defmethod ::get-access-tokens
|
||||||
{::doc/added "1.18"}
|
{::doc/added "1.18"
|
||||||
|
::sm/params schema:get-access-tokens}
|
||||||
[{:keys [::db/pool]} {:keys [::rpc/profile-id]}]
|
[{:keys [::db/pool]} {:keys [::rpc/profile-id]}]
|
||||||
(->> (db/query pool :access-token
|
(->> (db/query pool :access-token
|
||||||
{:profile-id profile-id}
|
{:profile-id profile-id}
|
||||||
|
|
Loading…
Add table
Reference in a new issue