grafana/pkg/services/queryhistory/models.go
2023-04-28 16:03:51 +01:00

94 lines
2.9 KiB
Go

package queryhistory
import (
"errors"
"github.com/grafana/grafana/pkg/components/simplejson"
)
var (
ErrQueryNotFound = errors.New("query in query history not found")
ErrStarredQueryNotFound = errors.New("starred query not found")
ErrQueryAlreadyStarred = errors.New("query was already starred")
)
// QueryHistory is the model for query history definitions
type QueryHistory struct {
ID int64 `xorm:"pk autoincr 'id'"`
UID string `xorm:"uid"`
DatasourceUID string `xorm:"datasource_uid"`
OrgID int64 `xorm:"org_id"`
CreatedBy int64
CreatedAt int64
Comment string
Queries *simplejson.Json
}
// QueryHistory is the model for query history star definitions
type QueryHistoryStar struct {
ID int64 `xorm:"pk autoincr 'id'"`
QueryUID string `xorm:"query_uid"`
UserID int64 `xorm:"user_id"`
}
type SearchInQueryHistoryQuery struct {
DatasourceUIDs []string `json:"datasourceUids"`
SearchString string `json:"searchString"`
OnlyStarred bool `json:"onlyStarred"`
Sort string `json:"sort"`
Page int `json:"page"`
Limit int `json:"limit"`
From int64 `json:"from"`
To int64 `json:"to"`
}
type QueryHistoryDTO struct {
UID string `json:"uid" xorm:"uid"`
DatasourceUID string `json:"datasourceUid" xorm:"datasource_uid"`
CreatedBy int64 `json:"createdBy"`
CreatedAt int64 `json:"createdAt"`
Comment string `json:"comment"`
Queries *simplejson.Json `json:"queries"`
Starred bool `json:"starred"`
}
// QueryHistoryResponse is a response struct for QueryHistoryDTO
type QueryHistoryResponse struct {
Result QueryHistoryDTO `json:"result"`
}
type QueryHistorySearchResult struct {
TotalCount int `json:"totalCount"`
QueryHistory []QueryHistoryDTO `json:"queryHistory"`
Page int `json:"page"`
PerPage int `json:"perPage"`
}
type QueryHistorySearchResponse struct {
Result QueryHistorySearchResult `json:"result"`
}
// QueryHistoryDeleteQueryResponse is the response struct for deleting a query from query history
type QueryHistoryDeleteQueryResponse struct {
ID int64 `json:"id"`
Message string `json:"message"`
}
// CreateQueryInQueryHistoryCommand is the command for adding query history
// swagger:model
type CreateQueryInQueryHistoryCommand struct {
// UID of the data source for which are queries stored.
// example: PE1C5CBDA0504A6A3
DatasourceUID string `json:"datasourceUid"`
// The JSON model of queries.
// required: true
Queries *simplejson.Json `json:"queries"`
}
// PatchQueryCommentInQueryHistoryCommand is the command for updating comment for query in query history
// swagger:model
type PatchQueryCommentInQueryHistoryCommand struct {
// Updated comment
Comment string `json:"comment"`
}