Working on user preferences for dashboards
This commit is contained in:
@ -6,9 +6,7 @@ use sqlx::MySqlPool;
|
||||
use crate::consts::LOCAL_TIMEZONE;
|
||||
|
||||
pub struct UserData {
|
||||
pub id: u32,
|
||||
#[allow(dead_code)]
|
||||
pub user: u64,
|
||||
pub id: u64,
|
||||
pub dm_channel: u32,
|
||||
pub timezone: String,
|
||||
pub allowed_dm: bool,
|
||||
@ -23,7 +21,9 @@ impl UserData {
|
||||
|
||||
match sqlx::query!(
|
||||
"
|
||||
SELECT IFNULL(timezone, 'UTC') AS timezone FROM users WHERE user = ?
|
||||
SELECT IFNULL(timezone, 'UTC') AS timezone
|
||||
FROM users
|
||||
WHERE id = ?
|
||||
",
|
||||
user_id
|
||||
)
|
||||
@ -48,7 +48,9 @@ impl UserData {
|
||||
match sqlx::query_as_unchecked!(
|
||||
Self,
|
||||
"
|
||||
SELECT id, user, dm_channel, IF(timezone IS NULL, ?, timezone) AS timezone, allowed_dm FROM users WHERE user = ?
|
||||
SELECT id, dm_channel, IF(timezone IS NULL, ?, timezone) AS timezone, allowed_dm
|
||||
FROM users
|
||||
WHERE id = ?
|
||||
",
|
||||
*LOCAL_TIMEZONE,
|
||||
user_id.get()
|
||||
@ -64,7 +66,8 @@ SELECT id, user, dm_channel, IF(timezone IS NULL, ?, timezone) AS timezone, allo
|
||||
|
||||
sqlx::query!(
|
||||
"
|
||||
INSERT IGNORE INTO channels (channel) VALUES (?)
|
||||
INSERT IGNORE INTO channels (channel)
|
||||
VALUES (?)
|
||||
",
|
||||
dm_channel.id.get()
|
||||
)
|
||||
@ -73,7 +76,8 @@ INSERT IGNORE INTO channels (channel) VALUES (?)
|
||||
|
||||
sqlx::query!(
|
||||
"
|
||||
INSERT INTO users (name, user, dm_channel, timezone) VALUES ('', ?, (SELECT id FROM channels WHERE channel = ?), ?)
|
||||
INSERT INTO users (id, dm_channel, timezone)
|
||||
VALUES (?, (SELECT id FROM channels WHERE channel = ?), ?)
|
||||
",
|
||||
user_id.get(),
|
||||
dm_channel.id.get(),
|
||||
@ -85,7 +89,9 @@ INSERT INTO users (name, user, dm_channel, timezone) VALUES ('', ?, (SELECT id F
|
||||
Ok(sqlx::query_as_unchecked!(
|
||||
Self,
|
||||
"
|
||||
SELECT id, user, dm_channel, timezone, allowed_dm FROM users WHERE user = ?
|
||||
SELECT id, dm_channel, timezone, allowed_dm
|
||||
FROM users
|
||||
WHERE id = ?
|
||||
",
|
||||
user_id.get()
|
||||
)
|
||||
@ -104,7 +110,9 @@ SELECT id, user, dm_channel, timezone, allowed_dm FROM users WHERE user = ?
|
||||
pub async fn commit_changes(&self, pool: &MySqlPool) {
|
||||
sqlx::query!(
|
||||
"
|
||||
UPDATE users SET timezone = ?, allowed_dm = ? WHERE id = ?
|
||||
UPDATE users
|
||||
SET timezone = ?, allowed_dm = ?
|
||||
WHERE id = ?
|
||||
",
|
||||
self.timezone,
|
||||
self.allowed_dm,
|
||||
|
Reference in New Issue
Block a user