mirror of
https://github.com/penpot/penpot.git
synced 2025-05-10 05:56:38 +02:00
🎉 Set files as shared libraries
This commit is contained in:
parent
69ae893bd0
commit
9fb821d6e0
19 changed files with 322 additions and 56 deletions
|
@ -372,7 +372,8 @@
|
|||
(files/create-file conn {:id id
|
||||
:profile-id uuid/zero
|
||||
:project-id project-id
|
||||
:name name})
|
||||
:name name
|
||||
:shared? true})
|
||||
(files/create-page conn {:file-id id}))
|
||||
id))
|
||||
|
||||
|
|
|
@ -63,7 +63,11 @@
|
|||
|
||||
{:desc "Make libraries linked to a file"
|
||||
:name "0012-make-libraries-linked-to-a-file"
|
||||
:fn (mg/resource "migrations/0012-make-libraries-linked-to-a-file.sql")}]})
|
||||
:fn (mg/resource "migrations/0012-make-libraries-linked-to-a-file.sql")}
|
||||
|
||||
{:desc "Mark files shareable"
|
||||
:name "0013-mark-files-shareable"
|
||||
:fn (mg/resource "migrations/0013-mark-files-shareable.sql")}]})
|
||||
|
||||
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
|
||||
;; Entry point
|
||||
|
|
|
@ -63,9 +63,14 @@
|
|||
:can-edit true}))
|
||||
|
||||
(defn create-file
|
||||
[conn {:keys [id profile-id name project-id] :as params}]
|
||||
(let [id (or id (uuid/next))
|
||||
file (db/insert! conn :file {:id id :project-id project-id :name name})]
|
||||
[conn {:keys [id profile-id name project-id shared?] :as params}]
|
||||
(let [id (or id (uuid/next))
|
||||
shared? (or shared? false)
|
||||
file (db/insert! conn :file
|
||||
{:id id
|
||||
:project-id project-id
|
||||
:name name
|
||||
:is-shared shared?})]
|
||||
(->> (assoc params :file-id id)
|
||||
(create-file-profile conn))
|
||||
file))
|
||||
|
@ -101,6 +106,26 @@
|
|||
{:id id}))
|
||||
|
||||
|
||||
;; --- Mutation: Set File shared
|
||||
|
||||
(declare set-file-shared)
|
||||
|
||||
(s/def ::set-file-shared
|
||||
(s/keys :req-un [::profile-id ::id ::is-shared]))
|
||||
|
||||
(sm/defmutation ::set-file-shared
|
||||
[{:keys [id profile-id] :as params}]
|
||||
(db/with-atomic [conn db/pool]
|
||||
(files/check-edition-permissions! conn profile-id id)
|
||||
(set-file-shared conn params)))
|
||||
|
||||
(defn- set-file-shared
|
||||
[conn {:keys [id is-shared] :as params}]
|
||||
(db/update! conn :file
|
||||
{:is-shared is-shared}
|
||||
{:id id}))
|
||||
|
||||
|
||||
;; --- Mutation: Delete Project File
|
||||
|
||||
(declare mark-file-deleted)
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue