Some checks failed
CI/CD Pipeline - Xpeditis PreProd / Frontend - Docker Build & Push (push) Blocked by required conditions
CI/CD Pipeline - Xpeditis PreProd / Deploy to PreProd Server (push) Blocked by required conditions
CI/CD Pipeline - Xpeditis PreProd / Run Smoke Tests (push) Blocked by required conditions
CI/CD Pipeline - Xpeditis PreProd / Backend - Build & Test (push) Failing after 5m53s
CI/CD Pipeline - Xpeditis PreProd / Backend - Docker Build & Push (push) Has been skipped
CI/CD Pipeline - Xpeditis PreProd / Frontend - Build & Test (push) Has been cancelled
- Replace all ../../domain/ imports with @domain/ across 67 files - Configure NestJS to use tsconfig.build.json with rootDir - Add tsc-alias to resolve path aliases after build - This fixes 'Cannot find module' TypeScript compilation errors Fixed files: - 30 files in application layer - 37 files in infrastructure layer
47 lines
1.6 KiB
TypeScript
47 lines
1.6 KiB
TypeScript
import { Module } from '@nestjs/common';
|
|
import { JwtModule } from '@nestjs/jwt';
|
|
import { PassportModule } from '@nestjs/passport';
|
|
import { ConfigModule, ConfigService } from '@nestjs/config';
|
|
import { TypeOrmModule } from '@nestjs/typeorm';
|
|
import { AuthService } from './auth.service';
|
|
import { JwtStrategy } from './jwt.strategy';
|
|
import { AuthController } from '../controllers/auth.controller';
|
|
|
|
// Import domain and infrastructure dependencies
|
|
import { USER_REPOSITORY } from '@domain/ports/out/user.repository';
|
|
import { TypeOrmUserRepository } from '../../infrastructure/persistence/typeorm/repositories/typeorm-user.repository';
|
|
import { UserOrmEntity } from '../../infrastructure/persistence/typeorm/entities/user.orm-entity';
|
|
|
|
@Module({
|
|
imports: [
|
|
// Passport configuration
|
|
PassportModule.register({ defaultStrategy: 'jwt' }),
|
|
|
|
// JWT configuration with async factory
|
|
JwtModule.registerAsync({
|
|
imports: [ConfigModule],
|
|
inject: [ConfigService],
|
|
useFactory: async (configService: ConfigService) => ({
|
|
secret: configService.get<string>('JWT_SECRET'),
|
|
signOptions: {
|
|
expiresIn: configService.get<string>('JWT_ACCESS_EXPIRATION', '15m'),
|
|
},
|
|
}),
|
|
}),
|
|
|
|
// 👇 Add this to register TypeORM repository for UserOrmEntity
|
|
TypeOrmModule.forFeature([UserOrmEntity]),
|
|
],
|
|
controllers: [AuthController],
|
|
providers: [
|
|
AuthService,
|
|
JwtStrategy,
|
|
{
|
|
provide: USER_REPOSITORY,
|
|
useClass: TypeOrmUserRepository,
|
|
},
|
|
],
|
|
exports: [AuthService, JwtStrategy, PassportModule],
|
|
})
|
|
export class AuthModule {}
|