separation of database (#1)

Reviewed-on: #1
This commit is contained in:
2025-11-03 02:26:19 +00:00
parent 8b98df745c
commit 39ee8d52a4
21 changed files with 407 additions and 140 deletions

View File

@@ -1,11 +1,10 @@
use async_trait::async_trait;
use libertas_core::{
error::{CoreError, CoreResult},
models::AlbumPermission,
repositories::AlbumShareRepository,
error::{CoreError, CoreResult}, models::AlbumPermission, repositories::AlbumShareRepository
};
use sqlx::PgPool;
use uuid::Uuid;
use crate::db_models::PostgresAlbumPermission;
#[derive(Clone)]
pub struct PostgresAlbumShareRepository {
@@ -35,7 +34,7 @@ impl AlbumShareRepository for PostgresAlbumShareRepository {
"#,
album_id,
user_id,
permission as AlbumPermission,
PostgresAlbumPermission::from(permission) as PostgresAlbumPermission,
)
.execute(&self.pool)
.await
@@ -51,7 +50,7 @@ impl AlbumShareRepository for PostgresAlbumShareRepository {
) -> CoreResult<Option<AlbumPermission>> {
let result = sqlx::query!(
r#"
SELECT permission as "permission: AlbumPermission"
SELECT permission as "permission: PostgresAlbumPermission"
FROM album_shares
WHERE album_id = $1 AND user_id = $2
"#,
@@ -62,7 +61,7 @@ impl AlbumShareRepository for PostgresAlbumShareRepository {
.await
.map_err(|e| CoreError::Database(e.to_string()))?;
Ok(result.map(|row| row.permission))
Ok(result.map(|row| row.permission.into()))
}
async fn is_media_in_shared_album(&self, media_id: Uuid, user_id: Uuid) -> CoreResult<bool> {