| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213 |
- <?php
- header("Access-Control-Allow-Origin: *");
- header("Content-Type: application/json; charset=UTF-8");
- header("Access-Control-Allow-Methods: GET, POST, PUT, DELETE, OPTIONS");
- header("Access-Control-Allow-Headers: Content-Type, Access-Control-Allow-Headers, Authorization, X-Requested-With");
- if ($_SERVER['REQUEST_METHOD'] == 'OPTIONS') {
- exit(0);
- }
- require_once '../config/database.php';
- require_once '../models/Client.php';
- $database = new Database();
- $db = $database->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;
- }
- ?>
|