Second part of backend rework
- Improved consistency in routes - Fixed permission issues - Added new endpoints - Fixed some issues - SQL: Switched status to ENUM - SQL: Changed rooms table - SQL: Added unique constraints
This commit is contained in:
21
database.sql
21
database.sql
@@ -43,7 +43,7 @@ CREATE TABLE users (
|
||||
email_verified BOOLEAN NOT NULL DEFAULT FALSE,
|
||||
phone VARCHAR(32) DEFAULT 'None',
|
||||
phone_verified BOOLEAN NOT NULL DEFAULT FALSE,
|
||||
PRIMARY KEY (id),
|
||||
PRIMARY KEY (id)
|
||||
) ENGINE=InnoDB;
|
||||
|
||||
CREATE TABLE user_roles (
|
||||
@@ -99,7 +99,7 @@ CREATE TABLE doctors (
|
||||
email VARCHAR(255) NOT NULL,
|
||||
phone VARCHAR(20) NOT NULL,
|
||||
speciality VARCHAR(255) NOT NULL,
|
||||
status VARCHAR(255) NOT NULL,
|
||||
status ENUM('Available', 'Absent', 'Unavailable') NOT NULL,
|
||||
is_verified BOOLEAN NOT NULL DEFAULT FALSE,
|
||||
PRIMARY KEY (id),
|
||||
CONSTRAINT dt_user_id
|
||||
@@ -107,7 +107,8 @@ CREATE TABLE doctors (
|
||||
REFERENCES users(id)
|
||||
ON DELETE RESTRICT
|
||||
ON UPDATE CASCADE,
|
||||
INDEX dt_user_id_idx (user_id)
|
||||
INDEX dt_user_id_idx (user_id),
|
||||
CONSTRAINT uc_doctor_user_id UNIQUE (user_id)
|
||||
) ENGINE=InnoDB;
|
||||
|
||||
CREATE TABLE patients (
|
||||
@@ -118,7 +119,8 @@ CREATE TABLE patients (
|
||||
address VARCHAR(255) NOT NULL,
|
||||
social_security_number VARCHAR(128) NOT NULL,
|
||||
insurance_number VARCHAR(128) NOT NULL,
|
||||
PRIMARY KEY (id)
|
||||
PRIMARY KEY (id),
|
||||
CONSTRAINT uc_user_id UNIQUE (user_id)
|
||||
) ENGINE=InnoDB;
|
||||
|
||||
CREATE TABLE services (
|
||||
@@ -126,7 +128,6 @@ CREATE TABLE services (
|
||||
name VARCHAR(255) NOT NULL,
|
||||
description TEXT NOT NULL,
|
||||
price DECIMAL(10, 2) NOT NULL,
|
||||
status VARCHAR(255) NOT NULL,
|
||||
PRIMARY KEY (id)
|
||||
) ENGINE=InnoDB;
|
||||
|
||||
@@ -178,7 +179,11 @@ CREATE TABLE rooms (
|
||||
id INT UNSIGNED NOT NULL AUTO_INCREMENT,
|
||||
hospital_id INT UNSIGNED NOT NULL,
|
||||
name VARCHAR(255) NOT NULL,
|
||||
PRIMARY KEY (id)
|
||||
code VARCHAR(3) NOT NULL,
|
||||
floor INT UNSIGNED NOT NULL,
|
||||
room_number INT UNSIGNED NOT NULL,
|
||||
room_type ENUM('General Ward', 'Private', 'Intensive Care Unit', 'Labor and Delivery', 'Operating', 'Recovery', 'Isolation', 'Emergency', 'Imaging', 'Procedure', 'Physical Therapy', 'Consultation') NOT NULL,
|
||||
PRIMARY KEY (id),
|
||||
CONSTRAINT ch_hospital_id
|
||||
FOREIGN KEY (hospital_id)
|
||||
REFERENCES hospitals(id)
|
||||
@@ -213,8 +218,8 @@ CREATE TABLE appointments (
|
||||
room_id INT UNSIGNED DEFAULT NULL,
|
||||
date DATE NOT NULL,
|
||||
time TIME NOT NULL,
|
||||
status VARCHAR(255) NOT NULL,
|
||||
PRIMARY KEY (id)
|
||||
status ENUM('Confirmed', 'Completed', 'Absent', 'Cancelled by Patient', 'Cancelled by Doctor') NOT NULL,
|
||||
PRIMARY KEY (id),
|
||||
CONSTRAINT ap_patient_id
|
||||
FOREIGN KEY (patient_id)
|
||||
REFERENCES patients(id)
|
||||
|
||||
Reference in New Issue
Block a user