(ns metabase-enterprise.impersonation.middleware (:require [metabase-enterprise.impersonation.driver :as impersonation.driver] [metabase.lib.metadata :as lib.metadata] [metabase.premium-features.core :refer [defenterprise]] [metabase.query-processor.store :as qp.store])) | |
Pre-processing middleware. Adds a key to the query. Currently used solely for caching. | (defenterprise apply-impersonation
:feature :advanced-permissions
[query]
(if-let [role (impersonation.driver/connection-impersonation-role
(lib.metadata/database (qp.store/metadata-provider)))]
(assoc query :impersonation/role role)
query)) |