2026-01-25 18:01:48 +01:00

46 lines
1.1 KiB
Python

"""Configuration schemas"""
from pydantic import BaseModel
from datetime import datetime
from typing import Optional, List, Dict, Any
from app.models.configuration import ConfigStatus
class ValidationResult(BaseModel):
"""Validation result"""
is_valid: bool
errors: List[str]
warnings: List[str]
class ConfigurationBase(BaseModel):
"""Base configuration schema"""
name: str
config_data: Optional[Dict[str, Any]] = None
status: ConfigStatus = ConfigStatus.DRAFT
class ConfigurationCreate(ConfigurationBase):
"""Configuration creation schema"""
project_id: int
device_id: int
class ConfigurationUpdate(ConfigurationBase):
"""Configuration update schema"""
pass
class ConfigurationResponse(ConfigurationBase):
"""Configuration response schema"""
id: int
project_id: int
device_id: int
generated_cli: Optional[str] = None
validation_errors: Optional[List[str]] = None
validation_warnings: Optional[List[str]] = None
created_at: datetime
updated_at: datetime
class Config:
from_attributes = True