Added initial git and storage engine
This commit is contained in:
11
crates/octopush_infra/Cargo.toml
Normal file
11
crates/octopush_infra/Cargo.toml
Normal 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 }
|
16
crates/octopush_infra/src/lib.rs
Normal file
16
crates/octopush_infra/src/lib.rs
Normal 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);
|
||||
}
|
||||
}
|
27
crates/octopush_infra/src/service_register.rs
Normal file
27
crates/octopush_infra/src/service_register.rs
Normal 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
|
||||
}
|
||||
}
|
Reference in New Issue
Block a user