-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathproductsController.php
62 lines (59 loc) · 3.35 KB
/
productsController.php
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
<?php
header('Access-Control-Allow-Origin: *');
header("Access-Control-Allow-Headers: X-API-KEY, Origin, X-Requested-With, Content-Type, Accept, Access-Control-Request-Method");
header("Access-Control-Allow-Methods: GET, POST, OPTIONS, PUT, DELETE");
header("Allow: GET, POST, OPTIONS, PUT, DELETE");
header('content-type: application/json; charset=utf-8');
require 'productsModel.php';
$productsModel= new productsModel();
switch($_SERVER['REQUEST_METHOD']){
case 'GET':
$respuesta = (!isset($_GET['id'])) ? $productsModel->getProducts() : $productsModel->getProducts($_GET['id']);
echo json_encode($respuesta);
break;
case 'POST':
$_POST= json_decode(file_get_contents('php://input',true));
if(!isset($_POST->name) || is_null($_POST->name) || empty(trim($_POST->name)) || strlen($_POST->name) > 80){
$respuesta= ['error','El nombre del producto no debe estar vacío y no debe de tener más de 80 caracteres'];
}
else if(!isset($_POST->description) || is_null($_POST->description) || empty(trim($_POST->description)) || strlen($_POST->name) > 150){
$respuesta= ['error','La descripción del producto no debe estar vacía y no debe de tener más de 150 caracteres'];
}
else if(!isset($_POST->price) || is_null($_POST->price) || empty(trim($_POST->price)) || !is_numeric($_POST->price) || strlen($_POST->price) > 20){
$respuesta= ['error','El precio del producto no debe estar vacío, debe ser de tipo numérico y no tener más de 20 caracteres'];
}
else{
$respuesta = $productsModel->saveProducts($_POST->name,$_POST->description,$_POST->price);
}
echo json_encode($respuesta);
break;
case 'PUT':
$_PUT= json_decode(file_get_contents('php://input',true));
if(!isset($_PUT->id) || is_null($_PUT->id) || empty(trim($_PUT->id))){
$respuesta= ['error','El ID del producto no debe estar vacío'];
}
else if(!isset($_PUT->name) || is_null($_PUT->name) || empty(trim($_PUT->name)) || strlen($_PUT->name) > 80){
$respuesta= ['error','El nombre del producto no debe estar vacío y no debe de tener más de 80 caracteres'];
}
else if(!isset($_PUT->description) || is_null($_PUT->description) || empty(trim($_PUT->description)) || strlen($_PUT->description) > 150){
$respuesta= ['error','La descripción del producto no debe estar vacía y no debe de tener más de 150 caracteres'];
}
else if(!isset($_PUT->price) || is_null($_PUT->price) || empty(trim($_PUT->price)) || !is_numeric($_PUT->price) || strlen($_PUT->price) > 20){
$respuesta= ['error','El precio del producto no debe estar vacío , debe ser de tipo numérico y no tener más de 20 caracteres'];
}
else{
$respuesta = $productsModel->updateProducts($_PUT->id,$_PUT->name,$_PUT->description,$_PUT->price);
}
echo json_encode($respuesta);
break;
case 'DELETE';
$_DELETE= json_decode(file_get_contents('php://input',true));
if(!isset($_DELETE->id) || is_null($_DELETE->id) || empty(trim($_DELETE->id))){
$respuesta= ['error','El ID del producto no debe estar vacío'];
}
else{
$respuesta = $productsModel->deleteProducts($_DELETE->id);
}
echo json_encode($respuesta);
break;
}