71 lines
3.0 KiB
Rust
71 lines
3.0 KiB
Rust
pub const COUNT_DEVICES: &str = "SELECT COUNT(*) FROM devices";
|
|
|
|
pub const UPSERT_DEVICE: &str = r#"
|
|
INSERT INTO devices(id, mac, name, ip, simulated, payload, updated_at)
|
|
VALUES (?1, ?2, ?3, ?4, ?5, ?6, ?7)
|
|
ON CONFLICT(id) DO UPDATE SET
|
|
mac=excluded.mac,
|
|
name=excluded.name,
|
|
ip=excluded.ip,
|
|
simulated=excluded.simulated,
|
|
payload=excluded.payload,
|
|
updated_at=excluded.updated_at
|
|
"#;
|
|
|
|
pub const LIST_DEVICES: &str = "SELECT payload FROM devices ORDER BY name COLLATE NOCASE";
|
|
pub const GET_DEVICE_BY_ID: &str = "SELECT payload FROM devices WHERE id=?1";
|
|
pub const GET_DEVICE_BY_MAC: &str = "SELECT payload FROM devices WHERE lower(mac)=lower(?1)";
|
|
pub const DELETE_DEVICE_READINGS: &str = "DELETE FROM readings WHERE device_id=?1";
|
|
pub const DELETE_SCHEDULES_BY_DEVICE_ID: &str =
|
|
"DELETE FROM schedules WHERE zone_id IN (SELECT id FROM zones WHERE json_extract(payload, '$.device_id')=?1)";
|
|
pub const DELETE_ZONES_BY_DEVICE_ID: &str =
|
|
"DELETE FROM zones WHERE json_extract(payload, '$.device_id')=?1";
|
|
pub const DELETE_DEVICE: &str = "DELETE FROM devices WHERE id=?1";
|
|
|
|
pub const UPSERT_ZONE: &str = r#"
|
|
INSERT INTO zones(id,payload,updated_at) VALUES(?1,?2,?3)
|
|
ON CONFLICT(id) DO UPDATE SET
|
|
payload=excluded.payload,
|
|
updated_at=excluded.updated_at
|
|
"#;
|
|
pub const LIST_ZONES: &str =
|
|
"SELECT payload FROM zones ORDER BY json_extract(payload, '$.name') COLLATE NOCASE";
|
|
pub const GET_ZONE: &str = "SELECT payload FROM zones WHERE id=?1";
|
|
pub const DELETE_SCHEDULES_BY_ZONE_ID: &str = "DELETE FROM schedules WHERE zone_id=?1";
|
|
pub const DELETE_ZONE: &str = "DELETE FROM zones WHERE id=?1";
|
|
|
|
pub const UPSERT_GROUP: &str = r#"
|
|
INSERT INTO climate_groups(id,payload,updated_at) VALUES(?1,?2,?3)
|
|
ON CONFLICT(id) DO UPDATE SET
|
|
payload=excluded.payload,
|
|
updated_at=excluded.updated_at
|
|
"#;
|
|
pub const LIST_GROUPS: &str =
|
|
"SELECT payload FROM climate_groups ORDER BY json_extract(payload, '$.name') COLLATE NOCASE";
|
|
pub const GET_GROUP: &str = "SELECT payload FROM climate_groups WHERE id=?1";
|
|
pub const DELETE_GROUP: &str = "DELETE FROM climate_groups WHERE id=?1";
|
|
|
|
pub const UPSERT_SCHEDULE: &str = r#"
|
|
INSERT INTO schedules(id,zone_id,payload,updated_at) VALUES(?1,?2,?3,?4)
|
|
ON CONFLICT(id) DO UPDATE SET
|
|
zone_id=excluded.zone_id,
|
|
payload=excluded.payload,
|
|
updated_at=excluded.updated_at
|
|
"#;
|
|
pub const LIST_SCHEDULES: &str =
|
|
"SELECT payload FROM schedules ORDER BY json_extract(payload, '$.name') COLLATE NOCASE";
|
|
pub const GET_SCHEDULE: &str = "SELECT payload FROM schedules WHERE id=?1";
|
|
pub const DELETE_SCHEDULE: &str = "DELETE FROM schedules WHERE id=?1";
|
|
|
|
pub const UPSERT_AUTOMATION: &str = r#"
|
|
INSERT INTO automations(id,payload,updated_at) VALUES(?1,?2,?3)
|
|
ON CONFLICT(id) DO UPDATE SET
|
|
payload=excluded.payload,
|
|
updated_at=excluded.updated_at
|
|
"#;
|
|
pub const LIST_AUTOMATIONS: &str =
|
|
"SELECT payload FROM automations ORDER BY json_extract(payload, '$.name') COLLATE NOCASE";
|
|
pub const GET_AUTOMATION: &str = "SELECT payload FROM automations WHERE id=?1";
|
|
pub const DELETE_AUTOMATION: &str = "DELETE FROM automations WHERE id=?1";
|
|
|