| @@ -137,6 +137,7 @@ func init() { | |||||
| new(OfficialTag), | new(OfficialTag), | ||||
| new(OfficialTagRepos), | new(OfficialTagRepos), | ||||
| new(WechatBindLog), | new(WechatBindLog), | ||||
| new(SearchRecord), | |||||
| ) | ) | ||||
| tablesStatistic = append(tablesStatistic, | tablesStatistic = append(tablesStatistic, | ||||
| @@ -0,0 +1,32 @@ | |||||
| package models | |||||
| import ( | |||||
| "fmt" | |||||
| "code.gitea.io/gitea/modules/log" | |||||
| "code.gitea.io/gitea/modules/timeutil" | |||||
| ) | |||||
| type SearchRecord struct { | |||||
| ID int64 `xorm:"pk"` | |||||
| //user | |||||
| Keyword string `xorm:"NOT NULL"` | |||||
| // | |||||
| CreatedUnix timeutil.TimeStamp `xorm:"INDEX created"` | |||||
| } | |||||
| func SaveSearchKeywordToDb(keyword string) error { | |||||
| record := &SearchRecord{ | |||||
| Keyword: keyword, | |||||
| } | |||||
| sess := x.NewSession() | |||||
| defer sess.Close() | |||||
| re, err := sess.Insert(record) | |||||
| if err != nil { | |||||
| log.Info("insert error." + err.Error()) | |||||
| return err | |||||
| } | |||||
| log.Info("success to save db.re=" + fmt.Sprint((re))) | |||||
| return nil | |||||
| } | |||||
| @@ -52,7 +52,9 @@ func SearchApi(ctx *context.Context) { | |||||
| if PageSize <= 0 || PageSize > 200 { | if PageSize <= 0 || PageSize > 200 { | ||||
| PageSize = setting.UI.IssuePagingNum | PageSize = setting.UI.IssuePagingNum | ||||
| } | } | ||||
| if Key != "" { | |||||
| models.SaveSearchKeywordToDb(Key) | |||||
| } | |||||
| if TableName == "repository" { | if TableName == "repository" { | ||||
| if OnlySearchLabel { | if OnlySearchLabel { | ||||
| searchRepoByLabel(ctx, Key, Page, PageSize) | searchRepoByLabel(ctx, Key, Page, PageSize) | ||||