parent
a85a5c5dd5
commit
ef78bc078b
|
@ -1,5 +1,3 @@
|
||||||
// app_state.rs
|
|
||||||
|
|
||||||
use actix_web::error::ErrorInternalServerError;
|
use actix_web::error::ErrorInternalServerError;
|
||||||
use aws_config::BehaviorVersion;
|
use aws_config::BehaviorVersion;
|
||||||
use aws_sdk_s3::{config::Credentials, Client as S3Client};
|
use aws_sdk_s3::{config::Credentials, Client as S3Client};
|
||||||
|
|
|
@ -1,5 +1,3 @@
|
||||||
// auth.rs
|
|
||||||
|
|
||||||
use actix_web::error::ErrorInternalServerError;
|
use actix_web::error::ErrorInternalServerError;
|
||||||
use redis::{aio::MultiplexedConnection, AsyncCommands};
|
use redis::{aio::MultiplexedConnection, AsyncCommands};
|
||||||
use reqwest::header::{HeaderMap, HeaderValue, CONTENT_TYPE};
|
use reqwest::header::{HeaderMap, HeaderValue, CONTENT_TYPE};
|
||||||
|
|
|
@ -1,4 +1,7 @@
|
||||||
// handlers.rs
|
use actix_multipart::Multipart;
|
||||||
|
use actix_web::{error::ErrorInternalServerError, web, HttpRequest, HttpResponse, Result};
|
||||||
|
use futures::StreamExt;
|
||||||
|
use mime_guess::MimeGuess;
|
||||||
|
|
||||||
use crate::app_state::AppState;
|
use crate::app_state::AppState;
|
||||||
use crate::auth::{get_id_by_token, user_added_file};
|
use crate::auth::{get_id_by_token, user_added_file};
|
||||||
|
@ -8,13 +11,9 @@ use crate::s3_utils::{
|
||||||
use crate::thumbnail::{
|
use crate::thumbnail::{
|
||||||
find_closest_width, generate_thumbnails, parse_thumbnail_request, ALLOWED_THUMBNAIL_WIDTHS,
|
find_closest_width, generate_thumbnails, parse_thumbnail_request, ALLOWED_THUMBNAIL_WIDTHS,
|
||||||
};
|
};
|
||||||
use actix_multipart::Multipart;
|
|
||||||
use actix_web::error::ErrorInternalServerError;
|
|
||||||
use actix_web::{web, HttpRequest, HttpResponse, Result};
|
|
||||||
use futures::StreamExt;
|
|
||||||
use mime_guess::MimeGuess;
|
|
||||||
|
|
||||||
pub const MAX_WEEK_BYTES: u64 = 2 * 1024 * 1024 * 1024; // Лимит квоты на пользователя: 2 ГБ в неделю
|
// Лимит квоты на пользователя: 2 ГБ в неделю
|
||||||
|
pub const MAX_WEEK_BYTES: u64 = 2 * 1024 * 1024 * 1024;
|
||||||
|
|
||||||
/// Функция для обслуживания файла по заданному пути.
|
/// Функция для обслуживания файла по заданному пути.
|
||||||
async fn serve_file(file_key: &str, state: &AppState) -> Result<HttpResponse, actix_web::Error> {
|
async fn serve_file(file_key: &str, state: &AppState) -> Result<HttpResponse, actix_web::Error> {
|
||||||
|
|
|
@ -1,8 +1,7 @@
|
||||||
use std::str::FromStr;
|
|
||||||
|
|
||||||
use actix_web::error::ErrorInternalServerError;
|
use actix_web::error::ErrorInternalServerError;
|
||||||
use aws_sdk_s3::{error::SdkError, primitives::ByteStream, Client as S3Client};
|
use aws_sdk_s3::{error::SdkError, primitives::ByteStream, Client as S3Client};
|
||||||
use mime_guess::mime;
|
use mime_guess::mime;
|
||||||
|
use std::str::FromStr;
|
||||||
|
|
||||||
/// Загружает файл в S3 хранилище.
|
/// Загружает файл в S3 хранилище.
|
||||||
pub async fn upload_to_s3(
|
pub async fn upload_to_s3(
|
||||||
|
|
|
@ -1,5 +1,3 @@
|
||||||
// thumbnail.rs
|
|
||||||
|
|
||||||
use actix_web::error::ErrorInternalServerError;
|
use actix_web::error::ErrorInternalServerError;
|
||||||
use image::{imageops::FilterType, DynamicImage};
|
use image::{imageops::FilterType, DynamicImage};
|
||||||
use std::{collections::HashMap, io::Cursor};
|
use std::{collections::HashMap, io::Cursor};
|
||||||
|
|
Loading…
Reference in New Issue
Block a user