fix: don't erase membership on re-register
This commit is contained in:
parent
1cf4bf6a01
commit
089d371610
|
@ -57,15 +57,13 @@ pub async fn register(state: Arc<RwLock<State>>, _client_state: Arc<RwLock<Clien
|
||||||
|
|
||||||
sqlx::query!(
|
sqlx::query!(
|
||||||
// language=sqlite
|
// language=sqlite
|
||||||
"delete from verifications where lodestone_id = ?",
|
"
|
||||||
lodestone_id,
|
insert into verifications (lodestone_id, challenge)
|
||||||
)
|
values (?1, ?2)
|
||||||
.execute(&state.read().await.db)
|
on conflict (lodestone_id)
|
||||||
.await?;
|
do update set challenge = ?2,
|
||||||
|
created_at = current_timestamp
|
||||||
sqlx::query!(
|
",
|
||||||
// language=sqlite
|
|
||||||
"insert into verifications (lodestone_id, challenge) values (?, ?)",
|
|
||||||
lodestone_id,
|
lodestone_id,
|
||||||
challenge,
|
challenge,
|
||||||
)
|
)
|
||||||
|
@ -116,7 +114,16 @@ pub async fn register(state: Arc<RwLock<State>>, _client_state: Arc<RwLock<Clien
|
||||||
let world_name = character.world.as_str();
|
let world_name = character.world.as_str();
|
||||||
sqlx::query!(
|
sqlx::query!(
|
||||||
// language=sqlite
|
// language=sqlite
|
||||||
"insert or replace into users (lodestone_id, name, world, key_short, key_hash, last_updated) values (?, ?, ?, ?, ?, current_timestamp)",
|
"
|
||||||
|
insert into users (lodestone_id, name, world, key_short, key_hash, last_updated)
|
||||||
|
values (?1, ?2, ?3, ?4, ?5, current_timestamp)
|
||||||
|
on conflict (lodestone_id)
|
||||||
|
do update set name = ?2,
|
||||||
|
world = ?3,
|
||||||
|
key_short = ?4,
|
||||||
|
key_hash = ?5,
|
||||||
|
last_updated = current_timestamp
|
||||||
|
",
|
||||||
lodestone_id,
|
lodestone_id,
|
||||||
character.name,
|
character.name,
|
||||||
world_name,
|
world_name,
|
||||||
|
|
|
@ -14,9 +14,7 @@ use sha3::Digest;
|
||||||
use sqlx::{ConnectOptions, Executor, Pool, Sqlite};
|
use sqlx::{ConnectOptions, Executor, Pool, Sqlite};
|
||||||
use sqlx::migrate::Migrator;
|
use sqlx::migrate::Migrator;
|
||||||
use sqlx::sqlite::{SqliteConnectOptions, SqlitePoolOptions};
|
use sqlx::sqlite::{SqliteConnectOptions, SqlitePoolOptions};
|
||||||
use tokio::{
|
use tokio::net::{TcpListener, TcpStream};
|
||||||
net::{TcpListener, TcpStream},
|
|
||||||
};
|
|
||||||
use tokio::sync::mpsc::{Sender, UnboundedSender};
|
use tokio::sync::mpsc::{Sender, UnboundedSender};
|
||||||
use tokio::sync::RwLock;
|
use tokio::sync::RwLock;
|
||||||
use tokio_tungstenite::{
|
use tokio_tungstenite::{
|
||||||
|
|
Loading…
Reference in New Issue