feat(admin): add session-based portal login

This commit is contained in:
phamnazage-jpg
2026-05-28 11:01:29 +08:00
parent 03c4b5236f
commit de33ff3492
15 changed files with 833 additions and 75 deletions

View File

@@ -16,8 +16,17 @@ func Bootstrap(ctx context.Context) (*Server, error) {
if err != nil {
return nil, err
}
adminSession, err := config.LoadAdminSessionFromEnv()
if err != nil {
return nil, err
}
startBackgroundSchedulers(ctx, cfg, defaultBackgroundSchedulers())
handler := NewAPIHandler(adminToken, NewActionSet(cfg.Database.SQLiteDSN))
handler := NewAPIHandlerWithAuth(AdminAuthConfig{
Token: adminToken,
Username: adminSession.Username,
Password: adminSession.Password,
SessionTTL: adminSession.SessionTTL,
}, NewActionSet(cfg.Database.SQLiteDSN))
return NewServer(cfg.Server.ListenAddr, handler, nil), nil
}