Refactor models names
This commit is contained in:
parent
76b14ce75b
commit
be7f31906c
24 changed files with 461 additions and 340 deletions
emgauwa-lib/src/models
51
emgauwa-lib/src/models/mod.rs
Normal file
51
emgauwa-lib/src/models/mod.rs
Normal file
|
@ -0,0 +1,51 @@
|
|||
use crate::db;
|
||||
use futures::executor;
|
||||
use serde_derive::Serialize;
|
||||
use sqlx::pool::PoolConnection;
|
||||
use sqlx::Sqlite;
|
||||
|
||||
#[derive(Serialize, Debug)]
|
||||
pub struct Schedule {
|
||||
#[serde(flatten)]
|
||||
pub schedule: db::DbSchedule,
|
||||
pub tags: Vec<String>,
|
||||
}
|
||||
|
||||
#[derive(Serialize, Debug)]
|
||||
pub struct Relay {
|
||||
#[serde(flatten)]
|
||||
pub relay: db::DbRelay,
|
||||
pub controller: db::DbController,
|
||||
pub tags: Vec<String>,
|
||||
}
|
||||
|
||||
#[derive(Serialize, Debug)]
|
||||
pub struct Controller {
|
||||
#[serde(flatten)]
|
||||
pub controller: db::DbController,
|
||||
pub relays: Vec<Relay>,
|
||||
}
|
||||
|
||||
impl Schedule {
|
||||
pub fn from_schedule(schedule: db::DbSchedule, conn: &mut PoolConnection<Sqlite>) -> Self {
|
||||
let schedule = schedule.clone();
|
||||
let tags = executor::block_on(schedule.get_tags(conn)).unwrap();
|
||||
|
||||
Schedule { schedule, tags }
|
||||
}
|
||||
}
|
||||
|
||||
impl Relay {
|
||||
pub fn from_db_relay(relay: db::DbRelay, conn: &mut PoolConnection<Sqlite>) -> Self {
|
||||
let relay = relay.clone();
|
||||
let controller =
|
||||
executor::block_on(db::DbController::get(conn, relay.controller_id)).unwrap();
|
||||
let tags = executor::block_on(relay.get_tags(conn)).unwrap();
|
||||
|
||||
Relay {
|
||||
relay,
|
||||
controller,
|
||||
tags,
|
||||
}
|
||||
}
|
||||
}
|
Loading…
Add table
Add a link
Reference in a new issue