mirror of
https://github.com/penpot/penpot.git
synced 2025-05-11 00:46:36 +02:00
♻️ The big media refactor (frontend)
This commit is contained in:
parent
bd7114182f
commit
05d54e4bea
17 changed files with 833 additions and 827 deletions
|
@ -140,7 +140,7 @@
|
|||
(when (and (string? mtype)
|
||||
(not= mtype mtype'))
|
||||
(ex/raise :type :validation
|
||||
:code :image-type-mismatch
|
||||
:code :media-type-mismatch
|
||||
:hint "Seems like you are uploading a file whose content does not match the extension."))
|
||||
{:width (.getImageWidth instance)
|
||||
:height (.getImageHeight instance)
|
||||
|
|
|
@ -42,7 +42,7 @@
|
|||
(declare create-file)
|
||||
(declare create-page)
|
||||
|
||||
(s/def ::is-shared boolean?)
|
||||
(s/def ::is-shared ::us/boolean)
|
||||
(s/def ::create-file
|
||||
(s/keys :req-un [::profile-id ::name ::project-id ::is-shared]
|
||||
:opt-un [::id]))
|
||||
|
@ -188,7 +188,7 @@
|
|||
;; [conn {:keys [content file-id name] :as params}]
|
||||
;; (when-not (imgs/valid-image-types? (:content-type content))
|
||||
;; (ex/raise :type :validation
|
||||
;; :code :image-type-not-allowed
|
||||
;; :code :media-type-not-allowed
|
||||
;; :hint "Seems like you are uploading an invalid image."))
|
||||
;;
|
||||
;; (let [info (images/run {:cmd :info :input {:path (:tempfile content)
|
||||
|
|
|
@ -25,8 +25,8 @@
|
|||
[uxbox.util.time :as dt]))
|
||||
|
||||
(def thumbnail-options
|
||||
{:width 800
|
||||
:height 800
|
||||
{:width 100
|
||||
:height 100
|
||||
:quality 85
|
||||
:format :jpeg})
|
||||
|
||||
|
@ -122,7 +122,7 @@
|
|||
|
||||
(s/def ::content ::upload)
|
||||
|
||||
(s/def ::is-local boolean?)
|
||||
(s/def ::is-local ::us/boolean)
|
||||
|
||||
(s/def ::add-media-object-from-url
|
||||
(s/keys :req-un [::profile-id ::file-id ::url ::is-local]
|
||||
|
@ -179,18 +179,18 @@
|
|||
:width (:width info)
|
||||
:height (:height info)
|
||||
:mtype (:mtype info)})
|
||||
(media/resolve-urls :path :uri)
|
||||
(media/resolve-urls :thumb-path :thumb-uri))
|
||||
(media/resolve-urls :path :uri))
|
||||
|
||||
media-thumbnail (db/insert! conn :media-thumbnail
|
||||
{:id (uuid/next)
|
||||
:media-object-id media-object-id
|
||||
:path (str (:path thumb))
|
||||
:width (:width thumb)
|
||||
:height (:height thumb)
|
||||
:quality (:quality thumb)
|
||||
:mtype (:mtype thumb)})]
|
||||
media-object))
|
||||
media-thumbnail (-> (db/insert! conn :media-thumbnail
|
||||
{:id (uuid/next)
|
||||
:media-object-id media-object-id
|
||||
:path (str (:path thumb))
|
||||
:width (:width thumb)
|
||||
:height (:height thumb)
|
||||
:quality (:quality thumb)
|
||||
:mtype (:mtype thumb)})
|
||||
(media/resolve-urls :path :uri))]
|
||||
(assoc media-object :thumb-uri (:uri media-thumbnail))))
|
||||
|
||||
(def ^:private sql:select-file-for-update
|
||||
"select file.*,
|
||||
|
|
|
@ -77,7 +77,7 @@
|
|||
(declare retrieve-media-objects)
|
||||
(declare retrieve-file)
|
||||
|
||||
(s/def ::is-local boolean?)
|
||||
(s/def ::is-local ::us/boolean)
|
||||
(s/def ::media-objects
|
||||
(s/keys :req-un [::profile-id ::file-id ::is-local]))
|
||||
|
||||
|
@ -90,15 +90,18 @@
|
|||
(let [file (retrieve-file conn file-id)]
|
||||
(teams/check-read-permissions! conn profile-id (:team-id file))
|
||||
(->> (retrieve-media-objects conn file-id is-local)
|
||||
(mapv #(media/resolve-urls % :path :uri))))))
|
||||
(mapv #(media/resolve-urls % :path :uri))
|
||||
(mapv #(media/resolve-urls % :thumb-path :thumb-uri))))))
|
||||
|
||||
(def ^:private sql:media-objects
|
||||
"select *
|
||||
from media_object
|
||||
where deleted_at is null
|
||||
and file_id = ?
|
||||
and is_local = ?
|
||||
order by created_at desc")
|
||||
"select obj.*,
|
||||
thumb.path as thumb_path
|
||||
from media_object as obj
|
||||
inner join media_thumbnail as thumb on obj.id = thumb.media_object_id
|
||||
where obj.deleted_at is null
|
||||
and obj.file_id = ?
|
||||
and obj.is_local = ?
|
||||
order by obj.created_at desc")
|
||||
|
||||
(defn retrieve-media-objects
|
||||
[conn file-id is-local]
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue