import { Module } from '@nestjs/common';
import { TypeOrmModule } from '@nestjs/typeorm';

// This module's own entities
import { Document } from './entities/document.entity';
import { DocumentRoleAssignment } from './entities/document-role-assignment.entity';
import { DocumentOtp } from './entities/document-otp.entity';
import { DocumentAccessLog } from './entities/document-access-log.entity';

// External entities we join / read
import { User } from '../user/entities/user.entity';

// Mailer — reused so OTP emails go through your existing SMTP setup
import { MailsModule } from '../mails/mails.module';

import { DocumentsController } from './documents.controller';
import { DocumentsService } from './services/documents.service';

@Module({
  imports: [
    TypeOrmModule.forFeature(
      [
        Document,
        DocumentRoleAssignment,
        DocumentOtp,
        DocumentAccessLog,
        User,
      ],
      'scheme_dbs',
    ),
    MailsModule,
  ],
  controllers: [DocumentsController],
  providers: [DocumentsService],
  exports: [DocumentsService],
})
export class DocumentsModule {}
