from app.extensions import db


class ImportJob(db.Model):
    __tablename__ = "import_jobs"

    id = db.Column(db.Integer, primary_key=True)
    user_id = db.Column(db.Integer, db.ForeignKey("users.id"))
    status = db.Column(db.String(20), nullable=False, default="running")  # running|done|error
    total_rows = db.Column(db.Integer, nullable=False, default=0)
    processed_rows = db.Column(db.Integer, nullable=False, default=0)
    created_count = db.Column(db.Integer, nullable=False, default=0)
    skipped_count = db.Column(db.Integer, nullable=False, default=0)
    errors = db.Column(db.JSON)  # [{"row": 5, "reason": "..."}]
    error_message = db.Column(db.Text)  # خطای کلی (مثلاً فایل نامعتبر)
    created_at = db.Column(db.DateTime, nullable=False, server_default=db.func.now())
