You've already forked AstralRinth
Labrinth ID cleanup (#3681)
* Put all ID types in the labrinth::models::ids, and reduce code duplication with them * Rewrite labrinth::database::models::ids and rename most DB interface ID structs to be prefixed with DB * Run sqlx prepare --------- Co-authored-by: Alejandro González <7822554+AlexTMjugador@users.noreply.github.com>
This commit is contained in:
@@ -10,13 +10,14 @@ use crate::database::models::version_item::{
|
||||
use crate::database::models::{self, Organization, image_item};
|
||||
use crate::database::redis::RedisPool;
|
||||
use crate::file_hosting::FileHost;
|
||||
use crate::models::images::{Image, ImageContext, ImageId};
|
||||
use crate::models::ids::{ImageId, ProjectId, VersionId};
|
||||
use crate::models::images::{Image, ImageContext};
|
||||
use crate::models::notifications::NotificationBody;
|
||||
use crate::models::pack::PackFileHash;
|
||||
use crate::models::pats::Scopes;
|
||||
use crate::models::projects::{
|
||||
Dependency, FileType, Loader, ProjectId, Version, VersionFile, VersionId,
|
||||
VersionStatus, VersionType,
|
||||
Dependency, FileType, Loader, Version, VersionFile, VersionStatus,
|
||||
VersionType,
|
||||
};
|
||||
use crate::models::projects::{DependencyType, ProjectStatus, skip_nulls};
|
||||
use crate::models::teams::ProjectPermissions;
|
||||
@@ -212,7 +213,7 @@ async fn version_create_inner(
|
||||
));
|
||||
}
|
||||
|
||||
let project_id: models::ProjectId = version_create_data.project_id.unwrap().into();
|
||||
let project_id: models::DBProjectId = version_create_data.project_id.unwrap().into();
|
||||
|
||||
// Ensure that the project this version is being added to exists
|
||||
if models::Project::get_id(project_id, &mut **transaction, redis)
|
||||
@@ -402,11 +403,11 @@ async fn version_create_inner(
|
||||
SELECT follower_id FROM mod_follows
|
||||
WHERE mod_id = $1
|
||||
",
|
||||
builder.project_id as crate::database::models::ids::ProjectId
|
||||
builder.project_id as crate::database::models::ids::DBProjectId
|
||||
)
|
||||
.fetch(&mut **transaction)
|
||||
.map_ok(|m| models::ids::UserId(m.follower_id))
|
||||
.try_collect::<Vec<models::ids::UserId>>()
|
||||
.map_ok(|m| models::ids::DBUserId(m.follower_id))
|
||||
.try_collect::<Vec<models::ids::DBUserId>>()
|
||||
.await?;
|
||||
|
||||
let project_id: ProjectId = builder.project_id.into();
|
||||
@@ -516,7 +517,7 @@ async fn version_create_inner(
|
||||
|
||||
let project_status = sqlx::query!(
|
||||
"SELECT status FROM mods WHERE id = $1",
|
||||
project_id as models::ProjectId,
|
||||
project_id as models::DBProjectId,
|
||||
)
|
||||
.fetch_optional(pool)
|
||||
.await?;
|
||||
@@ -542,7 +543,7 @@ pub async fn upload_file_to_version(
|
||||
let mut transaction = client.begin().await?;
|
||||
let mut uploaded_files = Vec::new();
|
||||
|
||||
let version_id = models::VersionId::from(url_data.into_inner().0);
|
||||
let version_id = models::DBVersionId::from(url_data.into_inner().0);
|
||||
|
||||
let result = upload_file_to_version_inner(
|
||||
req,
|
||||
@@ -585,7 +586,7 @@ async fn upload_file_to_version_inner(
|
||||
redis: Data<RedisPool>,
|
||||
file_host: &dyn FileHost,
|
||||
uploaded_files: &mut Vec<UploadedFile>,
|
||||
version_id: models::VersionId,
|
||||
version_id: models::DBVersionId,
|
||||
session_queue: &AuthQueue,
|
||||
) -> Result<HttpResponse, CreateError> {
|
||||
let cdn_url = dotenvy::var("CDN_URL")?;
|
||||
@@ -903,8 +904,8 @@ pub async fn upload_file(
|
||||
.map(|x| x.as_bytes())
|
||||
}) {
|
||||
dependencies.push(DependencyBuilder {
|
||||
project_id: Some(models::ProjectId(dep.project_id)),
|
||||
version_id: Some(models::VersionId(dep.version_id)),
|
||||
project_id: Some(models::DBProjectId(dep.project_id)),
|
||||
version_id: Some(models::DBVersionId(dep.version_id)),
|
||||
file_name: None,
|
||||
dependency_type: DependencyType::Embedded.to_string(),
|
||||
});
|
||||
|
||||
Reference in New Issue
Block a user