diff --git a/migrations/20240426150045_user-roles.sql b/migrations/20240426150045_user-roles.sql index b9f9295..e541a09 100644 --- a/migrations/20240426150045_user-roles.sql +++ b/migrations/20240426150045_user-roles.sql @@ -9,6 +9,11 @@ CREATE TRIGGER user_update_timestamp BEGIN UPDATE user SET update_timestamp = DATETIME('now') WHERE rowid = old.rowid; END; +CREATE TRIGGER user_insert_timestamp + AFTER INSERT ON user + BEGIN + UPDATE user SET update_timestamp = DATETIME('now') WHERE rowid = new.rowid; + END; CREATE TABLE role ( name TEXT NOT NULL PRIMARY KEY, @@ -20,6 +25,11 @@ CREATE TRIGGER role_update_timestamp BEGIN UPDATE role SET update_timestamp = DATETIME('now') WHERE rowid = old.rowid; END; +CREATE TRIGGER role_insert_timestamp + AFTER INSERT ON role + BEGIN + UPDATE role SET update_timestamp = DATETIME('now') WHERE rowid = new.rowid; + END; CREATE TABLE privilege ( name TEXT NOT NULL PRIMARY KEY, @@ -31,6 +41,11 @@ CREATE TRIGGER privilege_update_timestamp BEGIN UPDATE privilege SET update_timestamp = DATETIME('now') WHERE rowid = old.rowid; END; +CREATE TRIGGER privilege_insert_timestamp + AFTER INSERT ON privilege + BEGIN + UPDATE privilege SET update_timestamp = DATETIME('now') WHERE rowid = new.rowid; + END; CREATE TABLE user_role ( user_name TEXT NOT NULL, @@ -46,6 +61,11 @@ CREATE TRIGGER user_role_update_timestamp BEGIN UPDATE user_role SET update_timestamp = DATETIME('now') WHERE rowid = old.rowid; END; +CREATE TRIGGER user_role_insert_timestamp + AFTER INSERT ON user_role + BEGIN + UPDATE user_role SET update_timestamp = DATETIME('now') WHERE rowid = new.rowid; + END; CREATE TABLE role_privilege ( role_name TEXT NOT NULL, @@ -61,3 +81,32 @@ CREATE TRIGGER role_privilege_update_timestamp BEGIN UPDATE role_privilege SET update_timestamp = DATETIME('now') WHERE rowid = old.rowid; END; +CREATE TRIGGER role_privilege_insert_timestamp + AFTER INSERT ON role_privilege + BEGIN + UPDATE role_privilege SET update_timestamp = DATETIME('now') WHERE rowid = new.rowid; + END; + +CREATE VIEW V_UUID_V4 as +SELECT + lower( + hex(randomblob(4)) || '-' || hex(randomblob(2)) || '-' || '4' || + substr(hex( randomblob(2)), 2) || '-' || + substr('AB89', 1 + (abs(random()) % 4) , 1) || + substr(hex(randomblob(2)), 2) || '-' || + hex(randomblob(6)) + ) UUID; + +INSERT INTO role (name, update_process) VALUES ('admin', 'initial'); +INSERT INTO role (name, update_process) VALUES ('sales', 'initial'); +INSERT INTO role (name, update_process) VALUES ('hr', 'initial'); + +INSERT INTO privilege (name, update_process) VALUES ('admin', 'initial'); +INSERT INTO privilege (name, update_process) VALUES ('sales', 'initial'); +INSERT INTO privilege (name, update_process) VALUES ('hr', 'initial'); + +INSERT INTO role_privilege (role_name, privilege_name, update_process) VALUES ('sales', 'sales', 'initial'); +INSERT INTO role_privilege (role_name, privilege_name, update_process) VALUES ('hr', 'hr', 'initial'); +INSERT INTO role_privilege (role_name, privilege_name, update_process) VALUES ('admin', 'admin', 'initial'); +INSERT INTO role_privilege (role_name, privilege_name, update_process) VALUES ('admin', 'sales', 'initial'); +INSERT INTO role_privilege (role_name, privilege_name, update_process) VALUES ('admin', 'hr', 'initial');