Initial commit.

This commit is contained in:
Florian THIERRY
2026-07-13 21:57:58 +02:00
commit b5a95b0fa3
49 changed files with 11243 additions and 0 deletions
@@ -0,0 +1,46 @@
use std::io::{Error, ErrorKind};
use surveillant_systeme_domain::configuration::port::ConfigurationPort;
use crate::configuration::repository::ConfigurationSqliteRepository;
#[derive(Clone)]
pub struct ConfigurationSqliteAdapter {
repository: ConfigurationSqliteRepository
}
impl ConfigurationSqliteAdapter {
pub fn new(repository: ConfigurationSqliteRepository) -> Self {
Self {
repository
}
}
}
impl ConfigurationPort for ConfigurationSqliteAdapter {
fn get_initialisation_code(&self) -> Result<Option<String>, Error> {
self.repository.get_initialisation_code()
.map_err(|error| Error::new(
ErrorKind::Other,
format!("Unable to retrieve the initialisation code… Cause: {}", error)
))
}
fn save(&self, initialisation_code: String) -> Result<(), Error> {
self.repository.save(initialisation_code)
.map_err(|error| Error::new(
ErrorKind::Other,
format!("Unable to save the initialisation code… Cause: {}", error)
))
}
fn erase_initialisation_code(&self) -> Result<(), Error> {
self.repository.erase_initialisation_code()
.map_err(|error| Error::new(
ErrorKind::Other,
format!("Unable to erase the initialisation code… Cause: {}", error)
))
}
fn clone_box(&self) -> Box<dyn ConfigurationPort> {
Box::new(self.clone())
}
}