init auth strategy registry

This commit is contained in:
dswbx
2025-07-07 09:06:44 +02:00
parent 43c8f14470
commit ddd6ffe8c6
11 changed files with 45 additions and 64 deletions
+3 -2
View File
@@ -6,7 +6,7 @@ import type { Entity, EntityManager } from "data";
import { em, entity, enumm, type FieldSchema } from "data/prototype";
import { Module } from "modules/Module";
import { AuthController } from "./api/AuthController";
import { type AppAuthSchema, authConfigSchema, STRATEGIES } from "./auth-schema";
import { type AppAuthSchema, authConfigSchema, AuthStrategyRegistry } from "./auth-schema";
import { AppUserPool } from "auth/AppUserPool";
import type { AppEntity } from "core/config";
import { usersFields } from "./auth-entities";
@@ -65,7 +65,8 @@ export class AppAuth extends Module<AppAuthSchema> {
// build strategies
const strategies = transformObject(this.config.strategies ?? {}, (strategy, name) => {
try {
return new STRATEGIES[strategy.type].cls(strategy.config as any);
const cls = AuthStrategyRegistry.get(strategy.type as any).cls;
return new cls(strategy.config as any);
} catch (e) {
throw new Error(
`Could not build strategy ${String(