Compare commits

..

No commits in common. "ee54f223f50d78dabb09483afc8f4dccd3e06d86" and "ae59e1376bae318d9f5529c4762ab89e41b55517" have entirely different histories.

3 changed files with 13 additions and 97 deletions

View File

@ -14,7 +14,7 @@ CREATE TABLE IF NOT EXISTS paciente (
fecha_de_nacimiento DATE NOT NULL, fecha_de_nacimiento DATE NOT NULL,
documento_identificativo VARCHAR(50) PRIMARY KEY, documento_identificativo VARCHAR(50) PRIMARY KEY,
tipo_documento VARCHAR(10) NOT NULL, tipo_documento VARCHAR(10) NOT NULL,
direccion VARCHAR(255) NOT NULL, dirección VARCHAR(255) NOT NULL,
localidad VARCHAR(100) NOT NULL, localidad VARCHAR(100) NOT NULL,
provincia VARCHAR(50) NOT NULL, provincia VARCHAR(50) NOT NULL,
pais VARCHAR(100) NOT NULL pais VARCHAR(100) NOT NULL
@ -32,7 +32,7 @@ CREATE TABLE IF NOT EXISTS usuario(
contraseña VARCHAR(100) NOT NULL, contraseña VARCHAR(100) NOT NULL,
rol INT NOT NULL, rol INT NOT NULL,
especialidad VARCHAR(50), especialidad VARCHAR(50),
correo VARCHAR(100) NOT NULL, correo VARCHAR(100),
fecha_alta DATE NOT NULL, fecha_alta DATE NOT NULL,
fecha_baja DATE, fecha_baja DATE,
FOREIGN KEY (rol) FOREIGN KEY (rol)
@ -40,8 +40,7 @@ CREATE TABLE IF NOT EXISTS usuario(
); );
CREATE TABLE IF NOT EXISTS festivo ( CREATE TABLE IF NOT EXISTS festivos (
id INT PRIMARY KEY AUTO_INCREMENT,
fecha_festivo DATE NOT NULL, fecha_festivo DATE NOT NULL,
tipo_festivo VARCHAR(15) NOT NULL, tipo_festivo VARCHAR(15) NOT NULL,
medico VARCHAR(50), medico VARCHAR(50),
@ -50,7 +49,7 @@ CREATE TABLE IF NOT EXISTS festivo (
); );
CREATE TABLE IF NOT EXISTS calendario ( CREATE TABLE IF NOT EXISTS calendario (
id INT NOT NULL AUTO_INCREMENT, id INT NOT NULL,
hora_inicio_mañana TIME, hora_inicio_mañana TIME,
hora_fin_mañana TIME, hora_fin_mañana TIME,
hora_inicio_tarde TIME, hora_inicio_tarde TIME,
@ -66,7 +65,7 @@ CREATE TABLE IF NOT EXISTS calendario (
); );
CREATE TABLE IF NOT EXISTS cita( CREATE TABLE IF NOT EXISTS cita(
id INT NOT NULL AUTO_INCREMENT, id INT NOT NULL,
fecha DATE NOT NULL, fecha DATE NOT NULL,
hora TIME NOT NULL, hora TIME NOT NULL,
duracion INT, duracion INT,
@ -81,7 +80,7 @@ CREATE TABLE IF NOT EXISTS cita(
); );
CREATE TABLE IF NOT EXISTS informe( CREATE TABLE IF NOT EXISTS informe(
id INT NOT NULL AUTO_INCREMENT, id INT NOT NULL,
fecha DATE NOT NULL, fecha DATE NOT NULL,
hora TIME NOT NULL, hora TIME NOT NULL,
paciente VARCHAR(50) NOT NULL, paciente VARCHAR(50) NOT NULL,

View File

@ -3,7 +3,8 @@
with pkgs; with pkgs;
mkShell { mkShell {
buildInputs = [ php74 php74Extensions.pdo_mysql mysql57 ]; buildInputs =
[ php74 php74Extensions.pdo_mysql php74Packages.composer mysql57 ];
shellHook = '' shellHook = ''
pkill mysql pkill mysql
@ -14,7 +15,5 @@ mkShell {
sleep 1 sleep 1
mysql --socket="$(pwd)/.mysql/mysql.sock" -u root < $(pwd)/database/db.sql mysql --socket="$(pwd)/.mysql/mysql.sock" -u root < $(pwd)/database/db.sql
alias mysql='mysql --socket="$(pwd)/.mysql/mysql.sock" -u root'
''; '';
} }

View File

@ -1,95 +1,13 @@
<?php <?php
function connectDatabase(str $user, str $pass, str $db) { function connectDatabase($user, $pass, $db) {
$unix_socket = '.mysql/mysql.sock'; $unix_socket = '.mysql/mysql.sock';
$charset = 'utf8mb4'; $charset = 'utf8mb4';
$dsn = "mysql:unix_socket=$unix_socket;dbname=$db;charset=$charset"; $dsn = "mysql:unix_socket=$unix_socket;dbname=$db;charset=$charset";
$pdo = new PDO($dsn, $user, $pass); $db_connection = new PDO($dsn, $user, $pass);
return $pdo; return $db_connection;
} }
function closeDatabase($pdo) { function closeDatabase($db_connection) {
$pdo = null; $db_connection = null;
} }
function displayResults($query) {
while($row = $query->fetch()){
echo $row . "\n";
}
}
function listRows($pdo, $table) {
$query = "SELECT * FROM ?";
$result = $pdo->prepare($query)->execute([$table]);
displayResults($query);
}
function findRows($pdo, str $table, str $attr, str $param) {
$query = "SELECT * FROM ? WHERE ? = ?";
$result = $pdo->prepare($query)->execute([$table, $attr, $param]);
displayResults($query);
}
function createPatient($pdo, $data) {
$query = "INSERT INTO paciente (nombre, apellido, fecha_de_nacimiento, documento_identificativo, tipo_documento, direccion, localidad, provincia, pais) VALUES (? ? ? ? ? ? ? ? ?)";
$pdo->prepare($query)->execute([$data["nombre"], $data["apellido"], $data["fecha_de_nacimiento"], $data["documento_identificativo"], $data["tipo_documento"], $data["direccion"], $data["localidad"], $data["provincia"], $data["pais"]]);
return "Paciente creado con éxito";
}
function editPatient($pdo, str $attr, str $param, str $id) {
$query = "UPDATE paciente SET ? = ? WHERE documento_identificativo = ?";
$pdo->prepare($query)->execute([$attr, $param, $id]);
return "Paciente modificado con éxito";
}
function deletePatient($pdo, str $id) {
$check = "SELECT * FROM informes where paciente = ?";
$result = $pdo->prepare($check)->execute([$id]);
if($result->columnCount() == 0){
$statement = "DELETE FROM paciente where document_identificado = ?";
$pdo->prepare($statement)->execute([$id]);
return "El paciente se ha eliminado correctamente";
}
return "No se puede eliminar el paciente dado que tiene citas";
}
function createHoliday($pdo, $data) {
$query = "INSERT INTO festivo (fecha_festivo, tipo_festivo, medico) VALUES (? ? ?)";
$pdo->prepare($query)->execute([$data["fecha_festivo"], $data["tipo_festivo"], $data["medico"]]);
return "Festivo creado con éxito";
}
function editHoliday($pdo, $attr, $param, $id) {
$query = "UPDATE festivo SET ? = ? WHERE id = ?";
$pdo->prepare($query)->execute([$attr, $param, $id]);
return "Festivo modificado con éxito";
}
function deleteHoliday($pdo, str $id) {
$statement = "DELETE FROM festivo where id = ?";
$pdo->prepare($statement)->execute([$id]);
return "Festivo borrado con éxito";
}
function createUser($pdo, $data) {
$query = "INSERT INTO usuario (nombre, usuario, contraseña, rol, correo) VALUES (? ? ? ? ?)";
$pdo->prepare($query)->execute([$data["nombre"], $data["usuario"], $data["contraseña"], $data["rol"], $data[$correo]]);
return "Usuario creado con éxito";
}
function editUser($pdo, $attr, $param, $id) {
$query = "UPDATE usuario SET ? = ? WHERE usuario = ?";
$pdo->prepare($query)->execute([$attr, $param, $id]);
return "Usuario modificado con éxito";
}
function deactivateUser($pdo, str $id) {
editUser($pdo, "fecha_baja", "CURRENT_TIMESTAMP", $id);
return "Usuario desactivado con éxito";
}
function listAppointments($pdo, str $doctor) {
findRows($pdo, "cita", "medico", $doctor);
}
?>