admin felület fejlesztése garázs, előfizeztési csomagok

This commit is contained in:
Roo
2026-06-25 01:58:04 +00:00
parent 80a5d67f79
commit 52011606ff
334 changed files with 46636 additions and 1606 deletions

View File

@@ -156,6 +156,10 @@ class SubscriptionTierResponse(BaseModel):
name: str
rules: SubscriptionRulesModel
is_custom: bool
tier_level: int = Field(default=0, description="Entitlement hierarchy level: 0=free, 1=premium, 2=enterprise")
feature_capabilities: dict = Field(default_factory=dict, description="Feature capability flags JSONB")
is_default_fallback: bool = Field(default=False, description="Singleton: maximum one tier can be the default fallback")
trial_days_on_signup: int = Field(default=0, ge=0, description="Singleton: maximum one tier can have trial_days_on_signup > 0")
model_config = ConfigDict(from_attributes=True)
@@ -182,6 +186,10 @@ class SubscriptionTierCreate(BaseModel):
name: str = Field(..., min_length=2, max_length=100, description="Csomag neve (pl. private_pro_v2)")
rules: SubscriptionRulesModel
is_custom: bool = Field(default=False, description="Egyedi (custom) csomag-e")
tier_level: int = Field(default=0, ge=0, description="Entitlement hierarchy level: 0=free, 1=premium, 2=enterprise")
feature_capabilities: dict = Field(default_factory=dict, description="Feature capability flags JSONB")
is_default_fallback: bool = Field(default=False, description="Singleton: maximum one tier can be the default fallback")
trial_days_on_signup: int = Field(default=0, ge=0, description="Singleton: maximum one tier can have trial_days_on_signup > 0")
@field_validator("name")
@classmethod
@@ -196,6 +204,10 @@ class SubscriptionTierUpdate(BaseModel):
name: Optional[str] = Field(default=None, min_length=2, max_length=100, description="Új csomagnév")
rules: Optional[SubscriptionRulesModel] = Field(default=None, description="Frissített rules JSONB")
is_custom: Optional[bool] = Field(default=None, description="Egyedi csomag jelölés")
tier_level: Optional[int] = Field(default=None, ge=0, description="Entitlement hierarchy level")
feature_capabilities: Optional[dict] = Field(default=None, description="Feature capability flags JSONB")
is_default_fallback: Optional[bool] = Field(default=None, description="Singleton: maximum one tier can be the default fallback")
trial_days_on_signup: Optional[int] = Field(default=None, ge=0, description="Singleton: maximum one tier can have trial_days_on_signup > 0")
@field_validator("name")
@classmethod