from extensions import db class License(db.Model): __tablename__ = "licenses" id = db.Column(db.Integer, primary_key=True, autoincrement=True) user_id = db.Column(db.Integer, db.ForeignKey("user.id"), nullable=False) service_id = db.Column(db.Integer, db.ForeignKey("service.id"), nullable=False) license_key = db.Column(db.String(255), nullable=False, unique=True) max_service_instances = db.Column(db.Integer, nullable=False) start_date = db.Column(db.Date, nullable=False) end_date = db.Column(db.Date, nullable=True) created_at = db.Column(db.DateTime, default=db.func.current_timestamp()) updated_at = db.Column(db.DateTime, default=db.func.current_timestamp(), onupdate=db.func.current_timestamp()) service = db.relationship("Service", backref="service_licenses") def __repr__(self): return f"" def is_active(self): """Verifica se a licença está ativa com base na data.""" from datetime import date today = date.today() return self.start_date <= today and (self.end_date is None or self.end_date >= today)