usernames now work on the frontend and display the correct username
Some checks failed
Release / release (ubuntu-22.04) (push) Has been cancelled
Release / release (windows-latest) (push) Has been cancelled

This commit is contained in:
2026-04-17 04:59:19 -04:00
parent c3c31dea47
commit 57d9841cfb
2 changed files with 17 additions and 15 deletions

View File

@@ -58,10 +58,11 @@ pub async fn send_message(
.db
.query(
"CREATE message SET
room = type::record('room', $room_id),
author = $auth,
body = $body,
created = time::now()",
room = type::record('room', $room_id),
author = $auth,
author_username = $auth.username,
body = $body,
created = time::now()",
)
.bind(("room_id", room_id))
.bind(("body", body))
@@ -81,7 +82,7 @@ pub async fn get_messages(
) -> Result<Vec<Message>, String> {
let result: Vec<Message> = state
.db
.query("SELECT *, author.username AS author_username FROM message WHERE room = type::record('room', $room_id) ORDER BY created ASC")
.query("SELECT * FROM message WHERE room = type::record('room', $room_id) ORDER BY created ASC")
.bind(("room_id", room_id))
.await
.map_err(into_err)?
@@ -121,7 +122,7 @@ pub async fn subscribe_room(
let db = state.db.clone();
let mut stream = db
.query("LIVE SELECT *, author.username AS author_username FROM message WHERE room = type::record('room', $room_id)")
.query("LIVE SELECT * FROM message WHERE room = type::record('room', $room_id)")
.bind(("room_id", room_id))
.await
.map_err(into_err)?

View File

@@ -20,11 +20,11 @@ DEFINE TABLE user SCHEMAFULL
FOR update WHERE id = $auth
FOR create NONE
FOR delete NONE;
DEFINE FIELD username ON user TYPE string;
DEFINE FIELD email ON user TYPE string;
DEFINE FIELD password ON user TYPE string;
DEFINE FIELD avatar ON user TYPE option<string>;
DEFINE FIELD created ON user TYPE datetime DEFAULT time::now();
DEFINE FIELD username ON user TYPE string;
DEFINE FIELD email ON user TYPE string;
DEFINE FIELD password ON user TYPE string;
DEFINE FIELD avatar ON user TYPE option<string>;
DEFINE FIELD created ON user TYPE datetime DEFAULT time::now();
DEFINE INDEX email_idx ON user FIELDS email UNIQUE;
DEFINE TABLE room SCHEMAFULL
@@ -40,10 +40,11 @@ DEFINE TABLE message SCHEMAFULL
FOR create WHERE author = $auth
FOR update WHERE author = $auth
FOR delete WHERE author = $auth;
DEFINE FIELD room ON message TYPE record<room>;
DEFINE FIELD author ON message TYPE record<user>;
DEFINE FIELD body ON message TYPE string;
DEFINE FIELD created ON message TYPE datetime DEFAULT time::now();
DEFINE FIELD room ON message TYPE record<room>;
DEFINE FIELD author ON message TYPE record<user>;
DEFINE FIELD author_username ON message TYPE option<string>;
DEFINE FIELD body ON message TYPE string;
DEFINE FIELD created ON message TYPE datetime DEFAULT time::now();
DEFINE TABLE contact SCHEMAFULL
PERMISSIONS