Flesh out Cobalt, LDAP groups, &c.
This commit is contained in:
@@ -2,7 +2,34 @@ const { Controller } = require('libflitter')
|
||||
|
||||
class AuthController extends Controller {
|
||||
static get services() {
|
||||
return [...super.services, 'models', 'auth', 'MFA', 'output']
|
||||
return [...super.services, 'models', 'auth', 'MFA', 'output', 'configs']
|
||||
}
|
||||
|
||||
async get_users(req, res, next) {
|
||||
const User = this.models.get('auth:User')
|
||||
const users = await User.find()
|
||||
const data = []
|
||||
|
||||
for ( const user of users ) {
|
||||
if ( !req.user.can(`auth:user:${user.id}:view`) && req.user.id !== user.id) continue
|
||||
data.push(await user.to_api())
|
||||
}
|
||||
|
||||
return res.api(data)
|
||||
}
|
||||
|
||||
async get_roles(req, res, next) {
|
||||
const role_config = this.configs.get('auth.roles')
|
||||
const data = []
|
||||
for ( const role_name in role_config ) {
|
||||
if ( !role_config.hasOwnProperty(role_name) ) continue
|
||||
data.push({
|
||||
role: role_name,
|
||||
permissions: role_config[role_name],
|
||||
})
|
||||
}
|
||||
|
||||
return res.api(data)
|
||||
}
|
||||
|
||||
async validate_username(req, res, next) {
|
||||
|
||||
Reference in New Issue
Block a user