dependencies Legend  Declarations  Module  Bootstrap  Providers  Exports cluster_SessionModule cluster_SessionModule_exports cluster_SessionModule_imports cluster_SessionModule_providers LoggerModule LoggerModule SessionModule SessionModule LoggerModule->SessionModule StatusListModule StatusListModule StatusListModule->SessionModule LoggerModule LoggerModule SessionModule->LoggerModule SessionConfigService SessionConfigService SessionModule->SessionConfigService SessionEventsService SessionEventsService SessionModule->SessionEventsService SessionService SessionService SessionModule->SessionService SessionConfigService SessionConfigService SessionConfigService->SessionModule SessionEventsService SessionEventsService SessionEventsService->SessionModule SessionService SessionService SessionService->SessionModule

File

src/session/session.module.ts

Description

SessionModule is responsible for managing user sessions.

import { forwardRef, Module } from "@nestjs/common";
import { TypeOrmModule } from "@nestjs/typeorm";
import { makeGaugeProvider } from "@willsoto/nestjs-prometheus";
import { AuthModule } from "../auth/auth.module";
import { TenantEntity } from "../auth/tenant/entitites/tenant.entity";
import { StatusListModule } from "../issuer/lifecycle/status/status-list.module";
import { LoggerModule } from "../shared/utils/logger/logger.module";
import { Session } from "./entities/session.entity";
import { SessionController } from "./session.controller";
import { SessionService } from "./session.service";
import { SessionConfigController } from "./session-config.controller";
import { SessionConfigService } from "./session-config.service";
import { SessionEventsController } from "./session-events.controller";
import { SessionEventsService } from "./session-events.service";

/**
 * SessionModule is responsible for managing user sessions.
 */
@Module({
    imports: [
        TypeOrmModule.forFeature([Session, TenantEntity]),
        StatusListModule,
        LoggerModule,
        forwardRef(() => AuthModule),
    ],
    providers: [
        SessionService,
        SessionConfigService,
        SessionEventsService,
        makeGaugeProvider({
            name: "sessions",
            help: "Total number of sessions by status",
            labelNames: ["tenant_id", "session_type", "status"],
        }),
    ],
    exports: [
        SessionService,
        SessionConfigService,
        SessionEventsService,
        LoggerModule,
    ],
    controllers: [
        SessionController,
        SessionConfigController,
        SessionEventsController,
    ],
})
export class SessionModule {}

results matching ""

    No results matching ""