mirror of
https://github.com/snowykami/neo-blog.git
synced 2025-09-26 19:16:24 +00:00
All checks were successful
Push to Helm Chart Repository / build (push) Successful in 9s
fix: Update Gravatar URL size and improve avatar rendering logic style: Adjust footer margin for better layout consistency refactor: Remove old navbar component and integrate new layout structure feat: Enhance user profile page with user header component chore: Remove unused user profile component fix: Update posts per page configuration for better pagination feat: Extend device context to support system theme mode refactor: Remove unused device hook fix: Improve storage state hook for better error handling i18n: Add new translations for blog home page feat: Implement pagination component for better navigation feat: Create theme toggle component for improved user experience feat: Introduce responsive navbar or side layout with theme toggle feat: Develop custom select component for better UI consistency feat: Create user header component to display user information chore: Add query key constants for better code maintainability
70 lines
1.6 KiB
Go
70 lines
1.6 KiB
Go
package repo
|
|
|
|
import "github.com/snowykami/neo-blog/internal/model"
|
|
|
|
type labelRepo struct{}
|
|
|
|
var Label = &labelRepo{}
|
|
|
|
func (l *labelRepo) CreateLabel(label *model.Label) error {
|
|
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) GetLabelByValue(value string) (*model.Label, error) {
|
|
var label model.Label
|
|
if err := GetDB().Where("value = ?", value).First(&label).Error; err != nil {
|
|
return nil, err
|
|
}
|
|
return &label, nil
|
|
}
|
|
|
|
func (l *labelRepo) GetLabelByKeyAndValue(key, value string) (*model.Label, error) {
|
|
var label model.Label
|
|
query := GetDB().Where("key = ?", key)
|
|
if value != "" {
|
|
query = query.Where("value = ?", value)
|
|
}
|
|
if err := GetDB().Where(query).First(&label).Error; err != nil {
|
|
return nil, err
|
|
}
|
|
return &label, nil
|
|
}
|
|
|
|
func (l *labelRepo) GetLabelByID(id string) (*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 string) error {
|
|
if err := GetDB().Where("id = ?", id).Delete(&model.Label{}).Error; err != nil {
|
|
return err
|
|
}
|
|
return nil
|
|
}
|