tethys.backend/config/inertia.ts

66 lines
1.7 KiB
TypeScript
Raw Normal View History

2024-03-14 19:25:27 +00:00
import { defineConfig } from '@adonisjs/inertia';
import type { HttpContext } from '@adonisjs/core/http';
export default defineConfig({
/**
* Path to the Edge view that will be used as the root view for Inertia responses
*/
rootView: 'app',
/**
* Data that should be shared with all rendered pages
*/
sharedData: {
errors: (ctx) => ctx.session?.flashMessages.get('errors'),
2024-03-14 19:25:27 +00:00
user_id: (ctx) => {
return ctx.session?.flashMessages.get('user_id');
2024-03-14 19:25:27 +00:00
},
flash: (ctx) => {
return {
message: ctx.session?.flashMessages.get('message'),
warning: ctx.session?.flashMessages.get('warning'),
2024-03-14 19:25:27 +00:00
};
},
// params: ({ params }) => params,
authUser: async ({ auth }: HttpContext) => {
if (auth?.user) {
2024-03-14 19:25:27 +00:00
await auth.user.load('roles');
return auth.user;
// {
// 'id': auth.user.id,
// 'login': auth.user.login,
// };
} else {
return null;
}
},
},
/**
* Options for the server-side rendering
*/
ssr: {
enabled: false,
entrypoint: 'inertia/app/ssr.ts',
},
2024-03-14 19:25:27 +00:00
});
// import { InertiaConfig } from '@ioc:EidelLev/Inertia';
// /*
// |--------------------------------------------------------------------------
// | Inertia-AdonisJS config
// |--------------------------------------------------------------------------
// |
// */
// export const inertia: InertiaConfig = {
// view: 'app',
// // ssr: {
// // enabled: false,
// // },
// };