mirror of
https://github.com/directus/directus.git
synced 2026-04-25 03:00:53 -04:00
@@ -25,7 +25,7 @@ columns:
|
||||
type: json
|
||||
collection_list:
|
||||
type: json
|
||||
admin:
|
||||
admin_access:
|
||||
type: boolean
|
||||
nullable: false
|
||||
default: false
|
||||
|
||||
@@ -37,7 +37,7 @@ fields:
|
||||
sort: 4
|
||||
width: half
|
||||
- collection: directus_roles
|
||||
field: admin
|
||||
field: admin_access
|
||||
interface: toggle
|
||||
locked: true
|
||||
special: boolean
|
||||
|
||||
@@ -36,7 +36,7 @@ const authenticate: RequestHandler = asyncHandler(async (req, res, next) => {
|
||||
}
|
||||
|
||||
const user = await database
|
||||
.select('role', 'directus_roles.admin')
|
||||
.select('role', 'directus_roles.admin_access')
|
||||
.from('directus_users')
|
||||
.leftJoin('directus_roles', 'directus_users.role', 'directus_roles.id')
|
||||
.where({
|
||||
@@ -53,13 +53,13 @@ const authenticate: RequestHandler = asyncHandler(async (req, res, next) => {
|
||||
|
||||
req.accountability.user = payload.id;
|
||||
req.accountability.role = user.role;
|
||||
req.accountability.admin = user.admin === true || user.admin == 1;
|
||||
req.accountability.admin = user.admin_access === true || user.admin_access == 1;
|
||||
|
||||
return next();
|
||||
} else {
|
||||
// Try finding the user with the provided token
|
||||
const user = await database
|
||||
.select('directus_users.id', 'directus_users.role', 'directus_roles.admin')
|
||||
.select('directus_users.id', 'directus_users.role', 'directus_roles.admin_access')
|
||||
.from('directus_users')
|
||||
.leftJoin('directus_roles', 'directus_users.role', 'directus_roles.id')
|
||||
.where({
|
||||
@@ -74,7 +74,7 @@ const authenticate: RequestHandler = asyncHandler(async (req, res, next) => {
|
||||
|
||||
req.accountability.user = user.id;
|
||||
req.accountability.role = user.role;
|
||||
req.accountability.admin = user.admin === true || user.admin == 1;
|
||||
req.accountability.admin = user.admin_access === true || user.admin_access == 1;
|
||||
}
|
||||
|
||||
/**
|
||||
|
||||
@@ -170,7 +170,7 @@ export default class ItemsService implements AbstractService {
|
||||
});
|
||||
let ast = await getASTFromQuery(this.collection, query, { accountability: this.accountability, knex: this.knex });
|
||||
|
||||
if (this.accountability && this.accountability.admin === false) {
|
||||
if (this.accountability && this.accountability.admin !== true) {
|
||||
ast = await authorizationService.processAST(ast);
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user