diff --git a/pkg/models/app_settings.go b/pkg/models/app_settings.go index 558946d0277..f3b60502cb0 100644 --- a/pkg/models/app_settings.go +++ b/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 +} diff --git a/pkg/services/sqlstore/app_settings.go b/pkg/services/sqlstore/app_settings.go index e9bfbeaa73b..7d9482e7b22 100644 --- a/pkg/services/sqlstore/app_settings.go +++ b/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