diff --git a/src/replay/replay.module.ts b/src/replay/replay.module.ts index c7accefa55f867a49c36e2dbc5cc3e75563b211c..eb8ba3370b27f71335c1879eb5b99ca94d631a85 100644 --- a/src/replay/replay.module.ts +++ b/src/replay/replay.module.ts @@ -10,6 +10,7 @@ import { FactionService } from '../faction/faction.service'; import { TrackingService } from '../tracking/tracking.service'; import { TrackingEntity } from 'src/tracking/tracking.entity'; import { PersonEntity } from 'src/user/user.entity'; +import { NotificationModule } from 'src/notifications/notifications.module'; @Module({ imports: [ @@ -21,6 +22,7 @@ import { PersonEntity } from 'src/user/user.entity'; GameGroupEntity, Game_PersonEntity, ]), + NotificationModule, ], controllers: [ReplayController], providers: [ReplayService, UserService, FactionService, TrackingService], diff --git a/src/tracking/tracking.module.ts b/src/tracking/tracking.module.ts index 4f6c2244473da2d9a80f63f5e1411fe6ae160d50..7a119311dcdb9d71d958ffae0b7e17f0a3db4c24 100644 --- a/src/tracking/tracking.module.ts +++ b/src/tracking/tracking.module.ts @@ -4,9 +4,10 @@ import { TypeOrmModule } from '@nestjs/typeorm'; import { TrackingController } from './tracking.controller'; import { TrackingService } from './tracking.service'; import { TrackingEntity } from './tracking.entity'; +import { NotificationModule } from '../notifications/notifications.module'; @Module({ - imports: [TypeOrmModule.forFeature([TrackingEntity])], + imports: [TypeOrmModule.forFeature([TrackingEntity]), NotificationModule], controllers: [TrackingController], providers: [TrackingService], }) diff --git a/src/tracking/tracking.service.ts b/src/tracking/tracking.service.ts index 9db263d335ee8395b7134c3c6fdfc95e38ef4b04..dfd370d995a152cf5dc7b9899f1838a31ae05939 100644 --- a/src/tracking/tracking.service.ts +++ b/src/tracking/tracking.service.ts @@ -5,12 +5,14 @@ import { Repository } from 'typeorm'; import { Game_PersonEntity } from '../game/game.entity'; import { TrackingEntity } from './tracking.entity'; import { GeoDTO } from './geo.dto'; +import { NotificationGateway } from '../notifications/notifications.gateway'; @Injectable() export class TrackingService { constructor( @InjectRepository(TrackingEntity) private trackingrepository: Repository<TrackingEntity>, + private notificationGateway: NotificationGateway, ) {} async trackLocation( @@ -23,6 +25,9 @@ export class TrackingService { gamepersonId: gameperson, }); // if player has pushed tracking data, update entry + this.notificationGateway.server.emit(gameId, { + type: 'tracking-update', + }); if (trackedperson) { trackdata['time'] = Date.now(); //add coordinates