Add version to controller
This commit is contained in:
parent
ff91bf4cf3
commit
4a9b193691
4 changed files with 30 additions and 3 deletions
21
Cargo.lock
generated
21
Cargo.lock
generated
|
|
@ -779,6 +779,7 @@ dependencies = [
|
||||||
"emgauwa-common",
|
"emgauwa-common",
|
||||||
"futures",
|
"futures",
|
||||||
"futures-channel",
|
"futures-channel",
|
||||||
|
"git-version",
|
||||||
"log",
|
"log",
|
||||||
"rppal 0.22.1",
|
"rppal 0.22.1",
|
||||||
"rppal-mcp23s17",
|
"rppal-mcp23s17",
|
||||||
|
|
@ -997,6 +998,26 @@ version = "0.31.1"
|
||||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||||
checksum = "07e28edb80900c19c28f1072f2e8aeca7fa06b23cd4169cefe1af5aa3260783f"
|
checksum = "07e28edb80900c19c28f1072f2e8aeca7fa06b23cd4169cefe1af5aa3260783f"
|
||||||
|
|
||||||
|
[[package]]
|
||||||
|
name = "git-version"
|
||||||
|
version = "0.3.9"
|
||||||
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||||
|
checksum = "1ad568aa3db0fcbc81f2f116137f263d7304f512a1209b35b85150d3ef88ad19"
|
||||||
|
dependencies = [
|
||||||
|
"git-version-macro",
|
||||||
|
]
|
||||||
|
|
||||||
|
[[package]]
|
||||||
|
name = "git-version-macro"
|
||||||
|
version = "0.3.9"
|
||||||
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||||
|
checksum = "53010ccb100b96a67bc32c0175f0ed1426b31b655d562898e57325f81c023ac0"
|
||||||
|
dependencies = [
|
||||||
|
"proc-macro2",
|
||||||
|
"quote",
|
||||||
|
"syn",
|
||||||
|
]
|
||||||
|
|
||||||
[[package]]
|
[[package]]
|
||||||
name = "h2"
|
name = "h2"
|
||||||
version = "0.3.26"
|
version = "0.3.26"
|
||||||
|
|
|
||||||
|
|
@ -28,3 +28,5 @@ futures-channel = "0.3"
|
||||||
rppal = "0.22"
|
rppal = "0.22"
|
||||||
rppal-pfd = "0.1"
|
rppal-pfd = "0.1"
|
||||||
rppal-mcp23s17 = "0.1"
|
rppal-mcp23s17 = "0.1"
|
||||||
|
|
||||||
|
git-version = "0.3"
|
||||||
|
|
@ -1,4 +1,5 @@
|
||||||
use actix::Actor;
|
use actix::Actor;
|
||||||
|
use git_version::git_version;
|
||||||
use emgauwa_common::db;
|
use emgauwa_common::db;
|
||||||
use emgauwa_common::db::{DbController, DbJunctionRelaySchedule, DbRelay, DbSchedule};
|
use emgauwa_common::db::{DbController, DbJunctionRelaySchedule, DbRelay, DbSchedule};
|
||||||
use emgauwa_common::errors::EmgauwaError;
|
use emgauwa_common::errors::EmgauwaError;
|
||||||
|
|
@ -23,12 +24,14 @@ mod ws;
|
||||||
async fn create_this_controller(
|
async fn create_this_controller(
|
||||||
conn: &mut PoolConnection<Sqlite>,
|
conn: &mut PoolConnection<Sqlite>,
|
||||||
settings: &Settings,
|
settings: &Settings,
|
||||||
|
version: &str,
|
||||||
) -> Result<DbController, EmgauwaError> {
|
) -> Result<DbController, EmgauwaError> {
|
||||||
DbController::create(
|
DbController::create(
|
||||||
conn,
|
conn,
|
||||||
&EmgauwaUid::default(),
|
&EmgauwaUid::default(),
|
||||||
&settings.name,
|
&settings.name,
|
||||||
settings.relays.len() as i64,
|
settings.relays.len() as i64,
|
||||||
|
version,
|
||||||
)
|
)
|
||||||
.await
|
.await
|
||||||
.map_err(EmgauwaError::from)
|
.map_err(EmgauwaError::from)
|
||||||
|
|
@ -58,6 +61,7 @@ async fn create_this_relay(
|
||||||
#[actix::main]
|
#[actix::main]
|
||||||
async fn main() -> Result<(), std::io::Error> {
|
async fn main() -> Result<(), std::io::Error> {
|
||||||
let settings = settings::init()?;
|
let settings = settings::init()?;
|
||||||
|
let version = git_version!();
|
||||||
|
|
||||||
drop_privileges(&settings.permissions)?;
|
drop_privileges(&settings.permissions)?;
|
||||||
|
|
||||||
|
|
@ -73,7 +77,7 @@ async fn main() -> Result<(), std::io::Error> {
|
||||||
.map_err(EmgauwaError::from)?
|
.map_err(EmgauwaError::from)?
|
||||||
.pop()
|
.pop()
|
||||||
{
|
{
|
||||||
None => futures::executor::block_on(create_this_controller(&mut conn, &settings))?,
|
None => futures::executor::block_on(create_this_controller(&mut conn, &settings, version))?,
|
||||||
Some(c) => c,
|
Some(c) => c,
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|
@ -89,7 +93,7 @@ async fn main() -> Result<(), std::io::Error> {
|
||||||
}
|
}
|
||||||
|
|
||||||
let db_controller = db_controller
|
let db_controller = db_controller
|
||||||
.update(&mut conn, &db_controller.name, settings.relays.len() as i64)
|
.update(&mut conn, &db_controller.name, settings.relays.len() as i64, version)
|
||||||
.await
|
.await
|
||||||
.map_err(EmgauwaError::from)?;
|
.map_err(EmgauwaError::from)?;
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -82,7 +82,7 @@ async fn handle_controller(
|
||||||
DbController::get_by_uid(conn, &controller.c.uid)
|
DbController::get_by_uid(conn, &controller.c.uid)
|
||||||
.await?
|
.await?
|
||||||
.ok_or(DatabaseError::NotFound)?
|
.ok_or(DatabaseError::NotFound)?
|
||||||
.update(conn, controller.c.name.as_str(), this.c.relay_count)
|
.update(conn, controller.c.name.as_str(), this.c.relay_count, &this.c.version)
|
||||||
.await?;
|
.await?;
|
||||||
|
|
||||||
Ok(())
|
Ok(())
|
||||||
|
|
|
||||||
Loading…
Reference in a new issue