@ditsmod/authjs
Version:
Ditsmod module to support Auth.js
20 lines (16 loc) • 712 B
text/typescript
import { controller, SingletonRequestContext, inject } from '@ditsmod/core';
import { route } from '@ditsmod/routing';
import { Auth, type AuthConfig, setEnvDefaults } from '@auth/core';
import { AUTHJS_CONFIG } from '#mod/constants.js';
import { toDitsmodResponse, toWebRequest } from '#mod/http-api-adapters.js';
({ scope: 'module' })
export class AuthjsController {
constructor((AUTHJS_CONFIG) protected config: AuthConfig) {
setEnvDefaults(process.env, this.config);
}
('GET', ':action')
('POST', ':action/:provider')
async handleAction(ctx: SingletonRequestContext) {
return toDitsmodResponse(await Auth(toWebRequest(ctx), this.config), ctx.rawRes);
}
}