From 3a82baec9d793edf81ac2b151b0f4d4159641375 Mon Sep 17 00:00:00 2001 From: Freya Murphy Date: Mon, 1 Apr 2024 11:09:25 -0400 Subject: login and register, liking on homepage --- db/rest/comment/api_comment.sql | 15 --------- db/rest/comment/api_comment_delete.sql | 31 ------------------- db/rest/comment/api_comment_insert.sql | 56 ---------------------------------- db/rest/comment/api_comment_update.sql | 50 ------------------------------ 4 files changed, 152 deletions(-) delete mode 100644 db/rest/comment/api_comment.sql delete mode 100644 db/rest/comment/api_comment_delete.sql delete mode 100644 db/rest/comment/api_comment_insert.sql delete mode 100644 db/rest/comment/api_comment_update.sql (limited to 'db/rest/comment') diff --git a/db/rest/comment/api_comment.sql b/db/rest/comment/api_comment.sql deleted file mode 100644 index e50ca2f..0000000 --- a/db/rest/comment/api_comment.sql +++ /dev/null @@ -1,15 +0,0 @@ -CREATE VIEW api.comment AS - SELECT - c.id, - c.user_id, - c.post_id, - c.content, - c.date - FROM - admin.comment c - ORDER BY id ASC; - -GRANT SELECT ON TABLE api.comment - TO rest_anon, rest_user; -GRANT SELECT ON TABLE admin.comment - TO rest_anon, rest_user; diff --git a/db/rest/comment/api_comment_delete.sql b/db/rest/comment/api_comment_delete.sql deleted file mode 100644 index d7db8a4..0000000 --- a/db/rest/comment/api_comment_delete.sql +++ /dev/null @@ -1,31 +0,0 @@ -CREATE FUNCTION _api.comment_delete() -RETURNS TRIGGER -LANGUAGE plpgsql VOLATILE -AS $BODY$ -DECLARE - _user_id INTEGER; -BEGIN - _user_id = _api.get_user_id(); - - IF OLD.user_id <> _user_id THEN - PERFORM _api.raise_deny(); - END IF; - - DELETE FROM admin.comment - WHERE user_id = _user_id - AND id = OLD.id; -END -$BODY$; - -GRANT EXECUTE ON FUNCTION _api.comment_delete() - TO rest_user; -GRANT DELETE ON TABLE api.comment - TO rest_user; -GRANT DELETE ON TABLE admin.comment - TO rest_user; - -CREATE TRIGGER api_comment_delete_trgr - INSTEAD OF DELETE - ON api.comment - FOR EACH ROW - EXECUTE PROCEDURE _api.comment_delete(); diff --git a/db/rest/comment/api_comment_insert.sql b/db/rest/comment/api_comment_insert.sql deleted file mode 100644 index 878e194..0000000 --- a/db/rest/comment/api_comment_insert.sql +++ /dev/null @@ -1,56 +0,0 @@ -CREATE FUNCTION _api.comment_insert() -RETURNS TRIGGER -LANGUAGE plpgsql VOLATILE -AS $BODY$ -DECLARE - _user_id INTEGER; -BEGIN - _user_id = _api.get_user_id(); - - NEW.content := _api.trim(NEW.content); - PERFORM _api.validate_text( - _text => NEW.content, - _column => 'content', - _min => 1, - _max => 1024 - ); - - PERFORM TRUE - FROM admin.post - WHERE id = NEW.post_id; - - IF NOT FOUND THEN - PERFORM _api.raise( - _msg => 'api_null_post', - _err => 400 - ); - END IF; - - INSERT INTO admin.comment ( - user_id, - post_id, - content - ) VALUES ( - _user_id, - NEW.post_id, - NEW.content - ); - - RETURN NEW; -END -$BODY$; - -GRANT EXECUTE ON FUNCTION _api.comment_insert() - TO rest_user; -GRANT INSERT ON TABLE api.comment - TO rest_user; -GRANT INSERT ON TABLE admin.comment - TO rest_user; -GRANT UPDATE ON TABLE sys.comment_id_seq - TO rest_user; - -CREATE TRIGGER api_comment_insert_trgr - INSTEAD OF INSERT - ON api.comment - FOR EACH ROW - EXECUTE PROCEDURE _api.comment_insert(); diff --git a/db/rest/comment/api_comment_update.sql b/db/rest/comment/api_comment_update.sql deleted file mode 100644 index d6b4aca..0000000 --- a/db/rest/comment/api_comment_update.sql +++ /dev/null @@ -1,50 +0,0 @@ -CREATE FUNCTION _api.comment_update() -RETURNS TRIGGER -LANGUAGE plpgsql VOLATILE -AS $BODY$ -DECLARE - _user_id INTEGER; - _changed BOOLEAN; -BEGIN - _user_id = _api.get_user_id(); - _changed = FALSE; - - IF OLD.user_id <> _user_id THEN - PERFORM _api.raise_deny(); - END IF; - - NEW.content = COALESCE(NEW.content, OLD.content); - NEW.content := _api.trim(NEW.content); - PERFORM _api.validate_text( - _text => NEW.content, - _column => 'content', - _min => 1, - _max => 1024 - ); - - IF NEW.content IS DISTINCT FROM OLD.content THEN - _changed = TRUE; - END IF; - - IF _changed THEN - UPDATE admin.comment - SET content = NEW.content - WHERE id = OLD.id; - END IF; - - RETURN NEW; -END -$BODY$; - -GRANT EXECUTE ON FUNCTION _api.comment_update() - TO rest_user; -GRANT UPDATE ON TABLE api.comment - TO rest_user; -GRANT UPDATE ON TABLE admin.comment - TO rest_user; - -CREATE TRIGGER api_comment_update_trgr - INSTEAD OF UPDATE - ON api.comment - FOR EACH ROW - EXECUTE PROCEDURE _api.comment_update(); -- cgit v1.2.3-freya