admin felület fejlesztése garázs, előfizeztési csomagok
This commit is contained in:
@@ -43,6 +43,8 @@ class AssetCostBase(BaseModel):
|
||||
|
||||
# === BESZÁLLÍTÓI ADATOK (B2B expansion) ===
|
||||
vendor_organization_id: Optional[int] = Field(None, description="Beszállító szervezet ID (FK fleet.organizations)")
|
||||
# P0 HYBRID VENDOR REFACTOR: Új elsődleges hivatkozás a marketplace.service_providers táblára
|
||||
service_provider_id: Optional[int] = Field(None, description="Szolgáltató ID (FK marketplace.service_providers) - P0 elsődleges")
|
||||
external_vendor_name: Optional[str] = Field(None, max_length=200, description="Szabadon gépelhető beszállító név (ha nincs a rendszerben)")
|
||||
|
||||
# === KÖNYVELÉSI DÁTUMOK ===
|
||||
@@ -99,6 +101,8 @@ class AssetCostUpdate(BaseModel):
|
||||
description: Optional[str] = None
|
||||
invoice_number: Optional[str] = None
|
||||
vendor_organization_id: Optional[int] = None
|
||||
# P0 HYBRID VENDOR REFACTOR: service_provider_id az update-hez
|
||||
service_provider_id: Optional[int] = None
|
||||
external_vendor_name: Optional[str] = None
|
||||
invoice_date: Optional[date] = None
|
||||
fulfillment_date: Optional[date] = None
|
||||
@@ -121,5 +125,8 @@ class AssetCostResponse(AssetCostBase):
|
||||
|
||||
# Enriched vendor name (resolved from vendor_organization_id relationship)
|
||||
vendor_name: Optional[str] = None # Resolved from Organization.name via vendor_organization_id
|
||||
|
||||
# P0 HYBRID VENDOR REFACTOR: service_provider_id a response-ban
|
||||
service_provider_id: Optional[int] = None
|
||||
|
||||
model_config = ConfigDict(from_attributes=True)
|
||||
@@ -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
|
||||
|
||||
Reference in New Issue
Block a user