a bunch of frontend layout adjustments, and fixed message duplication by adding uuids
This commit is contained in:
@@ -46,6 +46,7 @@ CREATE TABLE IF NOT EXISTS room_invite_ (
|
|||||||
|
|
||||||
CREATE TABLE IF NOT EXISTS message_ (
|
CREATE TABLE IF NOT EXISTS message_ (
|
||||||
id BIGSERIAL PRIMARY KEY,
|
id BIGSERIAL PRIMARY KEY,
|
||||||
|
uuid UUID NOT NULL,
|
||||||
sender INT REFERENCES user_(id) NOT NULL,
|
sender INT REFERENCES user_(id) NOT NULL,
|
||||||
room INT REFERENCES room_(id) NOT NULL,
|
room INT REFERENCES room_(id) NOT NULL,
|
||||||
message_type VARCHAR(32) NOT NULL,
|
message_type VARCHAR(32) NOT NULL,
|
||||||
|
|||||||
10
src/main.rs
10
src/main.rs
@@ -58,11 +58,11 @@ async fn main() -> anyhow::Result<()> {
|
|||||||
.layer(Extension(db_pool))
|
.layer(Extension(db_pool))
|
||||||
.layer(Extension(realtime))
|
.layer(Extension(realtime))
|
||||||
.layer(GovernorLayer::new(governor_conf))
|
.layer(GovernorLayer::new(governor_conf))
|
||||||
.layer(
|
// .layer(
|
||||||
TraceLayer::new_for_http()
|
// TraceLayer::new_for_http()
|
||||||
.make_span_with(DefaultMakeSpan::new().level(Level::INFO))
|
// .make_span_with(DefaultMakeSpan::new().level(Level::INFO))
|
||||||
.on_response(DefaultOnResponse::new().level(Level::INFO)),
|
// .on_response(DefaultOnResponse::new().level(Level::INFO)),
|
||||||
)
|
// )
|
||||||
.layer(cors);
|
.layer(cors);
|
||||||
|
|
||||||
let port = var("CHATAPP_SERVER_PORT").unwrap_or_else(|_| "8080".to_string());
|
let port = var("CHATAPP_SERVER_PORT").unwrap_or_else(|_| "8080".to_string());
|
||||||
|
|||||||
@@ -23,6 +23,7 @@ pub struct MessageRow {
|
|||||||
|
|
||||||
#[derive(sqlx::FromRow, serde::Serialize, Debug, Clone)]
|
#[derive(sqlx::FromRow, serde::Serialize, Debug, Clone)]
|
||||||
pub struct Message {
|
pub struct Message {
|
||||||
|
pub uuid: Uuid,
|
||||||
pub sender: String,
|
pub sender: String,
|
||||||
pub message_type: String,
|
pub message_type: String,
|
||||||
pub content: String,
|
pub content: String,
|
||||||
@@ -87,6 +88,7 @@ async fn list_messages(
|
|||||||
let messages: Vec<Message> = messages
|
let messages: Vec<Message> = messages
|
||||||
.into_iter()
|
.into_iter()
|
||||||
.map(|m| Message {
|
.map(|m| Message {
|
||||||
|
uuid: uuid::Uuid::now_v7(),
|
||||||
sender: m.sender,
|
sender: m.sender,
|
||||||
message_type: m.message_type,
|
message_type: m.message_type,
|
||||||
content: m.content,
|
content: m.content,
|
||||||
@@ -136,6 +138,7 @@ async fn create_message(
|
|||||||
let sender_name = username_from_uuid(&db, claims.sub).await?;
|
let sender_name = username_from_uuid(&db, claims.sub).await?;
|
||||||
|
|
||||||
let message = Message {
|
let message = Message {
|
||||||
|
uuid: uuid::Uuid::now_v7(),
|
||||||
sender: sender_name,
|
sender: sender_name,
|
||||||
message_type: payload.message_type,
|
message_type: payload.message_type,
|
||||||
content: payload.content,
|
content: payload.content,
|
||||||
|
|||||||
Reference in New Issue
Block a user