Revize 6636acc9
Přidáno uživatelem Pavel Fidransky před více než 4 roky(ů)
server/init.sql | ||
---|---|---|
1 |
SET NAMES utf8mb4; |
|
2 |
|
|
3 |
-- ----------------------------------------------------- |
|
4 |
-- Table end_user |
|
5 |
-- ----------------------------------------------------- |
|
6 |
DROP TABLE IF EXISTS end_user; |
|
7 |
CREATE TABLE end_user ( |
|
8 |
id BIGINT NOT NULL AUTO_INCREMENT, |
|
9 |
first_name VARCHAR(45) NOT NULL, |
|
10 |
last_name VARCHAR(45) NOT NULL, |
|
11 |
no_vacations FLOAT NOT NULL, |
|
12 |
no_sick_days INT, |
|
13 |
taken_sick_days INT NOT NULL, |
|
14 |
alert DATETIME, |
|
15 |
email VARCHAR(100) NOT NULL, |
|
16 |
photo TEXT, |
|
17 |
creation_date DATETIME NOT NULL DEFAULT CURRENT_TIMESTAMP, |
|
18 |
user_role VARCHAR(8) NOT NULL, |
|
19 |
status VARCHAR(8) NOT NULL, |
|
20 |
PRIMARY KEY (id), |
|
21 |
CONSTRAINT check_taken_sick_days CHECK (taken_sick_days >= 0) |
|
22 |
); |
|
23 |
|
|
24 |
-- ----------------------------------------------------- |
|
25 |
-- Table vacation_day |
|
26 |
-- ----------------------------------------------------- |
|
27 |
DROP TABLE IF EXISTS vacation_day; |
|
28 |
CREATE TABLE vacation_day ( |
|
29 |
id BIGINT NOT NULL AUTO_INCREMENT, |
|
30 |
vacation_date DATE NOT NULL, |
|
31 |
time_from TIME, |
|
32 |
time_to TIME, |
|
33 |
creation_date DATETIME NOT NULL DEFAULT CURRENT_TIMESTAMP, |
|
34 |
status VARCHAR(8) NOT NULL, |
|
35 |
vacation_type VARCHAR(8) NOT NULL, |
|
36 |
user_id BIGINT NOT NULL, |
|
37 |
PRIMARY KEY (id), |
|
38 |
INDEX fk_vacation_day_end_user (user_id ASC), |
|
39 |
CONSTRAINT fk_vacation_day_end_user FOREIGN KEY (user_id) |
|
40 |
REFERENCES end_user (id) |
|
41 |
ON DELETE CASCADE ON UPDATE CASCADE, |
|
42 |
CONSTRAINT check_time CHECK (time_from < time_to) |
|
43 |
); |
|
44 |
|
|
45 |
-- ----------------------------------------------------- |
|
46 |
-- Table Default_Settings |
|
47 |
-- ----------------------------------------------------- |
|
48 |
DROP TABLE IF EXISTS default_settings; |
|
49 |
CREATE TABLE default_settings ( |
|
50 |
id BIGINT NOT NULL AUTO_INCREMENT, |
|
51 |
no_sick_days INT NOT NULL, |
|
52 |
alert DATETIME NOT NULL, |
|
53 |
creation_date DATETIME NOT NULL DEFAULT CURRENT_TIMESTAMP, |
|
54 |
PRIMARY KEY (id), |
|
55 |
CONSTRAINT check_no_sick_days CHECK (no_sick_days >= 0) |
|
56 |
); |
|
57 |
|
|
58 |
DELIMITER $$ |
|
59 |
DROP PROCEDURE IF EXISTS GetUserId $$ |
|
60 |
CREATE PROCEDURE GetUserId( |
|
61 |
IN in_id BIGINT, |
|
62 |
OUT out_id BIGINT, |
|
63 |
OUT out_first_name VARCHAR(45), |
|
64 |
OUT out_last_name VARCHAR(45), |
|
65 |
OUT out_no_vacations FLOAT, |
|
66 |
OUT out_no_sick_days INT, |
|
67 |
OUT out_taken_sick_days INT, |
|
68 |
OUT out_alert DATETIME, |
|
69 |
OUT out_token TEXT, |
|
70 |
OUT out_email VARCHAR(100), |
|
71 |
OUT out_photo TEXT, |
|
72 |
OUT out_creation_date DATETIME, |
|
73 |
OUT out_role VARCHAR(8), |
|
74 |
OUT out_status VARCHAR(8)) |
|
75 |
BEGIN |
|
76 |
DECLARE sickDaysCount INT; |
|
77 |
DECLARE notification DATETIME; |
|
78 |
|
|
79 |
SELECT no_sick_days, alert INTO sickDaysCount, notification FROM default_settings ORDER BY id DESC LIMIT 1; |
|
80 |
SELECT id, first_name, last_name, no_vacations, IFNULL(no_sick_days, sickDaysCount), taken_sick_days, IFNULL(alert, notification), token, email, photo, creation_date, user_role, status |
|
81 |
INTO out_id, out_first_name, out_last_name, out_no_vacations, out_no_sick_days, out_taken_sick_days, out_alert, out_token, out_email, out_photo, out_creation_date, out_role, out_status |
|
82 |
FROM end_user |
|
83 |
WHERE id=in_id; |
|
84 |
END $$ |
|
85 |
|
|
86 |
DROP PROCEDURE IF EXISTS GetUserToken $$ |
|
87 |
CREATE PROCEDURE GetUserToken( |
|
88 |
IN in_token TEXT, |
|
89 |
OUT out_id BIGINT, |
|
90 |
OUT out_first_name VARCHAR(45), |
|
91 |
OUT out_last_name VARCHAR(45), |
|
92 |
OUT out_no_vacations FLOAT, |
|
93 |
OUT out_no_sick_days INT, |
|
94 |
OUT out_taken_sick_days INT, |
|
95 |
OUT out_alert DATETIME, |
|
96 |
OUT out_token TEXT, |
|
97 |
OUT out_email VARCHAR(100), |
|
98 |
OUT out_photo TEXT, |
|
99 |
OUT out_creation_date DATETIME, |
|
100 |
OUT out_role VARCHAR(8), |
|
101 |
OUT out_status VARCHAR(8)) |
|
102 |
BEGIN |
|
103 |
DECLARE sickDaysCount INT; |
|
104 |
DECLARE notification DATETIME; |
|
105 |
|
|
106 |
SELECT no_sick_days, alert INTO sickDaysCount, notification FROM default_settings ORDER BY id DESC LIMIT 1; |
|
107 |
SELECT id, first_name, last_name, no_vacations, IFNULL(no_sick_days, sickDaysCount), taken_sick_days, IFNULL(alert, notification), token, email, photo, creation_date, user_role, status |
|
108 |
INTO out_id, out_first_name, out_last_name, out_no_vacations, out_no_sick_days, out_taken_sick_days, out_alert, out_token, out_email, out_photo, out_creation_date, out_role, out_status |
|
109 |
FROM end_user |
|
110 |
WHERE token=in_token; |
|
111 |
END $$ |
|
112 |
|
|
113 |
DELIMITER ; |
|
114 |
|
|
115 |
-- ----------------------------------------------------- |
|
116 |
-- Insert table end_user |
|
117 |
-- ----------------------------------------------------- |
|
118 |
INSERT INTO end_user (first_name, last_name, no_vacations, no_sick_days, taken_sick_days, alert, email, photo, |
|
119 |
user_role, status) |
|
120 |
VALUES ('admin', 'admin', 0, NULL, 0, NULL, 'testuser@yoso.fi', |
|
121 |
'https://st2.depositphotos.com/9223672/12056/v/950/depositphotos_120568236-stock-illustration-male-face-avatar-logo-template.jpg', |
|
122 |
'EMPLOYER', 'ACCEPTED'); |
|
123 |
|
|
124 |
-- ----------------------------------------------------- |
|
125 |
-- Insert table vacation_day |
|
126 |
-- ----------------------------------------------------- |
|
127 |
-- INSERT INTO vacation_day (vacation_date, time_from, time_to, user_id, status_id, type_id) VALUES (); |
|
128 |
|
|
129 |
-- ----------------------------------------------------- |
|
130 |
-- Insert table default_settings |
|
131 |
-- ----------------------------------------------------- |
|
132 |
INSERT INTO default_settings (no_sick_days, alert) VALUES (5, '2019-12-01 12:00:00.000'); |
server/pom.xml | ||
---|---|---|
62 | 62 |
<version>1.5</version> |
63 | 63 |
</dependency> |
64 | 64 |
|
65 |
<dependency> |
|
66 |
<groupId>org.flywaydb</groupId> |
|
67 |
<artifactId>flyway-core</artifactId> |
|
68 |
<version>${flyway.version}</version> |
|
69 |
</dependency> |
|
65 | 70 |
|
66 | 71 |
<!-- DATABASE --> |
67 | 72 |
<dependency> |
server/src/main/resources/application.properties | ||
---|---|---|
12 | 12 |
spring.security.oauth2.client.registration.google.client-id=${OAUTH2_GOOGLE_CLIENT_ID} |
13 | 13 |
spring.security.oauth2.client.registration.google.client-secret=${OAUTH2_GOOGLE_CLIENT_SECRET} |
14 | 14 |
|
15 |
spring.flyway.baseline-on-migrate=true |
|
16 |
spring.flyway.baseline-version=1.0.0 |
|
17 |
spring.flyway.baseline-description=init |
|
18 |
|
|
15 | 19 |
#comma-separated list of allowed domains, leave empty for all |
16 | 20 |
ymanager.oauth2.client.google.allowed-domains=${OAUTH2_GOOGLE_ALLOWED_DOMAINS} |
17 | 21 |
|
server/src/main/resources/db/migration/V1_0_0__init.sql | ||
---|---|---|
1 |
SET NAMES utf8mb4; |
|
2 |
|
|
3 |
-- ----------------------------------------------------- |
|
4 |
-- Table end_user |
|
5 |
-- ----------------------------------------------------- |
|
6 |
DROP TABLE IF EXISTS end_user; |
|
7 |
CREATE TABLE end_user ( |
|
8 |
id BIGINT NOT NULL AUTO_INCREMENT, |
|
9 |
first_name VARCHAR(45) NOT NULL, |
|
10 |
last_name VARCHAR(45) NOT NULL, |
|
11 |
no_vacations FLOAT NOT NULL, |
|
12 |
no_sick_days INT, |
|
13 |
taken_sick_days INT NOT NULL, |
|
14 |
alert DATETIME, |
|
15 |
email VARCHAR(100) NOT NULL, |
|
16 |
photo TEXT, |
|
17 |
creation_date DATETIME NOT NULL DEFAULT CURRENT_TIMESTAMP, |
|
18 |
user_role VARCHAR(8) NOT NULL, |
|
19 |
status VARCHAR(8) NOT NULL, |
|
20 |
PRIMARY KEY (id), |
|
21 |
CONSTRAINT check_taken_sick_days CHECK (taken_sick_days >= 0) |
|
22 |
); |
|
23 |
|
|
24 |
-- ----------------------------------------------------- |
|
25 |
-- Table vacation_day |
|
26 |
-- ----------------------------------------------------- |
|
27 |
DROP TABLE IF EXISTS vacation_day; |
|
28 |
CREATE TABLE vacation_day ( |
|
29 |
id BIGINT NOT NULL AUTO_INCREMENT, |
|
30 |
vacation_date DATE NOT NULL, |
|
31 |
time_from TIME, |
|
32 |
time_to TIME, |
|
33 |
creation_date DATETIME NOT NULL DEFAULT CURRENT_TIMESTAMP, |
|
34 |
status VARCHAR(8) NOT NULL, |
|
35 |
vacation_type VARCHAR(8) NOT NULL, |
|
36 |
user_id BIGINT NOT NULL, |
|
37 |
PRIMARY KEY (id), |
|
38 |
INDEX fk_vacation_day_end_user (user_id ASC), |
|
39 |
CONSTRAINT fk_vacation_day_end_user FOREIGN KEY (user_id) |
|
40 |
REFERENCES end_user (id) |
|
41 |
ON DELETE CASCADE ON UPDATE CASCADE, |
|
42 |
CONSTRAINT check_time CHECK (time_from < time_to) |
|
43 |
); |
|
44 |
|
|
45 |
-- ----------------------------------------------------- |
|
46 |
-- Table Default_Settings |
|
47 |
-- ----------------------------------------------------- |
|
48 |
DROP TABLE IF EXISTS default_settings; |
|
49 |
CREATE TABLE default_settings ( |
|
50 |
id BIGINT NOT NULL AUTO_INCREMENT, |
|
51 |
no_sick_days INT NOT NULL, |
|
52 |
alert DATETIME NOT NULL, |
|
53 |
creation_date DATETIME NOT NULL DEFAULT CURRENT_TIMESTAMP, |
|
54 |
PRIMARY KEY (id), |
|
55 |
CONSTRAINT check_no_sick_days CHECK (no_sick_days >= 0) |
|
56 |
); |
|
57 |
|
|
58 |
DELIMITER $$ |
|
59 |
DROP PROCEDURE IF EXISTS GetUserId $$ |
|
60 |
CREATE PROCEDURE GetUserId( |
|
61 |
IN in_id BIGINT, |
|
62 |
OUT out_id BIGINT, |
|
63 |
OUT out_first_name VARCHAR(45), |
|
64 |
OUT out_last_name VARCHAR(45), |
|
65 |
OUT out_no_vacations FLOAT, |
|
66 |
OUT out_no_sick_days INT, |
|
67 |
OUT out_taken_sick_days INT, |
|
68 |
OUT out_alert DATETIME, |
|
69 |
OUT out_token TEXT, |
|
70 |
OUT out_email VARCHAR(100), |
|
71 |
OUT out_photo TEXT, |
|
72 |
OUT out_creation_date DATETIME, |
|
73 |
OUT out_role VARCHAR(8), |
|
74 |
OUT out_status VARCHAR(8)) |
|
75 |
BEGIN |
|
76 |
DECLARE sickDaysCount INT; |
|
77 |
DECLARE notification DATETIME; |
|
78 |
|
|
79 |
SELECT no_sick_days, alert INTO sickDaysCount, notification FROM default_settings ORDER BY id DESC LIMIT 1; |
|
80 |
SELECT id, first_name, last_name, no_vacations, IFNULL(no_sick_days, sickDaysCount), taken_sick_days, IFNULL(alert, notification), token, email, photo, creation_date, user_role, status |
|
81 |
INTO out_id, out_first_name, out_last_name, out_no_vacations, out_no_sick_days, out_taken_sick_days, out_alert, out_token, out_email, out_photo, out_creation_date, out_role, out_status |
|
82 |
FROM end_user |
|
83 |
WHERE id=in_id; |
|
84 |
END $$ |
|
85 |
|
|
86 |
DROP PROCEDURE IF EXISTS GetUserToken $$ |
|
87 |
CREATE PROCEDURE GetUserToken( |
|
88 |
IN in_token TEXT, |
|
89 |
OUT out_id BIGINT, |
|
90 |
OUT out_first_name VARCHAR(45), |
|
91 |
OUT out_last_name VARCHAR(45), |
|
92 |
OUT out_no_vacations FLOAT, |
|
93 |
OUT out_no_sick_days INT, |
|
94 |
OUT out_taken_sick_days INT, |
|
95 |
OUT out_alert DATETIME, |
|
96 |
OUT out_token TEXT, |
|
97 |
OUT out_email VARCHAR(100), |
|
98 |
OUT out_photo TEXT, |
|
99 |
OUT out_creation_date DATETIME, |
|
100 |
OUT out_role VARCHAR(8), |
|
101 |
OUT out_status VARCHAR(8)) |
|
102 |
BEGIN |
|
103 |
DECLARE sickDaysCount INT; |
|
104 |
DECLARE notification DATETIME; |
|
105 |
|
|
106 |
SELECT no_sick_days, alert INTO sickDaysCount, notification FROM default_settings ORDER BY id DESC LIMIT 1; |
|
107 |
SELECT id, first_name, last_name, no_vacations, IFNULL(no_sick_days, sickDaysCount), taken_sick_days, IFNULL(alert, notification), token, email, photo, creation_date, user_role, status |
|
108 |
INTO out_id, out_first_name, out_last_name, out_no_vacations, out_no_sick_days, out_taken_sick_days, out_alert, out_token, out_email, out_photo, out_creation_date, out_role, out_status |
|
109 |
FROM end_user |
|
110 |
WHERE token=in_token; |
|
111 |
END $$ |
|
112 |
|
|
113 |
DELIMITER ; |
|
114 |
|
|
115 |
-- ----------------------------------------------------- |
|
116 |
-- Insert table end_user |
|
117 |
-- ----------------------------------------------------- |
|
118 |
INSERT INTO end_user (first_name, last_name, no_vacations, no_sick_days, taken_sick_days, alert, email, photo, |
|
119 |
user_role, status) |
|
120 |
VALUES ('admin', 'admin', 0, NULL, 0, NULL, 'testuser@yoso.fi', |
|
121 |
'https://st2.depositphotos.com/9223672/12056/v/950/depositphotos_120568236-stock-illustration-male-face-avatar-logo-template.jpg', |
|
122 |
'EMPLOYER', 'ACCEPTED'); |
|
123 |
|
|
124 |
-- ----------------------------------------------------- |
|
125 |
-- Insert table vacation_day |
|
126 |
-- ----------------------------------------------------- |
|
127 |
-- INSERT INTO vacation_day (vacation_date, time_from, time_to, user_id, status_id, type_id) VALUES (); |
|
128 |
|
|
129 |
-- ----------------------------------------------------- |
|
130 |
-- Insert table default_settings |
|
131 |
-- ----------------------------------------------------- |
|
132 |
INSERT INTO default_settings (no_sick_days, alert) VALUES (5, '2019-12-01 12:00:00.000'); |
Také k dispozici: Unified diff
re #44 add DB migration engine