tauri_plugin_matrix_svelte/models/
matrix.rs1use serde::{Deserialize, Serialize};
2
3#[derive(Debug, PartialEq, Eq, Clone, Copy, Hash)]
5pub enum MatrixSvelteListenEvent {
6 RoomsCollectionStarted,
7 RoomCreated,
8 VerificationResult,
9 MatrixUpdateCurrentActiveRoom,
10}
11
12impl MatrixSvelteListenEvent {
13 pub fn as_str(&self) -> &'static str {
14 match self {
15 MatrixSvelteListenEvent::RoomsCollectionStarted => {
16 "matrix-svelte://rooms-collection-started"
17 }
18 MatrixSvelteListenEvent::RoomCreated => "matrix-svelte://room-created",
19 MatrixSvelteListenEvent::VerificationResult => "matrix-svelte://verification-result",
20 MatrixSvelteListenEvent::MatrixUpdateCurrentActiveRoom => {
21 "matrix-svelte://update-current-active-room"
22 }
23 }
24 }
25}
26
27#[derive(Debug, Clone, Serialize, Deserialize)]
28#[serde(rename_all = "camelCase")]
29pub struct MatrixVerificationResponse {
30 pub confirmed: bool,
31}
32
33#[derive(Debug, Clone, Serialize, Deserialize)]
34#[serde(rename_all = "camelCase")]
35pub struct MatrixRoomStoreCreatedRequest {
36 pub id: String,
37 pub message: String,
38}
39
40#[derive(Debug, Clone, Serialize, Deserialize)]
41#[serde(rename_all = "camelCase")]
42pub struct MatrixUpdateCurrentActiveRoom {
43 pub room_id: Option<String>,
45 pub room_name: Option<String>,
46}
47
48#[derive(Debug, PartialEq, Eq, Clone, Copy, Hash)]
51pub enum MatrixSvelteEmitEvent {
52 RoomCreate,
53 VerificationStart,
54 MessageText,
55}
56
57impl MatrixSvelteEmitEvent {
58 pub fn as_str(&self) -> &'static str {
59 match self {
60 MatrixSvelteEmitEvent::RoomCreate => "matrix-svelte://room-create",
61 MatrixSvelteEmitEvent::VerificationStart => "matrix-svelte://verification-start",
62 MatrixSvelteEmitEvent::MessageText => "matrix-svelte://message-text",
63 }
64 }
65}
66
67#[derive(Debug, Clone, Serialize)]
68#[serde(rename_all = "camelCase")]
69pub struct MatrixMessage {
70 sender: String,
71 body: String,
72}
73
74impl MatrixMessage {
75 pub fn new(sender: String, body: String) -> Self {
76 Self { sender, body }
77 }
78}
79
80#[derive(Debug, Clone, Serialize)]
81#[serde(rename_all = "camelCase")]
82pub struct MatrixVerificationEmojis {
83 emojis: String,
84}
85
86impl MatrixVerificationEmojis {
87 pub fn new(emojis: String) -> Self {
88 Self { emojis }
89 }
90}
91
92#[derive(Debug, Clone, Serialize, Deserialize)]
93#[serde(rename_all = "camelCase")]
94pub struct MatrixRoomStoreCreateRequest {
95 id: String,
96}
97
98impl MatrixRoomStoreCreateRequest {
99 pub fn new(id: String) -> Self {
100 Self { id }
101 }
102}