141 lines
4.8 KiB
Go
141 lines
4.8 KiB
Go
package grafana
|
|
|
|
import (
|
|
"git.ar21.de/yolokube/grafana-backuper/pkg/grafana/schema"
|
|
)
|
|
|
|
func DashboardCreateResponseFromSchema(source schema.DashboardCreateResponse) *DashboardCreateResponse {
|
|
return &DashboardCreateResponse{
|
|
DashboardID: source.DashboardID,
|
|
DashboardUID: source.DashboardUID,
|
|
URL: source.URL,
|
|
Status: source.Status,
|
|
Version: source.Version,
|
|
Slug: source.Slug,
|
|
}
|
|
}
|
|
|
|
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.Meta.AnnotationsPermissions.Dashboard.CanAdd,
|
|
CanEdit: source.Meta.AnnotationsPermissions.Dashboard.CanEdit,
|
|
CanDelete: source.Meta.AnnotationsPermissions.Dashboard.CanDelete,
|
|
},
|
|
Organization: AnnotationPermissions{
|
|
CanAdd: source.Meta.AnnotationsPermissions.Organization.CanAdd,
|
|
CanEdit: source.Meta.AnnotationsPermissions.Organization.CanEdit,
|
|
CanDelete: source.Meta.AnnotationsPermissions.Organization.CanDelete,
|
|
},
|
|
},
|
|
Dashboard: source.Dashboard,
|
|
}
|
|
}
|
|
|
|
func DashboardVersionFromSchema(source schema.DashboardVersion) *DashboardVersion {
|
|
return &DashboardVersion{
|
|
ID: source.ID,
|
|
DashboardID: source.DashboardID,
|
|
DashboardUID: source.UID,
|
|
ParentVersion: source.ParentVersion,
|
|
RestoredFrom: source.RestoredFrom,
|
|
Version: source.Version,
|
|
Created: source.Created,
|
|
CreatedBy: source.CreatedBy,
|
|
Message: source.Message,
|
|
Data: source.Data,
|
|
}
|
|
}
|
|
|
|
func ErrorResponseFromSchema(source schema.ErrorResponse) *ErrorResponse {
|
|
return &ErrorResponse{
|
|
Message: source.Message,
|
|
TraceID: source.TraceID,
|
|
}
|
|
}
|
|
|
|
func SearchResultFromSchema(source schema.SearchResult) *SearchResult {
|
|
return &SearchResult{
|
|
ID: source.ID,
|
|
UID: source.UID,
|
|
Title: source.Title,
|
|
URI: source.URI,
|
|
URL: source.URL,
|
|
Slug: source.Slug,
|
|
Type: source.Type,
|
|
Tags: source.Tags,
|
|
IsStarred: source.IsStarred,
|
|
SortMeta: source.SortMeta,
|
|
FolderID: source.FolderID,
|
|
FolderUID: source.FolderUID,
|
|
FolderTitle: source.FolderTitle,
|
|
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,
|
|
}
|
|
}
|