diff --git a/.htaccess b/.htaccess index 1f53bc8..e4650f9 100644 --- a/.htaccess +++ b/.htaccess @@ -21,5 +21,11 @@ RewriteCond %{REQUEST_METHOD} ^PUT$ RewriteRule ^companies/([0-9]+)$ controllers/companies.php?action=update&id=$1 # jobs routes +RewriteCond %{REQUEST_METHOD} ^GET$ +RewriteRule ^jobs$ controllers/jobs.php?action=index RewriteCond %{REQUEST_METHOD} ^POST$ RewriteRule ^jobs$ controllers/jobs.php?action=post +RewriteCond %{REQUEST_METHOD} ^DELETE$ +RewriteRule ^jobs/([0-9]+)$ controllers/jobs.php?action=delete&id=$1 +RewriteCond %{REQUEST_METHOD} ^PUT$ +RewriteRule ^jobs/([0-9]+)$ controllers/jobs.php?action=update&id=$1 diff --git a/controllers/jobs.php b/controllers/jobs.php index d53afdd..43150a1 100644 --- a/controllers/jobs.php +++ b/controllers/jobs.php @@ -2,7 +2,9 @@ header('Content-Type: application/json'); include_once __DIR__ . '/../models/job.php'; -if ($_REQUEST['action'] === 'post'){ +if($_REQUEST['action'] === 'index'){ + echo json_encode(Jobs::find()); +} else if ($_REQUEST['action'] === 'post'){ $requestBody = file_get_contents('php://input'); $body = json_decode($requestBody); @@ -10,5 +12,15 @@ if ($_REQUEST['action'] === 'post'){ $allJobs = Jobs::create($newJob); + echo json_encode($allJobs); +} else if ($_REQUEST['action'] === 'delete'){ + $allJobs = Jobs::delete($_REQUEST['id']); + echo json_encode($allJobs); +} else if ($_REQUEST['action'] === 'update'){ + $requestBody = file_get_contents('php://input'); + $body = json_decode($requestBody); + $updatedJob = new Job(null, $body->person_id, $body->company_id); + $allJobs = Jobs::update($_REQUEST['id'], $updatedJob); + echo json_encode($allJobs); } diff --git a/database/sql/jobs/delete.sql b/database/sql/jobs/delete.sql new file mode 100644 index 0000000..837e636 --- /dev/null +++ b/database/sql/jobs/delete.sql @@ -0,0 +1 @@ +DELETE FROM jobs WHERE id = $1 diff --git a/database/sql/jobs/update.sql b/database/sql/jobs/update.sql new file mode 100644 index 0000000..1a8a8d2 --- /dev/null +++ b/database/sql/jobs/update.sql @@ -0,0 +1 @@ +UPDATE jobs SET person_id = $1, company_id = $2 WHERE id = $3 diff --git a/models/job.php b/models/job.php index b9db0f5..c2cba09 100644 --- a/models/job.php +++ b/models/job.php @@ -27,6 +27,18 @@ class Jobs { $query = file_get_contents(__DIR__ . '/../database/sql/jobs/create.sql'); $result = pg_query_params($query, array($job->person_id, $job->company_id)); + return self::find(); + } + static function delete($id){ + $query = file_get_contents(__DIR__ . '/../database/sql/jobs/delete.sql'); + $result = pg_query_params($query, array($id)); + + return self::find(); + } + static function update($id, $updatedJob){ + $query = file_get_contents(__DIR__ . '/../database/sql/jobs/update.sql'); + $result = pg_query_params($query, array($updatedJob->person_id, $updatedJob->company_id, $id)); + return self::find(); } }