* docs: prepare Vendoo 1.41.2 git-ignore boundary hotfix * fix: track native source modules with root-anchored runtime ignores
33 lines
1.1 KiB
JavaScript
33 lines
1.1 KiB
JavaScript
import { readFileSync } from 'node:fs';
|
|
import { dirname, join } from 'node:path';
|
|
import { fileURLToPath } from 'node:url';
|
|
import { PlatformError } from '../../kernel/errors.mjs';
|
|
|
|
const here = dirname(fileURLToPath(import.meta.url));
|
|
const manifest = JSON.parse(readFileSync(join(here, 'module.json'), 'utf8'));
|
|
let service = null;
|
|
let setupTokenMatcher = () => false;
|
|
|
|
export function configureAuthModule({ setupTokenMatches }) {
|
|
if (typeof setupTokenMatches === 'function') setupTokenMatcher = setupTokenMatches;
|
|
}
|
|
|
|
export function getAuthService() {
|
|
if (!service) throw new PlatformError('Auth-Modul ist noch nicht gestartet.', { code: 'AUTH_MODULE_NOT_READY', status: 503, expose: true });
|
|
return service;
|
|
}
|
|
|
|
export function createAuthModule() {
|
|
return {
|
|
manifest,
|
|
lifecycle: {
|
|
async start() {
|
|
const { createAuthService } = await import('./service.mjs');
|
|
service = createAuthService({ setupTokenMatches: setupTokenMatcher });
|
|
},
|
|
async stop() { service = null; },
|
|
async health() { return getAuthService().health(); },
|
|
},
|
|
};
|
|
}
|