|
|
|
@ -34,6 +34,7 @@ class LicenseStatus(StrEnum):
|
|
|
|
EXPIRING = "expiring"
|
|
|
|
EXPIRING = "expiring"
|
|
|
|
EXPIRED = "expired"
|
|
|
|
EXPIRED = "expired"
|
|
|
|
LOST = "lost"
|
|
|
|
LOST = "lost"
|
|
|
|
|
|
|
|
CUSTOMIZE = "customize"
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
class LicenseModel(BaseModel):
|
|
|
|
class LicenseModel(BaseModel):
|
|
|
|
@ -82,7 +83,6 @@ class SystemFeatureModel(BaseModel):
|
|
|
|
is_email_setup: bool = False
|
|
|
|
is_email_setup: bool = False
|
|
|
|
license: LicenseModel = LicenseModel()
|
|
|
|
license: LicenseModel = LicenseModel()
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
class FeatureService:
|
|
|
|
class FeatureService:
|
|
|
|
@classmethod
|
|
|
|
@classmethod
|
|
|
|
def get_features(cls, tenant_id: str) -> FeatureModel:
|
|
|
|
def get_features(cls, tenant_id: str) -> FeatureModel:
|
|
|
|
|