v2.3
This commit is contained in:
@@ -0,0 +1,59 @@
|
||||
from sqlalchemy import Column, Integer, String, Float, Boolean, DateTime
|
||||
from datetime import datetime
|
||||
from database import Base
|
||||
|
||||
class AuditRecord(Base):
|
||||
__tablename__ = "audit_records"
|
||||
|
||||
id = Column(Integer, primary_key=True, index=True)
|
||||
filename = Column(String, index=True, unique=True)
|
||||
file_size = Column(Integer)
|
||||
file_date = Column(String) # Stored as formatted string for simplicity: '%d/%m/%Y %H:%M'
|
||||
|
||||
hostname = Column(String, index=True)
|
||||
ip_address = Column(String, index=True)
|
||||
os_name = Column(String, index=True)
|
||||
|
||||
compliance_percentage = Column(Float, default=0.0)
|
||||
passed_count = Column(Integer, default=0)
|
||||
failed_count = Column(Integer, default=0)
|
||||
total_checks = Column(Integer, default=0)
|
||||
|
||||
mandatory_passed = Column(Integer, default=0)
|
||||
mandatory_failed = Column(Integer, default=0)
|
||||
mandatory_total = Column(Integer, default=0)
|
||||
mandatory_percentage = Column(Float, default=0.0)
|
||||
|
||||
optional_passed = Column(Integer, default=0)
|
||||
optional_failed = Column(Integer, default=0)
|
||||
optional_total = Column(Integer, default=0)
|
||||
|
||||
has_txt = Column(Boolean, default=False)
|
||||
txt_filename = Column(String, default="")
|
||||
|
||||
created_at = Column(DateTime, default=datetime.utcnow)
|
||||
|
||||
|
||||
class UserEmailRecord(Base):
|
||||
"""Lưu trữ email người dùng (@vnpt.vn) và thống kê số file đã upload."""
|
||||
__tablename__ = "user_email_records"
|
||||
|
||||
id = Column(Integer, primary_key=True, index=True)
|
||||
email = Column(String, index=True, unique=True) # email @vnpt.vn (unique per user)
|
||||
display_name = Column(String, default="") # phần trước @, dùng để hiển thị
|
||||
total_uploads = Column(Integer, default=0) # tổng số lần upload (batch)
|
||||
total_files = Column(Integer, default=0) # tổng số file đã xử lý
|
||||
first_seen = Column(DateTime, default=datetime.utcnow)
|
||||
last_seen = Column(DateTime, default=datetime.utcnow)
|
||||
|
||||
class UserFileRecord(Base):
|
||||
"""Lưu vết các file thuộc quyền sở hữu của user (đã đăng nhập)."""
|
||||
__tablename__ = "user_file_records"
|
||||
|
||||
id = Column(Integer, primary_key=True, index=True)
|
||||
filename = Column(String, index=True)
|
||||
username = Column(String, index=True)
|
||||
unit_id = Column(String, index=True)
|
||||
unit_name = Column(String, index=True)
|
||||
created_at = Column(DateTime, default=datetime.utcnow)
|
||||
|
||||
Reference in New Issue
Block a user