phoenix/backend/links.go

49 lines
895 B
Go
Raw Normal View History

2023-04-06 10:36:11 +05:00
package backend
import (
2023-04-06 10:37:48 +05:00
"gorm.io/gorm"
2023-04-06 10:36:11 +05:00
)
type Link struct {
2023-04-06 10:37:48 +05:00
ID uint64 `gorm:"primaryKey"`
2023-04-06 10:36:11 +05:00
Name string `gorm:"notNull"`
Href string `gorm:"notNull"`
2023-04-06 10:37:48 +05:00
GroupID uint64 `gorm:"notNull"`
2023-04-06 10:36:11 +05:00
}
func CreateLink(db *gorm.DB, linkName string, href string, groupID uint64) (Link, error) {
2023-04-06 10:37:48 +05:00
link := Link{
Name: linkName,
Href: href,
GroupID: groupID,
}
result := db.Create(&link)
if result.Error != nil {
return Link{}, result.Error
}
return link, nil
2023-04-06 10:36:11 +05:00
}
func UpdateLink(db *gorm.DB, id uint64, linkName string, href string) (Link, error) {
2023-04-06 10:37:48 +05:00
var link Link
db.First(&link, id)
2023-04-06 10:36:11 +05:00
2023-04-06 10:37:48 +05:00
link.Name = linkName
link.Href = href
result := db.Save(&link)
if result.Error != nil {
return Link{}, result.Error
}
2023-04-06 10:36:11 +05:00
2023-04-06 10:37:48 +05:00
return link, nil
2023-04-06 10:36:11 +05:00
}
func DeleteLink(db *gorm.DB, id uint64) error {
2023-04-06 10:37:48 +05:00
result := db.Delete(&Link{}, id)
if result.Error != nil {
return result.Error
}
return nil
2023-04-06 10:36:11 +05:00
}