feat: Add last_logout column to users table

Signed-off-by: Awiteb <a@4rs.nl>
This commit is contained in:
Awiteb 2024-07-24 08:40:56 +03:00
parent 94e3e527ea
commit 7dab7e29cc
Signed by: awiteb
GPG key ID: 3F6B55640AA6682F
3 changed files with 13 additions and 3 deletions

View file

@ -16,6 +16,7 @@
//! Functions for interacting with the user table in the database.
use chrono::Utc;
use logcall::logcall;
use oxidetalis_core::types::PublicKey;
use oxidetalis_entities::prelude::*;
@ -47,6 +48,7 @@ impl UserTableExt for DatabaseConnection {
if let Err(err) = (UserActiveModel {
public_key: Set(*public_key),
is_admin: Set(is_admin),
last_logout: Set(Utc::now()),
..Default::default()
})
.save(self)

View file

@ -21,6 +21,7 @@
//! Entity for `users` table
use chrono::Utc;
use oxidetalis_core::types::PublicKey;
use sea_orm::entity::prelude::*;
@ -30,9 +31,10 @@ use crate::prelude::*;
#[sea_orm(table_name = "users")]
pub struct Model {
#[sea_orm(primary_key)]
pub id: UserId,
pub public_key: PublicKey,
pub is_admin: bool,
pub id: UserId,
pub public_key: PublicKey,
pub last_logout: chrono::DateTime<Utc>,
pub is_admin: bool,
}
#[derive(Copy, Clone, Debug, EnumIter, DeriveRelation)]

View file

@ -47,6 +47,11 @@ impl MigrationTrait for Migration {
.not_null()
.unique_key(),
)
.col(
ColumnDef::new(Users::LastLogout)
.timestamp_with_time_zone()
.not_null(),
)
.col(
ColumnDef::new(Users::IsAdmin)
.boolean()
@ -64,5 +69,6 @@ pub enum Users {
Table,
Id,
PublicKey,
LastLogout,
IsAdmin,
}