| 1234567891011121314151617181920212223242526272829303132333435363738394041 |
- from __future__ import annotations
- from app import db
- class User(db.Model):
- __tablename__ = "users"
- id = db.Column(db.Uuid(as_uuid=False), primary_key=True)
- username = db.Column(db.String(64), unique=True, nullable=False)
- display_name = db.Column(db.String(100))
- password_hash = db.Column(db.Text, nullable=False)
- status = db.Column(db.String(20), nullable=False, default="active")
- created_at = db.Column(db.DateTime(timezone=True), nullable=False)
- updated_at = db.Column(db.DateTime(timezone=True), nullable=False)
- last_login_at = db.Column(db.DateTime(timezone=True))
- class Role(db.Model):
- __tablename__ = "roles"
- id = db.Column(db.Uuid(as_uuid=False), primary_key=True)
- name = db.Column(db.String(32), unique=True, nullable=False)
- description = db.Column(db.String(200), nullable=False)
- class UserRole(db.Model):
- __tablename__ = "user_roles"
- user_id = db.Column(db.Uuid(as_uuid=False), primary_key=True)
- role_id = db.Column(db.Uuid(as_uuid=False), primary_key=True)
- class AuthAuditEvent(db.Model):
- __tablename__ = "auth_audit_events"
- id = db.Column(db.BigInteger, primary_key=True)
- user_id = db.Column(db.Uuid(as_uuid=False))
- username = db.Column(db.String(64))
- event_type = db.Column(db.String(40), nullable=False)
- success = db.Column(db.Boolean, nullable=False)
|