From e32fa059e5929151887e5c926d10f003e34039fb Mon Sep 17 00:00:00 2001 From: Shizun Ge Date: Wed, 1 Jul 2020 22:11:36 -0500 Subject: [PATCH] Do not archive shared items --- storage/entry.go | 9 +++++---- 1 file changed, 5 insertions(+), 4 deletions(-) diff --git a/storage/entry.go b/storage/entry.go index bf9ed357..a30f4ee9 100644 --- a/storage/entry.go +++ b/storage/entry.go @@ -215,15 +215,16 @@ func (s *Storage) ArchiveEntries(days int) error { return nil } + before := time.Now().AddDate(0, 0, -days) query := ` UPDATE entries SET - status='removed' + status=$1 WHERE - id=ANY(SELECT id FROM entries WHERE status='read' AND starred is false AND published_at < now () - '%d days'::interval LIMIT 5000) + id=ANY(SELECT id FROM entries WHERE status=$2 AND starred is false AND share_code='' AND published_at < $3 LIMIT 5000) ` - if _, err := s.db.Exec(fmt.Sprintf(query, days)); err != nil { + if _, err := s.db.Exec(query, model.EntryStatusRemoved, model.EntryStatusRead, before); err != nil { return fmt.Errorf(`store: unable to archive read entries: %v`, err) } @@ -279,7 +280,7 @@ func (s *Storage) FlushHistory(userID int64) error { status=$1, changed_at=now() WHERE - user_id=$2 AND status=$3 AND starred='f' AND share_code='' + user_id=$2 AND status=$3 AND starred is false AND share_code='' ` _, err := s.db.Exec(query, model.EntryStatusRemoved, userID, model.EntryStatusRead) if err != nil {