Template
refactor : move lobby into its own module
This commit is contained in:
@@ -14,6 +14,7 @@ import { ConceptInTurn } from './games/entities/concept_in_turn.entity';
|
||||
import { ConfigService } from '@nestjs/config';
|
||||
import { WordModule } from './word/words.module';
|
||||
import { Message } from './games/entities/message.entity';
|
||||
import { LobbyModule } from './lobby/lobby.module';
|
||||
|
||||
const configService = new ConfigService();
|
||||
|
||||
@@ -43,6 +44,7 @@ const configService = new ConfigService();
|
||||
Word,
|
||||
],
|
||||
}),
|
||||
LobbyModule,
|
||||
GamesModule,
|
||||
UsersModule,
|
||||
WordModule,
|
||||
|
||||
@@ -10,7 +10,6 @@ import {
|
||||
Sse,
|
||||
UseGuards,
|
||||
} from '@nestjs/common';
|
||||
import { LobbyService } from '../services/lobby.service';
|
||||
import { AuthGuard } from '../../users/guards/auth.guard';
|
||||
import { ApiBody, ApiOperation, ApiResponse, ApiTags } from '@nestjs/swagger';
|
||||
import { Game } from '../entities/game.entity';
|
||||
@@ -23,6 +22,7 @@ import { ConfigService } from '@nestjs/config';
|
||||
import { SessionData } from 'express-session';
|
||||
import { WordResponseDTO } from 'events/dto/wordresponse.dto';
|
||||
import { WordRecieveDTO } from 'src/word/dto/wordrecieve.dto';
|
||||
import { LobbyService } from 'src/lobby/lobby.service';
|
||||
|
||||
@ApiTags('game')
|
||||
@Controller('games/:id')
|
||||
|
||||
@@ -1,25 +1,24 @@
|
||||
import { Module } from '@nestjs/common';
|
||||
import { LobbyService } from './services/lobby.service';
|
||||
import { LobbyController } from './controllers/lobby.controller';
|
||||
import { Module, forwardRef } from '@nestjs/common';
|
||||
import { Game } from './entities/game.entity';
|
||||
import { UsersModule } from 'src/users/users.module';
|
||||
import { GamesController } from './controllers/games.controller';
|
||||
import { GameService } from './services/games.service';
|
||||
import { TypeOrmModule } from '@nestjs/typeorm';
|
||||
import { Player } from './entities/player.entity';
|
||||
import { User } from 'src/users/entities/user.entity';
|
||||
import { WordModule } from 'src/word/words.module';
|
||||
import { Message } from './entities/message.entity';
|
||||
import { LobbyModule } from 'src/lobby/lobby.module';
|
||||
|
||||
@Module({
|
||||
imports: [
|
||||
UsersModule,
|
||||
WordModule,
|
||||
forwardRef(() => LobbyModule),
|
||||
TypeOrmModule.forFeature([Game]),
|
||||
TypeOrmModule.forFeature([Player]),
|
||||
TypeOrmModule.forFeature([Message]),
|
||||
],
|
||||
controllers: [LobbyController, GamesController],
|
||||
providers: [LobbyService, GameService],
|
||||
controllers: [GamesController],
|
||||
providers: [GameService],
|
||||
})
|
||||
export class GamesModule {}
|
||||
|
||||
@@ -1,14 +1,14 @@
|
||||
import { Test, TestingModule } from '@nestjs/testing';
|
||||
import { LobbyController } from './lobby.controller';
|
||||
import { LobbyController } from '../games/controllers/lobby.controller';
|
||||
import { LobbyService } from '../services/lobby.service';
|
||||
import { Game } from '../entities/game.entity';
|
||||
import { Game } from '../games/entities/game.entity';
|
||||
import { TypeOrmModule } from '@nestjs/typeorm';
|
||||
import { Player } from '../entities/player.entity';
|
||||
import { GameService } from '../services/games.service';
|
||||
import { Player } from '../games/entities/player.entity';
|
||||
import { GameService } from '../games/services/games.service';
|
||||
import { User } from 'src/users/entities/user.entity';
|
||||
import { EventEmitterModule } from '@nestjs/event-emitter';
|
||||
import { Concept } from '../entities/concept.entity';
|
||||
import { ConceptInTurn } from '../entities/concept_in_turn.entity';
|
||||
import { Concept } from '../games/entities/concept.entity';
|
||||
import { ConceptInTurn } from '../games/entities/concept_in_turn.entity';
|
||||
|
||||
describe('LobbyController', () => {
|
||||
let controller: LobbyController;
|
||||
@@ -10,14 +10,14 @@ import {
|
||||
HttpStatus,
|
||||
Sse,
|
||||
} from '@nestjs/common';
|
||||
import { LobbyService } from '../services/lobby.service';
|
||||
import { AuthGuard } from '../../users/guards/auth.guard';
|
||||
import { LobbyService } from './lobby.service';
|
||||
import { AuthGuard } from '../users/guards/auth.guard';
|
||||
import { ApiOperation, ApiResponse, ApiTags } from '@nestjs/swagger';
|
||||
import { GamePipe } from '../pipe/game.pipe';
|
||||
import { Game } from '../entities/game.entity';
|
||||
import { GamePipe } from '../games/pipe/game.pipe';
|
||||
import { Game } from '../games/entities/game.entity';
|
||||
import { Observable, fromEvent, map } from 'rxjs';
|
||||
import { EventEmitter2 } from '@nestjs/event-emitter';
|
||||
import { GameResponseDTO } from '../../../events/dto/gameresponse.dto';
|
||||
import { GameResponseDTO } from '../../events/dto/gameresponse.dto';
|
||||
import { GetUser } from 'src/users/user.pipe';
|
||||
import { User } from 'src/users/entities/user.entity';
|
||||
|
||||
@@ -0,0 +1,22 @@
|
||||
import { Module, forwardRef } from '@nestjs/common';
|
||||
import { UsersModule } from 'src/users/users.module';
|
||||
import { WordModule } from 'src/word/words.module';
|
||||
import { LobbyController } from './lobby.controller';
|
||||
import { LobbyService } from './lobby.service';
|
||||
import { GamesModule } from 'src/games/games.module';
|
||||
import { TypeOrmModule } from '@nestjs/typeorm';
|
||||
import { Game } from 'src/games/entities/game.entity';
|
||||
import { Player } from 'src/games/entities/player.entity';
|
||||
|
||||
@Module({
|
||||
imports: [
|
||||
UsersModule,
|
||||
forwardRef(() => GamesModule),
|
||||
TypeOrmModule.forFeature([Game]),
|
||||
TypeOrmModule.forFeature([Player]),
|
||||
],
|
||||
controllers: [LobbyController],
|
||||
providers: [LobbyService],
|
||||
exports: [LobbyService],
|
||||
})
|
||||
export class LobbyModule {}
|
||||
@@ -3,11 +3,11 @@ import { LobbyService } from './lobby.service';
|
||||
import { TypeOrmModule } from '@nestjs/typeorm';
|
||||
import { EventEmitterModule } from '@nestjs/event-emitter';
|
||||
import { User } from 'src/users/entities/user.entity';
|
||||
import { Concept } from '../entities/concept.entity';
|
||||
import { ConceptInTurn } from '../entities/concept_in_turn.entity';
|
||||
import { Game } from '../entities/game.entity';
|
||||
import { Player } from '../entities/player.entity';
|
||||
import { GameService } from './games.service';
|
||||
import { Concept } from '../games/entities/concept.entity';
|
||||
import { ConceptInTurn } from '../games/entities/concept_in_turn.entity';
|
||||
import { Game } from '../games/entities/game.entity';
|
||||
import { Player } from '../games/entities/player.entity';
|
||||
import { GameService } from '../games/services/games.service';
|
||||
|
||||
describe('LobbyService', () => {
|
||||
let service: LobbyService;
|
||||
@@ -1,11 +1,8 @@
|
||||
import { Injectable } from '@nestjs/common';
|
||||
import { EventEmitter2 } from '@nestjs/event-emitter';
|
||||
import { GameService } from './games.service';
|
||||
import { InjectRepository } from '@nestjs/typeorm';
|
||||
import { Repository } from 'typeorm';
|
||||
import { Game } from '../entities/game.entity';
|
||||
import { User } from 'src/users/entities/user.entity';
|
||||
import { Player } from '../entities/player.entity';
|
||||
import { randomUUID } from 'node:crypto';
|
||||
import {
|
||||
LobbyCreateEvent,
|
||||
@@ -14,13 +11,14 @@ import {
|
||||
} from 'events/lobby.events';
|
||||
import { GameResponseDTO } from 'events/dto/gameresponse.dto';
|
||||
import { GameDeleteEvent, GameJoinEvent } from 'events/game.events';
|
||||
import { Player } from 'src/games/entities/player.entity';
|
||||
import { Game } from 'src/games/entities/game.entity';
|
||||
|
||||
@Injectable()
|
||||
export class LobbyService {
|
||||
constructor(
|
||||
@InjectRepository(Game) private gameRepository: Repository<Game>,
|
||||
@InjectRepository(Player) private playerRepository: Repository<Player>,
|
||||
private readonly gamesService: GameService,
|
||||
private eventEmitter: EventEmitter2,
|
||||
) {}
|
||||
|
||||
Reference in New Issue
Block a user