mirror of
https://github.com/ferdzo/iotDashboard.git
synced 2026-04-05 17:16:26 +00:00
Added multi-protocol support for devices, improved models and updated readme.md and instructions
This commit is contained in:
@@ -1,17 +1,38 @@
|
||||
import datetime
|
||||
from typing import Any
|
||||
|
||||
from pydantic import BaseModel
|
||||
|
||||
|
||||
class DeviceRegistrationRequest(BaseModel):
|
||||
"""Request model for registering a new device."""
|
||||
|
||||
name: str
|
||||
location: str | None = None
|
||||
protocol: str = "mqtt"
|
||||
connection_config: dict[str, Any] | None = None
|
||||
|
||||
|
||||
class DeviceRegistrationResponse(BaseModel):
|
||||
"""Response model after registering a new device."""
|
||||
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
|
||||
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
|
||||
@@ -19,10 +40,10 @@ class DeviceRegistrationResponse(BaseModel):
|
||||
private_key_pem: str
|
||||
expires_at: datetime.datetime
|
||||
|
||||
class DeviceResponse(BaseModel):
|
||||
"""Response model for device information."""
|
||||
|
||||
id: str
|
||||
name: str
|
||||
location: str | None = None
|
||||
created_at: datetime.datetime
|
||||
class DeviceCredentials(BaseModel):
|
||||
certificate_id: str
|
||||
device_id: str
|
||||
certificate_pem: bytes
|
||||
private_key_pem: bytes
|
||||
expires_at: datetime.datetime
|
||||
|
||||
Reference in New Issue
Block a user