mirror of
https://github.com/snowykami/neo-blog.git
synced 2025-09-06 01:06:22 +00:00
⚡ implement OIDC configuration management with CRUD operations, add admin routes, and enhance error handling
This commit is contained in:
55
internal/repo/label.go
Normal file
55
internal/repo/label.go
Normal file
@ -0,0 +1,55 @@
|
||||
package repo
|
||||
|
||||
import "github.com/snowykami/neo-blog/internal/model"
|
||||
|
||||
type labelRepo struct{}
|
||||
|
||||
var Label = &labelRepo{}
|
||||
|
||||
func (l *labelRepo) CreateLabel(key, value, color, tailwindClassName string) error {
|
||||
label := &model.Label{
|
||||
Key: key,
|
||||
Value: value,
|
||||
Color: color,
|
||||
TailwindClassName: tailwindClassName,
|
||||
}
|
||||
return GetDB().Create(label).Error
|
||||
}
|
||||
|
||||
func (l *labelRepo) GetLabelByKey(key string) (*model.Label, error) {
|
||||
var label model.Label
|
||||
if err := GetDB().Where("key = ?", key).First(&label).Error; err != nil {
|
||||
return nil, err
|
||||
}
|
||||
return &label, nil
|
||||
}
|
||||
|
||||
func (l *labelRepo) GetLabelByID(id uint) (*model.Label, error) {
|
||||
var label model.Label
|
||||
if err := GetDB().Where("id = ?", id).First(&label).Error; err != nil {
|
||||
return nil, err
|
||||
}
|
||||
return &label, nil
|
||||
}
|
||||
|
||||
func (l *labelRepo) ListLabels() ([]model.Label, error) {
|
||||
var labels []model.Label
|
||||
if err := GetDB().Find(&labels).Error; err != nil {
|
||||
return nil, err
|
||||
}
|
||||
return labels, nil
|
||||
}
|
||||
|
||||
func (l *labelRepo) UpdateLabel(label *model.Label) error {
|
||||
if err := GetDB().Save(label).Error; err != nil {
|
||||
return err
|
||||
}
|
||||
return nil
|
||||
}
|
||||
|
||||
func (l *labelRepo) DeleteLabel(id uint) error {
|
||||
if err := GetDB().Where("id = ?", id).Delete(&model.Label{}).Error; err != nil {
|
||||
return err
|
||||
}
|
||||
return nil
|
||||
}
|
Reference in New Issue
Block a user