CREATE TABLE users (
    id UUID NOT NULL PRIMARY KEY,
    username VARCHAR UNIQUE NOT NULL,
    email VARCHAR UNIQUE NOT NULL,
    role VARCHAR NOT NULL
);

CREATE TABLE pwd (
    user_id UUID NOT NULL PRIMARY KEY,
    password VARCHAR NOT NULL,
    CONSTRAINT FK_UserId FOREIGN KEY (user_id) REFERENCES users(id) ON DELETE CASCADE
);

--Initialize default admin user, with password "gamenight!"
CREATE EXTENSION IF NOT EXISTS "uuid-ossp";
DO $$
DECLARE 
    admin_uuid uuid = uuid_generate_v4();
BEGIN
    INSERT INTO users (id, username, email, role)
    values(admin_uuid, 'admin', '', 'admin');

    insert INTO pwd (user_id, password)
    values(admin_uuid, '$argon2id$v=19$m=4096,t=3,p=1$zEdUjCAnZqd8DziYWzlFHw$YBLQhKvYIZBY43B8zM6hyBvLKuqTeh0EM5pKOfbWQSI');
END $$;

