Add firmware update logic
This commit is contained in:
parent
486977f828
commit
b59aeeb5e5
8 changed files with 250 additions and 2 deletions
42
backend/app/schemas/firmware_update.py
Normal file
42
backend/app/schemas/firmware_update.py
Normal file
|
@ -0,0 +1,42 @@
|
|||
from datetime import datetime
|
||||
import enum
|
||||
from typing import Optional
|
||||
from uuid import UUID
|
||||
from pydantic import BaseModel
|
||||
|
||||
class FirmwareUpdateStatus(enum.Enum):
|
||||
CREATED = "xCreated"
|
||||
SUBMITTED = "xSubmitted"
|
||||
DOWNLOADED = "Downloaded"
|
||||
DOWNLOAD_FAILED = "DownloadFailed"
|
||||
DOWNLOADING = "Downloading"
|
||||
DOWNLOAD_SCHEDULED = "DownloadScheduled"
|
||||
DOWNLOAD_PAUSED = "DownloadPaused"
|
||||
IDLE = "Idle"
|
||||
INSTALLATION_FAILED = "InstallationFailed"
|
||||
INSTALLING = "Installing"
|
||||
INSTALLED = "Installed"
|
||||
INSTALL_REBOOTING = "InstallRebooting"
|
||||
INSTALL_SCHEDULED = "InstallScheduled"
|
||||
INSTALL_VERIFICATION_FAILED = "InstallVerificationFailed"
|
||||
INVALID_SIGNATURE = "InvalidSignature"
|
||||
SIGNATURE_VERIFIED = "SignatureVerified"
|
||||
|
||||
class FirmwareUpdateBase(BaseModel):
|
||||
retries: int
|
||||
retry_interval: int
|
||||
location: str
|
||||
retrieve_date_time: datetime
|
||||
install_date_time: Optional[datetime]
|
||||
|
||||
class FirmwareUpdate(FirmwareUpdateBase):
|
||||
id: UUID
|
||||
request_id: int
|
||||
status: FirmwareUpdateStatus
|
||||
|
||||
class FirmwareUpdateCreate(FirmwareUpdateBase):
|
||||
pass
|
||||
|
||||
class FirmwareUpdateSubmissionResponse(BaseModel):
|
||||
firmware_update: FirmwareUpdate
|
||||
status: str
|
Loading…
Add table
Add a link
Reference in a new issue