mirror of
https://github.com/wgh136/nysoure.git
synced 2025-09-27 12:17:24 +00:00
Add tags page.
This commit is contained in:
@@ -56,6 +56,10 @@ func CreateResource(uid uint, params *ResourceCreateParams) (uint, error) {
|
||||
if r, err = dao.CreateResource(r); err != nil {
|
||||
return 0, err
|
||||
}
|
||||
err = updateCachedTagList()
|
||||
if err != nil {
|
||||
log.Error("Error updating cached tag list:", err)
|
||||
}
|
||||
return r.ID, nil
|
||||
}
|
||||
|
||||
@@ -169,6 +173,10 @@ func DeleteResource(uid, id uint) error {
|
||||
if err := dao.DeleteResource(id); err != nil {
|
||||
return err
|
||||
}
|
||||
err = updateCachedTagList()
|
||||
if err != nil {
|
||||
log.Error("Error updating cached tag list:", err)
|
||||
}
|
||||
return nil
|
||||
}
|
||||
|
||||
@@ -241,5 +249,9 @@ func EditResource(uid, rid uint, params *ResourceCreateParams) error {
|
||||
log.Error("UpdateResource error: ", err)
|
||||
return model.NewInternalServerError("Failed to update resource")
|
||||
}
|
||||
err = updateCachedTagList()
|
||||
if err != nil {
|
||||
log.Error("Error updating cached tag list:", err)
|
||||
}
|
||||
return nil
|
||||
}
|
||||
|
@@ -19,6 +19,10 @@ func CreateTag(uid uint, name string) (*model.TagView, error) {
|
||||
if err != nil {
|
||||
return nil, err
|
||||
}
|
||||
err = updateCachedTagList()
|
||||
if err != nil {
|
||||
log.Error("Error updating cached tag list:", err)
|
||||
}
|
||||
return t.ToView(), nil
|
||||
}
|
||||
|
||||
@@ -63,6 +67,10 @@ func SearchTag(name string, mainTag bool) ([]model.TagView, error) {
|
||||
}
|
||||
|
||||
func DeleteTag(id uint) error {
|
||||
err := updateCachedTagList()
|
||||
if err != nil {
|
||||
log.Error("Error updating cached tag list:", err)
|
||||
}
|
||||
return dao.DeleteTag(id)
|
||||
}
|
||||
|
||||
@@ -88,5 +96,36 @@ func SetTagInfo(uid uint, id uint, description string, aliasOf *uint, tagType st
|
||||
return nil, err
|
||||
}
|
||||
}
|
||||
err = updateCachedTagList()
|
||||
if err != nil {
|
||||
log.Error("Error updating cached tag list:", err)
|
||||
}
|
||||
return t.ToView(), nil
|
||||
}
|
||||
|
||||
var cachedTagList []model.TagViewWithCount
|
||||
|
||||
func updateCachedTagList() error {
|
||||
tags, err := dao.ListTags()
|
||||
if err != nil {
|
||||
return err
|
||||
}
|
||||
cachedTagList = make([]model.TagViewWithCount, 0, len(tags))
|
||||
for _, tag := range tags {
|
||||
count, err := dao.CountResourcesByTag(tag.ID)
|
||||
if err != nil {
|
||||
return err
|
||||
}
|
||||
cachedTagList = append(cachedTagList, *tag.ToView().WithCount(int(count)))
|
||||
}
|
||||
return nil
|
||||
}
|
||||
|
||||
func GetTagList() ([]model.TagViewWithCount, error) {
|
||||
if cachedTagList == nil {
|
||||
if err := updateCachedTagList(); err != nil {
|
||||
return nil, err
|
||||
}
|
||||
}
|
||||
return cachedTagList, nil
|
||||
}
|
||||
|
Reference in New Issue
Block a user