Просмотр исходного кода

add support for fetching appSettings by appId

Anthony Woods 10 лет назад
Родитель
Сommit
423eca6e7d
2 измененных файлов с 27 добавлено и 1 удалено
  1. 14 1
      pkg/models/app_settings.go
  2. 13 0
      pkg/services/sqlstore/app_settings.go

+ 14 - 1
pkg/models/app_settings.go

@@ -1,6 +1,13 @@
 package models
 
-import "time"
+import (
+	"errors"
+	"time"
+)
+
+var (
+	ErrAppSettingNotFound = errors.New("AppSetting not found")
+)
 
 type AppSettings struct {
 	Id       int64
@@ -33,3 +40,9 @@ type GetAppSettingsQuery struct {
 	OrgId  int64
 	Result []*AppSettings
 }
+
+type GetAppSettingByAppIdQuery struct {
+	AppId  string
+	OrgId  int64
+	Result *AppSettings
+}

+ 13 - 0
pkg/services/sqlstore/app_settings.go

@@ -9,6 +9,7 @@ import (
 
 func init() {
 	bus.AddHandler("sql", GetAppSettings)
+	bus.AddHandler("sql", GetAppSettingByAppId)
 	bus.AddHandler("sql", UpdateAppSettings)
 }
 
@@ -19,6 +20,18 @@ func GetAppSettings(query *m.GetAppSettingsQuery) error {
 	return sess.Find(&query.Result)
 }
 
+func GetAppSettingByAppId(query *m.GetAppSettingByAppIdQuery) error {
+	appSetting := m.AppSettings{OrgId: query.OrgId, AppId: query.AppId}
+	has, err := x.Get(&appSetting)
+	if err != nil {
+		return err
+	} else if has == false {
+		return m.ErrAppSettingNotFound
+	}
+	query.Result = &appSetting
+	return nil
+}
+
 func UpdateAppSettings(cmd *m.UpdateAppSettingsCmd) error {
 	return inTransaction2(func(sess *session) error {
 		var app m.AppSettings