Add context reqruied later for authentication

This commit is contained in:
Simon Goller 2024-05-03 19:01:26 +02:00
parent 9a367c9260
commit 20828fb4a1
14 changed files with 463 additions and 330 deletions

View file

@ -10,44 +10,16 @@ pub mod uuid_service;
pub use permission::PermissionServiceImpl;
pub struct HelloServiceImpl<HelloDao, PermissionService>
where
HelloDao: dao::HelloDao + Sync + Send,
PermissionService: service::PermissionService + Sync + Send,
{
hello_dao: Arc<HelloDao>,
permission_service: Arc<PermissionService>,
}
impl<HelloDao, PermissionService> HelloServiceImpl<HelloDao, PermissionService>
where
HelloDao: dao::HelloDao + Sync + Send,
PermissionService: service::PermissionService + Sync + Send,
{
pub fn new(hello_dao: Arc<HelloDao>, permission_service: Arc<PermissionService>) -> Self {
Self {
hello_dao,
permission_service,
}
}
}
impl<HelloDao, PermissionService> service::HelloService
for HelloServiceImpl<HelloDao, PermissionService>
where
HelloDao: dao::HelloDao + Sync + Send,
PermissionService: service::PermissionService + Sync + Send,
{
async fn hello(&self) -> Result<Arc<str>, service::ServiceError> {
self.permission_service.check_permission("hello").await?;
Ok(self.hello_dao.get_hello().await?)
}
}
pub struct UserServiceDev;
#[async_trait]
impl service::UserService for UserServiceDev {
async fn current_user(&self) -> Result<Arc<str>, service::ServiceError> {
impl service::user_service::UserService for UserServiceDev {
type Context = ();
async fn current_user(
&self,
_context: Self::Context,
) -> Result<Arc<str>, service::ServiceError> {
Ok("DEVUSER".into())
}
}