@@ -77,9 +77,10 @@ import { querySchemas } from "~/v3/querySchemas";
7777async function hasQueryAccess (
7878 userId : string ,
7979 isAdmin : boolean ,
80+ isImpersonating : boolean ,
8081 organizationSlug : string
8182) : Promise < boolean > {
82- if ( isAdmin ) {
83+ if ( isAdmin || isImpersonating ) {
8384 return true ;
8485 }
8586
@@ -117,7 +118,7 @@ export const loader = async ({ request, params }: LoaderFunctionArgs) => {
117118 const user = await requireUser ( request ) ;
118119 const { projectParam, organizationSlug, envParam } = EnvironmentParamSchema . parse ( params ) ;
119120
120- const canAccess = await hasQueryAccess ( user . id , user . admin , organizationSlug ) ;
121+ const canAccess = await hasQueryAccess ( user . id , user . admin , user . isImpersonating , organizationSlug ) ;
121122 if ( ! canAccess ) {
122123 throw redirect ( "/" ) ;
123124 }
@@ -158,7 +159,7 @@ export const action = async ({ request, params }: ActionFunctionArgs) => {
158159 const user = await requireUser ( request ) ;
159160 const { projectParam, organizationSlug, envParam } = EnvironmentParamSchema . parse ( params ) ;
160161
161- const canAccess = await hasQueryAccess ( user . id , user . admin , organizationSlug ) ;
162+ const canAccess = await hasQueryAccess ( user . id , user . admin , user . isImpersonating , organizationSlug ) ;
162163 if ( ! canAccess ) {
163164 return typedjson (
164165 { error : "Unauthorized" , rows : null , columns : null , stats : null } ,
0 commit comments