From: Jakub Czajka Date: Tue, 2 Jan 2024 12:57:32 +0000 (+0100) Subject: Add timezones to timestamps. X-Git-Url: https://git.ekhem.eu.org/?a=commitdiff_plain;p=metrics.git Add timezones to timestamps. --- diff --git a/create.sql b/create.sql index a9acd2a..c301f94 100644 --- a/create.sql +++ b/create.sql @@ -1,11 +1,18 @@ /* Copyright (c) 2024 Jakub Czajka License: GPL-3.0 or later. */ +CREATE TABLE IF NOT EXISTS time_zones ( + id SERIAL PRIMARY KEY, + name VARCHAR(128) NOT NULL UNIQUE +); + CREATE TABLE IF NOT EXISTS sleep ( id SERIAL PRIMARY KEY, date DATE DEFAULT CURRENT_DATE, start TIME(0) WITH TIME ZONE, - finish TIME(0) WITH TIME ZONE + start_time_zone_id INTEGER REFERENCES time_zones (id), + finish TIME(0) WITH TIME ZONE, + finish_time_zone_id INTEGER REFERENCES time_zones (id) ); DO $$ @@ -15,15 +22,15 @@ BEGIN CREATE ROLE metrics_tracker LOGIN; GRANT SELECT - ON TABLE sleep + ON TABLE sleep, time_zones TO metrics_tracker; GRANT INSERT - ON TABLE sleep + ON TABLE sleep, time_zones TO metrics_tracker; GRANT USAGE, SELECT - ON SEQUENCE sleep_id_seq + ON SEQUENCE sleep_id_seq, time_zones_id_seq TO metrics_tracker; /* Execute for the current database. */ diff --git a/drop.sql b/drop.sql index 9d655d5..998d597 100644 --- a/drop.sql +++ b/drop.sql @@ -6,15 +6,15 @@ BEGIN IF EXISTS (SELECT * FROM pg_user WHERE usename = 'metrics_tracker') THEN REVOKE SELECT - ON TABLE sleep + ON TABLE sleep, time_zones FROM metrics_tracker; REVOKE INSERT - ON TABLE sleep + ON TABLE sleep, time_zones FROM metrics_tracker; REVOKE USAGE, SELECT - ON SEQUENCE sleep_id_seq + ON SEQUENCE sleep_id_seq, time_zones_id_seq FROM metrics_tracker; EXECUTE @@ -27,3 +27,4 @@ BEGIN END$$; DROP TABLE IF EXISTS sleep; +DROP TABLE IF EXISTS time_zones; diff --git a/metrics.sh b/metrics.sh index ee1fc09..cc9677d 100644 --- a/metrics.sh +++ b/metrics.sh @@ -4,6 +4,17 @@ . /etc/environment +query_db() { + /usr/bin/psql --user=payments_tracker --dbname="${PAYMENTS_DB}" \ + --tuples-only --no-align --command="${1}" +} + +as_options() { + xargs --replace={} echo "" +} + +time_zones=$(query_db "SELECT name FROM time_zones") + PAGE=" @@ -27,9 +38,12 @@ PAGE=" column-gap: 5px; display: flex; } - input[type=date] { + input { width: 100%; } + input[list] { + width: 30%; + } @@ -41,8 +55,23 @@ PAGE=" 📅 - - + + +