Merge pull request #2247 from feitianbubu/pr/channel-omit-key

feat: channel by tag omit key
This commit is contained in:
Seefs
2025-11-19 19:38:59 +08:00
committed by GitHub
2 changed files with 10 additions and 6 deletions

View File

@@ -92,7 +92,7 @@ func GetAllChannels(c *gin.Context) {
if tag == nil || *tag == "" { if tag == nil || *tag == "" {
continue continue
} }
tagChannels, err := model.GetChannelsByTag(*tag, idSort) tagChannels, err := model.GetChannelsByTag(*tag, idSort, false)
if err != nil { if err != nil {
continue continue
} }
@@ -278,7 +278,7 @@ func SearchChannels(c *gin.Context) {
} }
for _, tag := range tags { for _, tag := range tags {
if tag != nil && *tag != "" { if tag != nil && *tag != "" {
tagChannel, err := model.GetChannelsByTag(*tag, idSort) tagChannel, err := model.GetChannelsByTag(*tag, idSort, false)
if err == nil { if err == nil {
channelData = append(channelData, tagChannel...) channelData = append(channelData, tagChannel...)
} }
@@ -1028,7 +1028,7 @@ func GetTagModels(c *gin.Context) {
return return
} }
channels, err := model.GetChannelsByTag(tag, false) // Assuming false for idSort is fine here channels, err := model.GetChannelsByTag(tag, false, false) // idSort=false, selectAll=false
if err != nil { if err != nil {
c.JSON(http.StatusInternalServerError, gin.H{ c.JSON(http.StatusInternalServerError, gin.H{
"success": false, "success": false,

View File

@@ -272,13 +272,17 @@ func GetAllChannels(startIdx int, num int, selectAll bool, idSort bool) ([]*Chan
return channels, err return channels, err
} }
func GetChannelsByTag(tag string, idSort bool) ([]*Channel, error) { func GetChannelsByTag(tag string, idSort bool, selectAll bool) ([]*Channel, error) {
var channels []*Channel var channels []*Channel
order := "priority desc" order := "priority desc"
if idSort { if idSort {
order = "id desc" order = "id desc"
} }
err := DB.Where("tag = ?", tag).Order(order).Find(&channels).Error query := DB.Where("tag = ?", tag).Order(order)
if !selectAll {
query = query.Omit("key")
}
err := query.Find(&channels).Error
return channels, err return channels, err
} }
@@ -728,7 +732,7 @@ func EditChannelByTag(tag string, newTag *string, modelMapping *string, models *
return err return err
} }
if shouldReCreateAbilities { if shouldReCreateAbilities {
channels, err := GetChannelsByTag(updatedTag, false) channels, err := GetChannelsByTag(updatedTag, false, false)
if err == nil { if err == nil {
for _, channel := range channels { for _, channel := range channels {
err = channel.UpdateAbilities(nil) err = channel.UpdateAbilities(nil)