obsidian/MyObsidianVault/WebDev/2 CodeIgniter/_Course Notes/24.) Delete Project API.md

98 lines
1.8 KiB
Markdown
Raw Normal View History

2024-11-30 10:25:38 +01:00
https://www.youtube.com/watch?v=B5GafCSXj9U&list=PLT9miexWCpPW6Z_OXNv2d78cqCrZaPrVG&index=37
ProjectController.php
```php
public function deleteProject($project_id)
{
$user_id = auth()->id();
if(!empty($project_id)) {
$pm = new ProjectModel();
$projectData = $pm->where([
"user_id" => $user_id,
"id" => $project_id
])->first();
if (!empty($projectData)) {
if(pm->delete($project_id)) {
$response = [
"status" => true,
"message" => "project deleted",
"data" => []
];
}else {
$response = [
"status" => false,
"message" => "failed to delete project",
"data" => []
];
}
}else{
$response = [
"status" => false,
"message" => "project not found",
"data" => []
];
}
}else{
$response = [
"status" => false,
"message" => "Project Id required",
"data" => []
];
}
return $this->respondCreated($response);
}
```
Routes.php
```php
$routes->delete("delete-project/(:num)", "ProjectController::deleteProject/$1",["filter"=>"apiauth"]);
```
Alternative version:
```php
public function deleteProject($project_id)
{
$user_id = auth()->id();
if(empty($project_id)) {
return $this->respondCreated([
"status" => false,
"message" => "project id required",
"data" => []
]);
}
$pm = new ProjectModel();
$projectData = $pm->where([
"user_id" => $user_id,
"id" => $project_id
])->first();
if(empty($projectData)) {
return $this->respondCreated([
"status" => false,
"message" => "project not found",
"data" => []
]);
}
if(!$pm->delete($project_id)) {
return $this->respondCreated([
"status" => false,
"message" => "failed to delete project",
"data" => []
]);
}
return $this->respondCreated([
"status" => true,
"message" => "project deleted",
"data" => []
]);
}
```