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

import { ActivityLogsModule } from '../activity-logs/activity-logs.module';
import { Booking } from '../bookings/entities/booking.entity';
import { Vehicle } from '../vehicles/entities/vehicle.entity';

import { ContractsController } from './contracts.controller';
import { ContractPdfService } from './contract-pdf.service';
import { ContractsService } from './contracts.service';
import { Contract } from './entities/contract.entity';

@Module({
  imports: [
    TypeOrmModule.forFeature([Contract, Booking, Vehicle]),

    ActivityLogsModule,

    JwtModule.register({
      secret: process.env.JWT_SECRET || 'super-secret-jwt-key',
      signOptions: {
        expiresIn: '7d',
      },
    }),
  ],

  controllers: [ContractsController],

  providers: [
    ContractsService,
    ContractPdfService,
  ],
})
export class ContractsModule {}