summaryrefslogtreecommitdiff
path: root/database.sql
diff options
context:
space:
mode:
authorilotterytea <iltsu@alright.party>2025-05-08 01:23:48 +0500
committerilotterytea <iltsu@alright.party>2025-05-08 01:23:48 +0500
commit3a5cad0f5fb9461d06b81903763cf504988e8091 (patch)
tree573530c6ae95a8284a8321beba1ec02ee82ae594 /database.sql
parentada4748a25c39b226534ff0475569a8bd25e17ab (diff)
feat: security section in /account
Diffstat (limited to 'database.sql')
-rw-r--r--database.sql10
1 files changed, 10 insertions, 0 deletions
diff --git a/database.sql b/database.sql
index 657264d..4ca437b 100644
--- a/database.sql
+++ b/database.sql
@@ -7,6 +7,11 @@ CREATE TABLE IF NOT EXISTS users (
last_active_at TIMESTAMP NOT NULL DEFAULT UTC_TIMESTAMP
);
+CREATE TABLE IF NOT EXISTS user_preferences (
+ id CHAR(32) NOT NULL PRIMARY KEY REFERENCES users(id) ON DELETE CASCADE,
+ hide_actions BOOLEAN NOT NULL DEFAULT FALSE
+);
+
CREATE TABLE IF NOT EXISTS connections (
id INTEGER NOT NULL PRIMARY KEY AUTO_INCREMENT,
user_id CHAR(32) NOT NULL REFERENCES users(id) ON DELETE CASCADE,
@@ -127,16 +132,21 @@ CREATE TABLE IF NOT EXISTS actions (
-- CREATING A ROLE FOR USERS
INSERT IGNORE INTO roles(id, name) VALUES (1, 'User');
+INSERT IGNORE INTO user_preferences(id) SELECT id FROM users;
+
-- -------------------------
-- TRIGGERS
-- -------------------------
+DROP TRIGGER IF EXISTS create_user;
+
-- CREATE EMOTESET AND ASSIGN ROLE FOR NEW USER
DELIMITER $$
CREATE TRIGGER IF NOT EXISTS create_user
AFTER INSERT ON users
FOR EACH ROW
BEGIN
+ INSERT INTO user_preferences(id) VALUES (NEW.id);
INSERT INTO role_assigns(user_id, role_id) VALUES (NEW.id, 1);
INSERT INTO emote_sets(owner_id, name) VALUES (NEW.id, CONCAT(NEW.username, '''s emoteset'));
END$$