fix: session refresh works as intended now (#5330)
* fix: session refresh works as intended now * use code-defined defaults for expires and session_expires * fix sqlx * database migration drop defaults * run fmt * remove comment in migration Signed-off-by: Xander <xander@isxander.dev> --------- Signed-off-by: Xander <xander@isxander.dev>
This commit is contained in:
@@ -25,6 +25,11 @@ pub struct SessionBuilder {
|
||||
|
||||
pub ip: String,
|
||||
pub user_agent: String,
|
||||
|
||||
// When None, database default of 14 days will be used
|
||||
pub expires: Option<DateTime<Utc>>,
|
||||
// When None, database default of 60 days will be used
|
||||
pub session_expires: Option<DateTime<Utc>>,
|
||||
}
|
||||
|
||||
impl SessionBuilder {
|
||||
@@ -38,11 +43,13 @@ impl SessionBuilder {
|
||||
"
|
||||
INSERT INTO sessions (
|
||||
id, session, user_id, os, platform,
|
||||
city, country, ip, user_agent
|
||||
city, country, ip, user_agent,
|
||||
expires, refresh_expires
|
||||
)
|
||||
VALUES (
|
||||
$1, $2, $3, $4, $5,
|
||||
$6, $7, $8, $9
|
||||
$6, $7, $8, $9,
|
||||
$10, $11
|
||||
)
|
||||
",
|
||||
id as DBSessionId,
|
||||
@@ -54,6 +61,10 @@ impl SessionBuilder {
|
||||
self.country,
|
||||
self.ip,
|
||||
self.user_agent,
|
||||
self.expires
|
||||
.unwrap_or_else(|| Utc::now() + chrono::Duration::days(14)),
|
||||
self.session_expires
|
||||
.unwrap_or_else(|| Utc::now() + chrono::Duration::days(60)),
|
||||
)
|
||||
.execute(&mut *transaction)
|
||||
.await?;
|
||||
|
||||
Reference in New Issue
Block a user