Connect to db via storage module

This commit is contained in:
clerie 2025-02-09 21:24:57 +01:00
parent fa489bf7bc
commit 3d8867d218

View File

@ -14,9 +14,9 @@ use flake_tracker::{
FlakeMetadata, FlakeMetadata,
FlakeUri, FlakeUri,
}, },
}; storage::{
use sqlx::{ Storage,
sqlite::SqlitePoolOptions, },
}; };
use std::process::Command; use std::process::Command;
@ -32,7 +32,10 @@ async fn main() -> Result<()> {
let scan_time = Utc::now().timestamp(); let scan_time = Utc::now().timestamp();
let db = SqlitePoolOptions::new().connect("sqlite://flake-tracker.db").await?; let storage = Storage::connect("sqlite://flake-tracker.db")
.await
.context("Failed to connect to database")?;
let flake_metadata_raw = Command::new("nix") let flake_metadata_raw = Command::new("nix")
.arg("flake") .arg("flake")
@ -60,7 +63,7 @@ async fn main() -> Result<()> {
.bind(&flake_metadata.locked.narHash) .bind(&flake_metadata.locked.narHash)
.bind(&flake_metadata.locked.lastModified) .bind(&flake_metadata.locked.lastModified)
.bind(&scan_time) .bind(&scan_time)
.execute(&db).await?; .execute(&storage.db).await?;
let locks_root_name = &flake_metadata.locks.root; let locks_root_name = &flake_metadata.locks.root;
let locks_root_node = flake_metadata.locks.nodes.get(locks_root_name) let locks_root_node = flake_metadata.locks.nodes.get(locks_root_name)
@ -86,7 +89,7 @@ async fn main() -> Result<()> {
.bind(locks_input_node.original.clone().context("Unexpected missing lock")?.flake_uri()?) .bind(locks_input_node.original.clone().context("Unexpected missing lock")?.flake_uri()?)
.bind(locks_input_node.locked.clone().context("Unexpected missing lock")?.narHash) .bind(locks_input_node.locked.clone().context("Unexpected missing lock")?.narHash)
.bind(locks_input_node.locked.clone().context("Unexpected missing lock")?.lastModified) .bind(locks_input_node.locked.clone().context("Unexpected missing lock")?.lastModified)
.execute(&db).await?; .execute(&storage.db).await?;
sqlx::query("INSERT INTO revisions (revision_uri, flake_uri) sqlx::query("INSERT INTO revisions (revision_uri, flake_uri)
VALUES (?, ?) VALUES (?, ?)
@ -94,7 +97,7 @@ async fn main() -> Result<()> {
") ")
.bind(locks_input_node.locked.clone().context("Unexpected missing lock")?.flake_uri()?) .bind(locks_input_node.locked.clone().context("Unexpected missing lock")?.flake_uri()?)
.bind(locks_input_node.original.clone().context("Unexpected missing lock")?.flake_uri()?) .bind(locks_input_node.original.clone().context("Unexpected missing lock")?.flake_uri()?)
.execute(&db).await?; .execute(&storage.db).await?;
} }
} }