from odoo import models, fields class EncoachAIJob(models.Model): _name = "encoach.ai.job" _description = "EnCoach AI Background Job" job_type = fields.Selection( [ ("writing_grading", "Writing Grading"), ("speaking_grading", "Speaking Grading"), ("video_generation", "Video Generation"), ], string="Job Type", ) status = fields.Selection( [ ("pending", "Pending"), ("in_progress", "In Progress"), ("completed", "Completed"), ("error", "Error"), ], default="pending", ) user_id = fields.Many2one("res.users", string="User", ondelete="set null") evaluation_id = fields.Many2one( "encoach.evaluation", string="Evaluation", ondelete="cascade", ) input_data = fields.Json() result_data = fields.Json() error_message = fields.Text() created_at = fields.Datetime(default=fields.Datetime.now) completed_at = fields.Datetime() retry_count = fields.Integer(default=0)