tethys.backend/start/inertia.ts

48 lines
1.3 KiB
TypeScript
Raw Normal View History

2023-03-03 15:54:28 +00:00
/*
|--------------------------------------------------------------------------
| Inertia Preloaded File
|--------------------------------------------------------------------------
|
| Any code written inside this file will be executed during the application
| boot.
|
*/
import Inertia from '@ioc:EidelLev/Inertia';
import type { HttpContextContract } from '@ioc:Adonis/Core/HttpContext';
Inertia.share({
errors: (ctx) => {
return ctx.session.flashMessages.get('errors');
},
user_id: (ctx) => {
return ctx.session.flashMessages.get('user_id');
},
2023-03-03 15:54:28 +00:00
flash: (ctx) => {
return {
message: ctx.session.flashMessages.get('message'),
warning: ctx.session.flashMessages.get('warning'),
2023-03-03 15:54:28 +00:00
};
},
// params: ({ params }) => params,
authUser: async ({ auth }: HttpContextContract) => {
2023-03-03 15:54:28 +00:00
if (auth.user) {
await auth.user.load('roles');
2023-03-03 15:54:28 +00:00
return auth.user;
// {
// 'id': auth.user.id,
// 'login': auth.user.login,
// };
} else {
return null;
}
},
}).version(() => Inertia.manifestFile('public/assets/manifest.json'));
// 'flash' => [
// 'message' => fn () => $request->session()->get('message'),
// ],