add delete

This commit is contained in:
2023-06-24 13:03:58 -04:00
parent a64fcfb096
commit 99182e5cda
6 changed files with 203 additions and 19 deletions

View File

@@ -1,6 +1,7 @@
package service
import (
"errors"
"math/rand"
"gorm.io/gorm"
@@ -21,6 +22,45 @@ func GetRandomDadJoke(db *gorm.DB) (string, error) {
return randomElement.JOKE, err
}
func PostDadJoke(db *gorm.DB, joke model.DadJoke) error {
jokes, err := getDadJokes(db)
if err != nil {
return err
}
found := false
for _, i := range jokes {
if i.JOKE == joke.JOKE {
found = true
break
}
}
if found {
return errors.New("Joke is already in database")
} else {
err = db.Create(&joke).Error
if err != nil {
return err
}
return nil
}
}
func DeleteDadJoke(db *gorm.DB, joke model.DadJoke) error {
check := &model.DadJoke{}
db.Where("joke = ?", joke.JOKE).First(check)
if check.JOKE == "" {
return errors.New("Joke does not exist")
}
err := db.Where("joke = ?", joke.JOKE).Delete(joke).Error
if err != nil {
return err
}
return nil
}
func getDadJokes(db *gorm.DB) ([]model.DadJoke, error) {
req := []model.DadJoke{}