// SPDX-FileCopyrightText: 2024 Aravinth Manivannan <realaravinth@batsense.net>
//
// SPDX-License-Identifier: AGPL-3.0-or-later

pub mod command;
pub mod events;
pub mod service;

use super::errors::*;

#[async_trait::async_trait]
pub trait DeleteUserUseCase: Send + Sync {
    async fn delete_user(
        &self,
        cmd: command::DeleteUserCommand,
        //) -> errors::ProcessAuthorizationServiceResult<String>;
    );
}

pub type DeleteUserServiceObj = std::sync::Arc<dyn DeleteUserUseCase>;