55 lines
1.0 KiB
Go
55 lines
1.0 KiB
Go
package things
|
|
|
|
import (
|
|
"log"
|
|
"wails-template/model"
|
|
|
|
"gorm.io/gorm"
|
|
)
|
|
|
|
type Service struct {
|
|
DB *gorm.DB
|
|
}
|
|
|
|
func (s *Service) NewThing(name string) {
|
|
if err := s.DB.Save(&model.Thing{Name: name}).Error; err != nil {
|
|
log.Fatal(err)
|
|
}
|
|
|
|
print(name)
|
|
}
|
|
|
|
func (s *Service) GetThings() (things []model.Thing) {
|
|
if err := s.DB.Find(&things).Error; err != nil {
|
|
log.Fatal(err)
|
|
}
|
|
return things
|
|
}
|
|
|
|
func (s *Service) DeleteThing(id int) {
|
|
if err := s.DB.Delete(model.Thing{}, id).Error; err != nil {
|
|
log.Fatal(err)
|
|
}
|
|
}
|
|
|
|
func (s *Service) GetSubThings(thingID int) (subthings []model.SubThing) {
|
|
if err := s.DB.Where("thing_id = ?", thingID).Find(&subthings).Error; err != nil {
|
|
log.Fatal(err)
|
|
}
|
|
return
|
|
}
|
|
func (s *Service) AddSubThing(thingID int, name string) {
|
|
if err := s.DB.Save(&model.SubThing{
|
|
ThingID: thingID,
|
|
Name: name,
|
|
}).Error; err != nil {
|
|
log.Fatal(err)
|
|
}
|
|
}
|
|
|
|
func (s *Service) DeleteSubThing(id int) {
|
|
if err := s.DB.Delete(model.SubThing{}, id).Error; err != nil {
|
|
log.Fatal(err)
|
|
}
|
|
}
|