* Add Cloudflare R2 impl

* Bump actix version

* Fix sec issues
This commit is contained in:
Geometrically
2022-10-22 21:23:31 -07:00
committed by GitHub
parent 07edb998e4
commit 6e72be54cb
18 changed files with 265 additions and 181 deletions

View File

@@ -70,8 +70,8 @@ pub async fn count_download(
let client = reqwest::Client::new();
client
.post(format!("{}downloads", dotenv::var("ARIADNE_URL")?))
.header("Modrinth-Admin", dotenv::var("ARIADNE_ADMIN_KEY")?)
.post(format!("{}downloads", dotenvy::var("ARIADNE_URL")?))
.header("Modrinth-Admin", dotenvy::var("ARIADNE_ADMIN_KEY")?)
.json(&json!({
"url": download_body.url,
"project_id": download_body.hash

View File

@@ -33,7 +33,7 @@ pub fn config(cfg: &mut ServiceConfig) {
#[derive(Error, Debug)]
pub enum AuthorizationError {
#[error("Environment Error")]
Env(#[from] dotenv::Error),
Env(#[from] dotenvy::Error),
#[error("An unknown database error occured: {0}")]
SqlxDatabase(#[from] sqlx::Error),
#[error("Database Error: {0}")]
@@ -148,7 +148,7 @@ pub async fn init(
transaction.commit().await?;
let client_id = dotenv::var("GITHUB_CLIENT_ID")?;
let client_id = dotenvy::var("GITHUB_CLIENT_ID")?;
let url = format!(
"https://github.com/login/oauth/authorize?client_id={}&state={}&scope={}",
client_id,
@@ -196,8 +196,8 @@ pub async fn auth_callback(
.execute(&mut *transaction)
.await?;
let client_id = dotenv::var("GITHUB_CLIENT_ID")?;
let client_secret = dotenv::var("GITHUB_CLIENT_SECRET")?;
let client_id = dotenvy::var("GITHUB_CLIENT_ID")?;
let client_secret = dotenvy::var("GITHUB_CLIENT_SECRET")?;
let url = format!(
"https://github.com/login/oauth/access_token?client_id={}&client_secret={}&code={}",

View File

@@ -172,7 +172,7 @@ pub fn admin_config(cfg: &mut web::ServiceConfig) {
#[derive(thiserror::Error, Debug)]
pub enum ApiError {
#[error("Environment Error")]
Env(#[from] dotenv::Error),
Env(#[from] dotenvy::Error),
#[error("Error while uploading file")]
FileHosting(#[from] FileHostingError),
#[error("Database Error: {0}")]

View File

@@ -26,7 +26,7 @@ use validator::Validate;
#[derive(Error, Debug)]
pub enum CreateError {
#[error("Environment Error")]
EnvError(#[from] dotenv::Error),
EnvError(#[from] dotenvy::Error),
#[error("An unknown database error occurred")]
SqlxDatabaseError(#[from] sqlx::Error),
#[error("Database Error: {0}")]
@@ -324,7 +324,7 @@ pub async fn project_create_inner(
uploaded_files: &mut Vec<UploadedFile>,
) -> Result<HttpResponse, CreateError> {
// The base URL for files uploaded to backblaze
let cdn_url = dotenv::var("CDN_URL")?;
let cdn_url = dotenvy::var("CDN_URL")?;
// The currently logged in user
let current_user =
@@ -793,7 +793,7 @@ pub async fn project_create_inner(
let _project_id = project_builder.insert(&mut *transaction).await?;
if status == ProjectStatus::Processing {
if let Ok(webhook_url) = dotenv::var("MODERATION_DISCORD_WEBHOOK") {
if let Ok(webhook_url) = dotenvy::var("MODERATION_DISCORD_WEBHOOK") {
crate::util::webhook::send_discord_webhook(
response.clone(),
webhook_url,

View File

@@ -478,7 +478,7 @@ pub async fn project_edit(
.await?;
if let Ok(webhook_url) =
dotenv::var("MODERATION_DISCORD_WEBHOOK")
dotenvy::var("MODERATION_DISCORD_WEBHOOK")
{
crate::util::webhook::send_discord_webhook(
Project::from(project_item.clone()),
@@ -1008,7 +1008,7 @@ pub async fn project_icon_edit(
if let Some(content_type) =
crate::util::ext::get_image_content_type(&*ext.ext)
{
let cdn_url = dotenv::var("CDN_URL")?;
let cdn_url = dotenvy::var("CDN_URL")?;
let user = get_user_from_headers(req.headers(), &**pool).await?;
let string = info.into_inner().0;
@@ -1136,7 +1136,7 @@ pub async fn delete_project_icon(
}
}
let cdn_url = dotenv::var("CDN_URL")?;
let cdn_url = dotenvy::var("CDN_URL")?;
if let Some(icon) = project_item.icon_url {
let name = icon.split(&format!("{cdn_url}/")).nth(1);
@@ -1189,7 +1189,7 @@ pub async fn add_gallery_item(
ApiError::Validation(validation_errors_to_string(err, None))
})?;
let cdn_url = dotenv::var("CDN_URL")?;
let cdn_url = dotenvy::var("CDN_URL")?;
let user = get_user_from_headers(req.headers(), &**pool).await?;
let string = info.into_inner().0;
@@ -1490,7 +1490,7 @@ pub async fn delete_gallery_item(
})?
.id;
let cdn_url = dotenv::var("CDN_URL")?;
let cdn_url = dotenvy::var("CDN_URL")?;
let name = item.url.split(&format!("{cdn_url}/")).nth(1);
if let Some(icon_path) = name {

View File

@@ -53,7 +53,7 @@ pub async fn forge_updates(
let mut response = ForgeUpdates {
homepage: format!(
"{}/mod/{}",
dotenv::var("SITE_URL").unwrap_or_default(),
dotenvy::var("SITE_URL").unwrap_or_default(),
id
),
promos: HashMap::new(),

View File

@@ -328,7 +328,7 @@ pub async fn user_icon_edit(
if let Some(content_type) =
crate::util::ext::get_image_content_type(&*ext.ext)
{
let cdn_url = dotenv::var("CDN_URL")?;
let cdn_url = dotenvy::var("CDN_URL")?;
let user = get_user_from_headers(req.headers(), &**pool).await?;
let id_option =
crate::database::models::User::get_id_from_username_or_id(

View File

@@ -112,7 +112,7 @@ async fn version_create_inner(
file_host: &dyn FileHost,
uploaded_files: &mut Vec<UploadedFile>,
) -> Result<HttpResponse, CreateError> {
let cdn_url = dotenv::var("CDN_URL")?;
let cdn_url = dotenvy::var("CDN_URL")?;
let mut initial_version_data = None;
let mut version_builder = None;
@@ -483,7 +483,7 @@ async fn upload_file_to_version_inner(
uploaded_files: &mut Vec<UploadedFile>,
version_id: models::VersionId,
) -> Result<HttpResponse, CreateError> {
let cdn_url = dotenv::var("CDN_URL")?;
let cdn_url = dotenvy::var("CDN_URL")?;
let mut initial_file_data: Option<InitialFileData> = None;
let mut file_builders: Vec<VersionFileBuilder> = Vec::new();