refactor(domain): standardize metadata field naming to meta_data across all models
- Rename metadata fields to meta_data for consistency across domain models - Update agent_identity, agent_performance, agent_portfolio, amm, analytics, bounty, certification, community, cross_chain_bridge, cross_chain_reputation, decentralized_memory, miner, pricing_models, trading, and wallet models - Rename chain_metadata to chain_meta_data in CrossChainMapping - Rename verification_metadata to verification_meta_data
This commit is contained in:
@@ -111,7 +111,7 @@ class CrossChainMapping(SQLModel, table=True):
|
||||
wallet_type: str = Field(default="agent-wallet") # agent-wallet, external-wallet, etc.
|
||||
|
||||
# Chain-specific metadata
|
||||
chain_metadata: Dict[str, Any] = Field(default_factory=dict, sa_column=Column(JSON))
|
||||
chain_meta_data: Dict[str, Any] = Field(default_factory=dict, sa_column=Column(JSON))
|
||||
nonce: Optional[int] = Field(default=None)
|
||||
|
||||
# Activity tracking
|
||||
@@ -156,7 +156,7 @@ class IdentityVerification(SQLModel, table=True):
|
||||
renewed_at: Optional[datetime] = Field(default=None)
|
||||
|
||||
# Metadata
|
||||
verification_metadata: Dict[str, Any] = Field(default_factory=dict, sa_column=Column(JSON))
|
||||
verification_meta_data: Dict[str, Any] = Field(default_factory=dict, sa_column=Column(JSON))
|
||||
|
||||
# Timestamps
|
||||
created_at: datetime = Field(default_factory=datetime.utcnow)
|
||||
@@ -226,7 +226,7 @@ class AgentIdentityCreate(SQLModel):
|
||||
avatar_url: str = Field(default="")
|
||||
supported_chains: List[int] = Field(default_factory=list)
|
||||
primary_chain: int = Field(default=1)
|
||||
metadata: Dict[str, Any] = Field(default_factory=dict)
|
||||
meta_data: Dict[str, Any] = Field(default_factory=dict)
|
||||
tags: List[str] = Field(default_factory=list)
|
||||
|
||||
|
||||
@@ -239,7 +239,7 @@ class AgentIdentityUpdate(SQLModel):
|
||||
verification_level: Optional[VerificationType] = Field(default=None)
|
||||
supported_chains: Optional[List[int]] = Field(default=None)
|
||||
primary_chain: Optional[int] = Field(default=None)
|
||||
metadata: Optional[Dict[str, Any]] = Field(default=None)
|
||||
meta_data: Optional[Dict[str, Any]] = Field(default=None)
|
||||
settings: Optional[Dict[str, Any]] = Field(default=None)
|
||||
tags: Optional[List[str]] = Field(default=None)
|
||||
|
||||
@@ -252,7 +252,7 @@ class CrossChainMappingCreate(SQLModel):
|
||||
chain_address: str
|
||||
wallet_address: Optional[str] = Field(default=None)
|
||||
wallet_type: str = Field(default="agent-wallet")
|
||||
chain_metadata: Dict[str, Any] = Field(default_factory=dict)
|
||||
chain_meta_data: Dict[str, Any] = Field(default_factory=dict)
|
||||
|
||||
|
||||
class CrossChainMappingUpdate(SQLModel):
|
||||
@@ -260,7 +260,7 @@ class CrossChainMappingUpdate(SQLModel):
|
||||
chain_address: Optional[str] = Field(default=None)
|
||||
wallet_address: Optional[str] = Field(default=None)
|
||||
wallet_type: Optional[str] = Field(default=None)
|
||||
chain_metadata: Optional[Dict[str, Any]] = Field(default=None)
|
||||
chain_meta_data: Optional[Dict[str, Any]] = Field(default=None)
|
||||
is_verified: Optional[bool] = Field(default=None)
|
||||
|
||||
|
||||
@@ -273,7 +273,7 @@ class IdentityVerificationCreate(SQLModel):
|
||||
proof_hash: str
|
||||
proof_data: Dict[str, Any] = Field(default_factory=dict)
|
||||
expires_at: Optional[datetime] = Field(default=None)
|
||||
verification_metadata: Dict[str, Any] = Field(default_factory=dict)
|
||||
verification_meta_data: Dict[str, Any] = Field(default_factory=dict)
|
||||
|
||||
|
||||
class AgentWalletCreate(SQLModel):
|
||||
@@ -320,7 +320,7 @@ class AgentIdentityResponse(SQLModel):
|
||||
total_transactions: int
|
||||
successful_transactions: int
|
||||
last_activity: Optional[datetime]
|
||||
metadata: Dict[str, Any]
|
||||
meta_data: Dict[str, Any]
|
||||
tags: List[str]
|
||||
created_at: datetime
|
||||
updated_at: datetime
|
||||
@@ -337,7 +337,7 @@ class CrossChainMappingResponse(SQLModel):
|
||||
verified_at: Optional[datetime]
|
||||
wallet_address: Optional[str]
|
||||
wallet_type: str
|
||||
chain_metadata: Dict[str, Any]
|
||||
chain_meta_data: Dict[str, Any]
|
||||
last_transaction: Optional[datetime]
|
||||
transaction_count: int
|
||||
created_at: datetime
|
||||
|
||||
@@ -104,7 +104,7 @@ class AgentPerformanceProfile(SQLModel, table=True):
|
||||
last_assessed: Optional[datetime] = None
|
||||
|
||||
# Additional data
|
||||
profile_metadata: Dict[str, Any] = Field(default={}, sa_column=Column(JSON))
|
||||
profile_meta_data: Dict[str, Any] = Field(default={}, sa_column=Column(JSON))
|
||||
performance_notes: str = Field(default="", max_length=1000)
|
||||
|
||||
|
||||
@@ -155,7 +155,7 @@ class MetaLearningModel(SQLModel, table=True):
|
||||
deployed_at: Optional[datetime] = None
|
||||
|
||||
# Additional data
|
||||
model_profile_metadata: Dict[str, Any] = Field(default={}, sa_column=Column(JSON))
|
||||
model_profile_meta_data: Dict[str, Any] = Field(default={}, sa_column=Column(JSON))
|
||||
training_logs: List[Dict[str, Any]] = Field(default=[], sa_column=Column(JSON))
|
||||
|
||||
|
||||
@@ -206,7 +206,7 @@ class ResourceAllocation(SQLModel, table=True):
|
||||
updated_at: datetime = Field(default_factory=datetime.utcnow())
|
||||
|
||||
# Additional data
|
||||
allocation_profile_metadata: Dict[str, Any] = Field(default={}, sa_column=Column(JSON))
|
||||
allocation_profile_meta_data: Dict[str, Any] = Field(default={}, sa_column=Column(JSON))
|
||||
resource_utilization: Dict[str, float] = Field(default={}, sa_column=Column(JSON))
|
||||
|
||||
|
||||
@@ -261,7 +261,7 @@ class PerformanceOptimization(SQLModel, table=True):
|
||||
completed_at: Optional[datetime] = None
|
||||
|
||||
# Additional data
|
||||
optimization_profile_metadata: Dict[str, Any] = Field(default={}, sa_column=Column(JSON))
|
||||
optimization_profile_meta_data: Dict[str, Any] = Field(default={}, sa_column=Column(JSON))
|
||||
performance_logs: List[Dict[str, Any]] = Field(default=[], sa_column=Column(JSON))
|
||||
|
||||
|
||||
@@ -315,7 +315,7 @@ class AgentCapability(SQLModel, table=True):
|
||||
updated_at: datetime = Field(default_factory=datetime.utcnow)
|
||||
|
||||
# Additional data
|
||||
capability_profile_metadata: Dict[str, Any] = Field(default={}, sa_column=Column(JSON))
|
||||
capability_profile_meta_data: Dict[str, Any] = Field(default={}, sa_column=Column(JSON))
|
||||
training_history: List[Dict[str, Any]] = Field(default=[], sa_column=Column(JSON))
|
||||
|
||||
|
||||
@@ -368,7 +368,7 @@ class FusionModel(SQLModel, table=True):
|
||||
deployed_at: Optional[datetime] = None
|
||||
|
||||
# Additional data
|
||||
fusion_profile_metadata: Dict[str, Any] = Field(default={}, sa_column=Column(JSON))
|
||||
fusion_profile_meta_data: Dict[str, Any] = Field(default={}, sa_column=Column(JSON))
|
||||
training_logs: List[Dict[str, Any]] = Field(default=[], sa_column=Column(JSON))
|
||||
|
||||
|
||||
@@ -423,7 +423,7 @@ class ReinforcementLearningConfig(SQLModel, table=True):
|
||||
deployed_at: Optional[datetime] = None
|
||||
|
||||
# Additional data
|
||||
rl_profile_metadata: Dict[str, Any] = Field(default={}, sa_column=Column(JSON))
|
||||
rl_profile_meta_data: Dict[str, Any] = Field(default={}, sa_column=Column(JSON))
|
||||
training_logs: List[Dict[str, Any]] = Field(default=[], sa_column=Column(JSON))
|
||||
|
||||
|
||||
@@ -477,5 +477,5 @@ class CreativeCapability(SQLModel, table=True):
|
||||
updated_at: datetime = Field(default_factory=datetime.utcnow)
|
||||
|
||||
# Additional data
|
||||
creative_profile_metadata: Dict[str, Any] = Field(default={}, sa_column=Column(JSON))
|
||||
creative_profile_meta_data: Dict[str, Any] = Field(default={}, sa_column=Column(JSON))
|
||||
portfolio_samples: List[Dict[str, Any]] = Field(default=[], sa_column=Column(JSON))
|
||||
|
||||
@@ -193,7 +193,7 @@ class PortfolioAlert(SQLModel, table=True):
|
||||
alert_type: str = Field(index=True) # Type of alert
|
||||
severity: str = Field(index=True) # Severity level
|
||||
message: str = Field(default="")
|
||||
metadata: Dict[str, str] = Field(default_factory=dict, sa_column=Column(JSON))
|
||||
meta_data: Dict[str, str] = Field(default_factory=dict, sa_column=Column(JSON))
|
||||
is_acknowledged: bool = Field(default=False, index=True)
|
||||
acknowledged_at: Optional[datetime] = Field(default=None)
|
||||
created_at: datetime = Field(default_factory=datetime.utcnow, index=True)
|
||||
@@ -213,7 +213,7 @@ class StrategySignal(SQLModel, table=True):
|
||||
stop_loss: float = Field(default=0.0) # Stop loss price
|
||||
time_horizon: str = Field(default="1d") # Time horizon
|
||||
reasoning: str = Field(default="") # Signal reasoning
|
||||
metadata: Dict[str, str] = Field(default_factory=dict, sa_column=Column(JSON))
|
||||
meta_data: Dict[str, str] = Field(default_factory=dict, sa_column=Column(JSON))
|
||||
is_executed: bool = Field(default=False, index=True)
|
||||
executed_at: Optional[datetime] = Field(default=None)
|
||||
expires_at: datetime = Field(default_factory=lambda: datetime.utcnow() + timedelta(hours=24))
|
||||
|
||||
@@ -267,7 +267,7 @@ class PoolAlert(SQLModel, table=True):
|
||||
severity: str = Field(index=True) # LOW, MEDIUM, HIGH, CRITICAL
|
||||
title: str = Field(default="")
|
||||
message: str = Field(default="")
|
||||
metadata: Dict[str, str] = Field(default_factory=dict, sa_column=Column(JSON))
|
||||
meta_data: Dict[str, str] = Field(default_factory=dict, sa_column=Column(JSON))
|
||||
threshold_value: float = Field(default=0.0) # Threshold that triggered alert
|
||||
current_value: float = Field(default=0.0) # Current value
|
||||
is_acknowledged: bool = Field(default=False, index=True)
|
||||
|
||||
@@ -81,7 +81,7 @@ class MarketMetric(SQLModel, table=True):
|
||||
trade_type: Optional[str] = None
|
||||
|
||||
# Metadata
|
||||
metric_metadata: Dict[str, Any] = Field(default={}, sa_column=Column(JSON))
|
||||
metric_meta_data: Dict[str, Any] = Field(default={}, sa_column=Column(JSON))
|
||||
|
||||
# Timestamps
|
||||
recorded_at: datetime = Field(default_factory=datetime.utcnow)
|
||||
@@ -187,7 +187,7 @@ class AnalyticsReport(SQLModel, table=True):
|
||||
delivered_at: Optional[datetime] = None
|
||||
|
||||
# Additional data
|
||||
report_metric_metadata: Dict[str, Any] = Field(default={}, sa_column=Column(JSON))
|
||||
report_metric_meta_data: Dict[str, Any] = Field(default={}, sa_column=Column(JSON))
|
||||
template_used: Optional[str] = None
|
||||
|
||||
|
||||
@@ -282,7 +282,7 @@ class DataCollectionJob(SQLModel, table=True):
|
||||
updated_at: datetime = Field(default_factory=datetime.utcnow)
|
||||
|
||||
# Additional data
|
||||
job_metric_metadata: Dict[str, Any] = Field(default={}, sa_column=Column(JSON))
|
||||
job_metric_meta_data: Dict[str, Any] = Field(default={}, sa_column=Column(JSON))
|
||||
execution_log: List[Dict[str, Any]] = Field(default=[], sa_column=Column(JSON))
|
||||
|
||||
|
||||
@@ -332,7 +332,7 @@ class AlertRule(SQLModel, table=True):
|
||||
updated_at: datetime = Field(default_factory=datetime.utcnow)
|
||||
|
||||
# Additional data
|
||||
rule_metric_metadata: Dict[str, Any] = Field(default={}, sa_column=Column(JSON))
|
||||
rule_metric_meta_data: Dict[str, Any] = Field(default={}, sa_column=Column(JSON))
|
||||
test_results: List[Dict[str, Any]] = Field(default=[], sa_column=Column(JSON))
|
||||
|
||||
|
||||
|
||||
@@ -234,7 +234,7 @@ class AgentMetrics(SQLModel, table=True):
|
||||
monthly_earnings: List[float] = Field(default_factory=list, sa_column=Column(JSON))
|
||||
|
||||
# Metadata
|
||||
agent_metadata: Dict[str, Any] = Field(default_factory=dict, sa_column=Column(JSON))
|
||||
agent_meta_data: Dict[str, Any] = Field(default_factory=dict, sa_column=Column(JSON))
|
||||
|
||||
# Relationships
|
||||
stakes: List[AgentStake] = Relationship(back_populates="agent_metrics")
|
||||
@@ -278,7 +278,7 @@ class StakingPool(SQLModel, table=True):
|
||||
volatility_score: float = Field(default=0.0)
|
||||
|
||||
# Metadata
|
||||
pool_metadata: Dict[str, Any] = Field(default_factory=dict, sa_column=Column(JSON))
|
||||
pool_meta_data: Dict[str, Any] = Field(default_factory=dict, sa_column=Column(JSON))
|
||||
|
||||
# Indexes
|
||||
__table_args__ = (
|
||||
@@ -366,7 +366,7 @@ class BountyStats(SQLModel, table=True):
|
||||
tier_distribution: Dict[str, int] = Field(default_factory=dict, sa_column=Column(JSON))
|
||||
|
||||
# Metadata
|
||||
stats_metadata: Dict[str, Any] = Field(default_factory=dict, sa_column=Column(JSON))
|
||||
stats_meta_data: Dict[str, Any] = Field(default_factory=dict, sa_column=Column(JSON))
|
||||
|
||||
# Indexes
|
||||
__table_args__ = (
|
||||
|
||||
@@ -100,7 +100,7 @@ class AgentCertification(SQLModel, table=True):
|
||||
last_verified_at: Optional[datetime] = None
|
||||
|
||||
# Additional data
|
||||
cert_metadata: Dict[str, Any] = Field(default={}, sa_column=Column(JSON))
|
||||
cert_meta_data: Dict[str, Any] = Field(default={}, sa_column=Column(JSON))
|
||||
notes: str = Field(default="", max_length=1000)
|
||||
|
||||
|
||||
@@ -144,7 +144,7 @@ class CertificationRequirement(SQLModel, table=True):
|
||||
expiry_date: Optional[datetime] = None
|
||||
|
||||
# Additional data
|
||||
cert_metadata: Dict[str, Any] = Field(default={}, sa_column=Column(JSON))
|
||||
cert_meta_data: Dict[str, Any] = Field(default={}, sa_column=Column(JSON))
|
||||
|
||||
|
||||
class VerificationRecord(SQLModel, table=True):
|
||||
@@ -194,7 +194,7 @@ class VerificationRecord(SQLModel, table=True):
|
||||
audit_trail: List[Dict[str, Any]] = Field(default=[], sa_column=Column(JSON))
|
||||
|
||||
# Additional data
|
||||
cert_metadata: Dict[str, Any] = Field(default={}, sa_column=Column(JSON))
|
||||
cert_meta_data: Dict[str, Any] = Field(default={}, sa_column=Column(JSON))
|
||||
notes: str = Field(default="", max_length=1000)
|
||||
|
||||
|
||||
@@ -244,7 +244,7 @@ class PartnershipProgram(SQLModel, table=True):
|
||||
expires_at: Optional[datetime] = None
|
||||
|
||||
# Additional data
|
||||
program_cert_metadata: Dict[str, Any] = Field(default={}, sa_column=Column(JSON))
|
||||
program_cert_meta_data: Dict[str, Any] = Field(default={}, sa_column=Column(JSON))
|
||||
contact_info: Dict[str, Any] = Field(default={}, sa_column=Column(JSON))
|
||||
|
||||
|
||||
@@ -295,7 +295,7 @@ class AgentPartnership(SQLModel, table=True):
|
||||
last_activity: Optional[datetime] = None
|
||||
|
||||
# Additional data
|
||||
partnership_cert_metadata: Dict[str, Any] = Field(default={}, sa_column=Column(JSON))
|
||||
partnership_cert_meta_data: Dict[str, Any] = Field(default={}, sa_column=Column(JSON))
|
||||
notes: str = Field(default="", max_length=1000)
|
||||
|
||||
|
||||
@@ -341,7 +341,7 @@ class AchievementBadge(SQLModel, table=True):
|
||||
available_until: Optional[datetime] = None
|
||||
|
||||
# Additional data
|
||||
badge_cert_metadata: Dict[str, Any] = Field(default={}, sa_column=Column(JSON))
|
||||
badge_cert_meta_data: Dict[str, Any] = Field(default={}, sa_column=Column(JSON))
|
||||
requirements_text: str = Field(default="", max_length=1000)
|
||||
|
||||
|
||||
@@ -392,7 +392,7 @@ class AgentBadge(SQLModel, table=True):
|
||||
last_viewed_at: Optional[datetime] = None
|
||||
|
||||
# Additional data
|
||||
badge_cert_metadata: Dict[str, Any] = Field(default={}, sa_column=Column(JSON))
|
||||
badge_cert_meta_data: Dict[str, Any] = Field(default={}, sa_column=Column(JSON))
|
||||
notes: str = Field(default="", max_length=1000)
|
||||
|
||||
|
||||
@@ -449,5 +449,5 @@ class CertificationAudit(SQLModel, table=True):
|
||||
updated_at: datetime = Field(default_factory=datetime.utcnow)
|
||||
|
||||
# Additional data
|
||||
audit_cert_metadata: Dict[str, Any] = Field(default={}, sa_column=Column(JSON))
|
||||
audit_cert_meta_data: Dict[str, Any] = Field(default={}, sa_column=Column(JSON))
|
||||
notes: str = Field(default="", max_length=2000)
|
||||
|
||||
@@ -80,7 +80,7 @@ class AgentSolution(SQLModel, table=True):
|
||||
average_rating: float = Field(default=0.0)
|
||||
review_count: int = Field(default=0)
|
||||
|
||||
solution_metadata: Dict[str, Any] = Field(default_factory=dict, sa_column=Column(JSON))
|
||||
solution_meta_data: Dict[str, Any] = Field(default_factory=dict, sa_column=Column(JSON))
|
||||
|
||||
created_at: datetime = Field(default_factory=datetime.utcnow)
|
||||
updated_at: datetime = Field(default_factory=datetime.utcnow)
|
||||
|
||||
@@ -159,7 +159,7 @@ class Validator(SQLModel, table=True):
|
||||
status: ValidatorStatus = Field(default=ValidatorStatus.ACTIVE, index=True)
|
||||
is_active: bool = Field(default=True, index=True)
|
||||
supported_chains: List[int] = Field(default_factory=list, sa_column=Column(JSON))
|
||||
metadata: Dict[str, str] = Field(default_factory=dict, sa_column=Column(JSON))
|
||||
val_meta_data: Dict[str, str] = Field(default_factory=dict, sa_column=Column(JSON))
|
||||
created_at: datetime = Field(default_factory=datetime.utcnow)
|
||||
updated_at: datetime = Field(default_factory=datetime.utcnow)
|
||||
|
||||
@@ -274,7 +274,7 @@ class BridgeAlert(SQLModel, table=True):
|
||||
bridge_request_id: Optional[int] = Field(default=None, index=True)
|
||||
title: str = Field(default="")
|
||||
message: str = Field(default="")
|
||||
metadata: Dict[str, str] = Field(default_factory=dict, sa_column=Column(JSON))
|
||||
val_meta_data: Dict[str, str] = Field(default_factory=dict, sa_column=Column(JSON))
|
||||
threshold_value: float = Field(default=0.0) # Threshold that triggered alert
|
||||
current_value: float = Field(default=0.0) # Current value
|
||||
is_acknowledged: bool = Field(default=False, index=True)
|
||||
|
||||
@@ -210,7 +210,7 @@ class CrossChainReputationResponse(SQLModel):
|
||||
consistency_score: float
|
||||
verification_status: str
|
||||
last_updated: datetime
|
||||
metadata: Dict[str, Any] = Field(default_factory=dict)
|
||||
meta_data: Dict[str, Any] = Field(default_factory=dict)
|
||||
|
||||
|
||||
class CrossChainAnalyticsResponse(SQLModel):
|
||||
@@ -241,7 +241,7 @@ class ReputationAnomalyResponse(SQLModel):
|
||||
current_score: float
|
||||
score_change: float
|
||||
confidence: float
|
||||
metadata: Dict[str, Any] = Field(default_factory=dict)
|
||||
meta_data: Dict[str, Any] = Field(default_factory=dict)
|
||||
|
||||
|
||||
class CrossChainLeaderboardResponse(SQLModel):
|
||||
|
||||
@@ -46,7 +46,7 @@ class AgentMemoryNode(SQLModel, table=True):
|
||||
|
||||
status: StorageStatus = Field(default=StorageStatus.PENDING, index=True)
|
||||
|
||||
metadata: Dict[str, str] = Field(default_factory=dict, sa_column=Column(JSON))
|
||||
meta_data: Dict[str, str] = Field(default_factory=dict, sa_column=Column(JSON))
|
||||
tags: List[str] = Field(default_factory=list, sa_column=Column(JSON))
|
||||
|
||||
# Blockchain Anchoring
|
||||
|
||||
@@ -17,7 +17,7 @@ class Miner(SQLModel, table=True):
|
||||
concurrency: int = Field(default=1)
|
||||
status: str = Field(default="ONLINE", index=True)
|
||||
inflight: int = Field(default=0)
|
||||
extra_metadata: dict = Field(default_factory=dict, sa_column=Column(JSON, nullable=False))
|
||||
extra_meta_data: dict = Field(default_factory=dict, sa_column=Column(JSON, nullable=False))
|
||||
last_heartbeat: datetime = Field(default_factory=datetime.utcnow, index=True)
|
||||
session_token: Optional[str] = None
|
||||
last_job_at: Optional[datetime] = Field(default=None, index=True)
|
||||
|
||||
@@ -527,7 +527,7 @@ class PricingAuditLog(SQLModel, table=True):
|
||||
created_at: datetime = Field(default_factory=datetime.utcnow)
|
||||
|
||||
# Additional metadata
|
||||
metadata: Dict[str, Any] = Field(default_factory=dict, sa_column=Column(JSON))
|
||||
meta_data: Dict[str, Any] = Field(default_factory=dict, sa_column=Column(JSON))
|
||||
tags: List[str] = Field(default_factory=list, sa_column=Column(JSON))
|
||||
|
||||
|
||||
|
||||
@@ -105,7 +105,7 @@ class TradeRequest(SQLModel, table=True):
|
||||
|
||||
# Additional metadata
|
||||
tags: List[str] = Field(default=[], sa_column=Column(JSON))
|
||||
trading_metadata: Dict[str, Any] = Field(default={}, sa_column=Column(JSON))
|
||||
trading_meta_data: Dict[str, Any] = Field(default={}, sa_column=Column(JSON))
|
||||
|
||||
|
||||
class TradeMatch(SQLModel, table=True):
|
||||
|
||||
@@ -38,7 +38,7 @@ class AgentWallet(SQLModel, table=True):
|
||||
is_active: bool = Field(default=True)
|
||||
encrypted_private_key: Optional[str] = Field(default=None) # Only if managed internally
|
||||
kms_key_id: Optional[str] = Field(default=None) # Reference to external KMS
|
||||
metadata: Dict[str, str] = Field(default_factory=dict, sa_column=Column(JSON))
|
||||
meta_data: Dict[str, str] = Field(default_factory=dict, sa_column=Column(JSON))
|
||||
created_at: datetime = Field(default_factory=datetime.utcnow)
|
||||
updated_at: datetime = Field(default_factory=datetime.utcnow)
|
||||
|
||||
|
||||
Reference in New Issue
Block a user