heldar_kernel/models/
devices.rs1use chrono::{DateTime, Utc};
2use serde::Serialize;
3use serde_json::Value;
4use sqlx::types::Json;
5use sqlx::FromRow;
6
7#[derive(Debug, Clone, Serialize, FromRow)]
11pub struct CameraOnvif {
12 pub camera_id: String,
13 pub device_url: String,
14 pub manufacturer: Option<String>,
15 pub model: Option<String>,
16 pub firmware_version: Option<String>,
17 pub serial_number: Option<String>,
18 pub hardware_id: Option<String>,
19 pub scopes: Json<Value>,
20 pub media_url: Option<String>,
21 pub ptz_url: Option<String>,
22 pub profile_token: Option<String>,
23 pub ptz_node_token: Option<String>,
24 pub ptz_enabled: bool,
25 pub probed_at: DateTime<Utc>,
26}
27
28#[derive(Debug, Clone, Serialize, FromRow)]
30pub struct PtzPreset {
31 pub id: String,
32 pub camera_id: String,
33 pub token: String,
34 pub name: Option<String>,
35 pub fetched_at: DateTime<Utc>,
36}
37
38#[derive(Debug, Clone, FromRow, Serialize)]
42pub struct CameraIsapi {
43 pub camera_id: String,
44 pub device_name: Option<String>,
45 pub model: Option<String>,
46 pub firmware_version: Option<String>,
47 pub serial_number: Option<String>,
48 pub onvif_enabled: bool,
49 pub onvif_user_created: bool,
50 pub time_mode: Option<String>,
51 pub ntp_server: Option<String>,
52 pub fetched_at: DateTime<Utc>,
53}