diff --git a/Cargo.lock b/Cargo.lock
index 3899c95..0e1c156 100644
--- a/Cargo.lock
+++ b/Cargo.lock
@@ -424,7 +424,7 @@ dependencies = [
[[package]]
name = "bichon"
-version = "0.2.2"
+version = "0.2.3"
dependencies = [
"ahash",
"async-imap",
diff --git a/Cargo.toml b/Cargo.toml
index e595824..e07190e 100644
--- a/Cargo.toml
+++ b/Cargo.toml
@@ -1,12 +1,15 @@
[package]
name = "bichon"
-version = "0.2.2"
+version = "0.2.3"
edition = "2021"
[[bin]]
name = "bichon"
path = "src/main.rs"
+[[bin]]
+name = "bichon-cli"
+path = "src/bin/bichon_cli.rs"
[features]
default = []
diff --git a/src/bin/bichon_cli.rs b/src/bin/bichon_cli.rs
new file mode 100644
index 0000000..f328e4d
--- /dev/null
+++ b/src/bin/bichon_cli.rs
@@ -0,0 +1 @@
+fn main() {}
diff --git a/src/lib.rs b/src/lib.rs
new file mode 100644
index 0000000..4dbdc5e
--- /dev/null
+++ b/src/lib.rs
@@ -0,0 +1 @@
+pub mod modules;
\ No newline at end of file
diff --git a/src/main.rs b/src/main.rs
index ef9765a..104f084 100644
--- a/src/main.rs
+++ b/src/main.rs
@@ -16,23 +16,24 @@
// You should have received a copy of the GNU Affero General Public License
// along with this program. If not, see .
-use mimalloc::MiMalloc;
-use modules::{
- common::rustls::RustMailerTls,
- context::{executors::EmailClientExecutors, Initialize},
- error::BichonResult,
- logger,
- rest::start_http_server,
- tasks::PeriodicTasks,
+use bichon::{
+ bichon_version,
+ modules::{
+ common::rustls::RustMailerTls,
+ context::{executors::EmailClientExecutors, Initialize},
+ error::BichonResult,
+ logger,
+ rest::start_http_server,
+ tasks::PeriodicTasks,
+ },
};
+use mimalloc::MiMalloc;
use tracing::info;
-use crate::modules::{
+use bichon::modules::{
common::signal::SignalManager, settings::dir::DataDirManager, users::manager::UserManager,
};
-mod modules;
-
#[global_allocator]
static GLOBAL: MiMalloc = MiMalloc;
diff --git a/src/modules/cli/mod.rs b/src/modules/cli/mod.rs
new file mode 100644
index 0000000..e69de29
diff --git a/src/modules/context/mod.rs b/src/modules/context/mod.rs
index 132d23b..e14e43a 100644
--- a/src/modules/context/mod.rs
+++ b/src/modules/context/mod.rs
@@ -16,13 +16,13 @@
// You should have received a copy of the GNU Affero General Public License
// along with this program. If not, see .
-
use crate::modules::error::BichonResult;
pub mod controller;
pub mod executors;
pub mod status;
+#[allow(async_fn_in_trait)]
pub trait Initialize {
async fn initialize() -> BichonResult<()>;
}
diff --git a/src/modules/logger/mod.rs b/src/modules/logger/mod.rs
index eeeadea..35d8bf8 100644
--- a/src/modules/logger/mod.rs
+++ b/src/modules/logger/mod.rs
@@ -16,8 +16,7 @@
// You should have received a copy of the GNU Affero General Public License
// along with this program. If not, see .
-
-use crate::logger::file::setup_file_logger;
+use crate::modules::logger::file::setup_file_logger;
use crate::modules::settings::cli::SETTINGS;
use chrono::Local;
use std::process;
diff --git a/src/modules/mod.rs b/src/modules/mod.rs
index c551325..d6eedd1 100644
--- a/src/modules/mod.rs
+++ b/src/modules/mod.rs
@@ -19,6 +19,7 @@
pub mod account;
pub mod autoconfig;
pub mod cache;
+pub mod cli;
pub mod common;
pub mod context;
pub mod dashboard;
diff --git a/src/modules/users/minimal.rs b/src/modules/users/minimal.rs
index c1b0a99..14c5d11 100644
--- a/src/modules/users/minimal.rs
+++ b/src/modules/users/minimal.rs
@@ -22,7 +22,7 @@ use serde::{Deserialize, Serialize};
use crate::modules::{
database::{list_all_impl, manager::DB_MANAGER},
error::BichonResult,
- users::BichonUser,
+ users::UserModel,
};
#[derive(Clone, Debug, Default, Eq, PartialEq, Serialize, Deserialize, Object)]
@@ -34,7 +34,7 @@ pub struct MinimalUser {
impl MinimalUser {
pub async fn list_all() -> BichonResult> {
- let all_users = list_all_impl::(DB_MANAGER.meta_db()).await?;
+ let all_users = list_all_impl::(DB_MANAGER.meta_db()).await?;
let minimal_list = all_users
.into_iter()
.map(|user| MinimalUser {
diff --git a/src/modules/users/mod.rs b/src/modules/users/mod.rs
index 7632dbb..1bc8ba9 100644
--- a/src/modules/users/mod.rs
+++ b/src/modules/users/mod.rs
@@ -469,7 +469,7 @@ impl BichonUserV2 {
delete_impl(DB_MANAGER.meta_db(), move |rw| {
rw.get()
- .primary::(id)
+ .primary::(id)
.map_err(|e| raise_error!(format!("{:#?}", e), ErrorCode::InternalError))?
.ok_or_else(|| {
raise_error!(