Initial commit: EifelDC - Discord-like Matrix chat platform
Some checks failed
CI / Rust Check (push) Has been cancelled
CI / Rust Tests (push) Has been cancelled
CI / Frontend Check (push) Has been cancelled
CI / Build Tauri (macOS) (push) Has been cancelled
CI / Build Tauri (macOS Intel) (push) Has been cancelled
CI / Build Tauri (Linux) (push) Has been cancelled

Includes server (Rust/Axum API proxy with voice management),
Tauri desktop client with Svelte UI, bot-sdk, Docker infra
(Synapse, PostgreSQL, Coturn, Nginx), and CI/CD pipeline.
This commit is contained in:
root
2026-04-28 08:23:23 +02:00
commit 0978d0c2e9
82 changed files with 12417 additions and 0 deletions

38
bot-sdk/src/room.rs Normal file
View File

@@ -0,0 +1,38 @@
use std::collections::HashMap;
#[derive(Clone)]
pub struct RoomInfo {
pub room_id: String,
pub name: String,
pub is_encrypted: bool,
}
pub struct RoomManager {
rooms: HashMap<String, RoomInfo>,
}
impl RoomManager {
pub fn new() -> Self {
Self { rooms: HashMap::new() }
}
pub fn add_room(&mut self, room: RoomInfo) {
self.rooms.insert(room.room_id.clone(), room);
}
pub fn remove_room(&mut self, room_id: &str) {
self.rooms.remove(room_id);
}
pub fn get_room(&self, room_id: &str) -> Option<&RoomInfo> {
self.rooms.get(room_id)
}
pub fn list_rooms(&self) -> Vec<&RoomInfo> {
self.rooms.values().collect()
}
pub fn room_count(&self) -> usize {
self.rooms.len()
}
}