forked from geolba/tethys.backend
- additional functionality for DatasetController.ts
- additional validation rules like 'uniqueArray' - additional Lucid models like BaseModel.ts for filling attributes, Title.ts, Description.ts - npm updates for @adonisjs/core
This commit is contained in:
parent
c4f4eff0d9
commit
e0ff71b117
44 changed files with 2002 additions and 1556 deletions
|
@ -18,44 +18,44 @@ import Logger from '@ioc:Adonis/Core/Logger';
|
|||
import HttpExceptionHandler from '@ioc:Adonis/Core/HttpExceptionHandler';
|
||||
|
||||
export default class ExceptionHandler extends HttpExceptionHandler {
|
||||
protected statusPages = {
|
||||
'401,403': 'errors/unauthorized',
|
||||
'404': 'errors/not-found',
|
||||
'500..599': 'errors/server-error',
|
||||
};
|
||||
protected statusPages = {
|
||||
'401,403': 'errors/unauthorized',
|
||||
'404': 'errors/not-found',
|
||||
'500..599': 'errors/server-error',
|
||||
};
|
||||
|
||||
constructor() {
|
||||
super(Logger);
|
||||
}
|
||||
constructor() {
|
||||
super(Logger);
|
||||
}
|
||||
|
||||
public async handle(error: any, ctx: HttpContextContract) {
|
||||
const { response, request, inertia } = ctx;
|
||||
public async handle(error: any, ctx: HttpContextContract) {
|
||||
const { response, request, inertia } = ctx;
|
||||
|
||||
/**
|
||||
* Handle failed authentication attempt
|
||||
*/
|
||||
// if (['E_INVALID_AUTH_PASSWORD', 'E_INVALID_AUTH_UID'].includes(error.code)) {
|
||||
// session.flash('errors', { login: error.message });
|
||||
// return response.redirect('/login');
|
||||
// }
|
||||
// if ([401].includes(error.status)) {
|
||||
// session.flash('errors', { login: error.message });
|
||||
// return response.redirect('/dashboard');
|
||||
// }
|
||||
/**
|
||||
* Handle failed authentication attempt
|
||||
*/
|
||||
// if (['E_INVALID_AUTH_PASSWORD', 'E_INVALID_AUTH_UID'].includes(error.code)) {
|
||||
// session.flash('errors', { login: error.message });
|
||||
// return response.redirect('/login');
|
||||
// }
|
||||
// if ([401].includes(error.status)) {
|
||||
// session.flash('errors', { login: error.message });
|
||||
// return response.redirect('/dashboard');
|
||||
// }
|
||||
|
||||
// https://github.com/inertiajs/inertia-laravel/issues/56
|
||||
if (request.header('X-Inertia') && [500, 503, 404, 403, 401].includes(response.getStatus())) {
|
||||
return inertia.render('Error', {
|
||||
status: response.getStatus(),
|
||||
message: error.message
|
||||
});
|
||||
// ->toResponse($request)
|
||||
// ->setStatusCode($response->status());
|
||||
}
|
||||
// https://github.com/inertiajs/inertia-laravel/issues/56
|
||||
if (request.header('X-Inertia') && [500, 503, 404, 403, 401].includes(response.getStatus())) {
|
||||
return inertia.render('Error', {
|
||||
status: response.getStatus(),
|
||||
message: error.message,
|
||||
});
|
||||
// ->toResponse($request)
|
||||
// ->setStatusCode($response->status());
|
||||
}
|
||||
|
||||
/**
|
||||
* Forward rest of the exceptions to the parent class
|
||||
*/
|
||||
return super.handle(error, ctx);
|
||||
}
|
||||
/**
|
||||
* Forward rest of the exceptions to the parent class
|
||||
*/
|
||||
return super.handle(error, ctx);
|
||||
}
|
||||
}
|
||||
|
|
|
@ -1,4 +1,4 @@
|
|||
import { Exception } from "@adonisjs/core/build/standalone";
|
||||
import { Exception } from '@adonisjs/core/build/standalone';
|
||||
|
||||
/*
|
||||
|--------------------------------------------------------------------------
|
||||
|
@ -23,14 +23,14 @@ export default class InvalidCredentialException extends Exception {
|
|||
* Unable to find user
|
||||
*/
|
||||
static invalidUid() {
|
||||
const error = new this("User not found", 400, "E_INVALID_AUTH_UID");
|
||||
const error = new this('User not found', 400, 'E_INVALID_AUTH_UID');
|
||||
return error;
|
||||
}
|
||||
/**
|
||||
* Invalid user password
|
||||
*/
|
||||
static invalidPassword() {
|
||||
const error = new this("Password mis-match", 400, "E_INVALID_AUTH_PASSWORD");
|
||||
const error = new this('Password mis-match', 400, 'E_INVALID_AUTH_PASSWORD');
|
||||
return error;
|
||||
}
|
||||
|
||||
|
@ -41,18 +41,18 @@ export default class InvalidCredentialException extends Exception {
|
|||
// if (!ctx.session) {
|
||||
// return ctx.response.status(this.status).send(this.responseText);
|
||||
// }
|
||||
ctx.session.flashExcept(["_csrf"]);
|
||||
ctx.session.flash("auth", {
|
||||
ctx.session.flashExcept(['_csrf']);
|
||||
ctx.session.flash('auth', {
|
||||
error: error,
|
||||
/**
|
||||
* Will be removed in the future
|
||||
*/
|
||||
errors: {
|
||||
uid: this.code === "E_INVALID_AUTH_UID" ? ["Invalid login id"] : null,
|
||||
password: this.code === "E_INVALID_AUTH_PASSWORD" ? ["Invalid password"] : null,
|
||||
uid: this.code === 'E_INVALID_AUTH_UID' ? ['Invalid login id'] : null,
|
||||
password: this.code === 'E_INVALID_AUTH_PASSWORD' ? ['Invalid password'] : null,
|
||||
},
|
||||
});
|
||||
ctx.response.redirect("back", true);
|
||||
ctx.response.redirect('back', true);
|
||||
}
|
||||
|
||||
/**
|
||||
|
|
Loading…
Add table
editor.link_modal.header
Reference in a new issue