Files
OSIT-AE-API-FastAPI/app/models/lookup_models.py

39 lines
1.7 KiB
Python

from typing import Optional
from pydantic import Field
from .core_object_models import Core_Std_Obj_Base
class Lookup_Base(Core_Std_Obj_Base):
"""
Standardized Baseline for Aether V3 Lookups.
Follows the Hierarchical, Identity-Agnostic System.
"""
id_random: Optional[str] = Field(None, description="Public String ID (ID Vision)")
account_id: Optional[int] = Field(None, description="Internal Account ID (NULL = Global)")
account_id_random: Optional[str] = Field(None, description="Public Account ID")
for_type: Optional[str] = Field(None, description="Polymorphic Context Type")
for_id: Optional[int] = Field(None, description="Polymorphic Context Internal ID")
for_id_random: Optional[str] = Field(None, description="Polymorphic Context Public ID")
group: Optional[str] = Field(None, description="Primary Business Key / Cluster Key")
name: Optional[str] = Field(None, description="Primary Display Label")
description: Optional[str] = Field(None, description="Detailed Explanation")
enable: Optional[bool] = Field(True, description="Active status (Shadowing/Negative Overrides)")
hide: Optional[bool] = Field(False, description="UI Visibility flag")
sort: Optional[int] = Field(0, description="Ordering priority")
class Lu_Country_V3_Base(Lookup_Base):
alpha_2_code: Optional[str] = None
alpha_3_code: Optional[str] = None
numeric_code: Optional[str] = None
english_short_name: Optional[str] = None
class Lu_Country_Subdivision_V3_Base(Lookup_Base):
country_alpha_2_code: Optional[str] = None
code: Optional[str] = None
class Lu_Time_Zone_V3_Base(Lookup_Base):
timezone: Optional[str] = None
offset: Optional[str] = None