| @@ -1,5 +1,7 @@ | |||
| # -*- coding:utf-8 -*- | |||
| import os | |||
| from datetime import datetime | |||
| if not os.environ.get("DEBUG") or os.environ.get("DEBUG").lower() != 'true': | |||
| from gevent import monkey | |||
| monkey.patch_all() | |||
| @@ -122,6 +124,9 @@ def load_user(user_id): | |||
| account.current_tenant_id = tenant_account_join.tenant_id | |||
| session['workspace_id'] = account.current_tenant_id | |||
| account.last_active_at = datetime.utcnow() | |||
| db.session.commit() | |||
| # Log in the user with the updated user_id | |||
| flask_login.login_user(account, remember=True) | |||
| @@ -0,0 +1,32 @@ | |||
| """add last active at | |||
| Revision ID: 614f77cecc48 | |||
| Revises: a45f4dfde53b | |||
| Create Date: 2023-06-15 13:33:00.357467 | |||
| """ | |||
| from alembic import op | |||
| import sqlalchemy as sa | |||
| # revision identifiers, used by Alembic. | |||
| revision = '614f77cecc48' | |||
| down_revision = 'a45f4dfde53b' | |||
| branch_labels = None | |||
| depends_on = None | |||
| def upgrade(): | |||
| # ### commands auto generated by Alembic - please adjust! ### | |||
| with op.batch_alter_table('accounts', schema=None) as batch_op: | |||
| batch_op.add_column(sa.Column('last_active_at', sa.DateTime(), server_default=sa.text('CURRENT_TIMESTAMP(0)'), nullable=False)) | |||
| # ### end Alembic commands ### | |||
| def downgrade(): | |||
| # ### commands auto generated by Alembic - please adjust! ### | |||
| with op.batch_alter_table('accounts', schema=None) as batch_op: | |||
| batch_op.drop_column('last_active_at') | |||
| # ### end Alembic commands ### | |||
| @@ -32,6 +32,7 @@ class Account(UserMixin, db.Model): | |||
| timezone = db.Column(db.String(255)) | |||
| last_login_at = db.Column(db.DateTime) | |||
| last_login_ip = db.Column(db.String(255)) | |||
| last_active_at = db.Column(db.DateTime, nullable=False, server_default=db.text('CURRENT_TIMESTAMP(0)')) | |||
| status = db.Column(db.String(16), nullable=False, server_default=db.text("'active'::character varying")) | |||
| initialized_at = db.Column(db.DateTime) | |||
| created_at = db.Column(db.DateTime, nullable=False, server_default=db.text('CURRENT_TIMESTAMP(0)')) | |||