|
|
@@ -38,7 +38,11 @@ func GetAllChannels(startIdx int, num int, selectAll bool) ([]*Channel, error) {
|
|
|
}
|
|
|
|
|
|
func SearchChannels(keyword string) (channels []*Channel, err error) {
|
|
|
- err = DB.Omit("key").Where("id = ? or name LIKE ? or `key` = ?", keyword, keyword+"%", keyword).Find(&channels).Error
|
|
|
+ keyCol := "`key`"
|
|
|
+ if common.UsingPostgreSQL {
|
|
|
+ keyCol = `"key"`
|
|
|
+ }
|
|
|
+ err = DB.Omit("key").Where("id = ? or name LIKE ? or "+keyCol+" = ?", common.String2Int(keyword), keyword+"%", keyword).Find(&channels).Error
|
|
|
return channels, err
|
|
|
}
|
|
|
|
|
|
@@ -53,17 +57,6 @@ func GetChannelById(id int, selectAll bool) (*Channel, error) {
|
|
|
return &channel, err
|
|
|
}
|
|
|
|
|
|
-func GetRandomChannel() (*Channel, error) {
|
|
|
- channel := Channel{}
|
|
|
- var err error = nil
|
|
|
- if common.UsingSQLite {
|
|
|
- err = DB.Where("status = ? and `group` = ?", common.ChannelStatusEnabled, "default").Order("RANDOM()").Limit(1).First(&channel).Error
|
|
|
- } else {
|
|
|
- err = DB.Where("status = ? and `group` = ?", common.ChannelStatusEnabled, "default").Order("RAND()").Limit(1).First(&channel).Error
|
|
|
- }
|
|
|
- return &channel, err
|
|
|
-}
|
|
|
-
|
|
|
func BatchInsertChannels(channels []Channel) error {
|
|
|
var err error
|
|
|
err = DB.Create(&channels).Error
|