| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748 |
- import { Controller, Get, OnModuleInit, Param } from '@nestjs/common';
- import { AppService } from './app.service';
- import { grpcClientOptions } from './scene/grpc-scene.options';
- import { ClientGrpc, Client } from '@nestjs/microservices';
- import { SceneService } from './scene/scene.service';
- import { CacheService } from './cache/cache.service';
- @Controller()
- export class AppController implements OnModuleInit {
- @Client(grpcClientOptions) private readonly client: ClientGrpc;
- private sceneGrpcService: SceneGrpcService;
- constructor(
- private readonly appService: AppService,
- private readonly sceneService: SceneService,
- private readonly cacheService: CacheService,
- ) { }
- onModuleInit() {
- // console.log('this.client', this.client);
- // this.sceneGrpcService =
- // this.client.getService<SceneGrpcService>('SceneGrpcService');
- // console.log('this.sceneGrpcService', this.sceneGrpcService);
- }
- @Get('/api/online/:roomId')
- async getOnline(@Param('roomId') roomId): Promise<any> {
- try {
- const roomKey =
- process.env.NODE_ENV === 'development'
- ? `test-room:${roomId}`
- : `room:${roomId}`;
- const onlineRoomUsers = await this.cacheService.hGetAll(roomKey);
- const userIds = Object.keys(onlineRoomUsers);
- console.log('onlineRoomUsers', userIds);
- return {
- users: userIds || [],
- total: userIds.length || 0,
- };
- } catch (error) {
- console.log('error', error);
- return {
- users: [],
- total: 0,
- };
- }
- }
- }
|