Include project name on files queries.

Just for convenience.
This commit is contained in:
Andrey Antukh 2019-12-18 23:47:29 +01:00
parent 51058dd83a
commit 34d33a2d83
3 changed files with 5 additions and 19 deletions

View file

@ -27,6 +27,7 @@
(su/defstr sql:generic-project-files
"select pf.*,
p.name as project_name,
array_agg(pp.id) over pages_w as pages
from project_files as pf
inner join projects as p on (pf.project_id = p.id)
@ -76,6 +77,7 @@
(-> (db/query conn [sql:recent-files user 20])
(p/then' (partial mapv decode-row))))
;; --- Query: Project File (By ID)
(su/defstr sql:project-file
@ -90,6 +92,7 @@
(-> (db/query-one db/pool [sql:project-file user id])
(p/then' decode-row)))
;; --- Query: Users of the File
(su/defstr sql:file-users
@ -117,7 +120,6 @@
(db/with-atomic [conn db/pool]
(-> (retrieve-minimal-file conn user file-id)
(p/then (fn [{:keys [id project-id]}]
(prn ::project-file-users id project-id)
(db/query conn [sql:file-users id project-id]))))))
(defn- retrieve-minimal-file

View file

@ -42,24 +42,6 @@
(str "with pages as (" sql:generic-project-pages ")"
" select * from pages where file_id = $2"))
;; (defn project-pages-sql
;; [user]
;; (-> (sql/from ["project_pages" "pp"])
;; (sql/join ["project_files" "pf"] "pf.id = pp.file_id")
;; (sql/join ["projects" "p"] "p.id = pf.project_id")
;; (sql/ljoin ["project_users", "pu"] "pu.project_id = p.id")
;; (sql/ljoin ["project_file_users", "pfu"] "pfu.file_id = pf.id")
;; (sql/select "pp.*")
;; (sql/where ["((pfu.user_id = ? and pfu.can_edit = true) or
;; (pu.user_id = ? and pu.can_edit = true))" user user])
;; (sql/order "pp.created_at")))
;; (let [sql (-> (project-pages-sql user)
;; (sql/where ["pp.file_id = ?" file-id])
;; (sql/fmt))]
;; (-> (db/query db/pool sql)
;; (p/then #(mapv decode-row %)))))
(s/def ::project-pages
(s/keys :req-un [::user ::file-id]))

View file

@ -23,6 +23,7 @@
(s/def ::token ::us/string)
(s/def ::user ::us/uuid)
;; --- Query: Projects
(su/defstr sql:projects
@ -41,6 +42,7 @@
(-> (db/query db/pool [sql:projects user])
(p/then' (partial mapv decode-row))))
;; --- Helpers
(defn decode-row