11import { ROOM_PHASE } from '@constant' ;
2- import { clientId , InmemoryRoom , roomUUID , User , userUUID } from '@types' ;
3- import { RoomRepository } from './interface- room.repository' ;
2+ import { clientId , Room , roomUUID , User , userUUID } from '@types' ;
3+ import { RoomRepository } from './room.repository' ;
44
55export class InmemoryRoomRepository implements RoomRepository {
6- private rooms = new Map < roomUUID , InmemoryRoom > ( ) ;
6+ private rooms = new Map < roomUUID , Room > ( ) ;
77 private usersInRoom = new Map < roomUUID , Set < userUUID > > ( ) ;
88 private clientUserIdMap = new Map < clientId , userUUID > ( ) ;
99 private userClientIdMap = new Map < userUUID , clientId > ( ) ;
1010 private userMap = new Map < userUUID , User > ( ) ;
1111
12- createRoom ( { roomUUID, room } : { roomUUID : string ; room : InmemoryRoom } ) {
12+ async createRoom ( { roomUUID, room } : { roomUUID : string ; room : Room } ) {
1313 this . rooms . set ( roomUUID , room ) ;
1414 this . usersInRoom . set ( roomUUID , new Set ( ) ) ;
1515 return room ;
1616 }
1717
18- deleteRoom ( roomUUID : string ) {
18+ async deleteRoom ( roomUUID : string ) {
1919 this . rooms . delete ( roomUUID ) ;
2020 this . usersInRoom . delete ( roomUUID ) ;
2121 }
2222
23- getRoom ( roomUUID : string ) {
23+ async getRoom ( roomUUID : string ) {
2424 return this . rooms . get ( roomUUID ) ;
2525 }
2626
27- getUsersInRoom ( roomUUID : string ) {
27+ async getUsersInRoom ( roomUUID : string ) {
2828 const userSet = this . usersInRoom . get ( roomUUID ) ;
2929 return [ ...userSet ] . map ( ( uuid ) => this . userMap . get ( uuid ) ) ;
3030 }
3131
32- saveUserInRoom ( {
32+ async saveUserInRoom ( {
3333 clientId,
3434 roomUUID,
3535 user,
@@ -46,17 +46,17 @@ export class InmemoryRoomRepository implements RoomRepository {
4646 this . userClientIdMap . set ( user . uuid , clientId ) ;
4747 }
4848
49- getUserByClientId ( clientId : string ) {
49+ async getUserByClientId ( clientId : string ) {
5050 const uuid = this . clientUserIdMap . get ( clientId ) ;
5151 return this . userMap . get ( uuid ) ;
5252 }
5353
54- getClientIdByUser ( uuid : string ) {
54+ async getClientIdByUser ( uuid : string ) {
5555 const clientId = this . userClientIdMap . get ( uuid ) ;
5656 return clientId ;
5757 }
5858
59- removeUserInRoom ( { roomUUID, user } : { roomUUID : string ; user : User } ) {
59+ async removeUserInRoom ( { roomUUID, user } : { roomUUID : string ; user : User } ) {
6060 const userSet = this . usersInRoom . get ( roomUUID ) ;
6161 userSet . delete ( user . uuid ) ;
6262
@@ -67,17 +67,17 @@ export class InmemoryRoomRepository implements RoomRepository {
6767 this . clientUserIdMap . delete ( clientId ) ;
6868 }
6969
70- getRoomPhase ( roomUUID : string ) : ROOM_PHASE {
70+ async getRoomPhase ( roomUUID : string ) {
7171 const room = this . rooms . get ( roomUUID ) ;
7272 return room . phase ;
7373 }
7474
75- updateRoomPhase ( { roomUUID, phase } : { roomUUID : string ; phase : ROOM_PHASE } ) {
75+ async updateRoomPhase ( { roomUUID, phase } : { roomUUID : string ; phase : ROOM_PHASE } ) {
7676 const room = this . rooms . get ( roomUUID ) ;
7777 room . phase = phase ;
7878 }
7979
80- updateUserInfo ( { uuid, updateUser } : { uuid : string ; updateUser : Partial < User > } ) {
80+ async updateUserInfo ( { uuid, updateUser } : { uuid : string ; updateUser : Partial < User > } ) {
8181 const user = this . userMap . get ( uuid ) ;
8282 for ( const key in updateUser ) {
8383 user [ key ] = updateUser [ key ] ;
0 commit comments