import BaseInertiaMiddleware from '@adonisjs/inertia/inertia_middleware' import type { HttpContext } from '@adonisjs/core/http' import type { NextFn } from '@adonisjs/core/types/http' export default class InertiaMiddleware extends BaseInertiaMiddleware { async share(ctx: HttpContext) { return { errors: ctx.session?.flashMessages.get('errors'), auth: { username: ctx.session?.get('username') ?? null, authenticated: ctx.session?.get('authenticated') ?? false, }, } } async handle(ctx: HttpContext, next: NextFn) { await this.init(ctx) await next() this.dispose(ctx) } }