Added initial git and storage engine

This commit is contained in:
2022-10-25 22:00:46 +02:00
parent 1be156d911
commit dce155979e
16 changed files with 931 additions and 12 deletions

View File

@@ -0,0 +1,11 @@
[package]
name = "octopush_infra"
version = "0.1.0"
edition = "2021"
# See more keys and their definitions at https://doc.rust-lang.org/cargo/reference/manifest.html
[dependencies]
octopush_core = { path = "../octopush_core" }
eyre = { workspace = true }

View File

@@ -0,0 +1,16 @@
pub mod service_register;
pub fn add(left: usize, right: usize) -> usize {
left + right
}
#[cfg(test)]
mod tests {
use super::*;
#[test]
fn it_works() {
let result = add(2, 2);
assert_eq!(result, 4);
}
}

View File

@@ -0,0 +1,27 @@
use std::sync::Arc;
use octopush_core::{
git::{github::GitHubGitProvider, DynGitProvider},
storage::{local::LocalStorageEngine, DynStorageEngine},
};
pub struct ServiceRegister {
pub storage_engine: DynStorageEngine,
pub git_provider: DynGitProvider,
}
impl ServiceRegister {
pub fn new() -> Self {
let storage_engine = Arc::new(LocalStorageEngine::new("/tmp/octopush".into()));
let git_provider = Arc::new(GitHubGitProvider::new(storage_engine.clone()));
Self {
storage_engine,
git_provider,
}
}
pub async fn cleanup(self) -> eyre::Result<()> {
self.storage_engine.cleanup().await
}
}