synops/tools/synops-common/src/lib.rs
vegard 6496434bd3 synops-common: delt lib for alle CLI-verktøy (oppgave 21.16)
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.
2026-03-18 10:51:40 +00:00

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;