Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
----- STICKY NOTES

CREATE TABLE sticky_note (
id NUMERIC(20) PRIMARY KEY,
id BIGINT PRIMARY KEY,
title VARCHAR(1024) NOT NULL,
body VARCHAR(10000) NOT NULL,
type VARCHAR(32) NOT NULL,
Expand All @@ -12,8 +12,8 @@ CREATE INDEX sticky_note_title_idx ON sticky_note(title);


CREATE TABLE sticky_note_link (
id NUMERIC(20) PRIMARY KEY,
sticky_note_id NUMERIC(20) NOT NULL,
id BIGINT PRIMARY KEY,
sticky_note_id BIGINT NOT NULL,
link VARCHAR(1024) NOT NULL,
CONSTRAINT sticky_note_link_sticky_note_id_fk FOREIGN KEY (sticky_note_id) REFERENCES sticky_note(id)
);
Expand All @@ -23,7 +23,7 @@ CREATE INDEX sticky_note_link_sticky_note_id_idx ON sticky_note_link(sticky_note
----- AUTHENTICATION

CREATE TABLE users (
id NUMERIC(20) PRIMARY KEY,
id BIGINT PRIMARY KEY,
username VARCHAR(256) UNIQUE NOT NULL,
password VARCHAR(256) NOT NULL,
enabled NUMERIC(1) NOT NULL,
Expand All @@ -36,17 +36,17 @@ CREATE UNIQUE INDEX users_username_idx ON users(username);


CREATE TABLE roles (
id NUMERIC(20) PRIMARY KEY,
id BIGINT PRIMARY KEY,
rolename VARCHAR(256) UNIQUE NOT NULL
);
CREATE SEQUENCE roles_seq START WITH 1 INCREMENT BY 1;
CREATE UNIQUE INDEX roles_rolename_idx ON roles(rolename);


CREATE TABLE user_roles (
id NUMERIC(20) PRIMARY KEY,
user_id NUMERIC(20) NOT NULL,
role_id NUMERIC(20) NOT NULL,
id BIGINT PRIMARY KEY,
user_id BIGINT NOT NULL,
role_id BIGINT NOT NULL,
CONSTRAINT user_roles_user_id_fk FOREIGN KEY (user_id) REFERENCES users(id),
CONSTRAINT user_roles_role_id_fk FOREIGN KEY (role_id) REFERENCES roles(id)
);
Expand Down
Original file line number Diff line number Diff line change
@@ -1,13 +1,13 @@
CREATE OR REPLACE FUNCTION add_sticky_note(title VARCHAR, body VARCHAR, type VARCHAR) RETURNS NUMERIC AS $$
CREATE OR REPLACE FUNCTION add_sticky_note(title VARCHAR, body VARCHAR, type VARCHAR) RETURNS BIGINT AS $$
BEGIN
INSERT INTO sticky_note(id, title, body, type, created) VALUES(nextval('sticky_note_seq'), title, body, type, CURRENT_TIMESTAMP);
RETURN currval('sticky_note_seq');
END;
$$ LANGUAGE plpgsql;

CREATE OR REPLACE FUNCTION add_sticky_note_link(sticky_note_title VARCHAR, link VARCHAR) RETURNS NUMERIC AS $$
CREATE OR REPLACE FUNCTION add_sticky_note_link(sticky_note_title VARCHAR, link VARCHAR) RETURNS BIGINT AS $$
DECLARE
sticky_note_id NUMERIC;
sticky_note_id BIGINT;
BEGIN
SELECT id INTO sticky_note_id FROM sticky_note WHERE title=sticky_note_title;
INSERT INTO sticky_note_link(id, sticky_note_id, link) VALUES(nextval('sticky_note_link_seq'), sticky_note_id, link);
Expand All @@ -16,26 +16,26 @@ CREATE OR REPLACE FUNCTION add_sticky_note_link(sticky_note_title VARCHAR, link
$$ LANGUAGE plpgsql;


CREATE OR REPLACE FUNCTION add_user(username VARCHAR, firstname VARCHAR, lastname VARCHAR, password VARCHAR) RETURNS NUMERIC AS $$
CREATE OR REPLACE FUNCTION add_user(username VARCHAR, firstname VARCHAR, lastname VARCHAR, password VARCHAR) RETURNS BIGINT AS $$
DECLARE
BEGIN
INSERT INTO users(id, username, password, enabled, first_name, last_name) VALUES(nextval('users_seq'), username, password, 1, firstname, lastname);
RETURN currval('users_seq');
END;
$$ LANGUAGE plpgsql;

CREATE OR REPLACE FUNCTION add_role(rolename VARCHAR) RETURNS NUMERIC AS $$
CREATE OR REPLACE FUNCTION add_role(rolename VARCHAR) RETURNS BIGINT AS $$
DECLARE
BEGIN
INSERT INTO roles(id, rolename) VALUES(nextval('roles_seq'), rolename);
RETURN currval('roles_seq');
END;
$$ LANGUAGE plpgsql;

CREATE OR REPLACE FUNCTION add_user_role(username_to_link VARCHAR, rolename_to_link VARCHAR) RETURNS NUMERIC AS $$
CREATE OR REPLACE FUNCTION add_user_role(username_to_link VARCHAR, rolename_to_link VARCHAR) RETURNS BIGINT AS $$
DECLARE
user_id NUMERIC;
role_id NUMERIC;
user_id BIGINT;
role_id BIGINT;
BEGIN
SELECT id INTO user_id FROM users WHERE username=username_to_link;
SELECT id INTO role_id FROM roles WHERE rolename=rolename_to_link;
Expand Down
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
CREATE TABLE tag (
id NUMERIC(20) PRIMARY KEY,
id BIGINT PRIMARY KEY,
name VARCHAR(1024) NOT NULL UNIQUE,
description VARCHAR(1024) NOT NULL
);
Expand All @@ -9,9 +9,9 @@ CREATE UNIQUE INDEX tag_name_idx ON tag(name);
-----

CREATE TABLE sticky_note_tag (
id NUMERIC(20) PRIMARY KEY,
sticky_note_id NUMERIC(20) NOT NULL,
tag_id NUMERIC(20) NOT NULL,
id BIGINT PRIMARY KEY,
sticky_note_id BIGINT NOT NULL,
tag_id BIGINT NOT NULL,
CONSTRAINT sticky_note_tag_sticky_note_id_fk FOREIGN KEY (sticky_note_id) REFERENCES sticky_note(id),
CONSTRAINT sticky_note_tag_tag_id_fk FOREIGN KEY (tag_id) REFERENCES tag(id)
);
Expand All @@ -21,7 +21,7 @@ CREATE INDEX sticky_note_tag_tag_id_idx ON sticky_note_tag(tag_id);

-----

CREATE OR REPLACE FUNCTION add_tag(name VARCHAR, description VARCHAR) RETURNS NUMERIC AS $$
CREATE OR REPLACE FUNCTION add_tag(name VARCHAR, description VARCHAR) RETURNS BIGINT AS $$
DECLARE
BEGIN
INSERT INTO tag(id, name, description) VALUES(nextval('tag_seq'), name, description);
Expand Down