From 530bbf058781e00e588f1457b6ee589a64b74da1 Mon Sep 17 00:00:00 2001 From: Freya Murphy Date: Fri, 5 Apr 2024 10:46:09 -0400 Subject: i did thing oh god large commit --- src/db/rest/util/_api_raise_not_found.sql | 16 ++++++++++++ src/db/rest/util/_api_serve_media.sql | 41 ------------------------------- 2 files changed, 16 insertions(+), 41 deletions(-) create mode 100644 src/db/rest/util/_api_raise_not_found.sql delete mode 100644 src/db/rest/util/_api_serve_media.sql (limited to 'src/db/rest/util') diff --git a/src/db/rest/util/_api_raise_not_found.sql b/src/db/rest/util/_api_raise_not_found.sql new file mode 100644 index 0000000..f4997a6 --- /dev/null +++ b/src/db/rest/util/_api_raise_not_found.sql @@ -0,0 +1,16 @@ +CREATE FUNCTION _api.raise_not_found() +RETURNS BOOLEAN +LANGUAGE plpgsql VOLATILE +AS $BODY$ +BEGIN + PERFORM _api.raise( + _msg => 'api_not_found', + _err => 404 + ); + + RETURN TRUE; +END +$BODY$; + +GRANT EXECUTE ON FUNCTION _api.raise_not_found() + TO rest_anon, rest_user; diff --git a/src/db/rest/util/_api_serve_media.sql b/src/db/rest/util/_api_serve_media.sql deleted file mode 100644 index c2e213a..0000000 --- a/src/db/rest/util/_api_serve_media.sql +++ /dev/null @@ -1,41 +0,0 @@ -CREATE FUNCTION _api.serve_media( - _media_id INTEGER -) -RETURNS sys."*/*" -LANGUAGE plpgsql VOLATILE -AS $BODY$ -DECLARE - _headers TEXT; - _data BYTEA; -BEGIN - - SELECT FORMAT( - '[{"Content-Type": "%s"},' - '{"Content-Disposition": "inline; filename=\"%s\""},' - '{"Cache-Control": "max-age=259200"}]' - , m.type, m.name) - FROM admin.media m - WHERE m.id = _media_id INTO _headers; - - PERFORM SET_CONFIG('response.headers', _headers, true); - - SELECT m.content - FROM admin.media m - WHERE m.id = _media_id - INTO _data; - - IF FOUND THEN - RETURN(_data); - ELSE - PERFORM _api.raise( - _msg => 'api_not_found', - _err => 404 - ); - END IF; -END -$BODY$; - -GRANT EXECUTE ON FUNCTION _api.serve_media(INTEGER) - TO rest_anon, rest_user; -GRANT SELECT ON TABLE admin.media - TO rest_anon, rest_user; -- cgit v1.2.3-freya