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) }