MCPcopy Create free account
hub / github.com/aiprodcoder/MIXAPI / GetUserLogs

Function GetUserLogs

model/log.go:292–326  ·  view source on GitHub ↗
(userId int, logType int, startTimestamp int64, endTimestamp int64, modelName string, tokenName string, startIdx int, num int, group string)

Source from the content-addressed store, hash-verified

290}
291
292func GetUserLogs(userId int, logType int, startTimestamp int64, endTimestamp int64, modelName string, tokenName string, startIdx int, num int, group string) (logs []*Log, total int64, err error) {
293 var tx *gorm.DB
294 if logType == LogTypeUnknown {
295 tx = LOG_DB.Where("logs.user_id = ?", userId)
296 } else {
297 tx = LOG_DB.Where("logs.user_id = ? and logs.type = ?", userId, logType)
298 }
299
300 if modelName != "" {
301 tx = tx.Where("logs.model_name like ?", modelName)
302 }
303 if tokenName != "" {
304 tx = tx.Where("logs.token_name = ?", tokenName)
305 }
306 if startTimestamp != 0 {
307 tx = tx.Where("logs.created_at >= ?", startTimestamp)
308 }
309 if endTimestamp != 0 {
310 tx = tx.Where("logs.created_at <= ?", endTimestamp)
311 }
312 if group != "" {
313 tx = tx.Where("logs."+logGroupCol+" = ?", group)
314 }
315 err = tx.Model(&Log{}).Count(&total).Error
316 if err != nil {
317 return nil, 0, err
318 }
319 err = tx.Order("logs.id desc").Limit(num).Offset(startIdx).Find(&logs).Error
320 if err != nil {
321 return nil, 0, err
322 }
323
324 formatUserLogs(logs)
325 return logs, total, err
326}
327
328func SearchAllLogs(keyword string) (logs []*Log, err error) {
329 err = LOG_DB.Where("type = ? or content LIKE ?", keyword, keyword+"%").Order("id desc").Limit(common.MaxRecentItems).Find(&logs).Error

Callers 1

GetUserLogsFunction · 0.92

Calls 1

formatUserLogsFunction · 0.85

Tested by

no test coverage detected