File size: 1,897 Bytes
af69a75
 
 
 
 
 
 
 
 
 
 
 
 
 
 
a88c7af
 
 
af69a75
 
 
 
 
 
 
 
a88c7af
 
 
af69a75
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
import { Module } from '@nestjs/common';
import { APP_FILTER, APP_INTERCEPTOR } from '@nestjs/core';
import { MongooseModule } from '@nestjs/mongoose';
import { AdminController } from './admin.controller';
import { AdminService } from './admin.service';
import { AdminAuthGuard } from './admin-auth.guard';
import { RequestMetricsInterceptor } from './request-metrics.interceptor';
import { MongoErrorLoggerFilter } from './mongo-error-logger.filter';
import { AccessLog, AccessLogSchema } from './entities/access-log.entity';
import { ErrorLog, ErrorLogSchema } from './entities/error-log.entity';
import { Musica, MusicaSchema } from '../musica/entities/musica.entity';
import {
  FeedbackAprendizado,
  FeedbackAprendizadoSchema,
} from '../musica/entities/feedback-aprendizado.entity';
import { LearningEvent, LearningEventSchema } from '../musica/entities/learning-event.entity';
import { DecisionTrace, DecisionTraceSchema } from '../musica/entities/decision-trace.entity';
import { AdaptivePrior, AdaptivePriorSchema } from '../musica/entities/adaptive-prior.entity';

@Module({
  imports: [
    MongooseModule.forFeature([
      { name: AccessLog.name, schema: AccessLogSchema },
      { name: ErrorLog.name, schema: ErrorLogSchema },
      { name: Musica.name, schema: MusicaSchema },
      { name: FeedbackAprendizado.name, schema: FeedbackAprendizadoSchema },
      { name: LearningEvent.name, schema: LearningEventSchema },
      { name: DecisionTrace.name, schema: DecisionTraceSchema },
      { name: AdaptivePrior.name, schema: AdaptivePriorSchema },
    ]),
  ],
  controllers: [AdminController],
  providers: [
    AdminService,
    AdminAuthGuard,
    {
      provide: APP_INTERCEPTOR,
      useClass: RequestMetricsInterceptor,
    },
    {
      provide: APP_FILTER,
      useClass: MongoErrorLoggerFilter,
    },
  ],
  exports: [AdminService],
})
export class AdminModule {}