| 1234567891011121314151617181920212223242526 |
- from sqlalchemy import Column, Integer, String, DateTime, JSON, ForeignKey
- from sqlalchemy.sql import func
- from app.core.database import Base
- class ImportLog(Base):
- __tablename__ = "import_logs"
- id = Column(Integer, primary_key=True, index=True)
- filename = Column(String(255), nullable=False)
- total_count = Column(Integer, default=0)
- success_count = Column(Integer, default=0)
- fail_count = Column(Integer, default=0)
-
- # Store detailed results, e.g., [{"row": 2, "error": "Mobile duplicate"}, ...]
- # Or [{"mobile": "...", "password": "..."}] for success export (be careful with sensitive data, maybe only store errors here and regenerate success file on demand?
- # User said "Export successful results with account and initial password".
- # We should probably store the success data temporarily or generated file path.
- # Storing passwords in plain text in logs is bad practice, but required for "Export initial password".
- # We can store an encrypted blob or just the result JSON if the requirement strictly asks for it.
- # For now, let's store `details` as a generic JSON which can hold error logs.
- # For the success export, we might generate it immediately and return it, or store the success data in this JSON field (encrypted ideally, but simple JSON for this task).
- result_data = Column(JSON, nullable=True)
-
- created_by = Column(Integer, ForeignKey("users.id"), nullable=True)
- created_at = Column(DateTime(timezone=True), server_default=func.now())
|