summaryrefslogtreecommitdiff
path: root/src/db/rest/user
diff options
context:
space:
mode:
authorFreya Murphy <freya@freyacat.org>2024-04-01 11:09:25 -0400
committerFreya Murphy <freya@freyacat.org>2024-04-01 11:09:25 -0400
commit3a82baec9d793edf81ac2b151b0f4d4159641375 (patch)
treef9d50c296b078ac48c2a2391c172c3ccf37edb3f /src/db/rest/user
parentrefactor asset dir, refactor oberver in lib (diff)
downloadxssbook2-3a82baec9d793edf81ac2b151b0f4d4159641375.tar.gz
xssbook2-3a82baec9d793edf81ac2b151b0f4d4159641375.tar.bz2
xssbook2-3a82baec9d793edf81ac2b151b0f4d4159641375.zip
login and register, liking on homepage
Diffstat (limited to '')
-rw-r--r--src/db/rest/user/api_avatar.sql (renamed from db/rest/user/api_avatar.sql)0
-rw-r--r--src/db/rest/user/api_user.sql (renamed from db/rest/user/api_user.sql)12
-rw-r--r--src/db/rest/user/api_user_delete.sql (renamed from db/rest/user/api_user_delete.sql)8
-rw-r--r--src/db/rest/user/api_user_insert.sql (renamed from db/rest/user/api_user_insert.sql)4
-rw-r--r--src/db/rest/user/api_user_update.sql (renamed from db/rest/user/api_user_update.sql)3
5 files changed, 17 insertions, 10 deletions
diff --git a/db/rest/user/api_avatar.sql b/src/db/rest/user/api_avatar.sql
index 981409f..981409f 100644
--- a/db/rest/user/api_avatar.sql
+++ b/src/db/rest/user/api_avatar.sql
diff --git a/db/rest/user/api_user.sql b/src/db/rest/user/api_user.sql
index e45768a..6735775 100644
--- a/db/rest/user/api_user.sql
+++ b/src/db/rest/user/api_user.sql
@@ -9,13 +9,15 @@ CREATE VIEW api.user AS
u.middle_name,
u.email,
u.gender,
- u.join_date,
u.birth_date,
- u.profile_avatar,
- u.profile_banner,
- u.profile_bio
+ u.profile_bio,
+ u.created,
+ u.modified,
+ u.seen
FROM
- admin.user u;
+ admin.user u
+ WHERE
+ u.deleted <> TRUE;
GRANT SELECT ON TABLE api.user
TO rest_anon, rest_user;
diff --git a/db/rest/user/api_user_delete.sql b/src/db/rest/user/api_user_delete.sql
index 8d7d52f..4389fa0 100644
--- a/db/rest/user/api_user_delete.sql
+++ b/src/db/rest/user/api_user_delete.sql
@@ -11,8 +11,10 @@ BEGIN
PERFORM _api.raise_deny();
END IF;
- DELETE FROM admin.user
- WHERE id = _user_id;
+ UPDATE admin.user SET
+ deleted = TRUE,
+ modified = clock_timestamp()
+ WHERE id = _user_id;
END
$BODY$;
@@ -20,7 +22,7 @@ GRANT EXECUTE ON FUNCTION _api.user_delete()
TO rest_user;
GRANT DELETE ON TABLE api.user
TO rest_user;
-GRANT DELETE ON TABLE admin.user
+GRANT UPDATE ON TABLE admin.user
TO rest_user;
CREATE TRIGGER api_user_delete_trgr
diff --git a/db/rest/user/api_user_insert.sql b/src/db/rest/user/api_user_insert.sql
index 2297ecd..1a6ef7c 100644
--- a/db/rest/user/api_user_insert.sql
+++ b/src/db/rest/user/api_user_insert.sql
@@ -104,7 +104,9 @@ BEGIN
NEW.gender,
NEW.birth_date,
NEW.profile_bio
- );
+ )
+ RETURNING id
+ INTO NEW.id;
NEW.password := NULL;
diff --git a/db/rest/user/api_user_update.sql b/src/db/rest/user/api_user_update.sql
index 28e4368..2e7cd50 100644
--- a/db/rest/user/api_user_update.sql
+++ b/src/db/rest/user/api_user_update.sql
@@ -145,7 +145,8 @@ BEGIN
email = NEW.email,
gender = NEW.gender,
birth_date = NEW.birth_date,
- profile_bio = NEW.profile_bio
+ profile_bio = NEW.profile_bio,
+ modified = clock_timestamp()
WHERE id = OLD.id;
END IF;