summaryrefslogtreecommitdiff
path: root/src/db/rest/util/_api_raise_unique.sql
diff options
context:
space:
mode:
Diffstat (limited to 'src/db/rest/util/_api_raise_unique.sql')
-rw-r--r--src/db/rest/util/_api_raise_unique.sql18
1 files changed, 18 insertions, 0 deletions
diff --git a/src/db/rest/util/_api_raise_unique.sql b/src/db/rest/util/_api_raise_unique.sql
new file mode 100644
index 0000000..a18d960
--- /dev/null
+++ b/src/db/rest/util/_api_raise_unique.sql
@@ -0,0 +1,18 @@
+CREATE FUNCTION _api.raise_unique(
+ _column TEXT DEFAULT ''
+)
+RETURNS BOOLEAN
+LANGUAGE plpgsql VOLATILE
+AS $BODY$
+BEGIN
+ PERFORM _api.raise(
+ _msg => 'api_unique_value',
+ _detail => _column
+ );
+
+ RETURN TRUE;
+END
+$BODY$;
+
+GRANT EXECUTE ON FUNCTION _api.raise_unique(TEXT)
+ TO rest_anon, rest_user;