mirror of
https://github.com/storytold/artcraft.git
synced 2026-11-06 02:00:46 +00:00
api for delete
This commit is contained in:
1 parent
76b8b07d8a
commit
da9e03e3ae
2 files changed
+21
-3
No files matched your search
@@ -23,6 +23,7 @@ use crate::http_server::common_responses::pagination_page::PaginationPage;
|
||||
use crate::http_server::common_responses::simple_entity_stats::SimpleEntityStats;
|
||||
use crate::http_server::common_responses::user_details_lite::{DefaultAvatarInfo, UserDetailsLight};
|
||||
use crate::http_server::endpoints::conversion::enqueue_fbx_to_gltf_handler::*;
|
||||
use crate::http_server::endpoints::media_files::delete_media_file::*;
|
||||
use crate::http_server::endpoints::media_files::get_media_file::*;
|
||||
use crate::http_server::endpoints::media_files::list_featured_media_files::*;
|
||||
use crate::http_server::endpoints::media_files::list_media_files::*;
|
||||
@@ -51,6 +52,7 @@ use crate::http_server::web_utils::response_success_helpers::*;
|
||||
#[openapi(
|
||||
paths(
|
||||
crate::http_server::endpoints::conversion::enqueue_fbx_to_gltf_handler::enqueue_fbx_to_gltf_handler,
|
||||
crate::http_server::endpoints::media_files::delete_media_file::delete_media_file_handler,
|
||||
crate::http_server::endpoints::media_files::get_media_file::get_media_file_handler,
|
||||
crate::http_server::endpoints::media_files::list_featured_media_files::list_featured_media_files_handler,
|
||||
crate::http_server::endpoints::media_files::list_media_files::list_media_files_handler,
|
||||
@@ -107,6 +109,7 @@ use crate::http_server::web_utils::response_success_helpers::*;
|
||||
EnqueueTTSRequest,EnqueueTTSRequestSuccessResponse,EnqueueTTSRequestError,
|
||||
EnqueueFbxToGltfRequest,EnqueueFbxToGltfRequestSuccessResponse,EnqueueFbxToGltfRequestError,
|
||||
// Media Files
|
||||
DeleteMediaFileRequest,DeleteMediaFilePathInfo,DeleteMediaFileError,
|
||||
GetMediaFilePathInfo,GetMediaFileError,GetMediaFileSuccessResponse,GetMediaFileModelInfo,MediaFileInfo,
|
||||
// Model Weights
|
||||
GetWeightPathInfo,GetWeightResponse,GetWeightError,
|
||||
|
||||
+18
-3
@@ -6,6 +6,7 @@ use actix_web::error::ResponseError;
|
||||
use actix_web::http::StatusCode;
|
||||
use actix_web::web::Path;
|
||||
use log::warn;
|
||||
use utoipa::ToSchema;
|
||||
|
||||
use http_server_common::response::serialize_as_json_error::serialize_as_json_error;
|
||||
use mysql_queries::queries::media_files::delete_media_file::{delete_media_file_as_mod, delete_media_file_as_user, undelete_media_file_as_mod, undelete_media_file_as_user};
|
||||
@@ -16,7 +17,7 @@ use crate::http_server::web_utils::response_success_helpers::simple_json_success
|
||||
use crate::server_state::ServerState;
|
||||
use crate::util::delete_role_disambiguation::{delete_role_disambiguation, DeleteRole};
|
||||
|
||||
#[derive(Deserialize)]
|
||||
#[derive(Deserialize, ToSchema)]
|
||||
pub struct DeleteMediaFileRequest {
|
||||
set_delete: bool,
|
||||
/// NB: this is only to disambiguate when a user is both a mod and an author.
|
||||
@@ -24,14 +25,14 @@ pub struct DeleteMediaFileRequest {
|
||||
}
|
||||
|
||||
/// For the URL PathInfo
|
||||
#[derive(Deserialize)]
|
||||
#[derive(Deserialize, ToSchema)]
|
||||
pub struct DeleteMediaFilePathInfo {
|
||||
token: MediaFileToken,
|
||||
}
|
||||
|
||||
// =============== Error Response ===============
|
||||
|
||||
#[derive(Debug, Serialize)]
|
||||
#[derive(Debug, Serialize, ToSchema)]
|
||||
pub enum DeleteMediaFileError {
|
||||
BadInput(String),
|
||||
NotFound,
|
||||
@@ -63,6 +64,20 @@ impl fmt::Display for DeleteMediaFileError {
|
||||
|
||||
// =============== Handler ===============
|
||||
|
||||
#[utoipa::path(
|
||||
delete,
|
||||
path = "/v1/media_files/file/{token}",
|
||||
responses(
|
||||
(status = 200, description = "Success Delete", body = SimpleGenericJsonSuccess),
|
||||
(status = 400, description = "Bad input", body = DeleteMediaFileError),
|
||||
(status = 401, description = "Not authorized", body = DeleteMediaFileError),
|
||||
(status = 500, description = "Server error", body = DeleteMediaFileError),
|
||||
),
|
||||
params(
|
||||
("request" = DeleteMediaFileRequest, description = "Payload for Request"),
|
||||
("path" = DeleteMediaFilePathInfo, description = "Path for Request")
|
||||
)
|
||||
)]
|
||||
pub async fn delete_media_file_handler(
|
||||
http_request: HttpRequest,
|
||||
path: Path<DeleteMediaFilePathInfo>,
|
||||
|
||||
Reference in new issue
Block a user