diff options
Diffstat (limited to 'db/rest/util/_api_raise.sql')
-rw-r--r-- | db/rest/util/_api_raise.sql | 50 |
1 files changed, 0 insertions, 50 deletions
diff --git a/db/rest/util/_api_raise.sql b/db/rest/util/_api_raise.sql deleted file mode 100644 index 5c740c6..0000000 --- a/db/rest/util/_api_raise.sql +++ /dev/null @@ -1,50 +0,0 @@ -CREATE TABLE _api.err_map ( - err INTEGER, - pg_err TEXT -); - -ALTER TABLE _api.err_map OWNER TO xssbook; - -ALTER TABLE ONLY _api.err_map - ADD CONSTRAINT err_map_pkey PRIMARY KEY (err); - -INSERT INTO _api.err_map (err, pg_err) -VALUES - (400, 'P0001'), - (401, '42501'), - (403, '42501'), - (404, '42883'), - (409, '23505'), - (500, 'XX001'); - -CREATE FUNCTION _api.raise( - _msg TEXT DEFAULT '', - _detail TEXT DEFAULT '', - _hint TEXT DEFAULT '', - _err INTEGER DEFAULT 400 -) -RETURNS BOOLEAN -LANGUAGE plpgsql VOLATILE -AS $BODY$ -DECLARE - _pg_err TEXT; -BEGIN - - SELECT pg_err INTO _pg_err - FROM _api.err_map - WHERE err = _err; - - RAISE EXCEPTION USING - MESSAGE := _msg, - DETAIL := _detail, - HINT := _hint, - ERRCODE := _pg_err; - - RETURN FALSE; -END -$BODY$; - -GRANT SELECT ON TABLE _api.err_map - TO rest_anon, rest_user; -GRANT EXECUTE ON FUNCTION _api.raise(TEXT, TEXT, TEXT, INTEGER) - TO rest_anon, rest_user; |