mirror of
https://github.com/flibusta-apps/telegram_files_cache_server.git
synced 2025-12-06 14:45:36 +01:00
Refactor and update deps
This commit is contained in:
@@ -1,6 +1,7 @@
|
||||
pub mod config;
|
||||
pub mod db;
|
||||
pub mod prisma;
|
||||
pub mod repository;
|
||||
pub mod services;
|
||||
pub mod views;
|
||||
|
||||
|
||||
25
src/repository.rs
Normal file
25
src/repository.rs
Normal file
@@ -0,0 +1,25 @@
|
||||
use prisma_client_rust::QueryError;
|
||||
|
||||
use crate::{prisma::cached_file, views::Database};
|
||||
|
||||
pub struct CachedFileRepository {
|
||||
db: Database,
|
||||
}
|
||||
|
||||
impl CachedFileRepository {
|
||||
pub fn new(db: Database) -> Self {
|
||||
Self { db }
|
||||
}
|
||||
|
||||
pub async fn delete_by_object_id_object_type(
|
||||
&self,
|
||||
object_id: i32,
|
||||
object_type: String,
|
||||
) -> Result<cached_file::Data, QueryError> {
|
||||
self.db
|
||||
.cached_file()
|
||||
.delete(cached_file::object_id_object_type(object_id, object_type))
|
||||
.exec()
|
||||
.await
|
||||
}
|
||||
}
|
||||
@@ -14,11 +14,7 @@ use teloxide::{
|
||||
};
|
||||
use tracing::log;
|
||||
|
||||
use crate::{
|
||||
config::{self},
|
||||
prisma::cached_file,
|
||||
views::Database,
|
||||
};
|
||||
use crate::{config, prisma::cached_file, repository::CachedFileRepository, views::Database};
|
||||
|
||||
use self::{
|
||||
book_library::{get_book, get_books, types::BaseBook},
|
||||
@@ -183,14 +179,14 @@ pub async fn download_from_cache(
|
||||
let response = match response_task.await.unwrap() {
|
||||
Ok(v) => {
|
||||
if v.status() != 200 {
|
||||
db.cached_file()
|
||||
.delete(cached_file::object_id_object_type(
|
||||
let cached_file_repo = CachedFileRepository::new(db.clone());
|
||||
|
||||
let _ = cached_file_repo
|
||||
.delete_by_object_id_object_type(
|
||||
cached_data.object_id,
|
||||
cached_data.object_type.clone(),
|
||||
))
|
||||
.exec()
|
||||
.await
|
||||
.unwrap();
|
||||
)
|
||||
.await;
|
||||
|
||||
return None;
|
||||
}
|
||||
@@ -198,14 +194,14 @@ pub async fn download_from_cache(
|
||||
v
|
||||
}
|
||||
Err(err) => {
|
||||
db.cached_file()
|
||||
.delete(cached_file::object_id_object_type(
|
||||
let cached_file_repo = CachedFileRepository::new(db.clone());
|
||||
|
||||
let _ = cached_file_repo
|
||||
.delete_by_object_id_object_type(
|
||||
cached_data.object_id,
|
||||
cached_data.object_type.clone(),
|
||||
))
|
||||
.exec()
|
||||
.await
|
||||
.unwrap();
|
||||
)
|
||||
.await;
|
||||
|
||||
log::error!("{:?}", err);
|
||||
return None;
|
||||
|
||||
Reference in New Issue
Block a user