fase(9): auth module with casl rbac and session management
This commit is contained in:
39
dist/main.js
vendored
39
dist/main.js
vendored
@@ -36,6 +36,19 @@ const FuzzingEngineAdapter_1 = require("./modules/fuzzing/infrastructure/adapter
|
||||
const RunFuzzCommand_1 = require("./modules/fuzzing/application/commands/RunFuzzCommand");
|
||||
const OnActionExecuted_1 = require("./modules/fuzzing/application/event-handlers/OnActionExecuted");
|
||||
const InMemoryFuzzSessionRepository_1 = require("./modules/fuzzing/infrastructure/repositories/InMemoryFuzzSessionRepository");
|
||||
// Auth module
|
||||
const KyselyUserRepository_1 = require("./modules/auth/infrastructure/repositories/KyselyUserRepository");
|
||||
const KyselyOrganizationRepository_1 = require("./modules/auth/infrastructure/repositories/KyselyOrganizationRepository");
|
||||
const KyselyApiKeyRepository_1 = require("./modules/auth/infrastructure/repositories/KyselyApiKeyRepository");
|
||||
const KyselySessionRepository_1 = require("./modules/auth/infrastructure/repositories/KyselySessionRepository");
|
||||
const RegisterCommand_1 = require("./modules/auth/application/commands/RegisterCommand");
|
||||
const LoginCommand_1 = require("./modules/auth/application/commands/LoginCommand");
|
||||
const CreateOrganizationCommand_1 = require("./modules/auth/application/commands/CreateOrganizationCommand");
|
||||
const InviteMemberCommand_1 = require("./modules/auth/application/commands/InviteMemberCommand");
|
||||
const CreateApiKeyCommand_1 = require("./modules/auth/application/commands/CreateApiKeyCommand");
|
||||
const GetUserQuery_1 = require("./modules/auth/application/queries/GetUserQuery");
|
||||
const ListOrgMembersQuery_1 = require("./modules/auth/application/queries/ListOrgMembersQuery");
|
||||
const PasswordService_1 = require("./modules/auth/infrastructure/auth/PasswordService");
|
||||
// Job queue
|
||||
const SQLiteJobQueue_1 = require("./jobs/SQLiteJobQueue");
|
||||
const ExplorationWorker_1 = require("./jobs/workers/ExplorationWorker");
|
||||
@@ -83,7 +96,19 @@ async function bootstrap() {
|
||||
eventBus.subscribe('crawling.anomaly_detected', onAnomalyDetected);
|
||||
const onActionExecuted = new OnActionExecuted_1.OnActionExecuted(runFuzz);
|
||||
eventBus.subscribe('crawling.action_executed', onActionExecuted);
|
||||
// 10. HTTP server
|
||||
// 10. Auth module
|
||||
const userRepo = new KyselyUserRepository_1.KyselyUserRepository(db);
|
||||
const orgRepo = new KyselyOrganizationRepository_1.KyselyOrganizationRepository(db);
|
||||
const apiKeyRepo = new KyselyApiKeyRepository_1.KyselyApiKeyRepository(db);
|
||||
const authSessionRepo = new KyselySessionRepository_1.KyselySessionRepository(db);
|
||||
const registerCommand = new RegisterCommand_1.RegisterCommand(userRepo, eventBus, PasswordService_1.hashPassword);
|
||||
const loginCommand = new LoginCommand_1.LoginCommand(userRepo, authSessionRepo, eventBus, PasswordService_1.verifyPassword);
|
||||
const createOrgCommand = new CreateOrganizationCommand_1.CreateOrganizationCommand(orgRepo, userRepo, eventBus);
|
||||
const inviteMemberCommand = new InviteMemberCommand_1.InviteMemberCommand(orgRepo, userRepo, eventBus);
|
||||
const createApiKeyCommand = new CreateApiKeyCommand_1.CreateApiKeyCommand(apiKeyRepo, userRepo);
|
||||
const getUserQuery = new GetUserQuery_1.GetUserQuery(userRepo);
|
||||
const listOrgMembersQuery = new ListOrgMembersQuery_1.ListOrgMembersQuery(orgRepo, userRepo);
|
||||
// 11. HTTP server
|
||||
const app = (0, server_1.createServer)({
|
||||
config,
|
||||
logger,
|
||||
@@ -91,6 +116,18 @@ async function bootstrap() {
|
||||
crawlingDeps: { startCrawl, stopCrawl, getSession, listSessions },
|
||||
findingsDeps: { getFinding, listFindings, findingStats, resolveFinding, enrichFinding },
|
||||
fuzzingDeps: { runFuzz, repository: fuzzRepo },
|
||||
authDeps: {
|
||||
registerCommand,
|
||||
loginCommand,
|
||||
createOrgCommand,
|
||||
inviteMemberCommand,
|
||||
createApiKeyCommand,
|
||||
getUserQuery,
|
||||
listOrgMembersQuery,
|
||||
sessionRepository: authSessionRepo,
|
||||
apiKeyRepository: apiKeyRepo,
|
||||
userRepository: userRepo,
|
||||
},
|
||||
});
|
||||
const httpServer = http_1.default.createServer(app);
|
||||
// 11. Job queue
|
||||
|
||||
Reference in New Issue
Block a user