summaryrefslogtreecommitdiff
path: root/src/db/rest/util/_api_get_user_id.sql
blob: e86afc359f14f33220845c00cf1cab396092d704 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
CREATE FUNCTION _api.get_user_id()
RETURNS INTEGER
LANGUAGE plpgsql VOLATILE
AS $BODY$
DECLARE
	_user_id INTEGER;
BEGIN
	_user_id = CURRENT_SETTING(
		'request.jwt.claims',
		TRUE
	)::JSON->>'user_id';

	UPDATE admin.user
	SET seen = clock_timestamp()
	WHERE id = _user_id;

	RETURN _user_id;
END
$BODY$;

GRANT UPDATE ON TABLE admin.user
	TO rest_anon, rest_user;