Data validation on sends, Start of reply chains

This commit is contained in:
2024-08-23 00:24:31 -04:00
Unverified
parent 9710b335db
commit a0ccdb1def
2 changed files with 49 additions and 23 deletions

View File

@@ -20,6 +20,7 @@ pub trait RealmChat {
//NOTE: Any user can call, if they are in the server
async fn get_message_from_id(stoken: String, id: i64) -> Result<Message, ErrorCode>;
async fn get_messages_since(stoken: String, time: DateTime<Utc>) -> Result<Vec<Message>, ErrorCode>;
async fn get_all_direct_replies(stoken: String, head: i64) -> Result<Vec<Message>, ErrorCode>;
async fn get_rooms(stoken: String) -> Result<Vec<Room>, ErrorCode>;
async fn get_room(stoken: String, roomid: String) -> Result<Room, ErrorCode>;
async fn get_user(userid: String) -> Result<User, ErrorCode>;
@@ -89,7 +90,7 @@ impl FromRow<'_, SqliteRow> for Message {
}
//TODO: Maybe have multipart messages
#[derive(Debug, Clone, Serialize, Deserialize)]
#[derive(Debug, Clone, Serialize, Deserialize, PartialEq)]
pub enum MessageData {
Text(String),
Attachment(Attachment),
@@ -99,35 +100,35 @@ pub enum MessageData {
Redaction(Redaction), //NOTE: Have to be the owner of the referencing_guid
}
#[derive(Debug, Clone, Serialize, Deserialize)]
#[derive(Debug, Clone, Serialize, Deserialize, PartialEq)]
pub struct Attachment {
//TODO
}
#[derive(Debug, Clone, Serialize, Deserialize)]
#[derive(Debug, Clone, Serialize, Deserialize, PartialEq)]
pub struct Reply {
pub referencing_id: i64,
pub text: String,
}
#[derive(Debug, Clone, Serialize, Deserialize)]
#[derive(Debug, Clone, Serialize, Deserialize, PartialEq)]
pub struct Edit {
pub referencing_id: i64,
pub text: String,
}
#[derive(Debug, Clone, Serialize, Deserialize)]
#[derive(Debug, Clone, Serialize, Deserialize, PartialEq)]
pub struct Reaction {
pub referencing_id: i64,
pub emoji: String
}
#[derive(Debug, Clone, Serialize, Deserialize)]
#[derive(Debug, Clone, Serialize, Deserialize, PartialEq)]
pub struct Redaction {
pub referencing_id: i64,
}
#[derive(Debug, Clone, Serialize, Deserialize, FromRow)]
#[derive(Debug, Clone, Serialize, Deserialize, FromRow, PartialEq)]
pub struct User {
pub id: i64,
pub userid: String,
@@ -136,7 +137,7 @@ pub struct User {
pub admin: bool,
}
#[derive(Debug, Clone, Serialize, Deserialize, FromRow)]
#[derive(Debug, Clone, Serialize, Deserialize, FromRow, PartialEq)]
pub struct Room {
pub id: i64,
pub roomid: String,