WIP checkpoint: Presence & status model + endpoints (Redis heartbeat)
This commit is contained in:
@@ -0,0 +1,29 @@
|
||||
"""add presence columns to users
|
||||
|
||||
Revision ID: 2a9b9873244a
|
||||
Revises: 0001_initial
|
||||
Create Date: 2026-08-18 15:59:09.298919
|
||||
"""
|
||||
from typing import Sequence, Union
|
||||
|
||||
from alembic import op
|
||||
import sqlalchemy as sa
|
||||
|
||||
|
||||
# revision identifiers, used by Alembic.
|
||||
revision: str = '2a9b9873244a'
|
||||
down_revision: Union[str, None] = '0001_initial'
|
||||
branch_labels: Union[str, Sequence[str], None] = None
|
||||
depends_on: Union[str, Sequence[str], None] = None
|
||||
|
||||
|
||||
def upgrade() -> None:
|
||||
"""Add last_seen_at and status_message columns to users table."""
|
||||
op.add_column('users', sa.Column('last_seen_at', sa.DateTime(timezone=True), nullable=True))
|
||||
op.add_column('users', sa.Column('status_message', sa.Text(), nullable=True))
|
||||
|
||||
|
||||
def downgrade() -> None:
|
||||
"""Remove presence columns from users table."""
|
||||
op.drop_column('users', 'status_message')
|
||||
op.drop_column('users', 'last_seen_at')
|
||||
@@ -16,7 +16,7 @@ class User(Base):
|
||||
created_at = Column(DateTime(timezone=True), server_default=func.now())
|
||||
updated_at = Column(DateTime(timezone=True), onupdate=func.now())
|
||||
|
||||
# Presence / status columns
|
||||
# Presence / status
|
||||
last_seen_at = Column(DateTime(timezone=True), nullable=True)
|
||||
status_message = Column(Text, nullable=True)
|
||||
|
||||
|
||||
Reference in New Issue
Block a user