mirror of
https://github.com/penpot/penpot.git
synced 2025-06-02 20:31:39 +02:00
🐛 Ignore object thumbnail requests if file is already marked as deleted
This commit is contained in:
parent
017aad6454
commit
d03788af93
2 changed files with 13 additions and 11 deletions
|
@ -273,7 +273,7 @@
|
||||||
|
|
||||||
(defn get-minimal-file
|
(defn get-minimal-file
|
||||||
[cfg id & {:as opts}]
|
[cfg id & {:as opts}]
|
||||||
(let [opts (assoc opts ::sql/columns [:id :modified-at :revn :data-ref-id :data-backend])]
|
(let [opts (assoc opts ::sql/columns [:id :modified-at :deleted-at :revn :data-ref-id :data-backend])]
|
||||||
(db/get cfg :file {:id id} opts)))
|
(db/get cfg :file {:id id} opts)))
|
||||||
|
|
||||||
(defn get-file-etag
|
(defn get-file-etag
|
||||||
|
|
|
@ -233,7 +233,7 @@
|
||||||
"INSERT INTO file_tagged_object_thumbnail (file_id, object_id, tag, media_id)
|
"INSERT INTO file_tagged_object_thumbnail (file_id, object_id, tag, media_id)
|
||||||
VALUES (?, ?, ?, ?)
|
VALUES (?, ?, ?, ?)
|
||||||
ON CONFLICT (file_id, object_id, tag)
|
ON CONFLICT (file_id, object_id, tag)
|
||||||
DO UPDATE SET updated_at=?, media_id=?, deleted_at=null
|
DO UPDATE SET updated_at=?, media_id=?, deleted_at=?
|
||||||
RETURNING *")
|
RETURNING *")
|
||||||
|
|
||||||
(defn- persist-thumbnail!
|
(defn- persist-thumbnail!
|
||||||
|
@ -251,17 +251,19 @@
|
||||||
:content-type mtype
|
:content-type mtype
|
||||||
:bucket "file-object-thumbnail"})))
|
:bucket "file-object-thumbnail"})))
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
(defn- create-file-object-thumbnail!
|
(defn- create-file-object-thumbnail!
|
||||||
[{:keys [::sto/storage] :as cfg} file-id object-id media tag]
|
[{:keys [::sto/storage] :as cfg} file object-id media tag]
|
||||||
(let [tsnow (dt/now)
|
(let [file-id (:id file)
|
||||||
media (persist-thumbnail! storage media tsnow)
|
timestamp (dt/now)
|
||||||
|
media (persist-thumbnail! storage media timestamp)
|
||||||
[th1 th2] (db/tx-run! cfg (fn [{:keys [::db/conn]}]
|
[th1 th2] (db/tx-run! cfg (fn [{:keys [::db/conn]}]
|
||||||
(let [th1 (db/exec-one! conn [sql:get-file-object-thumbnail file-id object-id tag])
|
(let [th1 (db/exec-one! conn [sql:get-file-object-thumbnail file-id object-id tag])
|
||||||
th2 (db/exec-one! conn [sql:create-file-object-thumbnail
|
th2 (db/exec-one! conn [sql:create-file-object-thumbnail
|
||||||
file-id object-id tag (:id media)
|
file-id object-id tag
|
||||||
tsnow (:id media)])]
|
(:id media)
|
||||||
|
timestamp
|
||||||
|
(:id media)
|
||||||
|
(:deleted-at file)])]
|
||||||
[th1 th2])))]
|
[th1 th2])))]
|
||||||
|
|
||||||
(when (and (some? th1)
|
(when (and (some? th1)
|
||||||
|
@ -294,8 +296,8 @@
|
||||||
(media/validate-media-size! media)
|
(media/validate-media-size! media)
|
||||||
|
|
||||||
(db/run! cfg files/check-edition-permissions! profile-id file-id)
|
(db/run! cfg files/check-edition-permissions! profile-id file-id)
|
||||||
|
(when-let [file (files/get-minimal-file cfg file-id {::db/check-deleted false})]
|
||||||
(create-file-object-thumbnail! cfg file-id object-id media (or tag "frame")))
|
(create-file-object-thumbnail! cfg file object-id media (or tag "frame"))))
|
||||||
|
|
||||||
;; --- MUTATION COMMAND: delete-file-object-thumbnail
|
;; --- MUTATION COMMAND: delete-file-object-thumbnail
|
||||||
|
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue