-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathReminder.sq
More file actions
83 lines (67 loc) · 2.05 KB
/
Reminder.sq
File metadata and controls
83 lines (67 loc) · 2.05 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
all:
SELECT id FROM reminder ORDER BY scheduledFor DESC, title ASC;
urgentReminders:
SELECT id FROM reminder WHERE
(scheduledFor <= strftime('%s','now', 'utc') OR scheduledFor <= strftime('%s', 'now', '+48 hours'))
AND acknowledged = 0
ORDER BY scheduledFor ASC, created DESC;
upcomingReminders:
SELECT id FROM reminder WHERE
(scheduledFor > (strftime('%s', 'now', '+48 hours'))) AND acknowledged = 0
ORDER BY scheduledFor ASC, created DESC;
pastReminders:
SELECT id FROM reminder WHERE acknowledged = 1 ORDER BY scheduledFor DESC, created DESC;
upsert:
INSERT INTO reminder (id, title, description, scheduledFor, created, lastModified, notificationId) VALUES (
:id,
:title,
:description,
:scheduledFor,
:created,
:lastModified,
:notificationId
) ON CONFLICT (id) DO UPDATE SET
title = :title,
description = :description,
scheduledFor = :scheduledFor,
notificationId = :notificationId,
lastModified = :lastModified;
delete:
DELETE FROM reminder WHERE id = :reminderId;
tagLetter:
INSERT INTO letterToReminder (letterId, reminderId) VALUES (
:letterId, :reminderId
);
untagLetter:
DELETE FROM letterToReminder WHERE letterId = :letterId AND reminderId = :reminderId;
largestNotificationId:
SELECT MAX(notificationId) FROM reminder LIMIT 1;
reminder:
SELECT * FROM reminder WHERE id = ?;
reminderDetail:
SELECT
*,
GROUP_CONCAT(letterToReminder.letterId) AS letterIds
FROM reminder
LEFT JOIN letterToReminder ON reminderId = reminder.id
WHERE id = :reminderId
GROUP BY reminder.id;
reminderInfo:
SELECT
id,
title,
description,
scheduledFor,
acknowledged,
created
FROM reminder WHERE id = :reminderId;
acknowledgeReminder:
UPDATE reminder SET acknowledged = 1 WHERE id = :reminderId;
notificationId:
SELECT notificationId FROM reminder WHERE id = :reminderId;
remindersForLetter:
SELECT reminderId FROM letterToReminder WHERE letterId = ?;
lettersForReminder:
SELECT letterId FROM letterToReminder WHERE reminderId = ?;
unacknowledgedReminders:
SELECT * FROM reminder WHERE acknowledged = 0;