Procházet zdrojové kódy

Do not archive shared items

Shizun Ge před 5 roky
rodič
revize
e32fa059e5
1 změnil soubory, kde provedl 5 přidání a 4 odebrání
  1. 5 4
      storage/entry.go

+ 5 - 4
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 {