app_plugin.go 1006 B

12345678910111213141516171819202122232425262728293031323334353637383940414243444546
  1. package sqlstore
  2. import (
  3. "time"
  4. "github.com/grafana/grafana/pkg/bus"
  5. m "github.com/grafana/grafana/pkg/models"
  6. )
  7. func init() {
  8. bus.AddHandler("sql", GetAppPlugins)
  9. bus.AddHandler("sql", UpdateAppPlugin)
  10. }
  11. func GetAppPlugins(query *m.GetAppPluginsQuery) error {
  12. sess := x.Where("org_id=?", query.OrgId)
  13. query.Result = make([]*m.AppPlugin, 0)
  14. return sess.Find(&query.Result)
  15. }
  16. func UpdateAppPlugin(cmd *m.UpdateAppPluginCmd) error {
  17. return inTransaction2(func(sess *session) error {
  18. var app m.AppPlugin
  19. exists, err := sess.Where("org_id=? and type=?", cmd.OrgId, cmd.Type).Get(&app)
  20. sess.UseBool("enabled")
  21. if !exists {
  22. app = m.AppPlugin{
  23. Type: cmd.Type,
  24. OrgId: cmd.OrgId,
  25. Enabled: cmd.Enabled,
  26. JsonData: cmd.JsonData,
  27. Created: time.Now(),
  28. Updated: time.Now(),
  29. }
  30. _, err = sess.Insert(&app)
  31. return err
  32. } else {
  33. app.Enabled = cmd.Enabled
  34. app.JsonData = cmd.JsonData
  35. _, err = sess.Id(app.Id).Update(&app)
  36. return err
  37. }
  38. })
  39. }