CRUD for project
This commit is contained in:
30
src/tasks/delete_project.rs
Normal file
30
src/tasks/delete_project.rs
Normal file
@@ -0,0 +1,30 @@
|
||||
use loco_rs::prelude::*;
|
||||
|
||||
use crate::services::projects;
|
||||
|
||||
pub struct DeleteProject;
|
||||
|
||||
#[async_trait]
|
||||
impl Task for DeleteProject {
|
||||
fn task(&self) -> TaskInfo {
|
||||
TaskInfo {
|
||||
name: "delete_project".to_string(),
|
||||
detail: "Task for deleting a project".to_string(),
|
||||
}
|
||||
}
|
||||
|
||||
async fn run(&self, app_context: &AppContext, vars: &task::Vars) -> Result<()> {
|
||||
let project_id = vars.cli_arg("id")?;
|
||||
let project_id = project_id.parse::<i32>();
|
||||
|
||||
let project_id = match project_id {
|
||||
Ok(project_id) => project_id,
|
||||
Err(_) => return Err(Error::Any("Invalid project ID".into())),
|
||||
};
|
||||
|
||||
projects::delete_project(app_context, project_id).await?;
|
||||
|
||||
tracing::info!("Project {} deleted successfully", project_id);
|
||||
Ok(())
|
||||
}
|
||||
}
|
@@ -4,4 +4,5 @@ pub mod create_skill;
|
||||
pub mod create_user;
|
||||
pub mod seed;
|
||||
pub mod clear_data;
|
||||
pub mod delete_data;
|
||||
pub mod delete_data;
|
||||
pub mod delete_project;
|
Reference in New Issue
Block a user