From 9d794798d40a0fd6252c341356f36828cccd77ac Mon Sep 17 00:00:00 2001
From: Pedro Cardona <pedropca@stud.ntnu.no>
Date: Wed, 19 Apr 2023 09:28:57 +0200
Subject: [PATCH] Tables users, authority and profiles were combined together.

---
 src/main/resources/db/sql/dbschema.sql | 21 ++-----------
 src/main/resources/db/sql/testdata.sql | 41 +++++++++++++-------------
 2 files changed, 24 insertions(+), 38 deletions(-)

diff --git a/src/main/resources/db/sql/dbschema.sql b/src/main/resources/db/sql/dbschema.sql
index 903ea827..b6217e18 100644
--- a/src/main/resources/db/sql/dbschema.sql
+++ b/src/main/resources/db/sql/dbschema.sql
@@ -1,32 +1,17 @@
 CREATE TABLE users (
     username VARCHAR(50) NOT NULL PRIMARY KEY,
     password VARCHAR(500) NOT NULL,
-    enabled BOOLEAN NOT NULL
-);
-
-CREATE TABLE authorities (
-    username VARCHAR(50) NOT NULL,
-    authority VARCHAR(50) NOT NULL,
-    CONSTRAINT fk_authorities_users FOREIGN KEY (username) REFERENCES users (username)
-);
-
-CREATE UNIQUE INDEX ix_auth_username ON authorities (username, authority);
-
-CREATE TABLE profiles (
-    id BIGINT NOT NULL AUTO_INCREMENT PRIMARY KEY,
-    username VARCHAR(50) NOT NULL UNIQUE,
+    enabled BOOLEAN NOT NULL,
     first_name VARCHAR(50) NOT NULL,
     last_name VARCHAR(50) NOT NULL,
+    authority VARCHAR(50) NOT NULL,
     email VARCHAR(50) NOT NULL UNIQUE,
     birthdate DATE NOT NULL,
     creation_time TIMESTAMP NOT NULL DEFAULT current_timestamp,
     group_id BIGINT NOT NULL,
-    FOREIGN KEY (group_id) REFERENCES groups (group_id),
-    CONSTRAINT fk_profile_user FOREIGN KEY (username) REFERENCES users (username)
+    FOREIGN KEY (group_id) REFERENCES groups (group_id)
 );
 
-CREATE UNIQUE INDEX ix_profiles_username ON profiles (username, id);
-
 CREATE TABLE groups(
     group_id BIGINT NOT NULL AUTO_INCREMENT PRIMARY KEY,
     group_name VARCHAR(50) NOT NULL,
diff --git a/src/main/resources/db/sql/testdata.sql b/src/main/resources/db/sql/testdata.sql
index 21ef30e3..dc989b87 100644
--- a/src/main/resources/db/sql/testdata.sql
+++ b/src/main/resources/db/sql/testdata.sql
@@ -1,15 +1,24 @@
-INSERT INTO users (username, password, enabled)
-VALUES 
-	('john', '{noop}password123', true),
-	('jane', '{noop}password456', true),
-	('bob', '{noop}password789', true),
-	('alice', '{noop}password111', true),
-	('tom', '{noop}password222', true),
-    ('sarah', '{noop}password333', true),
-    ('david', '{noop}password444', true),
-    ('emily', '{noop}password555', true),
-    ('mike', '{noop}password666', true),
-    ('olivia', '{noop}password777', true);
+INSERT INTO groups (group_name, level, points)
+VALUES
+    ('Group A', 1, 100),
+    ('Group B', 2, 250),
+    ('Group C', 3, 500),
+    ('Group D', 4, 750),
+    ('Group E', 1, 200);
+
+INSERT INTO users (username, password, enabled, first_name, last_name, authority, email, birthdate, group_id)
+VALUES
+    ('john', '{noop}password123', true, 'John', 'Doe', 'USER', 'john@example.com', '1990-01-01', 1),
+    ('jane', '{noop}password456', true, 'Jane', 'Doe', 'USER', 'jane@example.com', '1992-02-02', 1),
+    ('bob', '{noop}password789', true, 'Bob', 'Smith', 'USER', 'bob@example.com', '1995-03-03', 2),
+    ('alice', '{noop}password111', true, 'Alice', 'Johnson', 'USER', 'alice@example.com', '1998-04-04', 2),
+    ('tom', '{noop}password222', true, 'Tom', 'Brown', 'USER', 'tom@example.com', '2000-05-05', 3),
+    ('sarah', '{noop}password333', true, 'Sarah', 'Lee', 'USER', 'sarah@example.com', '2002-06-06', 3),
+    ('david', '{noop}password444', true, 'David', 'Wilson', 'USER', 'david@example.com', '2004-07-07', 4),
+    ('emily', '{noop}password555', true, 'Emily', 'Davis', 'USER', 'emily@example.com', '2006-08-08', 4),
+    ('mike', '{noop}password666', true, 'Mike', 'Taylor', 'USER', 'mike@example.com', '2008-09-09', 5),
+    ('olivia', '{noop}password777', true, 'Olivia', 'Clark', 'USER', 'olivia@example.com', '2010-10-10', 5);
+
 
 INSERT INTO authorities (username, authority)
 VALUES 
@@ -24,14 +33,6 @@ VALUES
     ('mike', 'USER'),
     ('olivia', 'ADMIN');
 
-INSERT INTO groups (group_name, level, points)
-VALUES
-    ('Group A', 1, 100),
-    ('Group B', 2, 250),
-    ('Group C', 3, 500),
-    ('Group D', 4, 750),
-    ('Group E', 1, 200);
-
 INSERT INTO profiles (username, first_name, last_name,email, birthdate, group_id)
 VALUES
     ('john','John','Smith','johnSmith@gmail.com','1998-05-07',1),
-- 
GitLab