mirror of
https://github.com/ferdzo/iotDashboard.git
synced 2026-04-05 17:16:26 +00:00
51 lines
1.2 KiB
Python
51 lines
1.2 KiB
Python
import datetime
|
|
from typing import Any
|
|
|
|
from pydantic import BaseModel
|
|
|
|
|
|
class DeviceRegistrationRequest(BaseModel):
|
|
name: str
|
|
location: str | None = None
|
|
protocol: str = "mqtt"
|
|
connection_config: dict[str, Any] | None = None
|
|
|
|
|
|
class DeviceRegistrationResponse(BaseModel):
|
|
device_id: str
|
|
protocol: str
|
|
certificate_id: str | None = None
|
|
ca_certificate_pem: str | None = None
|
|
certificate_pem: str | None = None
|
|
private_key_pem: str | None = None
|
|
expires_at: datetime.datetime | None = None
|
|
onboarding_token: str | None = None
|
|
credential_id: str | None = None
|
|
api_key: str | None = None
|
|
webhook_secret: str | None = None
|
|
|
|
|
|
class DeviceResponse(BaseModel):
|
|
id: str
|
|
name: str
|
|
location: str | None = None
|
|
protocol: str
|
|
connection_config: dict[str, Any] | None = None
|
|
created_at: datetime.datetime
|
|
|
|
class DeviceCertificateResponse(BaseModel):
|
|
certificate_id: str
|
|
device_id: str
|
|
ca_certificate_pem: str
|
|
certificate_pem: str
|
|
private_key_pem: str
|
|
expires_at: datetime.datetime
|
|
|
|
|
|
class DeviceCredentials(BaseModel):
|
|
certificate_id: str
|
|
device_id: str
|
|
certificate_pem: bytes
|
|
private_key_pem: bytes
|
|
expires_at: datetime.datetime
|