27 lines
1.1 KiB
Python
27 lines
1.1 KiB
Python
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"<License {self.license_key}>"
|
|
|
|
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)
|
|
|