Chore: Move dashboard models to dashboard pkg (#61458)

* Copy dashboard models to dashboard pkg

* Use some models from current pkg instead of models

* Adjust api pkg

* Adjust pkg services

* Fix lint
This commit is contained in:
idafurjes
2023-01-16 16:33:55 +01:00
committed by GitHub
parent 07bbc0716c
commit 7c2522c477
83 changed files with 1770 additions and 1444 deletions
+10 -10
View File
@@ -106,17 +106,17 @@ func (s *ImportDashboardService) ImportDashboard(ctx context.Context, req *dashb
req.FolderUid = folder.UID
}
saveCmd := models.SaveDashboardCommand{
saveCmd := dashboards.SaveDashboardCommand{
Dashboard: generatedDash,
OrgId: req.User.OrgID,
UserId: req.User.UserID,
OrgID: req.User.OrgID,
UserID: req.User.UserID,
Overwrite: req.Overwrite,
PluginId: req.PluginId,
FolderId: req.FolderId,
PluginID: req.PluginId,
FolderID: req.FolderId,
}
dto := &dashboards.SaveDashboardDTO{
OrgId: saveCmd.OrgId,
OrgID: saveCmd.OrgID,
Dashboard: saveCmd.GetDashboardModel(),
Overwrite: saveCmd.Overwrite,
User: req.User,
@@ -138,18 +138,18 @@ func (s *ImportDashboardService) ImportDashboard(ctx context.Context, req *dashb
}
return &dashboardimport.ImportDashboardResponse{
UID: savedDashboard.Uid,
UID: savedDashboard.UID,
PluginId: req.PluginId,
Title: savedDashboard.Title,
Path: req.Path,
Revision: savedDashboard.Data.Get("revision").MustInt64(1),
FolderId: savedDashboard.FolderId,
FolderId: savedDashboard.FolderID,
FolderUID: req.FolderUid,
ImportedUri: "db/" + savedDashboard.Slug,
ImportedUrl: savedDashboard.GetUrl(),
ImportedUrl: savedDashboard.GetURL(),
ImportedRevision: savedDashboard.Data.Get("revision").MustInt64(1),
Imported: true,
DashboardId: savedDashboard.Id,
DashboardId: savedDashboard.ID,
Slug: savedDashboard.Slug,
}, nil
}
@@ -27,16 +27,16 @@ func TestImportDashboardService(t *testing.T) {
var importDashboardArg *dashboards.SaveDashboardDTO
dashboardService := &dashboardServiceMock{
importDashboardFunc: func(ctx context.Context, dto *dashboards.SaveDashboardDTO) (*models.Dashboard, error) {
importDashboardFunc: func(ctx context.Context, dto *dashboards.SaveDashboardDTO) (*dashboards.Dashboard, error) {
importDashboardArg = dto
return &models.Dashboard{
Id: 4,
Uid: dto.Dashboard.Uid,
return &dashboards.Dashboard{
ID: 4,
UID: dto.Dashboard.UID,
Slug: dto.Dashboard.Slug,
OrgId: 3,
OrgID: 3,
Version: dto.Dashboard.Version,
PluginId: "prometheus",
FolderId: dto.Dashboard.FolderId,
PluginID: "prometheus",
FolderID: dto.Dashboard.FolderID,
Title: dto.Dashboard.Title,
Data: dto.Dashboard.Data,
}, nil
@@ -50,7 +50,7 @@ func TestImportDashboardService(t *testing.T) {
importLibraryPanelsForDashboard = true
return nil
},
connectLibraryPanelsForDashboardFunc: func(ctx context.Context, signedInUser *user.SignedInUser, dash *models.Dashboard) error {
connectLibraryPanelsForDashboardFunc: func(ctx context.Context, signedInUser *user.SignedInUser, dash *dashboards.Dashboard) error {
connectLibraryPanelsForDashboardCalled = true
return nil
},
@@ -84,10 +84,10 @@ func TestImportDashboardService(t *testing.T) {
require.Equal(t, "UDdpyzz7z", resp.UID)
require.NotNil(t, importDashboardArg)
require.Equal(t, int64(3), importDashboardArg.OrgId)
require.Equal(t, int64(3), importDashboardArg.OrgID)
require.Equal(t, int64(2), importDashboardArg.User.UserID)
require.Equal(t, "prometheus", importDashboardArg.Dashboard.PluginId)
require.Equal(t, int64(5), importDashboardArg.Dashboard.FolderId)
require.Equal(t, "prometheus", importDashboardArg.Dashboard.PluginID)
require.Equal(t, int64(5), importDashboardArg.Dashboard.FolderID)
panel := importDashboardArg.Dashboard.Data.Get("panels").GetIndex(0)
require.Equal(t, "prom", panel.Get("datasource").MustString())
@@ -99,16 +99,16 @@ func TestImportDashboardService(t *testing.T) {
t.Run("When importing a non-plugin dashboard should save dashboard and sync library panels", func(t *testing.T) {
var importDashboardArg *dashboards.SaveDashboardDTO
dashboardService := &dashboardServiceMock{
importDashboardFunc: func(ctx context.Context, dto *dashboards.SaveDashboardDTO) (*models.Dashboard, error) {
importDashboardFunc: func(ctx context.Context, dto *dashboards.SaveDashboardDTO) (*dashboards.Dashboard, error) {
importDashboardArg = dto
return &models.Dashboard{
Id: 4,
Uid: dto.Dashboard.Uid,
return &dashboards.Dashboard{
ID: 4,
UID: dto.Dashboard.UID,
Slug: dto.Dashboard.Slug,
OrgId: 3,
OrgID: 3,
Version: dto.Dashboard.Version,
PluginId: "prometheus",
FolderId: dto.Dashboard.FolderId,
PluginID: "prometheus",
FolderID: dto.Dashboard.FolderID,
Title: dto.Dashboard.Title,
Data: dto.Dashboard.Data,
}, nil
@@ -148,10 +148,10 @@ func TestImportDashboardService(t *testing.T) {
require.Equal(t, "UDdpyzz7z", resp.UID)
require.NotNil(t, importDashboardArg)
require.Equal(t, int64(3), importDashboardArg.OrgId)
require.Equal(t, int64(3), importDashboardArg.OrgID)
require.Equal(t, int64(2), importDashboardArg.User.UserID)
require.Equal(t, "", importDashboardArg.Dashboard.PluginId)
require.Equal(t, int64(5), importDashboardArg.Dashboard.FolderId)
require.Equal(t, "", importDashboardArg.Dashboard.PluginID)
require.Equal(t, int64(5), importDashboardArg.Dashboard.FolderID)
panel := importDashboardArg.Dashboard.Data.Get("panels").GetIndex(0)
require.Equal(t, "prom", panel.Get("datasource").MustString())
@@ -191,10 +191,10 @@ func (m *pluginDashboardServiceMock) LoadPluginDashboard(ctx context.Context, re
type dashboardServiceMock struct {
dashboards.DashboardService
importDashboardFunc func(ctx context.Context, dto *dashboards.SaveDashboardDTO) (*models.Dashboard, error)
importDashboardFunc func(ctx context.Context, dto *dashboards.SaveDashboardDTO) (*dashboards.Dashboard, error)
}
func (s *dashboardServiceMock) ImportDashboard(ctx context.Context, dto *dashboards.SaveDashboardDTO) (*models.Dashboard, error) {
func (s *dashboardServiceMock) ImportDashboard(ctx context.Context, dto *dashboards.SaveDashboardDTO) (*dashboards.Dashboard, error) {
if s.importDashboardFunc != nil {
return s.importDashboardFunc(ctx, dto)
}
@@ -204,11 +204,11 @@ func (s *dashboardServiceMock) ImportDashboard(ctx context.Context, dto *dashboa
type libraryPanelServiceMock struct {
librarypanels.Service
connectLibraryPanelsForDashboardFunc func(c context.Context, signedInUser *user.SignedInUser, dash *models.Dashboard) error
connectLibraryPanelsForDashboardFunc func(c context.Context, signedInUser *user.SignedInUser, dash *dashboards.Dashboard) error
importLibraryPanelsForDashboardFunc func(c context.Context, signedInUser *user.SignedInUser, libraryPanels *simplejson.Json, panels []interface{}, folderID int64) error
}
func (s *libraryPanelServiceMock) ConnectLibraryPanelsForDashboard(ctx context.Context, signedInUser *user.SignedInUser, dash *models.Dashboard) error {
func (s *libraryPanelServiceMock) ConnectLibraryPanelsForDashboard(ctx context.Context, signedInUser *user.SignedInUser, dash *dashboards.Dashboard) error {
if s.connectLibraryPanelsForDashboardFunc != nil {
return s.connectLibraryPanelsForDashboardFunc(ctx, signedInUser, dash)
}