Finish server-side translations in controllers
This commit is contained in:
@@ -20,7 +20,7 @@ class AuthController extends Controller {
|
||||
|
||||
async get_traps(req, res, next) {
|
||||
const trap_config = this.configs.get('traps')
|
||||
const data = [{ name: req.T('auth:none'), trap: '', redirect_to: '/' }]
|
||||
const data = [{ name: req.T('auth.none'), trap: '', redirect_to: '/' }]
|
||||
for ( const name in trap_config.types ) {
|
||||
if ( !trap_config.types.hasOwnProperty(name) ) continue
|
||||
data.push({
|
||||
@@ -44,18 +44,18 @@ class AuthController 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 ( !req.body.uid.match(/^([A-Z]|[a-z]|[0-9]|_|-|\.)+$/) )
|
||||
return res.status(400)
|
||||
.message(`${req.T('api:improper_field')} uid ${req.T('api:alphanum_underscores')}`)
|
||||
.message(`${req.T('api.improper_field')} uid ${req.T('api.alphanum_underscores')}`)
|
||||
.api()
|
||||
|
||||
if ( !email_validator.validate(req.body.email) )
|
||||
return res.status(400)
|
||||
.message(`${req.T('api:improper_field')} email`)
|
||||
.message(`${req.T('api.improper_field')} email`)
|
||||
.api()
|
||||
|
||||
for ( const field of unique_fields ) {
|
||||
@@ -64,7 +64,7 @@ class AuthController extends Controller {
|
||||
const match_user = await User.findOne(params)
|
||||
if ( match_user )
|
||||
return res.status(400)
|
||||
.message(`${req.T('auth:user_exists_with_field')} ${field}`)
|
||||
.message(`${req.T('auth.user_exists_with_field')} ${field}`)
|
||||
.api()
|
||||
}
|
||||
|
||||
@@ -91,12 +91,12 @@ class AuthController extends Controller {
|
||||
|| req.user.mfa_token.recovery_codes.length < 1
|
||||
)
|
||||
return res.status(400)
|
||||
.message(req.T('auth:no_mfa_or_recovery'))
|
||||
.message(req.T('auth.no_mfa_or_recovery'))
|
||||
.api()
|
||||
|
||||
if ( !req.body.code )
|
||||
return res.status(400)
|
||||
.message(`${req.T('api:missing_field')} code`)
|
||||
.message(`${req.T('api.missing_field')} code`)
|
||||
.api()
|
||||
|
||||
const success = await req.user.mfa_token.attempt_recovery(req.body.code)
|
||||
@@ -176,7 +176,7 @@ class AuthController extends Controller {
|
||||
|
||||
if ( !group || !group.active )
|
||||
return res.status(404)
|
||||
.message(req.T('api:group_not_found'))
|
||||
.message(req.T('api.group_not_found'))
|
||||
.api()
|
||||
|
||||
if ( !req.user.can(`auth:group:${group.id}:view`) )
|
||||
@@ -196,12 +196,12 @@ class AuthController 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 user.to_api())
|
||||
@@ -210,12 +210,12 @@ class AuthController extends Controller {
|
||||
async create_group(req, res, next) {
|
||||
if ( !req.user.can(`auth:group:create`) )
|
||||
return res.status(401)
|
||||
.message(req.T('api:insufficient_permissions'))
|
||||
.message(req.T('api.insufficient_permissions'))
|
||||
.api()
|
||||
|
||||
if ( !req.body.name )
|
||||
return res.status(400)
|
||||
.message(`${req.T('api:missing_field')} name`)
|
||||
.message(`${req.T('api.missing_field')} name`)
|
||||
.api()
|
||||
|
||||
const Group = this.models.get('auth:Group')
|
||||
@@ -224,7 +224,7 @@ class AuthController extends Controller {
|
||||
const existing_group = await Group.findOne({ name: req.body.name })
|
||||
if ( existing_group )
|
||||
return res.status(400)
|
||||
.message(req.T('api:group_already_exists'))
|
||||
.message(req.T('api.group_already_exists'))
|
||||
.api()
|
||||
|
||||
const group = new Group({ name: req.body.name })
|
||||
@@ -238,7 +238,7 @@ class AuthController extends Controller {
|
||||
const user = await User.findById(user_id)
|
||||
if ( !user )
|
||||
return res.status(400)
|
||||
.message(`${req.T('common:invalid')} user_id.`)
|
||||
.message(`${req.T('common.invalid')} user_id.`)
|
||||
.api()
|
||||
}
|
||||
|
||||
@@ -252,14 +252,14 @@ class AuthController extends Controller {
|
||||
async create_user(req, res, next) {
|
||||
if ( !req.user.can('auth:user:create') )
|
||||
return res.status(401)
|
||||
.message(req.T('api:insufficient_permissions'))
|
||||
.message(req.T('api.insufficient_permissions'))
|
||||
.api()
|
||||
|
||||
const required_fields = ['uid', 'first_name', 'last_name', 'email', 'password']
|
||||
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()
|
||||
}
|
||||
|
||||
@@ -272,7 +272,7 @@ class AuthController extends Controller {
|
||||
const existing_user = await User.findOne(filter)
|
||||
if ( existing_user )
|
||||
return res.status(400)
|
||||
.message(`${req.T('auth:user_exists_with_field')} ${field}`)
|
||||
.message(`${req.T('auth.user_exists_with_field')} ${field}`)
|
||||
.api()
|
||||
}
|
||||
|
||||
@@ -281,7 +281,7 @@ class AuthController extends Controller {
|
||||
const result = zxcvbn(req.body.password)
|
||||
if ( result.score < min_score )
|
||||
return res.status(400)
|
||||
.message(req.T('auth:password_complexity_fail').replace('MIN_SCORE', min_score))
|
||||
.message(req.T('auth.password_complexity_fail').replace('MIN_SCORE', min_score))
|
||||
.api()
|
||||
|
||||
const user = new User({
|
||||
@@ -297,7 +297,7 @@ class AuthController extends Controller {
|
||||
if ( req.body.trap ) {
|
||||
if ( !req.trap.trap_exists(req.body.trap) )
|
||||
return res.status(400)
|
||||
.message(req.T('auth:invalid_trap'))
|
||||
.message(req.T('auth.invalid_trap'))
|
||||
.api()
|
||||
|
||||
user.trap = req.body.trap
|
||||
@@ -315,24 +315,24 @@ class AuthController extends Controller {
|
||||
const group = await Group.findById(req.params.id)
|
||||
if ( !group )
|
||||
return res.status(404)
|
||||
.message(req.T('api:group_not_found'))
|
||||
.message(req.T('api.group_not_found'))
|
||||
.api()
|
||||
|
||||
if ( !req.user.can(`auth:group:${group.id}:update`) )
|
||||
return res.status(401)
|
||||
.message(req.T('api:insufficient_permissions'))
|
||||
.message(req.T('api.insufficient_permissions'))
|
||||
.api()
|
||||
|
||||
if ( !req.body.name )
|
||||
return res.status(400)
|
||||
.message(`${req.T('api:missing_field')} name`)
|
||||
.message(`${req.T('api.missing_field')} name`)
|
||||
.api()
|
||||
|
||||
// Make sure the group name is unique
|
||||
const existing_group = await Group.findOne({ name: req.body.name })
|
||||
if ( existing_group && existing_group.id !== group.id )
|
||||
return res.status(400)
|
||||
.message(req.T('api:group_already_exists'))
|
||||
.message(req.T('api.group_already_exists'))
|
||||
.api()
|
||||
|
||||
// Validate user_ids
|
||||
@@ -343,7 +343,7 @@ class AuthController extends Controller {
|
||||
const user = await User.findById(user_id)
|
||||
if ( !user )
|
||||
return res.status(400)
|
||||
.message(`${req.T('common:invalid')} user_id.`)
|
||||
.message(`${req.T('common.invalid')} user_id.`)
|
||||
.api()
|
||||
}
|
||||
|
||||
@@ -363,19 +363,19 @@ class AuthController 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}:update`) )
|
||||
return res.status(401)
|
||||
.message(req.T('api:insufficient_permissions'))
|
||||
.message(req.T('api.insufficient_permissions'))
|
||||
.api()
|
||||
|
||||
const required_fields = ['uid', 'first_name', 'last_name', 'email']
|
||||
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()
|
||||
}
|
||||
|
||||
@@ -387,7 +387,7 @@ class AuthController extends Controller {
|
||||
const existing_user = await User.findOne(filter)
|
||||
if ( existing_user && existing_user.id !== user.id )
|
||||
return res.status(400)
|
||||
.message(`${req.T('auth:user_exists_with_field')} ${field}`)
|
||||
.message(`${req.T('auth.user_exists_with_field')} ${field}`)
|
||||
.api()
|
||||
}
|
||||
|
||||
@@ -397,7 +397,7 @@ class AuthController extends Controller {
|
||||
const result = zxcvbn(req.body.password)
|
||||
if (result.score < min_score)
|
||||
return res.status(400)
|
||||
.message(req.T('auth:password_complexity_fail').replace('MIN_SCORE', min_score))
|
||||
.message(req.T('auth.password_complexity_fail').replace('MIN_SCORE', min_score))
|
||||
.api()
|
||||
|
||||
await user.reset_password(req.body.password, 'api')
|
||||
@@ -416,7 +416,7 @@ class AuthController extends Controller {
|
||||
if ( req.body.trap ) {
|
||||
if ( !req.trap.trap_exists(req.body.trap) )
|
||||
return res.status(400)
|
||||
.message(req.T('auth:invalid_trap'))
|
||||
.message(req.T('auth.invalid_trap'))
|
||||
.api()
|
||||
|
||||
user.trap = req.body.trap
|
||||
@@ -433,12 +433,12 @@ class AuthController extends Controller {
|
||||
|
||||
if ( !group )
|
||||
return res.status(404)
|
||||
.message(req.T('api:group_not_found'))
|
||||
.message(req.T('api.group_not_found'))
|
||||
.api()
|
||||
|
||||
if ( !req.user.can(`auth:group:${group.id}:delete`) )
|
||||
return res.status(401)
|
||||
.message(req.T('api:insufficient_permissions'))
|
||||
.message(req.T('api.insufficient_permissions'))
|
||||
.api()
|
||||
|
||||
group.active = false
|
||||
@@ -452,12 +452,12 @@ class AuthController 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}:delete`) )
|
||||
return res.status(401)
|
||||
.message(req.T('api:insufficient_permissions'))
|
||||
.message(req.T('api.insufficient_permissions'))
|
||||
.api()
|
||||
|
||||
// check if the user is an LDAP client. if so, delete the client
|
||||
@@ -493,7 +493,7 @@ class AuthController extends Controller {
|
||||
|
||||
if ( !req.body.username && !req.body.email )
|
||||
return res.status(400)
|
||||
.message(`${req.T('api:provide_one')} username, email`)
|
||||
.message(`${req.T('api.provide_one')} username, email`)
|
||||
.api()
|
||||
|
||||
const data = {}
|
||||
@@ -529,7 +529,7 @@ class AuthController extends Controller {
|
||||
const errors = await flitter.validate_login(req.body)
|
||||
if ( errors && errors.length > 0 )
|
||||
return res.status(400)
|
||||
.message(req.T('auth:unable_to_complete'))
|
||||
.message(req.T('auth.unable_to_complete'))
|
||||
.api({ errors })
|
||||
|
||||
const login_args = await flitter.get_login_args(req.body)
|
||||
@@ -537,9 +537,9 @@ class AuthController extends Controller {
|
||||
|
||||
if ( !user )
|
||||
return res.status(200)
|
||||
.message(req.T('auth:invalid_un_or_pw'))
|
||||
.message(req.T('auth.invalid_un_or_pw'))
|
||||
.api({
|
||||
message: req.T('auth:invalid_un_or_pw'),
|
||||
message: req.T('auth.invalid_un_or_pw'),
|
||||
success: false,
|
||||
})
|
||||
|
||||
@@ -549,9 +549,9 @@ class AuthController extends Controller {
|
||||
const client = await Client.findOne({ user_id: user.id })
|
||||
if ( client )
|
||||
return res.status(200)
|
||||
.message(req.T('auth:invalid_un_or_pw'))
|
||||
.message(req.T('auth.invalid_un_or_pw'))
|
||||
.api({
|
||||
message: req.T('auth:invalid_un_or_pw'),
|
||||
message: req.T('auth.invalid_un_or_pw'),
|
||||
success: false,
|
||||
})
|
||||
|
||||
@@ -585,7 +585,7 @@ class AuthController extends Controller {
|
||||
}
|
||||
} else {
|
||||
return res.status(401)
|
||||
.message(req.T('auth:unable_to_grant_trust'))
|
||||
.message(req.T('auth.unable_to_grant_trust'))
|
||||
.api()
|
||||
}
|
||||
}
|
||||
@@ -600,7 +600,7 @@ class AuthController extends Controller {
|
||||
async get_mfa_recovery(req, res, next) {
|
||||
if ( !req.user.mfa_enabled )
|
||||
return res.status(400)
|
||||
.message(req.T('auth:no_mfa'))
|
||||
.message(req.T('auth.no_mfa'))
|
||||
.api()
|
||||
|
||||
const token = req.user.mfa_token
|
||||
@@ -617,7 +617,7 @@ class AuthController extends Controller {
|
||||
async generate_mfa_recovery(req, res, next) {
|
||||
if ( !req.user.mfa_enabled )
|
||||
return res.status(400)
|
||||
.message(req.T('auth:no_mfa'))
|
||||
.message(req.T('auth.no_mfa'))
|
||||
.api()
|
||||
|
||||
const token = req.user.mfa_token
|
||||
@@ -631,7 +631,7 @@ class AuthController extends Controller {
|
||||
async generate_mfa_key(req, res, next) {
|
||||
if ( req.user.mfa_enabled )
|
||||
return res.status(400)
|
||||
.message(req.T('auth:already_has_mfa'))
|
||||
.message(req.T('auth.already_has_mfa'))
|
||||
.api()
|
||||
|
||||
const MFAToken = this.models.get('auth:MFAToken')
|
||||
@@ -654,7 +654,7 @@ class AuthController extends Controller {
|
||||
async attempt_mfa(req, res, next) {
|
||||
if ( !req.user.mfa_token )
|
||||
return res.status(400)
|
||||
.message(req.T('auth:no_mfa'))
|
||||
.message(req.T('auth.no_mfa'))
|
||||
.api()
|
||||
|
||||
const code = req.body.verify_code
|
||||
@@ -682,7 +682,7 @@ class AuthController extends Controller {
|
||||
async enable_mfa(req, res, next) {
|
||||
if ( !req.user.mfa_token )
|
||||
return res.status(400)
|
||||
.message(req.T('auth:no_mfa'))
|
||||
.message(req.T('auth.no_mfa'))
|
||||
.api()
|
||||
|
||||
req.user.mfa_enabled = true
|
||||
@@ -700,7 +700,7 @@ class AuthController extends Controller {
|
||||
async disable_mfa(req, res, next) {
|
||||
if ( !req.user.mfa_enabled )
|
||||
return res.status(400)
|
||||
.message(req.T('auth:no_mfa'))
|
||||
.message(req.T('auth.no_mfa'))
|
||||
.api()
|
||||
|
||||
req.user.mfa_enabled = false
|
||||
|
||||
Reference in New Issue
Block a user