Ny crate `tools/synops-common` samler duplisert kode som var
spredt over 13 CLI-verktøy:
- db::connect() — PG-pool fra DATABASE_URL (erstatter 10+ identiske blokker)
- cas::path() — CAS-stioppslag med to-nivå hash-katalog
- cas::root() — CAS_ROOT env med default
- cas::hash_bytes() / hash_file() / store() — SHA-256 hashing og lagring
- cas::mime_to_extension() — MIME → filendelse
- logging::init() — tracing til stderr med env-filter
- types::{NodeRow, EdgeRow, NodeSummary} — delte FromRow-structs
Alle verktøy (unntatt synops-tasks som ikke bruker DB) er refaktorert
til å bruke synops-common. Alle kompilerer og tester passerer.
14 lines
503 B
Rust
14 lines
503 B
Rust
//! synops-common — Delt bibliotek for Synops CLI-verktøy.
|
|
//!
|
|
//! Samler funksjonalitet som deles mellom alle CLI-verktøy:
|
|
//! - `db` — PostgreSQL-tilkobling via DATABASE_URL
|
|
//! - `cas` — Content-addressable store (sti-oppslag, hashing, MIME)
|
|
//! - `logging` — Standardisert tracing-oppsett (stderr, env-filter)
|
|
//! - `types` — Node- og edge-typer fra databaseskjemaet
|
|
//!
|
|
//! Ref: docs/retninger/unix_filosofi.md, tools/README.md
|
|
|
|
pub mod cas;
|
|
pub mod db;
|
|
pub mod logging;
|
|
pub mod types;
|