getConnection(); $client = new Client($db); $request_method = $_SERVER['REQUEST_METHOD']; switch($request_method) { case 'GET': if(isset($_GET['id'])) { $client->id = $_GET['id']; $client->readOne(); if($client->email != null) { $client_arr = array( "id" => $client->id, "company_name" => $client->company_name, "y_tunnus" => $client->y_tunnus, "first_name" => $client->first_name, "last_name" => $client->last_name, "email" => $client->email, "phone" => $client->phone, "address" => $client->address, "city" => $client->city, "state" => $client->state, "postal_code" => $client->postal_code, "country" => $client->country, "notes" => $client->notes, "created_at" => $client->created_at, "updated_at" => $client->updated_at ); http_response_code(200); echo json_encode($client_arr); } else { http_response_code(404); echo json_encode(array("message" => "Client not found.")); } } elseif(isset($_GET['search'])) { $search_term = $_GET['search']; $stmt = $client->search($search_term); $num = $stmt->rowCount(); if($num > 0) { $clients_arr = array(); $clients_arr["records"] = array(); while ($row = $stmt->fetch(PDO::FETCH_ASSOC)) { extract($row); $client_item = array( "id" => $id, "company_name" => $company_name, "first_name" => $first_name, "last_name" => $last_name, "email" => $email, "phone" => $phone, "address" => $address, "city" => $city, "state" => $state, "postal_code" => $postal_code, "country" => $country, "notes" => $notes, "created_at" => $created_at, "updated_at" => $updated_at ); array_push($clients_arr["records"], $client_item); } http_response_code(200); echo json_encode($clients_arr); } else { http_response_code(200); echo json_encode(array("records" => array())); } } else { $stmt = $client->read(); $num = $stmt->rowCount(); if($num > 0) { $clients_arr = array(); $clients_arr["records"] = array(); while ($row = $stmt->fetch(PDO::FETCH_ASSOC)) { extract($row); $client_item = array( "id" => $id, "company_name" => $company_name, "first_name" => $first_name, "last_name" => $last_name, "email" => $email, "phone" => $phone, "address" => $address, "city" => $city, "state" => $state, "postal_code" => $postal_code, "country" => $country, "notes" => $notes, "created_at" => $created_at, "updated_at" => $updated_at ); array_push($clients_arr["records"], $client_item); } http_response_code(200); echo json_encode($clients_arr); } else { http_response_code(200); echo json_encode(array("records" => array())); } } break; case 'POST': $data = json_decode(file_get_contents("php://input")); if(!empty($data->first_name) && !empty($data->last_name) && !empty($data->email)) { $client->company_name = $data->company_name ?? ''; $client->y_tunnus = $data->y_tunnus ?? ''; $client->first_name = $data->first_name; $client->last_name = $data->last_name; $client->email = $data->email; $client->phone = $data->phone ?? ''; $client->address = $data->address ?? ''; $client->city = $data->city ?? ''; $client->state = $data->state ?? ''; $client->postal_code = $data->postal_code ?? ''; $client->country = $data->country ?? ''; $client->notes = $data->notes ?? ''; if($client->create()) { http_response_code(201); echo json_encode(array("message" => "Client was created.")); } else { http_response_code(503); echo json_encode(array("message" => "Unable to create client.")); } } else { http_response_code(400); echo json_encode(array("message" => "Unable to create client. Data is incomplete.")); } break; case 'PUT': $data = json_decode(file_get_contents("php://input")); if(!empty($data->id) && !empty($data->first_name) && !empty($data->last_name) && !empty($data->email)) { $client->id = $data->id; $client->company_name = $data->company_name ?? ''; $client->y_tunnus = $data->y_tunnus ?? ''; $client->first_name = $data->first_name; $client->last_name = $data->last_name; $client->email = $data->email; $client->phone = $data->phone ?? ''; $client->address = $data->address ?? ''; $client->city = $data->city ?? ''; $client->state = $data->state ?? ''; $client->postal_code = $data->postal_code ?? ''; $client->country = $data->country ?? ''; $client->notes = $data->notes ?? ''; if($client->update()) { http_response_code(200); echo json_encode(array("message" => "Client was updated.")); } else { http_response_code(503); echo json_encode(array("message" => "Unable to update client.")); } } else { http_response_code(400); echo json_encode(array("message" => "Unable to update client. Data is incomplete.")); } break; case 'DELETE': if(isset($_GET['id'])) { $client->id = $_GET['id']; if($client->delete()) { http_response_code(200); echo json_encode(array("message" => "Client was deleted.")); } else { http_response_code(503); echo json_encode(array("message" => "Unable to delete client.")); } } else { http_response_code(400); echo json_encode(array("message" => "Unable to delete client. ID is missing.")); } break; default: http_response_code(405); echo json_encode(array("message" => "Method not allowed.")); break; } ?>