ito_core/
backend_spec_repository.rs1use ito_domain::backend::BackendSpecReader;
4use ito_domain::errors::DomainResult;
5use ito_domain::specs::{SpecDocument, SpecRepository, SpecSummary};
6
7pub struct BackendSpecRepository<R: BackendSpecReader> {
9 reader: R,
10}
11
12impl<R: BackendSpecReader> BackendSpecRepository<R> {
13 pub fn new(reader: R) -> Self {
15 Self { reader }
16 }
17}
18
19impl<R: BackendSpecReader> SpecRepository for BackendSpecRepository<R> {
20 fn list(&self) -> DomainResult<Vec<SpecSummary>> {
21 self.reader.list_specs()
22 }
23
24 fn get(&self, id: &str) -> DomainResult<SpecDocument> {
25 self.reader.get_spec(id)
26 }
27}