diff --git a/src/backend/app/db/models.py b/src/backend/app/db/models.py index 7b115ab90..e83d43277 100644 --- a/src/backend/app/db/models.py +++ b/src/backend/app/db/models.py @@ -160,7 +160,7 @@ class DbUser(BaseModel): tasks_invalidated: Optional[int] = None projects_mapped: Optional[list[int]] = None registered_at: Optional[AwareDatetime] = None - last_active_at: Optional[AwareDatetime] = None + last_login_at: Optional[AwareDatetime] = None # Relationships project_roles: Optional[dict[int, ProjectRole]] = None # project:role pairs @@ -187,7 +187,7 @@ async def one(cls, db: Connection, user_identifier: int | str) -> Self: sql = """ WITH updated_user AS ( UPDATE users - SET last_active_at = NOW() + SET last_login_at = NOW() WHERE id = %(user_id)s RETURNING * ) diff --git a/src/backend/app/users/user_crud.py b/src/backend/app/users/user_crud.py index cfa3c519c..76944c4ee 100644 --- a/src/backend/app/users/user_crud.py +++ b/src/backend/app/users/user_crud.py @@ -56,10 +56,10 @@ async def process_inactive_users( async with db.cursor(row_factory=class_row(DbUser)) as cur: await cur.execute( """ - SELECT id, username, last_active_at + SELECT id, username, last_login_at FROM users - WHERE last_active_at < %(warning_date)s - AND last_active_at >= %(next_warning_date)s; + WHERE last_login_at < %(warning_date)s + AND last_login_at >= %(next_warning_date)s; """, { "warning_date": warning_date, @@ -77,7 +77,7 @@ async def process_inactive_users( """ SELECT id, username FROM users - WHERE last_active_at < %(deletion_threshold)s; + WHERE last_login_at < %(deletion_threshold)s; """, {"deletion_threshold": deletion_threshold}, ) diff --git a/src/backend/migrations/005-add-user-lastactiveat.sql b/src/backend/migrations/005-add-user-lastactiveat.sql index 25c6f5d45..f64d4266e 100644 --- a/src/backend/migrations/005-add-user-lastactiveat.sql +++ b/src/backend/migrations/005-add-user-lastactiveat.sql @@ -1,5 +1,5 @@ -- ## Migration add some extra fields. --- * Add last_active_at to users. +-- * Add last_login_at to users. -- * Remove NOT NULL constraint from author_id in projects. -- Related issues: @@ -15,9 +15,9 @@ BEGIN SELECT 1 FROM information_schema.columns WHERE table_name = 'users' - AND column_name = 'last_active_at' + AND column_name = 'last_login_at' ) THEN - ALTER TABLE users ADD COLUMN last_active_at TIMESTAMPTZ DEFAULT now(); + ALTER TABLE users ADD COLUMN last_login_at TIMESTAMPTZ DEFAULT now(); END IF; END $$; diff --git a/src/backend/migrations/revert/005-add-user-lastactiveat.sql b/src/backend/migrations/revert/005-add-user-lastactiveat.sql index b35eadd83..2fc5e4d09 100644 --- a/src/backend/migrations/revert/005-add-user-lastactiveat.sql +++ b/src/backend/migrations/revert/005-add-user-lastactiveat.sql @@ -1,19 +1,19 @@ --- * Remove last_active_at from users. +-- * Remove last_login_at from users. -- * Restore NOT NULL constraint on author_id in projects. -- Start a transaction BEGIN; --- Remove last_active_at column from users +-- Remove last_login_at column from users DO $$ BEGIN IF EXISTS ( SELECT 1 FROM information_schema.columns WHERE table_name = 'users' - AND column_name = 'last_active_at' + AND column_name = 'last_login_at' ) THEN - ALTER TABLE users DROP COLUMN last_active_at; + ALTER TABLE users DROP COLUMN last_login_at; END IF; END $$;