fix(update_days_read.sql): corrects reading streak function
This commit is contained in:
parent
61af1e0f23
commit
81e738621c
3 changed files with 9 additions and 9 deletions
4
package-lock.json
generated
4
package-lock.json
generated
|
@ -1,12 +1,12 @@
|
||||||
{
|
{
|
||||||
"name": "coryd.dev",
|
"name": "coryd.dev",
|
||||||
"version": "5.1.4",
|
"version": "5.1.5",
|
||||||
"lockfileVersion": 3,
|
"lockfileVersion": 3,
|
||||||
"requires": true,
|
"requires": true,
|
||||||
"packages": {
|
"packages": {
|
||||||
"": {
|
"": {
|
||||||
"name": "coryd.dev",
|
"name": "coryd.dev",
|
||||||
"version": "5.1.4",
|
"version": "5.1.5",
|
||||||
"license": "MIT",
|
"license": "MIT",
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
"html-minifier-terser": "7.2.0",
|
"html-minifier-terser": "7.2.0",
|
||||||
|
|
|
@ -1,6 +1,6 @@
|
||||||
{
|
{
|
||||||
"name": "coryd.dev",
|
"name": "coryd.dev",
|
||||||
"version": "5.1.4",
|
"version": "5.1.5",
|
||||||
"description": "The source for my personal site. Built using 11ty (and other tools).",
|
"description": "The source for my personal site. Built using 11ty (and other tools).",
|
||||||
"type": "module",
|
"type": "module",
|
||||||
"engines": {
|
"engines": {
|
||||||
|
|
|
@ -1,20 +1,20 @@
|
||||||
CREATE OR REPLACE FUNCTION update_days_read()
|
CREATE OR REPLACE FUNCTION update_days_read()
|
||||||
RETURNS TRIGGER AS $$
|
RETURNS TRIGGER AS $$
|
||||||
DECLARE
|
DECLARE
|
||||||
pacific_now TIMESTAMPTZ;
|
|
||||||
pacific_today DATE;
|
pacific_today DATE;
|
||||||
last_read DATE;
|
last_read DATE;
|
||||||
BEGIN
|
BEGIN
|
||||||
SELECT (NOW() AT TIME ZONE 'America/Los_Angeles')::DATE INTO pacific_today;
|
SELECT (NOW() AT TIME ZONE 'America/Los_Angeles')::DATE INTO pacific_today;
|
||||||
SELECT COALESCE(last_read_date::DATE, pacific_today - INTERVAL '1 day') INTO last_read FROM reading_streak LIMIT 1;
|
SELECT COALESCE(last_read_date::DATE, pacific_today - INTERVAL '1 day') INTO last_read
|
||||||
|
FROM reading_streak
|
||||||
|
LIMIT 1;
|
||||||
IF last_read < pacific_today - INTERVAL '1 day' THEN
|
IF last_read < pacific_today - INTERVAL '1 day' THEN
|
||||||
UPDATE reading_streak
|
UPDATE reading_streak
|
||||||
SET days_read = 0, last_read_date = NOW() AT TIME ZONE 'America/Los_Angeles'
|
SET days_read = 1, last_read_date = pacific_today
|
||||||
WHERE id = 1;
|
WHERE id = 1;
|
||||||
END IF;
|
ELSIF last_read < pacific_today THEN
|
||||||
IF last_read IS DISTINCT FROM pacific_today THEN
|
|
||||||
UPDATE reading_streak
|
UPDATE reading_streak
|
||||||
SET days_read = days_read + 1, last_read_date = NOW() AT TIME ZONE 'America/Los_Angeles'
|
SET days_read = days_read + 1, last_read_date = pacific_today
|
||||||
WHERE id = 1;
|
WHERE id = 1;
|
||||||
END IF;
|
END IF;
|
||||||
RETURN NEW;
|
RETURN NEW;
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue