refactor notificationsForUser since xorm In support slice of customerize type (#956)

此提交包含在:
Lunny Xiao
2017-02-16 12:07:00 +08:00
提交者 GitHub
父節點 0642cb330c
當前提交 46320f9630
共有 3 個檔案被更改,包括 27 行新增14 行删除
+4 -7
查看文件
@@ -189,23 +189,20 @@ func NotificationsForUser(user *User, statuses []NotificationStatus, page, perPa
return notificationsForUser(x, user, statuses, page, perPage)
}
func notificationsForUser(e Engine, user *User, statuses []NotificationStatus, page, perPage int) (notifications []*Notification, err error) {
// FIXME: Xorm does not support aliases types (like NotificationStatus) on In() method
s := make([]uint8, len(statuses))
for i, status := range statuses {
s[i] = uint8(status)
if len(statuses) == 0 {
return
}
sess := e.
Where("user_id = ?", user.ID).
In("status", s).
In("status", statuses).
OrderBy("updated_unix DESC")
if page > 0 && perPage > 0 {
sess.Limit(perPage, (page-1)*perPage)
}
err = sess.
Find(&notifications)
err = sess.Find(&notifications)
return
}