♻️ Use of Store interfaces

This commit is contained in:
2024-05-15 19:07:46 +02:00
parent bc30670f6e
commit d77c2a9d12
7 changed files with 178 additions and 43 deletions

View File

@@ -11,7 +11,9 @@ use super::{
},
room::{Room, RoomId},
space::{Space, SpaceId},
store_interface::AccountStoreProviderInterface,
store_interface::{
AccountStoreProviderInterface, RoomStoreConsumerInterface, SpaceStoreConsumerInterface,
},
};
type Rooms = HashMap<RoomId, Rc<Room>>;
@@ -100,7 +102,9 @@ impl AccountMessagingConsumerInterface for Account {
.borrow_mut()
.insert(room_id, Rc::clone(&room));
let room_store = self.store.on_new_room(Rc::clone(&room));
let room_store = self
.store
.on_new_room(Rc::clone(&room) as Rc<dyn RoomStoreConsumerInterface>);
room.set_store(room_store);
@@ -114,7 +118,9 @@ impl AccountMessagingConsumerInterface for Account {
.borrow_mut()
.insert(space_id, Rc::clone(&space));
let space_store = self.store.on_new_space(Rc::clone(&space));
let space_store = self
.store
.on_new_space(Rc::clone(&space) as Rc<dyn SpaceStoreConsumerInterface>);
space.set_store(space_store);