matrix-bridge-teams 0.1.0

A bridge between Matrix and Microsoft Teams written in Rust
use anyhow::Result;

use crate::db::DatabaseManager;
use crate::teams::{TeamsChannel, TeamsChat};

pub struct RoomSync {
    db: Option<DatabaseManager>,
}

impl RoomSync {
    pub fn new() -> Self {
        Self { db: None }
    }

    pub async fn get_or_create_matrix_room_for_channel(
        &self,
        channel: &TeamsChannel,
    ) -> Result<String> {
        let matrix_room_id = format!("!_teams_{}:localhost", channel.id);
        Ok(matrix_room_id)
    }

    pub async fn get_or_create_matrix_room_for_chat(
        &self,
        chat: &TeamsChat,
    ) -> Result<String> {
        let matrix_room_id = format!("!_teams_chat_{}:localhost", chat.id);
        Ok(matrix_room_id)
    }

    pub async fn update_room_info(
        &self,
        matrix_room_id: &str,
        channel: &TeamsChannel,
    ) -> Result<()> {
        Ok(())
    }
}