Simple working node server
This commit is contained in:
@@ -7,7 +7,7 @@ crate::logger!(LOGGER "Message Manager");
|
|||||||
pub fn send(
|
pub fn send(
|
||||||
server: &Arc<Server>,
|
server: &Arc<Server>,
|
||||||
client: &Client,
|
client: &Client,
|
||||||
channel_id: &str,
|
channel_id: u32,
|
||||||
contents: &str,
|
contents: &str,
|
||||||
) -> crate::Result<()> {
|
) -> crate::Result<()> {
|
||||||
LOGGER.info(format!("SendMessage to {channel_id}: {contents}"));
|
LOGGER.info(format!("SendMessage to {channel_id}: {contents}"));
|
||||||
@@ -21,7 +21,7 @@ pub fn send(
|
|||||||
}
|
}
|
||||||
|
|
||||||
let msg = server.db.insert_message(
|
let msg = server.db.insert_message(
|
||||||
&channel_id,
|
channel_id,
|
||||||
client.get_uuid()?,
|
client.get_uuid()?,
|
||||||
&contents,
|
&contents,
|
||||||
chrono::Utc::now().timestamp(),
|
chrono::Utc::now().timestamp(),
|
||||||
|
|||||||
+1
-1
@@ -21,7 +21,7 @@ impl Server {
|
|||||||
channel_id,
|
channel_id,
|
||||||
contents,
|
contents,
|
||||||
} => {
|
} => {
|
||||||
message::send(self, client, channel_id, contents)?;
|
message::send(self, client, *channel_id, contents)?;
|
||||||
}
|
}
|
||||||
|
|
||||||
ClientMessage::EditMessage {
|
ClientMessage::EditMessage {
|
||||||
|
|||||||
+1
-3
@@ -15,7 +15,6 @@ pub struct ServerConfig {
|
|||||||
server_name: String,
|
server_name: String,
|
||||||
server_id: String,
|
server_id: String,
|
||||||
port: u16,
|
port: u16,
|
||||||
channels: Vec<types::data::Channel>,
|
|
||||||
}
|
}
|
||||||
|
|
||||||
#[allow(dead_code)]
|
#[allow(dead_code)]
|
||||||
@@ -29,10 +28,9 @@ pub struct Server {
|
|||||||
impl Default for ServerConfig {
|
impl Default for ServerConfig {
|
||||||
fn default() -> Self {
|
fn default() -> Self {
|
||||||
Self {
|
Self {
|
||||||
port: 7080,
|
port: 7090,
|
||||||
server_name: format!("Server Name"),
|
server_name: format!("Server Name"),
|
||||||
server_id: format!("offline-server"),
|
server_id: format!("offline-server"),
|
||||||
channels: Vec::new(),
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
+4
-4
@@ -6,7 +6,7 @@ use serde::{Deserialize, Serialize};
|
|||||||
pub enum ClientMessage {
|
pub enum ClientMessage {
|
||||||
/// Send a message to a channel
|
/// Send a message to a channel
|
||||||
SendMessage {
|
SendMessage {
|
||||||
channel_id: String,
|
channel_id: u32,
|
||||||
contents: String,
|
contents: String,
|
||||||
},
|
},
|
||||||
|
|
||||||
@@ -42,7 +42,7 @@ pub enum ServerMessage {
|
|||||||
|
|
||||||
/// A message was deleted
|
/// A message was deleted
|
||||||
MessageDelete {
|
MessageDelete {
|
||||||
channel_id: String,
|
channel_id: u32,
|
||||||
message_id: usize,
|
message_id: usize,
|
||||||
},
|
},
|
||||||
|
|
||||||
@@ -55,7 +55,7 @@ pub enum ServerMessage {
|
|||||||
/// Typing indicator
|
/// Typing indicator
|
||||||
Typing {
|
Typing {
|
||||||
user_id: String,
|
user_id: String,
|
||||||
channel_id: String,
|
channel_id: u32,
|
||||||
},
|
},
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -84,7 +84,7 @@ pub mod data {
|
|||||||
#[derive(Debug, Clone, Serialize, Deserialize)]
|
#[derive(Debug, Clone, Serialize, Deserialize)]
|
||||||
pub struct Message {
|
pub struct Message {
|
||||||
pub id: i64,
|
pub id: i64,
|
||||||
pub channel_id: String,
|
pub channel_id: u32,
|
||||||
pub from: u32,
|
pub from: u32,
|
||||||
pub contents: String,
|
pub contents: String,
|
||||||
pub timestamp: i64,
|
pub timestamp: i64,
|
||||||
|
|||||||
@@ -11,7 +11,7 @@ impl Database {
|
|||||||
conn.execute(
|
conn.execute(
|
||||||
"CREATE TABLE IF NOT EXISTS chat (
|
"CREATE TABLE IF NOT EXISTS chat (
|
||||||
id INTEGER PRIMARY KEY AUTOINCREMENT,
|
id INTEGER PRIMARY KEY AUTOINCREMENT,
|
||||||
channel_id TEXT NOT NULL,
|
channel_id INTEGER NOT NULL,
|
||||||
user_id INTEGER NOT NULL,
|
user_id INTEGER NOT NULL,
|
||||||
contents TEXT NOT NULL,
|
contents TEXT NOT NULL,
|
||||||
timestamp INTEGER NOT NULL
|
timestamp INTEGER NOT NULL
|
||||||
@@ -29,7 +29,7 @@ impl Database {
|
|||||||
/// Insert a message into the DB
|
/// Insert a message into the DB
|
||||||
pub fn insert_message(
|
pub fn insert_message(
|
||||||
&self,
|
&self,
|
||||||
channel_id: &str,
|
channel_id: u32,
|
||||||
user_id: u32,
|
user_id: u32,
|
||||||
contents: &str,
|
contents: &str,
|
||||||
timestamp: i64,
|
timestamp: i64,
|
||||||
@@ -44,7 +44,7 @@ impl Database {
|
|||||||
|
|
||||||
Ok(Message {
|
Ok(Message {
|
||||||
id,
|
id,
|
||||||
channel_id: channel_id.to_string(),
|
channel_id,
|
||||||
from: user_id,
|
from: user_id,
|
||||||
contents: contents.to_string(),
|
contents: contents.to_string(),
|
||||||
timestamp,
|
timestamp,
|
||||||
@@ -83,7 +83,7 @@ impl Database {
|
|||||||
let mut rows = stmt.query_map(params![message_id], |row| {
|
let mut rows = stmt.query_map(params![message_id], |row| {
|
||||||
Ok((
|
Ok((
|
||||||
row.get::<_, i64>(0)?, // id
|
row.get::<_, i64>(0)?, // id
|
||||||
row.get::<_, String>(1)?, // channel_id
|
row.get::<_, u32>(1)?, // channel_id
|
||||||
row.get::<_, u32>(2)?, // user_id
|
row.get::<_, u32>(2)?, // user_id
|
||||||
row.get::<_, String>(3)?, // contents
|
row.get::<_, String>(3)?, // contents
|
||||||
row.get::<_, i64>(4)?, // timestamp
|
row.get::<_, i64>(4)?, // timestamp
|
||||||
@@ -115,7 +115,7 @@ impl Database {
|
|||||||
let rows = stmt.query_map(params![message_id], |row| {
|
let rows = stmt.query_map(params![message_id], |row| {
|
||||||
Ok(Message {
|
Ok(Message {
|
||||||
id: row.get::<_, i64>(0)?,
|
id: row.get::<_, i64>(0)?,
|
||||||
channel_id: row.get::<_, String>(1)?,
|
channel_id: row.get::<_, u32>(1)?,
|
||||||
from: row.get::<_, u32>(2)?,
|
from: row.get::<_, u32>(2)?,
|
||||||
contents: row.get::<_, String>(3)?,
|
contents: row.get::<_, String>(3)?,
|
||||||
timestamp: row.get::<_, i64>(4)?,
|
timestamp: row.get::<_, i64>(4)?,
|
||||||
|
|||||||
Reference in New Issue
Block a user