use async_trait::async_trait;
use sqlx::PgPool;
use tranquil_db_traits::{
BlobForExport, BlobMetadata, BlobRepository, BlobWithTakedown, DbError, MissingBlobInfo,
};
use tranquil_types::{AtUri, CidLink, Did, Tid};
use uuid::Uuid;
use super::col;
use super::user::map_sqlx_error;
use super::{column, column_vec, opt_column};
pub struct PostgresBlobRepository {
pool: PgPool,
}
impl PostgresBlobRepository {
pub fn new(pool: PgPool) -> Self {
Self { pool }
}
}
#[async_trait]
impl BlobRepository for PostgresBlobRepository {
async fn insert_blob(
&self,
cid: &CidLink,
mime_type: &str,
size_bytes: i64,
created_by_user: Uuid,
storage_key: &str,
) -> Result