CRUD for project

This commit is contained in:
2024-11-10 10:54:20 +01:00
parent 1ccded15cc
commit 41ad5ab612
21 changed files with 568 additions and 163 deletions

View 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(())
}
}

View File

@@ -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;