handle data joining and leaving office room

This commit is contained in:
Arjun Patel
2022-01-22 17:00:31 -08:00
parent 7b3ebb847e
commit f94b493a97
4 changed files with 127 additions and 36 deletions
+22 -19
View File
@@ -9,7 +9,7 @@ import {
setDoc,
writeBatch,
} from "firebase/firestore";
import OfficeRoom from "../models/officeRoom";
import OfficeRoom, { OfficeRoomState } from "../models/officeRoom";
import { Collections } from "./collections";
export default class OfficeRoomService {
@@ -23,7 +23,7 @@ export default class OfficeRoomService {
const corner = new OfficeRoom("Corner", teamId, createdByUserId);
const main = new OfficeRoom("Team Hub", teamId, createdByUserId);
const handsOnDeck = new OfficeRoom(
"All Hand On Deck",
"All Hands On Deck",
teamId,
createdByUserId
);
@@ -58,24 +58,27 @@ export default class OfficeRoomService {
// }
// }
// async updateMembersInRoom(roomId: string, newMembersInRoom: string[]) {
// // if the room is going to be empty, then change status accordingly
// var status: RoomStatus = RoomStatus.live;
// if (newMembersInRoom.length == 0) {
// status = RoomStatus.empty;
// }
async updateMembersInOfficeRoom(
officeRoomId: string,
newMembersInRoom: string[]
) {
// if the room is going to be empty, then change status accordingly
var state: OfficeRoomState = OfficeRoomState.active;
if (newMembersInRoom.length == 0) {
state = OfficeRoomState.idle;
}
// const docRef = doc(this.db, Collections.rooms, roomId);
// await setDoc(
// docRef,
// {
// status,
// membersInRoom: newMembersInRoom,
// lastUpdatedDate: serverTimestamp(),
// },
// { merge: true }
// );
// }
const docRef = doc(this.db, Collections.officeRooms, officeRoomId);
await setDoc(
docRef,
{
state,
members: newMembersInRoom,
lastUpdatedDate: serverTimestamp(),
},
{ merge: true }
);
}
// async updateRoom(room: Room) {
// const docRef = doc(this.db, Collections.rooms, room.id);