-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathpacientes.php
134 lines (115 loc) · 4.48 KB
/
pacientes.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
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
<?php
require_once 'clases/respuesta.class.php';
require_once 'clases/paciente.class.php';
$respuesta = new Respuesta();
$paciente = new Paciente();
if ($_SERVER['REQUEST_METHOD'] == "GET") {
/*
$_GET['string'] es un array asociativo de variables que es pasado al script actual vía
parámetros URL (también conocida como cadena de consulta).
En este caso, pasamos como parámetro URL a la variable 'page' que contiene un valor entero
tal como 1, 2, 3 etc. que permitirá mostrar un determinado número de pacientes por página
*/
if (isset($_GET['page'])) {
$pagina = $_GET['page'];
$listaPacientes = $paciente->listaPacientes($pagina);
/*
Optimizamos la respuesta para la solicitud del listado de pacientes colocando el
encabezado (header()) y el código de respuesta a tráves de la función
http_response_code()
*/
header('Content-Type: application/json');
echo json_encode($listaPacientes);
http_response_code(200);
}
/*
En este caso, pasamos como parámetro URL a la variable 'id' que contiene un valor entero
que permitirá mostrar todos los datos de un solo paciente de acuerdo a su 'id'
*/
else if (isset($_GET['id'])) {
$pacienteId = $_GET['id'];
$datosPaciente = $paciente->obtenerPaciente($pacienteId);
/*
Optimizamos la respuesta para la solicitud de datos de un solo paciente colocando el
encabezado (header()) y el código de respuesta a tráves de la función
http_response_code()
*/
header('Content-Type: application/json');
echo json_encode($datosPaciente);
http_response_code(200);
}
}
else if ($_SERVER['REQUEST_METHOD'] == "POST"){
/*
leemos los datos del cuerpo de la solicitud y los guardamos como una cadena de caracteres
en la variable postBody
*/
$postBody = file_get_contents("php://input");
$datosArray = $paciente->guardarPaciente($postBody);
/*
Devolvemos una respuesta, colocando un encabezado, un código de respuesta y el arreglo
$response de la clase Respuesta que contiene el 'id' del último paciente agregado
*/
header('Content-Type: application/json');
// si existe un campo llamado 'error_id' en el arreglo devuelto por el método guardarPaciente()
if (isset($datosArray["result"]["error_id"])) {
$reponseCode = $datosArray["result"]["error_id"];
http_response_code($reponseCode);
}
else {
http_response_code(200);
}
echo json_encode($datosArray);
}
else if ($_SERVER['REQUEST_METHOD'] == "PUT"){
/*
leemos los datos del cuerpo de la solicitud y los guardamos como una cadena de caracteres
en la variable postBody
*/
$postBody = file_get_contents("php://input");
$datosArray = $paciente->actualizarPaciente($postBody);
/*
Devolvemos una respuesta, colocando un encabezado, un código de respuesta y el arreglo
$response de la clase Respuesta que contiene el 'id' del paciente que se ha modificado
recientemente
*/
header('Content-Type: application/json');
// si existe un campo llamado 'error_id' en el arreglo devuelto por el método actualizarPaciente()
if (isset($datosArray["result"]["error_id"])) {
$reponseCode = $datosArray["result"]["error_id"];
http_response_code($reponseCode);
}
else {
http_response_code(200);
}
echo json_encode($datosArray);
}
else if ($_SERVER['REQUEST_METHOD'] == "DELETE"){
/*
leemos los datos del cuerpo de la solicitud y los guardamos como una cadena de caracteres
en la variable postBody
*/
$postBody = file_get_contents("php://input");
$datosArray = $paciente->borrarPaciente($postBody);
/*
Devolvemos una respuesta, colocando un encabezado, un código de respuesta y el arreglo
$response de la clase Respuesta que contiene el 'id' del paciente que se ha modificado
recientemente
*/
header('Content-Type: application/json');
// si existe un campo llamado 'error_id' en el arreglo devuelto por el método borrarPaciente()
if (isset($datosArray["result"]["error_id"])) {
$reponseCode = $datosArray["result"]["error_id"];
http_response_code($reponseCode);
}
else {
http_response_code(200);
}
echo json_encode($datosArray);
}
else {
header('Content-Type: application/json');
$datosArray = $respuesta->error_405();
echo json_encode($datosArray);
}
?>