add delete
This commit is contained in:
@@ -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{}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user