Finish server-side translations in controllers

This commit is contained in:
garrettmills
2020-05-30 20:16:10 -05:00
parent 86878efb52
commit d2ae9c43e8
26 changed files with 225 additions and 394 deletions

View File

@@ -10,7 +10,7 @@ class IAMController extends Controller {
if ( !req.body.entity_id && !req.body.target_id )
return res.status(400)
.message(`${req.T('api:missing_field', true)} entity_id, target_id`)
.message(`${req.T('api.missing_field', true)} entity_id, target_id`)
.api()
return res.api(await Policy.check_entity_access(req.body.entity_id, req.body.target_id))
@@ -22,7 +22,7 @@ class IAMController extends Controller {
if ( !req.body.target_id )
return res.status(400)
.message(`${req.T('api:missing_field')} target_id`)
.message(`${req.T('api.missing_field')} target_id`)
.api()
let user = req.user
@@ -31,12 +31,12 @@ class IAMController extends Controller {
if ( !user )
return res.status(404)
.message(req.T('api:user_not_found'))
.message(req.T('api.user_not_found'))
.api()
if ( !req.user.can(`auth:user:${user.id}:view`) )
return res.status(401)
.message(req.T('api:insufficient_permissions'))
.message(req.T('api.insufficient_permissions'))
.api()
return res.api(await Policy.check_user_access(user, req.body.target_id))
@@ -62,12 +62,12 @@ class IAMController extends Controller {
if ( !policy )
return res.status(404)
.message(req.T('iam:policy_not_found'))
.message(req.T('iam.policy_not_found'))
.api()
if ( !req.user.can(`iam:policy:${policy.id}:view`) )
return res.status(401)
.message(req.T('api:insufficient_permissions'))
.message(req.T('api.insufficient_permissions'))
.api()
return res.api(await policy.to_api())
@@ -80,13 +80,13 @@ class IAMController extends Controller {
for ( const field of required_fields ) {
if ( !req.body[field] )
return res.status(400)
.message(`${req.T('api:missing_field')} ${field}`)
.message(`${req.T('api.missing_field')} ${field}`)
.api()
}
if ( !['user', 'group'].includes(req.body.entity_type) )
return res.status(400)
.message(`${req.T('iam:invalid_entity')} user, group`)
.message(`${req.T('iam.invalid_entity')} user, group`)
.api()
// Make sure the entity_id is valid
@@ -95,25 +95,25 @@ class IAMController extends Controller {
const user = await User.findById(req.body.entity_id)
if ( !user || !req.user.can(`auth:user:${user.id}:view`) )
return res.status(400)
.message(`${req.T('common:invalid')} entity_id.`)
.message(`${req.T('common.invalid')} entity_id.`)
.api()
} else if ( req.body.entity_type === 'group' ) {
const Group = this.models.get('auth:Group')
const group = await Group.findById(req.body.entity_id)
if ( !group || !group.active || !req.user.can(`auth:group:${group.id}:view`) )
return res.status(400)
.message(`${req.T('common:invalid')} entity_id.`)
.message(`${req.T('common.invalid')} entity_id.`)
.api()
}
if ( !['allow', 'deny'].includes(req.body.access_type) )
return res.status(400)
.message(`${req.T('common:invalid')} access_type. ${req.T('api:must_one')} allow, deny.`)
.message(`${req.T('common.invalid')} access_type. ${req.T('api:must_one')} allow, deny.`)
.api()
if ( !['application', 'api_scope'].includes(req.body.target_type) )
return res.status(400)
.message(`${req.T('common:invalid')} target_type. ${req.T('api:must_one')} application, api_scope.`)
.message(`${req.T('common.invalid')} target_type. ${req.T('api:must_one')} application, api_scope.`)
.api()
// Make sure the target_id is valid
@@ -122,13 +122,13 @@ class IAMController extends Controller {
const app = await Application.findById(req.body.target_id)
if ( !app || !app.active || !req.user.can(`app:${app.id}:view`) )
return res.status(400)
.message(`${req.T('common:invalid')} target_id.`)
.message(`${req.T('common.invalid')} target_id.`)
.api()
} else if ( req.body.target_type === 'api_scope' ) {
const api_scopes = this.canon.get('controller::api:v1:Reflect.api_scopes')()
if ( !api_scopes.includes(req.body.target_id) )
return res.status(400)
.message(`${req.T('common:invalid')} target_id.`)
.message(`${req.T('common.invalid')} target_id.`)
.api()
}
@@ -152,25 +152,25 @@ class IAMController extends Controller {
if ( !policy || !policy.active )
return res.status(404)
.message(req.T('iam:policy_not_found'))
.message(req.T('iam.policy_not_found'))
.api()
if ( !req.user.can(`iam:policy:${policy.id}:update`) )
return res.status(401)
.message(req.T('api:insufficient_permissions'))
.message(req.T('api.insufficient_permissions'))
.api()
const required_fields = ['entity_type', 'entity_id', 'access_type', 'target_type', 'target_id']
for ( const field of required_fields ) {
if ( !req.body[field] )
return res.status(400)
.message(`${req.T('api:missing_field')} ${field}`)
.message(`${req.T('api.missing_field')} ${field}`)
.api()
}
if ( !['user', 'group'].includes(req.body.entity_type) )
return res.status(400)
.message(`${req.T('common:invalid')} entity_type. ${req.T('api:must_one')} user, group.`)
.message(`${req.T('common.invalid')} entity_type. ${req.T('api.must_one')} user, group.`)
.api()
// Make sure the entity_id is valid
@@ -179,25 +179,25 @@ class IAMController extends Controller {
const user = await User.findById(req.body.entity_id)
if ( !user || !req.user.can(`auth:user:${user.id}:view`) )
return res.status(400)
.message(`${req.T('common:invalid')} entity_id.`)
.message(`${req.T('common.invalid')} entity_id.`)
.api()
} else if ( req.body.entity_type === 'group' ) {
const Group = this.models.get('auth:Group')
const group = await Group.findById(req.body.entity_id)
if ( !group || !group.active || !req.user.can(`auth:group:${group.id}:view`) )
return res.status(400)
.message(`${req.T('common:invalid')} entity_id.`)
.message(`${req.T('common.invalid')} entity_id.`)
.api()
}
if ( !['allow', 'deny'].includes(req.body.access_type) )
return res.status(400)
.message(`${req.T('common:invalid')} access_type. ${req.T('api:must_one')} allow, deny.`)
.message(`${req.T('common.invalid')} access_type. ${req.T('api.must_one')} allow, deny.`)
.api()
if ( !['application', 'api_scope'].includes(req.body.target_type) )
return res.status(400)
.message(`${req.T('common:invalid')} target_type. ${req.T('api:must_one')} application, api_scope.`)
.message(`${req.T('common.invalid')} target_type. ${req.T('api.must_one')} application, api_scope.`)
.api()
// Make sure the target_id is valid
@@ -206,13 +206,13 @@ class IAMController extends Controller {
const app = await Application.findById(req.body.target_id)
if ( !app || !app.active || !req.user.can(`app:${app.id}:view`) )
return res.status(400)
.message(`${req.T('common:invalid')} target_id.`)
.message(`${req.T('common.invalid')} target_id.`)
.api()
} else if ( req.body.target_type === 'api_scope' ) {
const api_scopes = this.canon.get('controller::api:v1:Reflect.api_scopes')()
if ( !api_scopes.includes(req.body.target_id) )
return res.status(400)
.message(`${req.T('common:invalid')} target_id.`)
.message(`${req.T('common.invalid')} target_id.`)
.api()
}
@@ -231,12 +231,12 @@ class IAMController extends Controller {
if ( !policy || !policy.active )
return res.status(404)
.message(req.T('iam:policy_not_found'))
.message(req.T('iam.policy_not_found'))
.api()
if ( !req.user.can(`iam:policy:${policy.id}:delete`) )
return res.status(401)
.message(req.T('api:insufficient_permissions'))
.message(req.T('api.insufficient_permissions'))
.api()
policy.active = false