Small progress, save search works

This commit is contained in:
Torkel Ödegaard 2014-11-20 13:02:25 +01:00
parent eb2c078898
commit 00b4d233cc
3 changed files with 28 additions and 1 deletions

View File

@ -54,6 +54,15 @@ func Search(c *middleware.Context) {
c.JSON(200, results)
}
func convertToStringArray(arr []interface{}) []string {
b := make([]string, len(arr))
for i := range arr {
b[i] = arr[i].(string)
}
return b
}
func PostDashboard(c *middleware.Context) {
var command apimodel.SaveDashboardCommand
@ -66,6 +75,7 @@ func PostDashboard(c *middleware.Context) {
dashboard.Data = command.Dashboard
dashboard.Title = dashboard.Data["title"].(string)
dashboard.AccountId = c.GetAccountId()
dashboard.Tags = convertToStringArray(dashboard.Data["tags"].([]interface{}))
dashboard.UpdateSlug()
if dashboard.Data["id"] != nil {

View File

@ -34,6 +34,7 @@ func Init() {
models.GetAccountByLogin = GetAccountByLogin
models.GetDashboard = GetDashboard
models.SaveDashboard = SaveDashboard
models.SearchQuery = SearchQuery
}
func LoadModelsConfig() {

View File

@ -14,7 +14,13 @@ func SaveDashboard(dash *models.Dashboard) error {
return err
}
if _, err = sess.Insert(dash); err != nil {
if dash.Id == 0 {
_, err = sess.Insert(dash)
} else {
_, err = sess.Update(dash)
}
if err != nil {
sess.Rollback()
return err
} else if err = sess.Commit(); err != nil {
@ -36,3 +42,13 @@ func GetDashboard(slug string, accountId int64) (*models.Dashboard, error) {
return &dashboard, nil
}
func SearchQuery(query string, accountId int64) ([]*models.SearchResult, error) {
sess := x.Limit(100, 0).Where("account_id=?", accountId)
sess.Table("Dashboard")
var results []*models.SearchResult
err := sess.Find(&results)
return results, err
}