From 864aa5695ac91b77a2d15f199997047e7fa5bb46 Mon Sep 17 00:00:00 2001 From: daru Date: Sat, 28 May 2022 14:14:44 +0200 Subject: [PATCH] Clear appointments on anime delete --- nuss.go | 15 +++++++++++++++ 1 file changed, 15 insertions(+) diff --git a/nuss.go b/nuss.go index 5cbc4ce..556d668 100644 --- a/nuss.go +++ b/nuss.go @@ -257,6 +257,21 @@ func DeleteUserFromAppointment(username string, animeId int64, meeting time.Time } func DeleteAnime(tx *nutsdb.Tx, keyBytes []byte) error { + // clear appointments + appoints, err := tx.GetAll(bucketAppoint) + if err == nil { + animeId, err := BytesToInt64(keyBytes) + if err == nil { + for _, e := range appoints { + // decode appointment list + dbAnimeId, _, err := BytesToInt64AndDate(e.Key) + if err == nil && dbAnimeId == animeId { + tx.Delete(bucketAppoint, e.Key) + } + } + } + } + tx.Delete(bucketChat, keyBytes) return tx.Delete(bucketAnime, keyBytes) }