post services integrations

This commit is contained in:
2026-07-29 18:09:38 +02:00
parent 6cb9acf98b
commit 759bc1dc15
23 changed files with 956 additions and 95 deletions
+30
View File
@@ -1,11 +1,23 @@
use crate::repositories::Repositories;
use crate::services::permission_sync::PermissionSyncService;
use crate::services::server_order::ServerOrderService;
use crate::services::channel::ChannelService;
use crate::services::server::ServerService;
use crate::services::category::CategoryService;
use crate::services::message::MessageService;
use crate::services::user::UserService;
use crate::services::role::RoleService;
use event_bus::EventBus;
use std::sync::{Arc, OnceLock};
pub mod permission_sync;
mod server_order;
pub mod channel;
pub mod server;
pub mod category;
pub mod message;
pub mod user;
pub mod role;
#[derive(Debug, Clone)]
pub struct ServicesContext {
@@ -18,6 +30,12 @@ pub struct ServicesContext {
pub struct Services {
pub permission_sync: Arc<PermissionSyncService>,
pub server_order: Arc<ServerOrderService>,
pub channel: Arc<ChannelService>,
pub server: Arc<ServerService>,
pub category: Arc<CategoryService>,
pub message: Arc<MessageService>,
pub user: Arc<UserService>,
pub role: Arc<RoleService>,
}
impl Services {
@@ -29,10 +47,22 @@ impl Services {
});
let permission_sync = Arc::new(PermissionSyncService::new(service_context.clone()));
let server_order = Arc::new(ServerOrderService::new(service_context.clone()));
let channel = Arc::new(ChannelService::new(service_context.clone()));
let server = Arc::new(ServerService::new(service_context.clone()));
let category = Arc::new(CategoryService::new(service_context.clone()));
let message = Arc::new(MessageService::new(service_context.clone()));
let user = Arc::new(UserService::new(service_context.clone()));
let role = Arc::new(RoleService::new(service_context.clone()));
let services = Self {
permission_sync,
server_order,
channel,
server,
category,
message,
user,
role,
};
let _ = service_context.services.set(services.clone());
services