refactor(grafana): replace dashboard info with import compatible layout

This commit is contained in:
Tom Neuber 2024-07-27 18:53:38 +02:00
parent 4aad919153
commit 577f821b9d
Signed by: tom
GPG key ID: F17EFE4272D89FF6
8 changed files with 173 additions and 110 deletions

View file

@ -15,41 +15,41 @@ func DashboardCreateResponseFromSchema(source schema.DashboardCreateResponse) *D
}
}
func DashboardMetaFromSchema(source schema.DashboardMeta) *DashboardMeta {
return &DashboardMeta{
IsStarred: source.IsStarred,
Type: source.Type,
CanSave: source.CanSave,
CanEdit: source.CanEdit,
CanAdmin: source.CanAdmin,
CanStar: source.CanStar,
CanDelete: source.CanDelete,
Slug: source.Slug,
URL: source.URL,
Expires: source.Expires,
Created: source.Created,
Updated: source.Updated,
UpdatedBy: source.UpdatedBy,
CreatedBy: source.CreatedBy,
Version: source.Version,
HasACL: source.HasACL,
IsFolder: source.IsFolder,
FolderID: source.FolderID,
FolderUID: source.FolderUID,
FolderTitle: source.FolderTitle,
FolderURL: source.FolderURL,
Provisioned: source.Provisioned,
ProvisionedExternalID: source.ProvisionedExternalID,
func DashboardFromSchema(source schema.Dashboard) *Dashboard {
return &Dashboard{
IsStarred: source.Meta.IsStarred,
Type: source.Meta.Type,
CanSave: source.Meta.CanSave,
CanEdit: source.Meta.CanEdit,
CanAdmin: source.Meta.CanAdmin,
CanStar: source.Meta.CanStar,
CanDelete: source.Meta.CanDelete,
Slug: source.Meta.Slug,
URL: source.Meta.URL,
Expires: source.Meta.Expires,
Created: source.Meta.Created,
Updated: source.Meta.Updated,
UpdatedBy: source.Meta.UpdatedBy,
CreatedBy: source.Meta.CreatedBy,
Version: source.Meta.Version,
HasACL: source.Meta.HasACL,
IsFolder: source.Meta.IsFolder,
FolderID: source.Meta.FolderID,
FolderUID: source.Meta.FolderUID,
FolderTitle: source.Meta.FolderTitle,
FolderURL: source.Meta.FolderURL,
Provisioned: source.Meta.Provisioned,
ProvisionedExternalID: source.Meta.ProvisionedExternalID,
AnnotationsPermissions: AnnotationsPermissions{
Dashboard: AnnotationPermissions{
CanAdd: source.AnnotationsPermissions.Dashboard.CanAdd,
CanEdit: source.AnnotationsPermissions.Dashboard.CanEdit,
CanDelete: source.AnnotationsPermissions.Dashboard.CanDelete,
CanAdd: source.Meta.AnnotationsPermissions.Dashboard.CanAdd,
CanEdit: source.Meta.AnnotationsPermissions.Dashboard.CanEdit,
CanDelete: source.Meta.AnnotationsPermissions.Dashboard.CanDelete,
},
Organization: AnnotationPermissions{
CanAdd: source.AnnotationsPermissions.Organization.CanAdd,
CanEdit: source.AnnotationsPermissions.Organization.CanEdit,
CanDelete: source.AnnotationsPermissions.Organization.CanDelete,
CanAdd: source.Meta.AnnotationsPermissions.Organization.CanAdd,
CanEdit: source.Meta.AnnotationsPermissions.Organization.CanEdit,
CanDelete: source.Meta.AnnotationsPermissions.Organization.CanDelete,
},
},
Dashboard: source.Dashboard,
@ -96,3 +96,46 @@ func SearchResultFromSchema(source schema.SearchResult) *SearchResult {
FolderURL: source.FolderURL,
}
}
func SchemaFromDashboardMeta(dm *Dashboard) schema.Dashboard {
return schema.Dashboard{
Meta: schema.DashboardMeta{
IsStarred: dm.IsStarred,
Type: dm.Type,
CanSave: dm.CanSave,
CanEdit: dm.CanEdit,
CanAdmin: dm.CanAdmin,
CanStar: dm.CanStar,
CanDelete: dm.CanDelete,
Slug: dm.Slug,
URL: dm.URL,
Expires: dm.Expires,
Created: dm.Created,
Updated: dm.Updated,
UpdatedBy: dm.UpdatedBy,
CreatedBy: dm.CreatedBy,
Version: dm.Version,
HasACL: dm.HasACL,
IsFolder: dm.IsFolder,
FolderID: dm.FolderID,
FolderUID: dm.FolderUID,
FolderTitle: dm.FolderTitle,
FolderURL: dm.FolderURL,
Provisioned: dm.Provisioned,
ProvisionedExternalID: dm.ProvisionedExternalID,
AnnotationsPermissions: schema.AnnotationsPermissions{
Dashboard: schema.AnnotationPermissions{
CanAdd: dm.AnnotationsPermissions.Dashboard.CanAdd,
CanEdit: dm.AnnotationsPermissions.Dashboard.CanEdit,
CanDelete: dm.AnnotationsPermissions.Dashboard.CanDelete,
},
Organization: schema.AnnotationPermissions{
CanAdd: dm.AnnotationsPermissions.Organization.CanAdd,
CanEdit: dm.AnnotationsPermissions.Organization.CanEdit,
CanDelete: dm.AnnotationsPermissions.Organization.CanDelete,
},
},
},
Dashboard: dm.Dashboard,
}
}