initial commit
[squeep-indie-auther] / src / db / postgres / sql / resource-upsert.sql
diff --git a/src/db/postgres/sql/resource-upsert.sql b/src/db/postgres/sql/resource-upsert.sql
new file mode 100644 (file)
index 0000000..51d4e94
--- /dev/null
@@ -0,0 +1,10 @@
+--
+INSERT INTO resource
+       (resource_id, secret, description)
+VALUES
+       (COALESCE($(resourceId)::UUID, uuid_generate_v4()), $(secret), $(description))
+ON CONFLICT (resource_id) DO UPDATE
+SET
+       secret = COALESCE(EXCLUDED.secret, resource.secret),
+       description = COALESCE(EXCLUDED.description, resource.description)
+RETURNING *