feat: start implementing device name generation in the backend
This commit is contained in:
parent
3647086adb
commit
8656115dc9
7 changed files with 1034 additions and 22 deletions
|
@ -12,17 +12,13 @@ use uuid::Uuid;
|
|||
|
||||
use super::Response;
|
||||
use crate::{
|
||||
Data,
|
||||
error::Error,
|
||||
objects::Member,
|
||||
schema::{
|
||||
error::Error, objects::Member, schema::{
|
||||
access_tokens::{self, dsl as adsl},
|
||||
refresh_tokens::{self, dsl as rdsl},
|
||||
users::{self, dsl as udsl},
|
||||
},
|
||||
utils::{
|
||||
EMAIL_REGEX, PASSWORD_REGEX, USERNAME_REGEX, generate_token, new_refresh_token_cookie,
|
||||
},
|
||||
}, utils::{
|
||||
generate_token, new_refresh_token_cookie, EMAIL_REGEX, PASSWORD_REGEX, USERNAME_REGEX
|
||||
}, generate_device_name::generate_device_name, Data
|
||||
};
|
||||
|
||||
#[derive(Deserialize)]
|
||||
|
@ -30,7 +26,6 @@ struct AccountInformation {
|
|||
identifier: String,
|
||||
email: String,
|
||||
password: String,
|
||||
device_name: String,
|
||||
}
|
||||
|
||||
#[derive(Serialize)]
|
||||
|
@ -125,12 +120,14 @@ pub async fn res(
|
|||
|
||||
let current_time = SystemTime::now().duration_since(UNIX_EPOCH)?.as_secs() as i64;
|
||||
|
||||
let device_name = generate_device_name();
|
||||
|
||||
insert_into(refresh_tokens::table)
|
||||
.values((
|
||||
rdsl::token.eq(&refresh_token),
|
||||
rdsl::uuid.eq(uuid),
|
||||
.values((
|
||||
rdsl::token.eq(&refresh_token),
|
||||
rdsl::uuid.eq(uuid),
|
||||
rdsl::created_at.eq(current_time),
|
||||
rdsl::device_name.eq(&account_information.device_name),
|
||||
rdsl::device_name.eq(&device_name),
|
||||
))
|
||||
.execute(&mut conn)
|
||||
.await?;
|
||||
|
@ -151,7 +148,7 @@ pub async fn res(
|
|||
|
||||
return Ok(HttpResponse::Ok()
|
||||
.cookie(new_refresh_token_cookie(&data.config, refresh_token))
|
||||
.json(Response { access_token }));
|
||||
.json(Response { access_token, device_name }));
|
||||
}
|
||||
|
||||
Ok(HttpResponse::InternalServerError().finish())
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue