Compare commits
No commits in common. "6782362af1eb81060107ce4f05ab2f25c2377ccc" and "d89d63803f8dda494ae63347348cb05234660a06" have entirely different histories.
6782362af1
...
d89d63803f
@ -44,8 +44,6 @@ func (ntfy NTFY) Send(uuid string, msg []byte) (err error) {
|
||||
|
||||
ackURL := fmt.Sprintf("http, OK, %s/notification/ack?uuid=%s", ntfy.AcknowledgeURL, uuid)
|
||||
req.Header.Add("X-Actions", ackURL)
|
||||
req.Header.Add("X-Priority", "5")
|
||||
req.Header.Add("X-Tags", "calendar")
|
||||
|
||||
res, err = http.DefaultClient.Do(req)
|
||||
if err != nil {
|
||||
|
32
schedule.go
32
schedule.go
@ -8,7 +8,6 @@ import (
|
||||
"encoding/json"
|
||||
"fmt"
|
||||
"regexp"
|
||||
"strconv"
|
||||
"strings"
|
||||
"time"
|
||||
)
|
||||
@ -23,7 +22,6 @@ type Schedule struct {
|
||||
Node Node
|
||||
ScheduleUUID string `db:"schedule_uuid"`
|
||||
Time time.Time
|
||||
RemindMinutes int `db:"remind_minutes"`
|
||||
Description string
|
||||
Acknowledged bool
|
||||
}
|
||||
@ -31,7 +29,7 @@ type Schedule struct {
|
||||
func ScanForSchedules(timeOffset int, content string) (schedules []Schedule) {// {{{
|
||||
schedules = []Schedule{}
|
||||
|
||||
rxp := regexp.MustCompile(`\{\s*([0-9]{4}-[0-9]{2}-[0-9]{2}\s+[0-9]{2}:[0-9]{2}(?::[0-9]{2})?)\s*\,\s*(?:(\d+)\s*(h|min)\s*,)?\s*([^\]]+?)\s*\}`)
|
||||
rxp := regexp.MustCompile(`\{\s*([0-9]{4}-[0-9]{2}-[0-9]{2}\s+[0-9]{2}:[0-9]{2}(?::[0-9]{2})?)\s*\,\s*([^\]]+?)\s*\}`)
|
||||
foundSchedules := rxp.FindAllStringSubmatch(content, -1)
|
||||
|
||||
for _, data := range foundSchedules {
|
||||
@ -40,7 +38,6 @@ func ScanForSchedules(timeOffset int, content string) (schedules []Schedule) { /
|
||||
data[1] = data[1] + ":00"
|
||||
}
|
||||
|
||||
// Timezone calculations
|
||||
var timeTZ string
|
||||
if timeOffset < 0 {
|
||||
hours := (-timeOffset) / 60
|
||||
@ -57,23 +54,9 @@ func ScanForSchedules(timeOffset int, content string) (schedules []Schedule) { /
|
||||
continue
|
||||
}
|
||||
|
||||
// Reminder
|
||||
var remindMinutes int
|
||||
if data[2] != "" && data[3] != "" {
|
||||
value, _ := strconv.Atoi(data[2])
|
||||
unit := strings.ToLower(data[3])
|
||||
switch unit {
|
||||
case "min":
|
||||
remindMinutes = value
|
||||
case "h":
|
||||
remindMinutes = value * 60
|
||||
}
|
||||
}
|
||||
|
||||
schedule := Schedule{
|
||||
Time: timestamp,
|
||||
RemindMinutes: remindMinutes,
|
||||
Description: data[4],
|
||||
Description: data[2],
|
||||
}
|
||||
schedules = append(schedules, schedule)
|
||||
}
|
||||
@ -90,7 +73,7 @@ func RetrieveSchedules(userID int, nodeID int) (schedules []Schedule, err error)
|
||||
user_id,
|
||||
json_build_object('id', node_id) AS node,
|
||||
schedule_uuid,
|
||||
time - MAKE_INTERVAL(mins => remind_minutes) AS time,
|
||||
time,
|
||||
description,
|
||||
acknowledged
|
||||
FROM schedule
|
||||
@ -127,14 +110,13 @@ func (a Schedule) IsEqual(b Schedule) bool { // {{{
|
||||
}// }}}
|
||||
func (s *Schedule) Insert(queryable Queryable) error {// {{{
|
||||
res := queryable.QueryRow(`
|
||||
INSERT INTO schedule(user_id, node_id, time, remind_minutes, description)
|
||||
VALUES($1, $2, $3, $4, $5)
|
||||
INSERT INTO schedule(user_id, node_id, time, description)
|
||||
VALUES($1, $2, $3, $4)
|
||||
RETURNING id
|
||||
`,
|
||||
s.UserID,
|
||||
s.Node.ID,
|
||||
s.Time,
|
||||
s.RemindMinutes,
|
||||
s.Description,
|
||||
)
|
||||
|
||||
@ -162,11 +144,11 @@ func ExpiredSchedules() (schedules []Schedule) { // {{{
|
||||
user_id,
|
||||
node_id,
|
||||
schedule_uuid,
|
||||
time - MAKE_INTERVAL(mins => remind_minutes) AS time,
|
||||
time,
|
||||
description
|
||||
FROM schedule
|
||||
WHERE
|
||||
(time - MAKE_INTERVAL(mins => remind_minutes)) < NOW() AND
|
||||
time < NOW() AND
|
||||
NOT acknowledged
|
||||
ORDER BY
|
||||
time ASC
|
||||
|
@ -1 +0,0 @@
|
||||
ALTER TABLE public.schedule ADD COLUMN remind_minutes int NOT NULL DEFAULT 0;
|
Loading…
Reference in New Issue
Block a user