Skip to content
Snippets Groups Projects
Unverified Commit 883c4913 authored by Cam Saül's avatar Cam Saül
Browse files

Add :native_permissions column to dbs in GET /api/database :heavy_plus_sign:

parent 425c6b66
Branches
Tags
No related merge requests found
......@@ -13,6 +13,7 @@
[field :refer [Field]]
[hydrate :refer [hydrate]]
[interface :as models]
[permissions :as perms]
[table :refer [Table]])
(metabase [sample-data :as sample-data]
[util :as u])))
......@@ -34,11 +35,18 @@
(for [db dbs]
(assoc db :tables (get db-id->tables (:id db) [])))))
(defn- add-native-perms-info [dbs]
(for [db dbs]
(assoc db :native_permissions (cond
(perms/set-has-full-permissions? @*current-user-permissions-set* (perms/native-readwrite-path (u/get-id db))) :readwrite
(perms/set-has-full-permissions? @*current-user-permissions-set* (perms/native-read-path (u/get-id db))) :read
:else :none))))
(defn- dbs-list [include-tables?]
(when-let [dbs (seq (filter models/can-read? (db/select Database {:order-by [:%lower.name]})))]
(if-not include-tables?
dbs
(add-tables dbs))))
(add-native-perms-info (if-not include-tables?
dbs
(add-tables dbs)))))
(defendpoint GET "/"
"Fetch all `Databases`."
......
......@@ -37,6 +37,7 @@
(db/select Label, :id [:in label-ids], {:order-by [:%lower.name]})
[]))
;;; ------------------------------------------------------------ Permissions Checking ------------------------------------------------------------
(defn- permissions-path-set:mbql [{database-id :database, :as query}]
......
......@@ -163,6 +163,7 @@
:id $
:updated_at $
:name "test-data"
:native_permissions "readwrite"
:is_sample false
:is_full_sync true
:description nil
......@@ -175,6 +176,7 @@
:id $
:updated_at $
:name $
:native_permissions "readwrite"
:is_sample false
:is_full_sync true
:description nil
......@@ -195,6 +197,7 @@
:id $
:updated_at $
:name $
:native_permissions "readwrite"
:is_sample false
:is_full_sync true
:description nil
......@@ -211,6 +214,7 @@
:id $
:updated_at $
:name "test-data"
:native_permissions "readwrite"
:is_sample false
:is_full_sync true
:description nil
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment