This commit is contained in:
Untone 2024-09-23 17:45:10 +03:00
parent 685698bc66
commit a85a5c5dd5

View File

@ -195,36 +195,37 @@ impl AppState {
if filename.is_empty() {
eprintln!("пустое имя файла");
}
// Проверяем, существует ли файл на Storj S3
match check_file_exists(&self.s3_client, &self.s3_bucket, filename)
.await
{
Ok(false) => {
// Сохраняем маппинг пути
if let Err(e) = self.save_path_by_filekey(filename, &key).await
{
} else {
// Проверяем, существует ли файл на Storj S3
match check_file_exists(&self.s3_client, &self.s3_bucket, filename)
.await
{
Ok(false) => {
// Сохраняем маппинг пути
if let Err(e) =
self.save_path_by_filekey(filename, &key).await
{
eprintln!(
"Ошибка сохранения маппинга для файла {}: {:?}",
filename, e
);
} else {
println!(
"Маппинг для файла {} успешно сохранен.",
filename
);
}
}
Ok(true) => {
println!("Файл {} уже существует в Storj.", filename);
}
Err(e) => {
eprintln!(
"Ошибка сохранения маппинга для файла {}: {:?}",
"Ошибка при проверке файла {} на Storj: {:?}",
filename, e
);
} else {
println!(
"Маппинг для файла {} успешно сохранен.",
filename
);
}
}
Ok(true) => {
println!("Файл {} уже существует в Storj.", filename);
}
Err(e) => {
eprintln!(
"Ошибка при проверке файла {} на Storj: {:?}",
filename, e
);
}
}
}
}
@ -269,12 +270,12 @@ impl AppState {
) -> Result<u64, actix_web::Error> {
let mut redis = self.redis.clone();
let quota_key = format!("quota:{}", user_id);
// Проверяем, существует ли ключ в Redis
let exists: bool = redis.exists::<_, bool>(&quota_key).await.map_err(|_| {
ErrorInternalServerError("Failed to check if user quota exists in Redis")
})?;
// Если ключ не существует, создаем его с начальным значением и устанавливаем TTL
if !exists {
redis
@ -285,13 +286,13 @@ impl AppState {
})?;
return Ok(bytes);
}
// Если ключ существует, инкрементируем его значение на заданное количество байт
let new_quota: u64 = redis
.incr::<_, u64, u64>(&quota_key, bytes)
.await
.map_err(|_| ErrorInternalServerError("Failed to increment user quota in Redis"))?;
Ok(new_quota)
}
}