CREATE TABLE comment (
	id			     serial PRIMARY KEY,
	comment          text NOT NULL,
	page_url         text,
	visitor_url      text,
	username         text,
	show_visitor_url bool,
	contact		     text,
	show_contact     bool,
	public		     bool,
	approved         bool DEFAULT FALSE,
	created_at       TIMESTAMPTZ DEFAULT CURRENT_TIMESTAMP
);

comment on column comment.page_url is 'URL of the page the comment belongs to, this is the relation between the markdown and this database';
comment on column comment.visitor_url is 'The website the user claims to be from, if they have their own self hosted website';
comment on column comment.contact is 'A means of contacting this person, email phone, or similar';
comment on column comment.show_contact is 'True: Publicly show the contact information, False: Site creators eyes only';
comment on column comment.public is 'Indicates if the comment is to be publicly viewable, or if it''s merely for the creator';

INSERT INTO comment (comment, page_url, username, visitor_url, show_visitor_url, contact, show_contact, public, approved)
             VALUES ('Hello world!', '/', 'user@node5.net', 'https://blog.node5.net/', TRUE, 'Leave a comment on this blog', TRUE, TRUE, TRUE);

INSERT INTO comment (comment, page_url, username, visitor_url, show_visitor_url, contact, show_contact, public, approved)
             VALUES ('Test private means of contact', '/', NULL, NULL, TRUE, 'Death star plans', FALSE, TRUE, TRUE);

INSERT INTO comment (comment, page_url, username, visitor_url, show_visitor_url, contact, show_contact, public, approved)
             VALUES ('Test private comment', '/', NULL, NULL, TRUE, 'Don''t', TRUE, FALSE, TRUE);

INSERT INTO comment (comment, page_url, username, visitor_url, show_visitor_url, contact, show_contact, public, approved)
             VALUES ('Test unapproved comment', '/', NULL, NULL, TRUE, NULL, TRUE, TRUE, FALSE);