Revize dabc8081
Přidáno uživatelem Dominik Poch před více než 5 roky(ů)
server/init.sql | ||
---|---|---|
1 |
-- ----------------------------------------------------- |
|
2 |
-- Table role |
|
3 |
-- ----------------------------------------------------- |
|
4 |
DROP TABLE IF EXISTS role; |
|
5 |
CREATE TABLE role ( |
|
6 |
id TINYINT NOT NULL AUTO_INCREMENT, |
|
7 |
name VARCHAR(8) NOT NULL, |
|
8 |
PRIMARY KEY (id) |
|
9 |
); |
|
10 |
|
|
11 |
-- ----------------------------------------------------- |
|
12 |
-- Table approval_status |
|
13 |
-- ----------------------------------------------------- |
|
14 |
DROP TABLE IF EXISTS approval_status; |
|
15 |
CREATE TABLE approval_status ( |
|
16 |
id TINYINT NOT NULL AUTO_INCREMENT, |
|
17 |
name VARCHAR(8) NOT NULL, |
|
18 |
PRIMARY KEY (id) |
|
19 |
); |
|
20 |
|
|
21 |
-- ----------------------------------------------------- |
|
22 |
-- Table vacation_type |
|
23 |
-- ----------------------------------------------------- |
|
24 |
DROP TABLE IF EXISTS vacation_type; |
|
25 |
CREATE TABLE vacation_type ( |
|
26 |
id TINYINT NOT NULL AUTO_INCREMENT, |
|
27 |
name VARCHAR(8) NOT NULL, |
|
28 |
PRIMARY KEY (id) |
|
29 |
); |
|
30 |
|
|
31 | 1 |
-- ----------------------------------------------------- |
32 | 2 |
-- Table end_user |
33 | 3 |
-- ----------------------------------------------------- |
... | ... | |
44 | 14 |
email VARCHAR(100) NOT NULL, |
45 | 15 |
photo TEXT, |
46 | 16 |
creation_date DATETIME NOT NULL DEFAULT CURRENT_TIMESTAMP, |
47 |
role_id TINYINT NOT NULL,
|
|
48 |
status_id TINYINT NOT NULL,
|
|
17 |
user_role VARCHAR(8) NOT NULL,
|
|
18 |
status VARCHAR(8) NOT NULL,
|
|
49 | 19 |
PRIMARY KEY (id), |
50 |
INDEX fk_end_user_role (role_id ASC), |
|
51 |
INDEX fk_end_user_approval_status (status_id ASC), |
|
52 |
CONSTRAINT fk_end_user_role FOREIGN KEY (role_id) |
|
53 |
REFERENCES role (id) |
|
54 |
ON DELETE CASCADE ON UPDATE CASCADE, |
|
55 |
CONSTRAINT fk_end_user_approval_status FOREIGN KEY (status_id) |
|
56 |
REFERENCES approval_status (id) |
|
57 |
ON DELETE NO ACTION ON UPDATE CASCADE, |
|
58 | 20 |
CONSTRAINT check_taken_sick_days CHECK (taken_sick_days >= 0) |
59 | 21 |
); |
60 | 22 |
|
... | ... | |
68 | 30 |
time_from TIME, |
69 | 31 |
time_to TIME, |
70 | 32 |
creation_date DATETIME NOT NULL DEFAULT CURRENT_TIMESTAMP, |
33 |
status VARCHAR(8) NOT NULL, |
|
34 |
vacation_type VARCHAR(8) NOT NULL, |
|
71 | 35 |
user_id BIGINT NOT NULL, |
72 |
status_id TINYINT NOT NULL, |
|
73 |
type_id TINYINT NOT NULL, |
|
74 | 36 |
PRIMARY KEY (id), |
75 |
INDEX fk_vacation_day_approval_status (status_id ASC), |
|
76 | 37 |
INDEX fk_vacation_day_end_user (user_id ASC), |
77 |
INDEX fk_vacation_day_vacation_type (type_id ASC), |
|
78 |
CONSTRAINT fk_vacation_day_approval_status FOREIGN KEY (status_id) |
|
79 |
REFERENCES approval_status (id) |
|
80 |
ON DELETE NO ACTION ON UPDATE CASCADE, |
|
81 | 38 |
CONSTRAINT fk_vacation_day_end_user FOREIGN KEY (user_id) |
82 | 39 |
REFERENCES end_user (id) |
83 | 40 |
ON DELETE CASCADE ON UPDATE CASCADE, |
84 |
CONSTRAINT fk_vacation_day_vacation_type FOREIGN KEY (type_id) |
|
85 |
REFERENCES vacation_type (id) |
|
86 |
ON DELETE CASCADE ON UPDATE CASCADE, |
|
87 | 41 |
CONSTRAINT check_time CHECK (time_from < time_to) |
88 | 42 |
); |
89 | 43 |
|
... | ... | |
121 | 75 |
DECLARE notification DATETIME; |
122 | 76 |
|
123 | 77 |
SELECT no_sick_days, alert INTO sickDaysCount, notification FROM default_settings ORDER BY id DESC LIMIT 1; |
124 |
SELECT u.id, u.first_name, u.last_name, u.no_vacations, IFNULL(u.no_sick_days, sickDaysCount), u.taken_sick_days, IFNULL(u.alert, notification), u.email, u.photo, u.creation_date, r.name, s.name
|
|
78 |
SELECT id, first_name, last_name, no_vacations, IFNULL(no_sick_days, sickDaysCount), taken_sick_days, IFNULL(alert, notification), email, photo, creation_date, user_role, status
|
|
125 | 79 |
INTO out_id, out_first_name, out_last_name, out_no_vacations, out_no_sick_days, out_taken_sick_days, out_alert, out_email, out_photo, out_creation_date, out_role, out_status |
126 |
FROM end_user u |
|
127 |
INNER JOIN role r ON u.role_id=r.id |
|
128 |
INNER JOIN approval_status s ON u.status_id=s.id |
|
129 |
WHERE u.id=in_id; |
|
80 |
FROM end_user |
|
81 |
WHERE id=in_id; |
|
130 | 82 |
END $$ |
131 | 83 |
|
132 | 84 |
DROP PROCEDURE IF EXISTS GetUserToken $$ |
133 | 85 |
CREATE PROCEDURE GetUserToken( |
134 |
IN p_token TEXT,
|
|
86 |
IN in_token TEXT,
|
|
135 | 87 |
OUT out_id BIGINT, |
136 | 88 |
OUT out_first_name VARCHAR(45), |
137 | 89 |
OUT out_last_name VARCHAR(45), |
... | ... | |
149 | 101 |
DECLARE notification DATETIME; |
150 | 102 |
|
151 | 103 |
SELECT no_sick_days, alert INTO sickDaysCount, notification FROM default_settings ORDER BY id DESC LIMIT 1; |
152 |
SELECT u.id, u.first_name, u.last_name, u.no_vacations, IFNULL(u.no_sick_days, sickDaysCount), u.taken_sick_days, IFNULL(u.alert, notification), u.email, u.photo, u.creation_date, r.name, s.name
|
|
104 |
SELECT id, first_name, last_name, no_vacations, IFNULL(no_sick_days, sickDaysCount), taken_sick_days, IFNULL(alert, notification), email, photo, creation_date, user_role, status
|
|
153 | 105 |
INTO out_id, out_first_name, out_last_name, out_no_vacations, out_no_sick_days, out_taken_sick_days, out_alert, out_email, out_photo, out_creation_date, out_role, out_status |
154 |
FROM end_user u |
|
155 |
INNER JOIN role r ON u.role_id=r.id |
|
156 |
INNER JOIN approval_status s ON u.status_id=s.id |
|
157 |
WHERE u.token=p_token; |
|
106 |
FROM end_user |
|
107 |
WHERE token=in_token; |
|
158 | 108 |
END $$ |
159 | 109 |
|
160 | 110 |
DELIMITER ; |
161 | 111 |
|
162 |
-- ----------------------------------------------------- |
|
163 |
-- Insert table role |
|
164 |
-- ----------------------------------------------------- |
|
165 |
INSERT INTO role (name) VALUES ('employee'); |
|
166 |
INSERT INTO role (name) VALUES ('employer'); |
|
167 |
|
|
168 |
-- ----------------------------------------------------- |
|
169 |
-- Insert table approval_status |
|
170 |
-- ----------------------------------------------------- |
|
171 |
INSERT INTO approval_status (name) VALUES ('accepted'); |
|
172 |
INSERT INTO approval_status (name) VALUES ('pending'); |
|
173 |
INSERT INTO approval_status (name) VALUES ('rejected'); |
|
174 |
|
|
175 |
-- ----------------------------------------------------- |
|
176 |
-- Insert table vacation_type |
|
177 |
-- ----------------------------------------------------- |
|
178 |
INSERT INTO vacation_type (name) VALUES ('sickday'); |
|
179 |
INSERT INTO vacation_type (name) VALUES ('vacation'); |
|
180 |
|
|
181 | 112 |
-- ----------------------------------------------------- |
182 | 113 |
-- Insert table end_user |
183 | 114 |
-- ----------------------------------------------------- |
184 |
INSERT INTO end_user (first_name, last_name, no_vacations, no_sick_days, taken_sick_days, alert, token, email, photo, role_id, status_id) VALUES ('admin', 'admin', 0, NULL, 0, NULL, '', '', '', 2, 1); |
|
185 |
INSERT INTO end_user (first_name, last_name, no_vacations, no_sick_days, taken_sick_days, alert, token, email, photo, role_id, status_id) VALUES ('test', 'test', 0, NULL, 0, NULL, '', '', '', 1, 2); |
|
115 |
INSERT INTO end_user (first_name, last_name, no_vacations, no_sick_days, taken_sick_days, alert, token, email, photo, user_role, status) VALUES ('admin', 'admin', 0, NULL, 0, NULL, '', '', '', 'employer', 'accepted'); |
|
116 |
INSERT INTO end_user (first_name, last_name, no_vacations, no_sick_days, taken_sick_days, alert, token, email, photo, user_role, status) VALUES ('Jan', 'Novák', 0, 10, 0, '2019-12-6 16:30:00.000', '', '', '', 'employee', 'pending'); |
|
117 |
INSERT INTO end_user (first_name, last_name, no_vacations, no_sick_days, taken_sick_days, alert, token, email, photo, user_role, status) VALUES ('Josef', 'Svoboda', 2, NULL, 3, NULL, '', '', '', 'employee', 'rejected'); |
|
186 | 118 |
|
187 | 119 |
-- ----------------------------------------------------- |
188 | 120 |
-- Insert table vacation_day |
Také k dispozici: Unified diff
Deletion of enums from the database