From 37924f1187b8454d665aa8cc5246c76811bf3744 Mon Sep 17 00:00:00 2001 From: Torsten Date: Sat, 30 Nov 2024 10:25:38 +0100 Subject: [PATCH] ... --- .../2 CodeIgniter/23.) Delete Project API.md | 1 + .../2 CodeIgniter/23.) List project API.md | 35 +++++++ .../2 CodeIgniter/24.) Delete Project API.md | 98 +++++++++++++++++++ 3 files changed, 134 insertions(+) create mode 100644 MyObsidianVault/WebDev/2 CodeIgniter/23.) Delete Project API.md create mode 100644 MyObsidianVault/WebDev/2 CodeIgniter/23.) List project API.md create mode 100644 MyObsidianVault/WebDev/2 CodeIgniter/24.) Delete Project API.md diff --git a/MyObsidianVault/WebDev/2 CodeIgniter/23.) Delete Project API.md b/MyObsidianVault/WebDev/2 CodeIgniter/23.) Delete Project API.md new file mode 100644 index 0000000..454828f --- /dev/null +++ b/MyObsidianVault/WebDev/2 CodeIgniter/23.) Delete Project API.md @@ -0,0 +1 @@ +https://www.youtube.com/watch?v=B5GafCSXj9U&list=PLT9miexWCpPW6Z_OXNv2d78cqCrZaPrVG&index=37 \ No newline at end of file diff --git a/MyObsidianVault/WebDev/2 CodeIgniter/23.) List project API.md b/MyObsidianVault/WebDev/2 CodeIgniter/23.) List project API.md new file mode 100644 index 0000000..5ee5dda --- /dev/null +++ b/MyObsidianVault/WebDev/2 CodeIgniter/23.) List project API.md @@ -0,0 +1,35 @@ +https://www.youtube.com/watch?v=-NIoOj-FtHE&list=PLT9miexWCpPW6Z_OXNv2d78cqCrZaPrVG&index=36 + +ProjectController.php +```php +public function listProjects() +{ + $user_id = auth()->id(); + $pm = new ProjectModel(); + + $projectData = $pm->where([ + "user_id" => $user_id + ])->findAll(); + + if (count($projectData)>0) { + $response = [ + "status" => true, + "message" => "Project data", + "data" => $projectData + ]; + }else { + $response = [ + "status" => false, + "message" => "No Project data found", + "data" => [] + ]; + } + + return $this->respondCreated($response); +} +``` + +Routes.php +```php +$routes->get("list-projects", "ProjectController::listProjects", ["filter" => "apiauth"]); +``` \ No newline at end of file diff --git a/MyObsidianVault/WebDev/2 CodeIgniter/24.) Delete Project API.md b/MyObsidianVault/WebDev/2 CodeIgniter/24.) Delete Project API.md new file mode 100644 index 0000000..75fce80 --- /dev/null +++ b/MyObsidianVault/WebDev/2 CodeIgniter/24.) Delete Project API.md @@ -0,0 +1,98 @@ +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" => [] + ]); + } +``` \ No newline at end of file