mirror of
https://github.com/penpot/penpot.git
synced 2025-05-16 15:56:17 +02:00
♻️ Refactor thumbnails persistence
This commit is contained in:
parent
a19f5fd305
commit
e24309b883
3 changed files with 42 additions and 13 deletions
|
@ -320,6 +320,41 @@
|
|||
(delete-file-object-thumbnail! file-id object-id))
|
||||
nil)))
|
||||
|
||||
;; --- MUTATION COMMAND: upsert-file-object-thumbnail
|
||||
|
||||
(def ^:private schema:upsert-file-object-thumbnail
|
||||
[:map {:title "upsert-file-object-thumbnail"}
|
||||
[:file-id ::sm/uuid]
|
||||
[:object-id :string]
|
||||
[:media ::media/upload]
|
||||
[:tag {:optional true} :string]])
|
||||
|
||||
(defn- upsert-file-object-thumbnail!
|
||||
[cfg file-id object-id media tag]
|
||||
(delete-file-object-thumbnail! cfg file-id object-id)
|
||||
(create-file-object-thumbnail! cfg file-id object-id media (or tag "frame")))
|
||||
|
||||
(sv/defmethod ::upsert-file-object-thumbnail
|
||||
{::doc/added "1.20"
|
||||
::doc/module :files
|
||||
::climit/id :file-thumbnail-ops
|
||||
::climit/key-fn ::rpc/profile-id
|
||||
::audit/skip true
|
||||
::sm/params schema:upsert-file-object-thumbnail}
|
||||
[{:keys [::db/pool] :as cfg} {:keys [::rpc/profile-id file-id object-id media tag]}]
|
||||
|
||||
(db/with-atomic [conn pool]
|
||||
(files/check-edition-permissions! conn profile-id file-id)
|
||||
(media/validate-media-type! media)
|
||||
(media/validate-media-size! media)
|
||||
|
||||
(when-not (db/read-only? conn)
|
||||
(-> cfg
|
||||
(update ::sto/storage media/configure-assets-storage)
|
||||
(assoc ::db/conn conn)
|
||||
(upsert-file-object-thumbnail! file-id object-id media tag))
|
||||
nil)))
|
||||
|
||||
;; --- MUTATION COMMAND: create-file-thumbnail
|
||||
|
||||
(def ^:private sql:create-file-thumbnail
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue