0
Fork 0
mirror of https://github.com/penpot/penpot.git synced 2025-02-13 10:38:13 -05:00

💄 Rename internal view ns to viewer.

This commit is contained in:
Andrey Antukh 2020-04-06 23:33:40 +02:00 committed by Alonso Torres
parent 25eba9de43
commit 9492fe188d
2 changed files with 31 additions and 7 deletions

View file

@ -22,7 +22,7 @@
(require 'uxbox.services.queries.pages)
(require 'uxbox.services.queries.profile)
(require 'uxbox.services.queries.recent-files)
(require 'uxbox.services.queries.view)
(require 'uxbox.services.queries.viewer)
)
(defn- load-mutation-services
@ -35,7 +35,6 @@
(require 'uxbox.services.mutations.files)
(require 'uxbox.services.mutations.pages)
(require 'uxbox.services.mutations.profile)
;; (require 'uxbox.services.mutations.user-attrs)
)
(defstate query-services

View file

@ -7,7 +7,7 @@
;;
;; Copyright (c) 2020 UXBOX Labs SL
(ns uxbox.services.queries.view
(ns uxbox.services.queries.viewer
(:require
[clojure.spec.alpha :as s]
[promesa.core :as p]
@ -31,7 +31,7 @@
(s/def ::id ::us/uuid)
(s/def ::page-id ::us/uuid)
;; --- Query: Viewer Bundle
;; --- Query: Viewer Bundle (by Page ID)
(def ^:private
sql:project
@ -52,16 +52,41 @@
(db/with-atomic [conn db/pool]
(p/let [page (pages/retrieve-page conn page-id)
file (files/retrieve-file conn (:file-id page))
users (files/retrieve-file-users conn (:file-id page))
images (files/retrieve-file-images conn page)
project (retrieve-project conn (:project-id file))]
(files/check-edition-permissions! conn profile-id (:file-id page))
{:page page
:file file
:users users
:images images
:project project})))
;; TODO: bundle by share link
;; --- Query: Viewer Bundle (By Share ID)
(declare retrieve-page-by-share-id)
(s/def ::viewer-bundle-by-share-id
(s/keys :req-un [::share-id]
:opt-un [::profile-id]))
(sq/defquery ::viewer-bundle-by-share-id
[{:keys [share-id]}]
(db/with-atomic [conn db/pool]
(p/let [page (retrieve-page-by-share-id conn share-id)
file (files/retrieve-file conn (:file-id page))
images (files/retrieve-file-images conn page)
project (retrieve-project conn (:project-id file))]
{:page page
:file file
:images images
:project project})))
(def ^:private sql:page-by-share-id
"select p.* from page as p where share_id=$1")
(defn- retrieve-page-by-share-id
[conn share-id]
(-> (db/query-one conn [sql:page-by-share-id share-id])
(p/then' su/raise-not-found-if-nil)
(p/then' pages/decode-row)))