Documentation ¶
Index ¶
- Constants
- Variables
- func ContainsTag(existingTags []*Tag, tag *Tag) bool
- func GetDashboardFolderUrl(isFolder bool, uid string, slug string) string
- func GetDashboardUrl(uid string, slug string) string
- func GetFolderUrl(folderUid string, slug string) string
- func GetFullDashboardUrl(uid string, slug string) string
- func GetKioskModeDashboardUrl(uid string, slug string, theme Theme) string
- func JoinTagPairs(tags []*Tag) []string
- func SlugifyTitle(title string) string
- type AddApiKeyCommand
- type AddDataSourceCommand
- type AddOrgUserCommand
- type AddTeamMemberCommand
- type Address
- type AdminStats
- type Alert
- type AlertListItemDTO
- type AlertNotification
- type AlertNotificationState
- type AlertNotificationStateType
- type AlertStateInfoDTO
- type AlertStateType
- type ApiKey
- type ApiKeyDTO
- type AuthModuleConversion
- type BatchDisableUsersCommand
- type ChangeUserPasswordCommand
- type ChannelClientCount
- type ChannelHandler
- type ChannelHandlerFactory
- type ChannelPublisher
- type CrawlerMode
- type CreateAlertNotificationCommand
- type CreateDashboardSnapshotCommand
- type CreateFolderCommand
- type CreateLoginAttemptCommand
- type CreateOrgCommand
- type CreatePlaylistCommand
- type CreateTeamCommand
- type CreateTempUserCommand
- type CreateTokenErr
- type CreateUserCommand
- type Dashboard
- type DashboardAcl
- type DashboardAclInfoDTO
- type DashboardActivityChannel
- type DashboardErr
- type DashboardPermissionForUser
- type DashboardProvisioning
- type DashboardRef
- type DashboardSnapshot
- type DashboardSnapshotDTO
- type DashboardSnapshotsList
- type DashboardTagCloudItem
- type DashboardThumbnail
- type DashboardThumbnailMeta
- type DashboardVersion
- type DashboardVersionDTO
- type DashboardVersionMeta
- type DashboardWithStaleThumbnail
- type DataSource
- type DataSourceAccessStats
- type DataSourceStats
- type DatasourcesPermissionFilterQuery
- type DeleteAlertNotificationCommand
- type DeleteAlertNotificationWithUidCommand
- type DeleteApiKeyCommand
- type DeleteAuthInfoCommand
- type DeleteDashboardCommand
- type DeleteDashboardSnapshotCommand
- type DeleteDataSourceCommand
- type DeleteExpiredSnapshotsCommand
- type DeleteExpiredVersionsCommand
- type DeleteOldLoginAttemptsCommand
- type DeleteOrgCommand
- type DeleteOrphanedProvisionedDashboardsCommand
- type DeletePlaylistCommand
- type DeleteShortUrlCommand
- type DeleteTeamCommand
- type DeleteUserCommand
- type DisableUserCommand
- type DsAccess
- type DsPermissionType
- type ExecutionErrorOption
- type ExpireTempUsersCommand
- type ExternalUserInfo
- type FakeJWTService
- type Filter
- type FilterHandler
- type FindDashboardThumbnailCountCommand
- type FindDashboardsWithStaleThumbnailsCommand
- type FindPersistedDashboardsQuery
- type Folder
- type GetAdminStatsQuery
- type GetAlertByIdQuery
- type GetAlertNotificationUidQuery
- type GetAlertNotificationsQuery
- type GetAlertNotificationsWithUidQuery
- type GetAlertNotificationsWithUidToSendQuery
- type GetAlertNotifierUsageStatsQuery
- type GetAlertStatesForDashboardQuery
- type GetAlertsQuery
- type GetAllAlertNotificationsQuery
- type GetAllAlertsQuery
- type GetApiKeyByIdQuery
- type GetApiKeyByNameQuery
- type GetApiKeysQuery
- type GetAuthInfoQuery
- type GetDBHealthQuery
- type GetDashboardAclInfoListQuery
- type GetDashboardPermissionsForUserQuery
- type GetDashboardQuery
- type GetDashboardRefByIdQuery
- type GetDashboardSlugByIdQuery
- type GetDashboardSnapshotQuery
- type GetDashboardSnapshotsQuery
- type GetDashboardTagsQuery
- type GetDashboardThumbnailCommand
- type GetDashboardVersionQuery
- type GetDashboardVersionsQuery
- type GetDashboardsByPluginIdQuery
- type GetDashboardsBySlugQuery
- type GetDashboardsQuery
- type GetDataSourceAccessStatsQuery
- type GetDataSourceQuery
- type GetDataSourceStatsQuery
- type GetDataSourcesByTypeQuery
- type GetDataSourcesQuery
- type GetDefaultDataSourceQuery
- type GetExternalUserInfoByLoginQuery
- type GetGlobalQuotaByTargetQuery
- type GetLiveMessageQuery
- type GetOrCreateNotificationStateQuery
- type GetOrgByIdQuery
- type GetOrgByNameQuery
- type GetOrgQuotaByTargetQuery
- type GetOrgQuotasQuery
- type GetOrgUsersQuery
- type GetPlaylistByIdQuery
- type GetPlaylistItemsByIdQuery
- type GetPlaylistsQuery
- type GetPluginSettingByIdQuery
- type GetPreferencesQuery
- type GetPreferencesWithDefaultsQuery
- type GetSignedInUserQuery
- type GetSystemStatsQuery
- type GetSystemUserCountStatsQuery
- type GetTeamByIdQuery
- type GetTeamMembersQuery
- type GetTeamsByUserQuery
- type GetTempUserByCodeQuery
- type GetTempUsersQuery
- type GetUserByAuthInfoQuery
- type GetUserByEmailQuery
- type GetUserByIdQuery
- type GetUserByLoginQuery
- type GetUserLoginAttemptCountQuery
- type GetUserOrgListQuery
- type GetUserProfileQuery
- type GetUserQuotaByTargetQuery
- type GetUserQuotasQuery
- type GetUserStarsQuery
- type GlobalQuotaDTO
- type HasAdminPermissionInDashboardsOrFoldersQuery
- type HasEditPermissionInFoldersQuery
- type HelpFlags1
- type Hit
- type HitList
- type HitType
- type InCondition
- type IsAdminOfTeamsQuery
- type IsStarredByUserQuery
- type JWTClaims
- type JWTService
- type JoinCondition
- type LibraryElementKind
- type LicenseEnvironment
- type Licensing
- type LiveMessage
- type LoginAttempt
- type LoginInfo
- type LoginUserQuery
- type NavLink
- type NavbarPreference
- type NoDataOption
- type NotifierUsageStats
- type OAuthType
- type Org
- type OrgDTO
- type OrgDetailsDTO
- type OrgQuotaDTO
- type OrgUser
- type OrgUserDTO
- type Password
- type PatchPreferencesCommand
- type PauseAlertCommand
- type PauseAllAlertCommand
- type PermissionType
- type Playlist
- type PlaylistDTO
- type PlaylistItem
- type PlaylistItemDTO
- type Playlists
- type PluginRequestValidator
- type PluginSetting
- type PluginSettingInfoDTO
- type PluginStateChangedEvent
- type Preferences
- type PreferencesJsonData
- type PublishEvent
- type PublishReply
- type Quota
- type QuotaScope
- type RemoveOrgUserCommand
- type RemoveTeamMemberCommand
- type ReqContext
- func (ctx *ReqContext) Handle(cfg *setting.Cfg, status int, title string, err error)
- func (ctx *ReqContext) HasHelpFlag(flag HelpFlags1) bool
- func (ctx *ReqContext) HasUserRole(role RoleType) bool
- func (ctx *ReqContext) IsApiRequest() bool
- func (ctx *ReqContext) JsonApiErr(status int, message string, err error)
- func (ctx *ReqContext) QueryBoolWithDefault(field string, d bool) bool
- func (ctx *ReqContext) TimeRequest(timer prometheus.Summary)
- type RequestURIKey
- type RevokeAuthTokenCmd
- type RoleType
- type SaveDashboardCommand
- type SaveDashboardThumbnailCommand
- type SaveLiveMessageQuery
- type SavePreferencesCommand
- type SearchOrgUsersQuery
- type SearchOrgUsersQueryResult
- type SearchOrgsQuery
- type SearchTeamQueryResult
- type SearchTeamsQuery
- type SearchUserFilter
- type SearchUserQueryResult
- type SearchUsersQuery
- type SendEmailAttachFile
- type SendEmailCommand
- type SendEmailCommandSync
- type SendResetPasswordEmailCommand
- type SendWebhookSync
- type SetAlertNotificationStateToCompleteCommand
- type SetAlertNotificationStateToPendingCommand
- type SetAlertStateCommand
- type SetAuthInfoCommand
- type SetUserHelpFlagCommand
- type SetUsingOrgCommand
- type ShortUrl
- type SignedInUser
- type SortOption
- type SortOptionFilter
- type Star
- type StarDashboardCommand
- type SubscribeEvent
- type SubscribeReply
- type SystemStats
- type SystemUserCountStats
- type Tag
- type Team
- type TeamDTO
- type TeamMember
- type TeamMemberDTO
- type TeamOrgGroupDTO
- type TempUser
- type TempUserDTO
- type TempUserStatus
- type Theme
- type ThumbnailKind
- type ThumbnailState
- type TokenExpiredError
- type TokenRevokedError
- type TrimDashboardCommand
- type UnstarDashboardCommand
- type UpdateAlertNotificationCommand
- type UpdateAlertNotificationWithUidCommand
- type UpdateAuthInfoCommand
- type UpdateDataSourceCommand
- type UpdateFolderCommand
- type UpdateOrgAddressCommand
- type UpdateOrgCommand
- type UpdateOrgQuotaCmd
- type UpdateOrgUserCommand
- type UpdatePlaylistCommand
- type UpdatePluginDashboardError
- type UpdatePluginSettingCmd
- type UpdatePluginSettingVersionCmd
- type UpdateTeamCommand
- type UpdateTeamMemberCommand
- type UpdateTempUserStatusCommand
- type UpdateTempUserWithEmailSentCommand
- type UpdateThumbnailStateCommand
- type UpdateUserCommand
- type UpdateUserLastSeenAtCommand
- type UpdateUserQuotaCmd
- type UpsertUserCommand
- type User
- type UserAuth
- type UserDisplayDTO
- type UserIdDTO
- type UserLookupParams
- type UserOrgDTO
- type UserProfileDTO
- type UserQuotaDTO
- type UserSearchHitDTO
- type UserStats
- type UserToken
- type UserTokenBackgroundService
- type UserTokenService
- type ValidateDashboardBeforeSaveResult
- type ValidateResetPasswordCodeQuery
- type WhereCondition
Constants ¶
const ( DashTypeDB = "db" DashTypeSnapshot = "snapshot" )
const ( DS_GRAPHITE = "graphite" DS_INFLUXDB = "influxdb" DS_INFLUXDB_08 = "influxdb_08" DS_ES = "elasticsearch" DS_PROMETHEUS = "prometheus" DS_ALERTMANAGER = "alertmanager" DS_JAEGER = "jaeger" DS_LOKI = "loki" DS_OPENTSDB = "opentsdb" DS_TEMPO = "tempo" DS_ZIPKIN = "zipkin" DS_MYSQL = "mysql" DS_POSTGRES = "postgres" DS_MSSQL = "mssql" DS_ACCESS_DIRECT = "direct" DS_ACCESS_PROXY = "proxy" DS_ES_OPEN_DISTRO = "grafana-es-open-distro-datasource" DS_ES_OPENSEARCH = "grafana-opensearch-datasource" )
const (
AuthModuleLDAP = "ldap"
)
const DashboardVersionForManualThumbnailUpload = -1
const FilterIgnoreUser int64 = 0
FilterIgnoreUser is used in a get / search teams query when the caller does not want to filter teams by user ID / membership
const LibraryElementConnectionTableName = "library_element_connection"
const RootFolderName = "General"
Variables ¶
var ( ErrCannotChangeStateOnPausedAlert = fmt.Errorf("cannot change state on pause alert") ErrRequiresNewState = fmt.Errorf("update alert state requires a new state") )
var ( ErrAlertNotificationNotFound = errors.New("alert notification not found") ErrNotificationFrequencyNotFound = errors.New("notification frequency not specified") ErrAlertNotificationStateVersionConflict = errors.New("alert notification state update version conflict") ErrAlertNotificationFailedGenerateUniqueUid = errors.New("failed to generate unique alert notification uid") ErrAlertNotificationFailedTranslateUniqueID = errors.New("failed to translate Notification Id to Uid") ErrAlertNotificationWithSameNameExists = errors.New("alert notification with same name already exists") ErrAlertNotificationWithSameUIDExists = errors.New("alert notification with same uid already exists") )
var ( AlertNotificationStatePending = AlertNotificationStateType("pending") AlertNotificationStateCompleted = AlertNotificationStateType("completed") AlertNotificationStateUnknown = AlertNotificationStateType("unknown") )
var ( ErrApiKeyNotFound = errors.New("API key not found") ErrInvalidApiKey = errors.New("invalid API key") ErrInvalidApiKeyExpiration = errors.New("negative value for SecondsToLive") ErrDuplicateApiKey = errors.New("API key, organization ID and name must be unique") )
var ( ErrDashboardAclInfoMissing = errors.New("user id and team id cannot both be empty for a dashboard permission") ErrDashboardPermissionDashboardEmpty = errors.New("dashboard id must be greater than zero for a dashboard permission") ErrFolderAclInfoMissing = errors.New("user id and team id cannot both be empty for a folder permission") ErrFolderPermissionFolderEmpty = errors.New("folder id must be greater than zero for a folder permission") ErrPermissionsWithRoleNotAllowed = errors.New("permissions cannot have both a user and team") ErrPermissionsWithUserAndTeamNotAllowed = errors.New("team and user permissions cannot have an associated role") )
Typed errors
var ( ErrDashboardVersionNotFound = errors.New("dashboard version not found") ErrNoVersionsForDashboardId = errors.New("no dashboard versions found for the given DashboardId") )
var ( ErrDashboardNotFound = DashboardErr{ Reason: "Dashboard not found", StatusCode: 404, Status: "not-found", } ErrDashboardCorrupt = DashboardErr{ Reason: "Dashboard data is missing or corrupt", StatusCode: 500, Status: "not-found", } ErrDashboardPanelNotFound = DashboardErr{ Reason: "Dashboard panel not found", StatusCode: 404, Status: "not-found", } ErrDashboardFolderNotFound = DashboardErr{ Reason: "Folder not found", StatusCode: 404, } ErrDashboardSnapshotNotFound = DashboardErr{ Reason: "Dashboard snapshot not found", StatusCode: 404, } ErrDashboardWithSameUIDExists = DashboardErr{ Reason: "A dashboard with the same uid already exists", StatusCode: 400, } ErrDashboardWithSameNameInFolderExists = DashboardErr{ Reason: "A dashboard with the same name in the folder already exists", StatusCode: 412, Status: "name-exists", } ErrDashboardVersionMismatch = DashboardErr{ Reason: "The dashboard has been changed by someone else", StatusCode: 412, Status: "version-mismatch", } ErrDashboardTitleEmpty = DashboardErr{ Reason: "Dashboard title cannot be empty", StatusCode: 400, Status: "empty-name", } ErrDashboardFolderCannotHaveParent = DashboardErr{ Reason: "A Dashboard Folder cannot be added to another folder", StatusCode: 400, } ErrDashboardsWithSameSlugExists = DashboardErr{ Reason: "Multiple dashboards with the same slug exists", StatusCode: 412, } ErrDashboardFailedGenerateUniqueUid = DashboardErr{ Reason: "Failed to generate unique dashboard id", StatusCode: 500, } ErrDashboardTypeMismatch = DashboardErr{ Reason: "Dashboard cannot be changed to a folder", StatusCode: 400, } ErrDashboardFolderWithSameNameAsDashboard = DashboardErr{ Reason: "Folder name cannot be the same as one of its dashboards", StatusCode: 400, } ErrDashboardWithSameNameAsFolder = DashboardErr{ Reason: "Dashboard name cannot be the same as folder", StatusCode: 400, Status: "name-match", } ErrDashboardFolderNameExists = DashboardErr{ Reason: "A folder with that name already exists", StatusCode: 400, } ErrDashboardUpdateAccessDenied = DashboardErr{ Reason: "Access denied to save dashboard", StatusCode: 403, } ErrDashboardInvalidUid = DashboardErr{ Reason: "uid contains illegal characters", StatusCode: 400, } ErrDashboardUidTooLong = DashboardErr{ Reason: "uid too long, max 40 characters", StatusCode: 400, } ErrDashboardCannotSaveProvisionedDashboard = DashboardErr{ Reason: "Cannot save provisioned dashboard", StatusCode: 400, } ErrDashboardRefreshIntervalTooShort = DashboardErr{ Reason: "Dashboard refresh interval is too low", StatusCode: 400, } ErrDashboardCannotDeleteProvisionedDashboard = DashboardErr{ Reason: "provisioned dashboard cannot be deleted", StatusCode: 400, } ErrDashboardIdentifierNotSet = DashboardErr{ Reason: "Unique identifier needed to be able to get a dashboard", StatusCode: 400, } ErrDashboardIdentifierInvalid = DashboardErr{ Reason: "Dashboard ID not a number", StatusCode: 400, } ErrDashboardPanelIdentifierInvalid = DashboardErr{ Reason: "Dashboard panel ID not a number", StatusCode: 400, } ErrDashboardOrPanelIdentifierNotSet = DashboardErr{ Reason: "Unique identifier needed to be able to get a dashboard panel", StatusCode: 400, } ErrProvisionedDashboardNotFound = DashboardErr{ Reason: "Dashboard is not provisioned", StatusCode: 404, Status: "not-found", } ErrDashboardThumbnailNotFound = DashboardErr{ Reason: "Dashboard thumbnail not found", StatusCode: 404, Status: "not-found", } )
Typed errors
var ( ErrDataSourceNotFound = errors.New("data source not found") ErrDataSourceNameExists = errors.New("data source with the same name already exists") ErrDataSourceUidExists = errors.New("data source with the same uid already exists") ErrDataSourceUpdatingOldVersion = errors.New("trying to update old version of datasource") ErrDatasourceIsReadOnly = errors.New("data source is readonly, can only be updated from configuration") ErrDataSourceAccessDenied = errors.New("data source access denied") ErrDataSourceFailedGenerateUniqueUid = errors.New("failed to generate unique datasource ID") ErrDataSourceIdentifierNotSet = errors.New("unique identifier and org id are needed to be able to get or delete a datasource") )
var ( ErrFolderNotFound = errors.New("folder not found") ErrFolderVersionMismatch = errors.New("the folder has been changed by someone else") ErrFolderTitleEmpty = errors.New("folder title cannot be empty") ErrFolderWithSameUIDExists = errors.New("a folder/dashboard with the same uid already exists") ErrFolderInvalidUID = errors.New("invalid uid for folder provided") ErrFolderSameNameExists = errors.New("a folder or dashboard in the general folder with the same name already exists") ErrFolderFailedGenerateUniqueUid = errors.New("failed to generate unique folder ID") ErrFolderAccessDenied = errors.New("access denied to folder") ErrFolderContainsAlertRules = errors.New("folder contains alert rules") )
Typed errors
var ( ErrOrgNotFound = errors.New("organization not found") ErrOrgNameTaken = errors.New("organization name is taken") )
Typed errors
var ( ErrLastOrgAdmin = errors.New("cannot remove last organization admin") ErrOrgUserNotFound = errors.New("cannot find the organization user") ErrOrgUserAlreadyAdded = errors.New("user is already added to organization") )
Typed errors
var ( ErrTeamNotFound = errors.New("team not found") ErrTeamNameTaken = errors.New("team name is taken") ErrTeamMemberNotFound = errors.New("team member not found") ErrLastTeamAdmin = errors.New("not allowed to remove last admin") ErrNotAllowedToUpdateTeam = errors.New("user not allowed to update team") ErrNotAllowedToUpdateTeamInDifferentOrg = errors.New("user not allowed to update team in another org") )
Typed errors
var ( ErrUserNotFound = errors.New("user not found") ErrUserAlreadyExists = errors.New("user already exists") ErrLastGrafanaAdmin = errors.New("cannot remove last grafana admin") ErrProtectedUser = errors.New("cannot adopt protected user") )
Typed errors
var ErrCommandValidationFailed = errors.New("command missing required fields")
var ErrInvalidEmailCode = errors.New("invalid or expired email code")
var ErrInvalidQuotaTarget = errors.New("invalid quota target")
var (
ErrPlaylistNotFound = errors.New("Playlist not found")
)
Typed errors
var (
ErrPluginSettingNotFound = errors.New("plugin setting not found")
)
var (
ErrShortURLNotFound = errors.New("short URL not found")
)
var ErrSmtpNotEnabled = errors.New("SMTP not configured, check your grafana.ini config file's [smtp] section")
var (
ErrTeamMemberAlreadyAdded = errors.New("User is already added to this team")
)
Typed errors
var (
ErrTempUserNotFound = errors.New("User not found")
)
Typed errors
var (
ErrUserTokenNotFound = errors.New("user token not found")
)
Typed errors
Functions ¶
func ContainsTag ¶
func GetDashboardFolderUrl ¶
GetDashboardFolderUrl return the html url for a folder if it's folder, otherwise for a dashboard
func GetDashboardUrl ¶
GetDashboardUrl returns the HTML url for a dashboard.
func GetFolderUrl ¶
GetFolderUrl returns the HTML url for a folder.
func GetFullDashboardUrl ¶
GetFullDashboardUrl returns the full URL for a dashboard.
func GetKioskModeDashboardUrl ¶
GetKioskModeDashboardUrl returns the HTML url for a dashboard in kiosk mode.
func JoinTagPairs ¶
func SlugifyTitle ¶
Types ¶
type AddApiKeyCommand ¶
type AddApiKeyCommand struct { Name string `json:"name" binding:"Required"` Role RoleType `json:"role" binding:"Required"` OrgId int64 `json:"-"` Key string `json:"-"` SecondsToLive int64 `json:"secondsToLive"` Result *ApiKey `json:"-"` }
--------------------- COMMANDS
type AddDataSourceCommand ¶
type AddDataSourceCommand struct { Name string `json:"name" binding:"Required"` Type string `json:"type" binding:"Required"` Access DsAccess `json:"access" binding:"Required"` Url string `json:"url"` Password string `json:"password"` Database string `json:"database"` User string `json:"user"` BasicAuth bool `json:"basicAuth"` BasicAuthUser string `json:"basicAuthUser"` BasicAuthPassword string `json:"basicAuthPassword"` WithCredentials bool `json:"withCredentials"` IsDefault bool `json:"isDefault"` JsonData *simplejson.Json `json:"jsonData"` SecureJsonData map[string]string `json:"secureJsonData"` Uid string `json:"uid"` OrgId int64 `json:"-"` UserId int64 `json:"-"` ReadOnly bool `json:"-"` EncryptedSecureJsonData map[string][]byte `json:"-"` Result *DataSource `json:"-"` }
Also acts as api DTO
type AddOrgUserCommand ¶
type AddTeamMemberCommand ¶
type AddTeamMemberCommand struct { UserId int64 `json:"userId" binding:"Required"` OrgId int64 `json:"-"` TeamId int64 `json:"-"` External bool `json:"-"` Permission PermissionType `json:"-"` }
type AdminStats ¶
type AdminStats struct { Orgs int64 `json:"orgs"` Dashboards int64 `json:"dashboards"` Snapshots int64 `json:"snapshots"` Tags int64 `json:"tags"` Datasources int64 `json:"datasources"` Playlists int64 `json:"playlists"` Stars int64 `json:"stars"` Alerts int64 `json:"alerts"` Users int64 `json:"users"` Admins int64 `json:"admins"` Editors int64 `json:"editors"` Viewers int64 `json:"viewers"` ActiveUsers int64 `json:"activeUsers"` ActiveAdmins int64 `json:"activeAdmins"` ActiveEditors int64 `json:"activeEditors"` ActiveViewers int64 `json:"activeViewers"` ActiveSessions int64 `json:"activeSessions"` DailyActiveUsers int64 `json:"dailyActiveUsers"` DailyActiveAdmins int64 `json:"dailyActiveAdmins"` DailyActiveEditors int64 `json:"dailyActiveEditors"` DailyActiveViewers int64 `json:"dailyActiveViewers"` DailyActiveSessions int64 `json:"dailyActiveSessions"` MonthlyActiveUsers int64 `json:"monthlyActiveUsers"` }
type Alert ¶
type Alert struct { Id int64 Version int64 OrgId int64 DashboardId int64 PanelId int64 Name string Message string Severity string // Unused State AlertStateType Handler int64 // Unused Silenced bool ExecutionError string Frequency int64 For time.Duration EvalData *simplejson.Json NewStateDate time.Time StateChanges int64 Created time.Time Updated time.Time Settings *simplejson.Json }
func (*Alert) ContainsUpdates ¶
func (*Alert) GetTagsFromSettings ¶
func (*Alert) ValidToSave ¶
type AlertListItemDTO ¶
type AlertListItemDTO struct { Id int64 `json:"id"` DashboardId int64 `json:"dashboardId"` DashboardUid string `json:"dashboardUid"` DashboardSlug string `json:"dashboardSlug"` PanelId int64 `json:"panelId"` Name string `json:"name"` State AlertStateType `json:"state"` NewStateDate time.Time `json:"newStateDate"` EvalDate time.Time `json:"evalDate"` EvalData *simplejson.Json `json:"evalData"` ExecutionError string `json:"executionError"` Url string `json:"url"` }
type AlertNotification ¶
type AlertNotification struct { Id int64 `json:"id"` Uid string `json:"-"` OrgId int64 `json:"-"` Name string `json:"name"` Type string `json:"type"` SendReminder bool `json:"sendReminder"` DisableResolveMessage bool `json:"disableResolveMessage"` Frequency time.Duration `json:"frequency"` IsDefault bool `json:"isDefault"` Settings *simplejson.Json `json:"settings"` SecureSettings map[string][]byte `json:"secureSettings"` Created time.Time `json:"created"` Updated time.Time `json:"updated"` }
type AlertNotificationState ¶
type AlertNotificationStateType ¶
type AlertNotificationStateType string
type AlertStateInfoDTO ¶
type AlertStateType ¶
type AlertStateType string
const ( AlertStateNoData AlertStateType = "no_data" AlertStatePaused AlertStateType = "paused" AlertStateAlerting AlertStateType = "alerting" AlertStateOK AlertStateType = "ok" AlertStatePending AlertStateType = "pending" AlertStateUnknown AlertStateType = "unknown" )
func (AlertStateType) IsValid ¶
func (s AlertStateType) IsValid() bool
type AuthModuleConversion ¶
type AuthModuleConversion []string
implement Conversion interface to define custom field mapping (xorm feature)
func (*AuthModuleConversion) FromDB ¶
func (auth *AuthModuleConversion) FromDB(data []byte) error
func (*AuthModuleConversion) ToDB ¶
func (auth *AuthModuleConversion) ToDB() ([]byte, error)
Just a stub, we don't want to write to database
type ChannelClientCount ¶
ChannelClientCount will return the number of clients for a channel
type ChannelHandler ¶
type ChannelHandler interface { // OnSubscribe is called when a client wants to subscribe to a channel OnSubscribe(ctx context.Context, user *SignedInUser, e SubscribeEvent) (SubscribeReply, backend.SubscribeStreamStatus, error) // OnPublish is called when a client writes a message to the channel websocket. OnPublish(ctx context.Context, user *SignedInUser, e PublishEvent) (PublishReply, backend.PublishStreamStatus, error) }
ChannelHandler defines the core channel behavior
type ChannelHandlerFactory ¶
type ChannelHandlerFactory interface { // GetHandlerForPath gets a ChannelHandler for a path. // This is called fast and often -- it must be synchronized GetHandlerForPath(path string) (ChannelHandler, error) }
ChannelHandlerFactory should be implemented by all core features.
type ChannelPublisher ¶
ChannelPublisher writes data into a channel. Note that permissions are not checked.
type CrawlerMode ¶
type CrawlerMode string
type CreateAlertNotificationCommand ¶
type CreateAlertNotificationCommand struct { Uid string `json:"uid"` Name string `json:"name" binding:"Required"` Type string `json:"type" binding:"Required"` SendReminder bool `json:"sendReminder"` DisableResolveMessage bool `json:"disableResolveMessage"` Frequency string `json:"frequency"` IsDefault bool `json:"isDefault"` Settings *simplejson.Json `json:"settings"` SecureSettings map[string]string `json:"secureSettings"` OrgId int64 `json:"-"` EncryptedSecureSettings map[string][]byte `json:"-"` Result *AlertNotification `json:"-"` }
type CreateDashboardSnapshotCommand ¶
type CreateDashboardSnapshotCommand struct { // The complete dashboard model. // required:true Dashboard *simplejson.Json `json:"dashboard" binding:"Required"` // Snapshot name // required:false Name string `json:"name"` // When the snapshot should expire in seconds in seconds. Default is never to expire. // required:false // default:0 Expires int64 `json:"expires"` // these are passed when storing an external snapshot ref // Save the snapshot on an external server rather than locally. // required:false // default: false External bool `json:"external"` ExternalUrl string `json:"-"` ExternalDeleteUrl string `json:"-"` // Define the unique key. Required if `external` is `true`. // required:false Key string `json:"key"` // Unique key used to delete the snapshot. It is different from the `key` so that only the creator can delete the snapshot. Required if `external` is `true`. // required:false DeleteKey string `json:"deleteKey"` OrgId int64 `json:"-"` UserId int64 `json:"-"` DashboardEncrypted []byte `json:"-"` Result *DashboardSnapshot }
swagger:model
type CreateFolderCommand ¶
type CreateLoginAttemptCommand ¶
type CreateLoginAttemptCommand struct { Username string IpAddress string Result LoginAttempt }
type CreateOrgCommand ¶
type CreatePlaylistCommand ¶
type CreatePlaylistCommand struct { Name string `json:"name" binding:"Required"` Interval string `json:"interval"` Items []PlaylistItemDTO `json:"items"` OrgId int64 `json:"-"` Result *Playlist }
type CreateTeamCommand ¶
type CreateTempUserCommand ¶
type CreateTokenErr ¶
CreateTokenErr represents a token creation error; used in Enterprise
func (*CreateTokenErr) Error ¶
func (e *CreateTokenErr) Error() string
type CreateUserCommand ¶
type Dashboard ¶
type Dashboard struct { Id int64 Uid string Slug string OrgId int64 GnetId int64 Version int PluginId string Created time.Time Updated time.Time UpdatedBy int64 CreatedBy int64 FolderId int64 IsFolder bool HasAcl bool Title string Data *simplejson.Json }
Dashboard model
func NewDashboardFolder ¶
NewDashboardFolder creates a new dashboard folder
func NewDashboardFromJson ¶
func NewDashboardFromJson(data *simplejson.Json) *Dashboard
func (*Dashboard) GetDashboardIdForSavePermissionCheck ¶
GetDashboardIdForSavePermissionCheck return the dashboard id to be used for checking permission of dashboard
func (*Dashboard) GetUrl ¶
GetUrl return the html url for a folder if it's folder, otherwise for a dashboard
func (*Dashboard) SetVersion ¶
type DashboardAcl ¶
type DashboardAcl struct { // nolint:stylecheck Id int64 OrgID int64 `xorm:"org_id"` DashboardID int64 `xorm:"dashboard_id"` UserID int64 `xorm:"user_id"` TeamID int64 `xorm:"team_id"` Role *RoleType // pointer to be nullable Permission PermissionType Created time.Time Updated time.Time }
Dashboard ACL model
type DashboardAclInfoDTO ¶
type DashboardAclInfoDTO struct { OrgId int64 `json:"-"` DashboardId int64 `json:"dashboardId,omitempty"` FolderId int64 `json:"folderId,omitempty"` Created time.Time `json:"created"` Updated time.Time `json:"updated"` UserId int64 `json:"userId"` UserLogin string `json:"userLogin"` UserEmail string `json:"userEmail"` UserAvatarUrl string `json:"userAvatarUrl"` TeamId int64 `json:"teamId"` TeamEmail string `json:"teamEmail"` TeamAvatarUrl string `json:"teamAvatarUrl"` Team string `json:"team"` Role *RoleType `json:"role,omitempty"` Permission PermissionType `json:"permission"` PermissionName string `json:"permissionName"` Uid string `json:"uid"` Title string `json:"title"` Slug string `json:"slug"` IsFolder bool `json:"isFolder"` Url string `json:"url"` Inherited bool `json:"inherited"` }
func (*DashboardAclInfoDTO) IsDuplicateOf ¶
func (dto *DashboardAclInfoDTO) IsDuplicateOf(other *DashboardAclInfoDTO) bool
IsDuplicateOf returns true if other item has same role, same user or same team
type DashboardActivityChannel ¶
type DashboardActivityChannel interface { // Called when a dashboard is saved -- this includes the error so we can support a // gitops workflow that knows if the value was saved to the local database or not // in many cases all direct save requests will fail, but the request should be forwarded // to any gitops observers DashboardSaved(orgID int64, user *UserDisplayDTO, message string, dashboard *Dashboard, err error) error // Called when a dashboard is deleted DashboardDeleted(orgID int64, user *UserDisplayDTO, uid string) error // Experimental! Indicate is GitOps is active. This really means // someone is subscribed to the `grafana/dashboards/gitops` channel HasGitOpsObserver(orgID int64) bool }
DashboardActivityChannel is a service to advertise dashboard activity
type DashboardErr ¶
DashboardErr represents a dashboard error.
func (DashboardErr) Body ¶
func (e DashboardErr) Body() util.DynMap
Body returns the error's response body, if applicable.
func (DashboardErr) Equal ¶
func (e DashboardErr) Equal(o DashboardErr) bool
Equal returns whether equal to another DashboardErr.
type DashboardPermissionForUser ¶
type DashboardPermissionForUser struct { DashboardId int64 `json:"dashboardId"` Permission PermissionType `json:"permission"` PermissionName string `json:"permissionName"` }
type DashboardProvisioning ¶
type DashboardRef ¶
type DashboardSnapshot ¶
type DashboardSnapshot struct { Id int64 Name string Key string DeleteKey string OrgId int64 UserId int64 External bool ExternalUrl string ExternalDeleteUrl string Expires time.Time Created time.Time Updated time.Time Dashboard *simplejson.Json DashboardEncrypted []byte }
DashboardSnapshot model
type DashboardSnapshotDTO ¶
type DashboardSnapshotDTO struct { Id int64 `json:"id"` Name string `json:"name"` Key string `json:"key"` OrgId int64 `json:"orgId"` UserId int64 `json:"userId"` External bool `json:"external"` ExternalUrl string `json:"externalUrl"` Expires time.Time `json:"expires"` Created time.Time `json:"created"` Updated time.Time `json:"updated"` }
DashboardSnapshotDTO without dashboard map
type DashboardSnapshotsList ¶
type DashboardSnapshotsList []*DashboardSnapshotDTO
type DashboardTagCloudItem ¶
type DashboardThumbnail ¶
type DashboardThumbnail struct { Id int64 `json:"id"` DashboardId int64 `json:"dashboardId"` DashboardVersion int `json:"dashboardVersion"` State ThumbnailState `json:"state"` PanelId int64 `json:"panelId,omitempty"` Kind ThumbnailKind `json:"kind"` Theme Theme `json:"theme"` Image []byte `json:"image"` MimeType string `json:"mimeType"` Updated time.Time `json:"updated"` }
A DashboardThumbnail includes all metadata for a dashboard thumbnail
type DashboardThumbnailMeta ¶
type DashboardThumbnailMeta struct { DashboardUID string OrgId int64 PanelID int64 Kind ThumbnailKind Theme Theme }
DashboardThumbnailMeta uniquely identifies a thumbnail; a natural key
type DashboardVersion ¶
type DashboardVersion struct { Id int64 `json:"id"` DashboardId int64 `json:"dashboardId"` ParentVersion int `json:"parentVersion"` RestoredFrom int `json:"restoredFrom"` Version int `json:"version"` Created time.Time `json:"created"` CreatedBy int64 `json:"createdBy"` Message string `json:"message"` Data *simplejson.Json `json:"data"` }
A DashboardVersion represents the comparable data in a dashboard, allowing diffs of the dashboard to be performed.
type DashboardVersionDTO ¶
type DashboardVersionDTO struct { Id int64 `json:"id"` DashboardId int64 `json:"dashboardId"` ParentVersion int `json:"parentVersion"` RestoredFrom int `json:"restoredFrom"` Version int `json:"version"` Created time.Time `json:"created"` CreatedBy string `json:"createdBy"` Message string `json:"message"` }
DashboardVersionDTO represents a dashboard version, without the dashboard map.
type DashboardVersionMeta ¶
type DashboardVersionMeta struct { Id int64 `json:"id"` DashboardId int64 `json:"dashboardId"` ParentVersion int `json:"parentVersion"` RestoredFrom int `json:"restoredFrom"` Version int `json:"version"` Created time.Time `json:"created"` Message string `json:"message"` Data *simplejson.Json `json:"data"` CreatedBy string `json:"createdBy"` }
DashboardVersionMeta extends the dashboard version model with the names associated with the UserIds, overriding the field with the same name from the DashboardVersion model.
type DataSource ¶
type DataSource struct { Id int64 `json:"id"` OrgId int64 `json:"orgId"` Version int `json:"version"` Name string `json:"name"` Type string `json:"type"` Access DsAccess `json:"access"` Url string `json:"url"` Password string `json:"password"` User string `json:"user"` Database string `json:"database"` BasicAuth bool `json:"basicAuth"` BasicAuthUser string `json:"basicAuthUser"` BasicAuthPassword string `json:"basicAuthPassword"` WithCredentials bool `json:"withCredentials"` IsDefault bool `json:"isDefault"` JsonData *simplejson.Json `json:"jsonData"` SecureJsonData map[string][]byte `json:"secureJsonData"` ReadOnly bool `json:"readOnly"` Uid string `json:"uid"` Created time.Time `json:"created"` Updated time.Time `json:"updated"` }
type DataSourceAccessStats ¶
type DataSourceStats ¶
type DatasourcesPermissionFilterQuery ¶
type DatasourcesPermissionFilterQuery struct { User *SignedInUser Datasources []*DataSource Result []*DataSource }
type DeleteApiKeyCommand ¶
type DeleteAuthInfoCommand ¶
type DeleteAuthInfoCommand struct {
UserAuth *UserAuth
}
type DeleteDashboardCommand ¶
type DeleteDashboardSnapshotCommand ¶
type DeleteDashboardSnapshotCommand struct {
DeleteKey string `json:"-"`
}
type DeleteDataSourceCommand ¶
type DeleteDataSourceCommand struct { ID int64 UID string Name string OrgID int64 DeletedDatasourcesCount int64 }
DeleteDataSourceCommand will delete a DataSource based on OrgID as well as the UID (preferred), ID, or Name. At least one of the UID, ID, or Name properties must be set in addition to OrgID.
type DeleteExpiredSnapshotsCommand ¶
type DeleteExpiredSnapshotsCommand struct {
DeletedRows int64
}
type DeleteExpiredVersionsCommand ¶
type DeleteExpiredVersionsCommand struct {
DeletedRows int64
}
type DeleteOrgCommand ¶
type DeleteOrgCommand struct {
Id int64
}
type DeleteOrphanedProvisionedDashboardsCommand ¶
type DeleteOrphanedProvisionedDashboardsCommand struct {
ReaderNames []string
}
type DeletePlaylistCommand ¶
type DeleteShortUrlCommand ¶
type DeleteTeamCommand ¶
type DeleteUserCommand ¶
type DeleteUserCommand struct {
UserId int64
}
type DisableUserCommand ¶
type DsPermissionType ¶
type DsPermissionType int
Datasource permission Description: * `0` - No Access * `1` - Query Enum: 0,1 swagger:model
const ( DsPermissionNoAccess DsPermissionType = iota DsPermissionQuery )
func (DsPermissionType) String ¶
func (p DsPermissionType) String() string
type ExecutionErrorOption ¶
type ExecutionErrorOption string
const ( ExecutionErrorSetOk ExecutionErrorOption = "ok" ExecutionErrorSetAlerting ExecutionErrorOption = "alerting" ExecutionErrorKeepState ExecutionErrorOption = "keep_state" )
func (ExecutionErrorOption) IsValid ¶
func (s ExecutionErrorOption) IsValid() bool
func (ExecutionErrorOption) ToAlertState ¶
func (s ExecutionErrorOption) ToAlertState() AlertStateType
type ExpireTempUsersCommand ¶
type ExternalUserInfo ¶
type ExternalUserInfo struct { OAuthToken *oauth2.Token AuthModule string AuthId string UserId int64 Email string Login string Name string Groups []string OrgRoles map[int64]RoleType IsGrafanaAdmin *bool // This is a pointer to know if we should sync this or not (nil = ignore sync) IsDisabled bool }
type FakeJWTService ¶
func NewFakeJWTService ¶
func NewFakeJWTService() *FakeJWTService
type Filter ¶
type Filter interface { WhereCondition() *WhereCondition InCondition() *InCondition JoinCondition() *JoinCondition }
type FilterHandler ¶
type FindDashboardThumbnailCountCommand ¶
type FindDashboardThumbnailCountCommand struct {
Result int64
}
type FindDashboardsWithStaleThumbnailsCommand ¶
type FindDashboardsWithStaleThumbnailsCommand struct { IncludeManuallyUploadedThumbnails bool Theme Theme Kind ThumbnailKind Result []*DashboardWithStaleThumbnail }
type FindPersistedDashboardsQuery ¶
type FindPersistedDashboardsQuery struct { Title string OrgId int64 SignedInUser *SignedInUser IsStarred bool DashboardIds []int64 Type string FolderIds []int64 Tags []string Limit int64 Page int64 Permission PermissionType Sort SortOption Filters []interface{} Result HitList }
type Folder ¶
type Folder struct { Id int64 Uid string Title string Url string Version int Created time.Time Updated time.Time UpdatedBy int64 CreatedBy int64 HasAcl bool }
func DashboardToFolder ¶
DashboardToFolder converts Dashboard to Folder
type GetAdminStatsQuery ¶
type GetAdminStatsQuery struct {
Result *AdminStats
}
type GetAlertByIdQuery ¶
type GetAlertNotificationsQuery ¶
type GetAlertNotificationsQuery struct { Name string Id int64 OrgId int64 Result *AlertNotification }
type GetAlertNotificationsWithUidQuery ¶
type GetAlertNotificationsWithUidQuery struct { Uid string OrgId int64 Result *AlertNotification }
type GetAlertNotificationsWithUidToSendQuery ¶
type GetAlertNotificationsWithUidToSendQuery struct { Uids []string OrgId int64 Result []*AlertNotification }
type GetAlertNotifierUsageStatsQuery ¶
type GetAlertNotifierUsageStatsQuery struct {
Result []*NotifierUsageStats
}
type GetAlertStatesForDashboardQuery ¶
type GetAlertStatesForDashboardQuery struct { OrgId int64 DashboardId int64 Result []*AlertStateInfoDTO }
type GetAlertsQuery ¶
type GetAlertsQuery struct { OrgId int64 State []string DashboardIDs []int64 PanelId int64 Limit int64 Query string User *SignedInUser Result []*AlertListItemDTO }
Queries
type GetAllAlertNotificationsQuery ¶
type GetAllAlertNotificationsQuery struct { OrgId int64 Result []*AlertNotification }
type GetAllAlertsQuery ¶
type GetAllAlertsQuery struct {
Result []*Alert
}
type GetApiKeyByIdQuery ¶
type GetApiKeyByNameQuery ¶
type GetApiKeysQuery ¶
type GetAuthInfoQuery ¶
type GetDBHealthQuery ¶
type GetDBHealthQuery struct{}
type GetDashboardAclInfoListQuery ¶
type GetDashboardAclInfoListQuery struct { DashboardID int64 OrgID int64 Result []*DashboardAclInfoDTO }
QUERIES
type GetDashboardPermissionsForUserQuery ¶
type GetDashboardPermissionsForUserQuery struct { DashboardIds []int64 OrgId int64 UserId int64 OrgRole RoleType Result []*DashboardPermissionForUser }
type GetDashboardQuery ¶
type GetDashboardRefByIdQuery ¶
type GetDashboardRefByIdQuery struct { Id int64 Result *DashboardRef }
type GetDashboardSnapshotQuery ¶
type GetDashboardSnapshotQuery struct { Key string DeleteKey string Result *DashboardSnapshot }
type GetDashboardSnapshotsQuery ¶
type GetDashboardSnapshotsQuery struct { Name string Limit int OrgId int64 SignedInUser *SignedInUser Result DashboardSnapshotsList }
type GetDashboardTagsQuery ¶
type GetDashboardTagsQuery struct { OrgId int64 Result []*DashboardTagCloudItem }
type GetDashboardThumbnailCommand ¶
type GetDashboardThumbnailCommand struct { DashboardThumbnailMeta Result *DashboardThumbnail }
type GetDashboardVersionQuery ¶
type GetDashboardVersionQuery struct { DashboardId int64 OrgId int64 Version int Result *DashboardVersion }
type GetDashboardVersionsQuery ¶
type GetDashboardVersionsQuery struct { DashboardId int64 OrgId int64 Limit int Start int Result []*DashboardVersionDTO }
type GetDashboardsQuery ¶
type GetDataSourceAccessStatsQuery ¶
type GetDataSourceAccessStatsQuery struct {
Result []*DataSourceAccessStats
}
type GetDataSourceQuery ¶
type GetDataSourceQuery struct { Id int64 Uid string Name string OrgId int64 Result *DataSource }
GetDataSourceQuery will get a DataSource based on OrgID as well as the UID (preferred), ID, or Name. At least one of the UID, ID, or Name properties must be set in addition to OrgID.
type GetDataSourceStatsQuery ¶
type GetDataSourceStatsQuery struct {
Result []*DataSourceStats
}
type GetDataSourcesByTypeQuery ¶
type GetDataSourcesByTypeQuery struct { Type string Result []*DataSource }
type GetDataSourcesQuery ¶
type GetDataSourcesQuery struct { OrgId int64 DataSourceLimit int User *SignedInUser Result []*DataSource }
type GetDefaultDataSourceQuery ¶
type GetDefaultDataSourceQuery struct { OrgId int64 User *SignedInUser Result *DataSource }
type GetExternalUserInfoByLoginQuery ¶
type GetExternalUserInfoByLoginQuery struct { LoginOrEmail string Result *ExternalUserInfo }
type GetGlobalQuotaByTargetQuery ¶
type GetGlobalQuotaByTargetQuery struct { Target string Default int64 UnifiedAlertingEnabled bool Result *GlobalQuotaDTO }
type GetLiveMessageQuery ¶
type GetOrCreateNotificationStateQuery ¶
type GetOrCreateNotificationStateQuery struct { OrgId int64 AlertId int64 NotifierId int64 Result *AlertNotificationState }
type GetOrgByIdQuery ¶
type GetOrgByNameQuery ¶
type GetOrgQuotaByTargetQuery ¶
type GetOrgQuotaByTargetQuery struct { Target string OrgId int64 Default int64 UnifiedAlertingEnabled bool Result *OrgQuotaDTO }
type GetOrgQuotasQuery ¶
type GetOrgQuotasQuery struct { OrgId int64 UnifiedAlertingEnabled bool Result []*OrgQuotaDTO }
type GetOrgUsersQuery ¶
type GetOrgUsersQuery struct { UserID int64 OrgId int64 Query string Limit int User *SignedInUser Result []*OrgUserDTO }
type GetPlaylistByIdQuery ¶
type GetPlaylistItemsByIdQuery ¶
type GetPlaylistItemsByIdQuery struct { PlaylistId int64 Result *[]PlaylistItem }
type GetPlaylistsQuery ¶
type GetPluginSettingByIdQuery ¶
type GetPluginSettingByIdQuery struct { PluginId string OrgId int64 Result *PluginSetting }
type GetPreferencesQuery ¶
type GetPreferencesQuery struct { Id int64 OrgId int64 UserId int64 TeamId int64 Result *Preferences }
type GetPreferencesWithDefaultsQuery ¶
type GetPreferencesWithDefaultsQuery struct { User *SignedInUser Result *Preferences }
type GetSignedInUserQuery ¶
type GetSignedInUserQuery struct { UserId int64 Login string Email string OrgId int64 Result *SignedInUser }
type GetSystemStatsQuery ¶
type GetSystemStatsQuery struct {
Result *SystemStats
}
type GetSystemUserCountStatsQuery ¶
type GetSystemUserCountStatsQuery struct {
Result *SystemUserCountStats
}
type GetTeamByIdQuery ¶
type GetTeamMembersQuery ¶
type GetTeamMembersQuery struct { OrgId int64 TeamId int64 UserId int64 External bool SignedInUser *SignedInUser Result []*TeamMemberDTO }
type GetTeamsByUserQuery ¶
type GetTempUserByCodeQuery ¶
type GetTempUserByCodeQuery struct { Code string Result *TempUserDTO }
type GetTempUsersQuery ¶
type GetTempUsersQuery struct { OrgId int64 Email string Status TempUserStatus Result []*TempUserDTO }
type GetUserByAuthInfoQuery ¶
type GetUserByAuthInfoQuery struct { AuthModule string AuthId string UserLookupParams }
type GetUserByEmailQuery ¶
type GetUserByIdQuery ¶
type GetUserByLoginQuery ¶
type GetUserOrgListQuery ¶
type GetUserOrgListQuery struct { UserId int64 Result []*UserOrgDTO }
type GetUserProfileQuery ¶
type GetUserProfileQuery struct { UserId int64 Result UserProfileDTO }
type GetUserQuotaByTargetQuery ¶
type GetUserQuotaByTargetQuery struct { Target string UserId int64 Default int64 UnifiedAlertingEnabled bool Result *UserQuotaDTO }
type GetUserQuotasQuery ¶
type GetUserQuotasQuery struct { UserId int64 UnifiedAlertingEnabled bool Result []*UserQuotaDTO }
type GetUserStarsQuery ¶
type GlobalQuotaDTO ¶
type HasAdminPermissionInDashboardsOrFoldersQuery ¶
type HasAdminPermissionInDashboardsOrFoldersQuery struct { SignedInUser *SignedInUser Result bool }
type HasEditPermissionInFoldersQuery ¶
type HasEditPermissionInFoldersQuery struct { SignedInUser *SignedInUser Result bool }
type HelpFlags1 ¶
type HelpFlags1 uint64
const ( HelpFlagGettingStartedPanelDismissed HelpFlags1 = 1 << iota HelpFlagDashboardHelp1 )
func (*HelpFlags1) AddFlag ¶
func (f *HelpFlags1) AddFlag(flag HelpFlags1)
func (HelpFlags1) HasFlag ¶
func (f HelpFlags1) HasFlag(flag HelpFlags1) bool
type Hit ¶
type Hit struct { ID int64 `json:"id"` UID string `json:"uid"` Title string `json:"title"` URI string `json:"uri"` URL string `json:"url"` Slug string `json:"slug"` Type HitType `json:"type"` Tags []string `json:"tags"` IsStarred bool `json:"isStarred"` FolderID int64 `json:"folderId,omitempty"` FolderUID string `json:"folderUid,omitempty"` FolderTitle string `json:"folderTitle,omitempty"` FolderURL string `json:"folderUrl,omitempty"` SortMeta int64 `json:"sortMeta"` SortMetaName string `json:"sortMetaName,omitempty"` }
type InCondition ¶
type InCondition struct { Condition string Params interface{} }
type IsAdminOfTeamsQuery ¶
type IsAdminOfTeamsQuery struct { SignedInUser *SignedInUser Result bool }
type IsStarredByUserQuery ¶
type JWTService ¶
type JoinCondition ¶
type LibraryElementKind ¶
type LibraryElementKind int
LibraryElementKind is used for the kind of library element
const ( // PanelElement is used for library elements that are of the Panel kind PanelElement LibraryElementKind = iota + 1 // VariableElement is used for library elements that are of the Variable kind VariableElement )
type LicenseEnvironment ¶
type Licensing ¶
type Licensing interface { // Expiry returns the unix epoch timestamp when the license expires, or 0 if no valid license is provided Expiry() int64 // Return edition Edition() string // Used to build content delivery URL ContentDeliveryPrefix() string LicenseURL(showAdminLicensingPage bool) string StateInfo() string EnabledFeatures() map[string]bool FeatureEnabled(feature string) bool }
type LiveMessage ¶
type LoginAttempt ¶
type LoginUserQuery ¶
type NavbarPreference ¶
type NavbarPreference struct {
}type NoDataOption ¶
type NoDataOption string
const ( NoDataSetOK NoDataOption = "ok" NoDataSetNoData NoDataOption = "no_data" NoDataKeepState NoDataOption = "keep_state" NoDataSetAlerting NoDataOption = "alerting" )
func (NoDataOption) IsValid ¶
func (s NoDataOption) IsValid() bool
func (NoDataOption) ToAlertState ¶
func (s NoDataOption) ToAlertState() AlertStateType
type NotifierUsageStats ¶
type OrgDetailsDTO ¶
type OrgQuotaDTO ¶
type OrgUserDTO ¶
type OrgUserDTO struct { OrgId int64 `json:"orgId"` UserId int64 `json:"userId"` Email string `json:"email"` Name string `json:"name"` AvatarUrl string `json:"avatarUrl"` Login string `json:"login"` Role string `json:"role"` LastSeenAt time.Time `json:"lastSeenAt"` Updated time.Time `json:"-"` Created time.Time `json:"-"` LastSeenAtAge string `json:"lastSeenAtAge"` AccessControl map[string]bool `json:"accessControl,omitempty"` }
type PatchPreferencesCommand ¶
type PauseAlertCommand ¶
type PauseAllAlertCommand ¶
type PermissionType ¶
type PermissionType int
const ( PERMISSION_VIEW PermissionType = 1 << iota PERMISSION_EDIT PERMISSION_ADMIN )
func (PermissionType) String ¶
func (p PermissionType) String() string
type Playlist ¶
type Playlist struct { Id int64 `json:"id"` Name string `json:"name"` Interval string `json:"interval"` OrgId int64 `json:"-"` }
Playlist model
type PlaylistDTO ¶
type PlaylistDTO struct { Id int64 `json:"id"` Name string `json:"name"` Interval string `json:"interval"` OrgId int64 `json:"-"` Items []PlaylistItemDTO `json:"items"` }
type PlaylistItem ¶
type PlaylistItemDTO ¶
type PluginRequestValidator ¶
type PluginSetting ¶
type PluginSettingInfoDTO ¶
type PluginStateChangedEvent ¶
type Preferences ¶
type PreferencesJsonData ¶
type PreferencesJsonData struct {
}func (*PreferencesJsonData) FromDB ¶
func (j *PreferencesJsonData) FromDB(data []byte) error
func (*PreferencesJsonData) ToDB ¶
func (j *PreferencesJsonData) ToDB() ([]byte, error)
type PublishEvent ¶
type PublishEvent struct { Channel string Path string Data json.RawMessage }
PublishEvent contains publication data.
type PublishReply ¶
type PublishReply struct { // By default, it's a handler responsibility to publish data // into a stream upon OnPublish but returning a data here // will make Grafana Live publish data itself (i.e. stream handler // just works as permission proxy in this case). Data json.RawMessage // HistorySize sets a stream history size. HistorySize int // HistoryTTL is a time that messages will live in stream history. HistoryTTL time.Duration }
PublishReply is a reaction to PublishEvent.
type QuotaScope ¶
type RemoveOrgUserCommand ¶
type RemoveTeamMemberCommand ¶
type ReqContext ¶
type ReqContext struct { *web.Context *SignedInUser UserToken *UserToken IsSignedIn bool IsRenderCall bool AllowAnonymous bool SkipCache bool Logger log.Logger // RequestNonce is a cryptographic request identifier for use with Content Security Policy. RequestNonce string PerfmonTimer prometheus.Summary LookupTokenErr error }
func (*ReqContext) HasHelpFlag ¶
func (ctx *ReqContext) HasHelpFlag(flag HelpFlags1) bool
func (*ReqContext) HasUserRole ¶
func (ctx *ReqContext) HasUserRole(role RoleType) bool
func (*ReqContext) IsApiRequest ¶
func (ctx *ReqContext) IsApiRequest() bool
func (*ReqContext) JsonApiErr ¶
func (ctx *ReqContext) JsonApiErr(status int, message string, err error)
func (*ReqContext) QueryBoolWithDefault ¶
func (ctx *ReqContext) QueryBoolWithDefault(field string, d bool) bool
QueryBoolWithDefault extracts a value from the request query params and applies a bool default if not present.
func (*ReqContext) TimeRequest ¶
func (ctx *ReqContext) TimeRequest(timer prometheus.Summary)
type RequestURIKey ¶
type RequestURIKey struct{}
RequestURIKey is used as key to save request URI in contexts (used for the Enterprise auditing feature)
type RevokeAuthTokenCmd ¶
type RevokeAuthTokenCmd struct {
AuthTokenId int64 `json:"authTokenId"`
}
type SaveDashboardCommand ¶
type SaveDashboardCommand struct { Dashboard *simplejson.Json `json:"dashboard" binding:"Required"` UserId int64 `json:"userId"` Overwrite bool `json:"overwrite"` Message string `json:"message"` OrgId int64 `json:"-"` RestoredFrom int `json:"-"` PluginId string `json:"-"` FolderId int64 `json:"folderId"` FolderUid string `json:"folderUid"` IsFolder bool `json:"isFolder"` UpdatedAt time.Time Result *Dashboard `json:"-"` }
func (*SaveDashboardCommand) GetDashboardModel ¶
func (cmd *SaveDashboardCommand) GetDashboardModel() *Dashboard
GetDashboardModel turns the command into the saveable model
type SaveDashboardThumbnailCommand ¶
type SaveDashboardThumbnailCommand struct { DashboardThumbnailMeta DashboardVersion int Image []byte MimeType string Result *DashboardThumbnail }
type SaveLiveMessageQuery ¶
type SaveLiveMessageQuery struct { OrgId int64 Channel string Data json.RawMessage }
type SavePreferencesCommand ¶
type SavePreferencesCommand struct { UserId int64 OrgId int64 TeamId int64 HomeDashboardId int64 `json:"homeDashboardId,omitempty"` Timezone string `json:"timezone,omitempty"` WeekStart string `json:"weekStart,omitempty"` Theme string `json:"theme,omitempty"` }
--------------------- COMMANDS
type SearchOrgUsersQuery ¶
type SearchOrgUsersQuery struct { OrgID int64 Query string Page int Limit int User *SignedInUser Result SearchOrgUsersQueryResult }
type SearchOrgUsersQueryResult ¶
type SearchOrgUsersQueryResult struct { TotalCount int64 `json:"totalCount"` OrgUsers []*OrgUserDTO `json:"OrgUsers"` Page int `json:"page"` PerPage int `json:"perPage"` }
type SearchOrgsQuery ¶
type SearchTeamQueryResult ¶
type SearchTeamsQuery ¶
type SearchTeamsQuery struct { Query string Name string Limit int Page int OrgId int64 UserIdFilter int64 SignedInUser *SignedInUser HiddenUsers map[string]struct{} Result SearchTeamQueryResult }
type SearchUserFilter ¶
type SearchUserFilter interface { GetFilter(filterName string, params []string) Filter GetFilterList() map[string]FilterHandler }
type SearchUserQueryResult ¶
type SearchUserQueryResult struct { TotalCount int64 `json:"totalCount"` Users []*UserSearchHitDTO `json:"users"` Page int `json:"page"` PerPage int `json:"perPage"` }
type SearchUsersQuery ¶
type SendEmailAttachFile ¶
SendEmailAttachFile is a definition of the attached files without path
type SendEmailCommand ¶
type SendEmailCommand struct { To []string SingleEmail bool Template string Subject string Data map[string]interface{} Info string ReplyTo []string EmbeddedFiles []string AttachedFiles []*SendEmailAttachFile }
SendEmailCommand is the command for sending emails
type SendEmailCommandSync ¶
type SendEmailCommandSync struct {
SendEmailCommand
}
SendEmailCommandSync is the command for sending emails synchronously
type SendResetPasswordEmailCommand ¶
type SendResetPasswordEmailCommand struct {
User *User
}
type SendWebhookSync ¶
type SetAlertStateCommand ¶
type SetAlertStateCommand struct { AlertId int64 OrgId int64 State AlertStateType Error string EvalData *simplejson.Json Result Alert }
type SetAuthInfoCommand ¶
type SetUserHelpFlagCommand ¶
type SetUserHelpFlagCommand struct { HelpFlags1 HelpFlags1 UserId int64 }
type SetUsingOrgCommand ¶
type SignedInUser ¶
type SignedInUser struct { UserId int64 OrgId int64 OrgName string OrgRole RoleType ExternalAuthModule string ExternalAuthId string Login string Name string Email string ApiKeyId int64 OrgCount int IsGrafanaAdmin bool IsAnonymous bool IsDisabled bool HelpFlags1 HelpFlags1 LastSeenAt time.Time Teams []int64 // Permissions grouped by orgID and actions Permissions map[int64]map[string][]string `json:"-"` }
func (*SignedInUser) HasRole ¶
func (u *SignedInUser) HasRole(role RoleType) bool
func (*SignedInUser) IsRealUser ¶
func (u *SignedInUser) IsRealUser() bool
func (*SignedInUser) NameOrFallback ¶
func (u *SignedInUser) NameOrFallback() string
func (*SignedInUser) ShouldUpdateLastSeenAt ¶
func (u *SignedInUser) ShouldUpdateLastSeenAt() bool
func (*SignedInUser) ToUserDisplayDTO ¶
func (u *SignedInUser) ToUserDisplayDTO() *UserDisplayDTO
type SortOption ¶
type SortOptionFilter ¶
type SortOptionFilter interface { searchstore.FilterOrderBy }
type StarDashboardCommand ¶
type SubscribeEvent ¶
type SubscribeEvent struct { Channel string Path string Data json.RawMessage }
SubscribeEvent contains subscription data.
type SubscribeReply ¶
type SubscribeReply struct { Presence bool JoinLeave bool Recover bool Data json.RawMessage }
SubscribeReply is a reaction to SubscribeEvent.
type SystemStats ¶
type SystemStats struct { Dashboards int64 Datasources int64 Users int64 ActiveUsers int64 DailyActiveUsers int64 MonthlyActiveUsers int64 Orgs int64 Playlists int64 Alerts int64 Stars int64 Snapshots int64 Teams int64 DashboardPermissions int64 FolderPermissions int64 Folders int64 ProvisionedDashboards int64 AuthTokens int64 APIKeys int64 `xorm:"api_keys"` DashboardVersions int64 Annotations int64 AlertRules int64 LibraryPanels int64 LibraryVariables int64 DashboardsViewersCanEdit int64 DashboardsViewersCanAdmin int64 FoldersViewersCanEdit int64 FoldersViewersCanAdmin int64 Admins int64 Editors int64 Viewers int64 ActiveAdmins int64 ActiveEditors int64 ActiveViewers int64 ActiveSessions int64 DailyActiveAdmins int64 DailyActiveEditors int64 DailyActiveViewers int64 DailyActiveSessions int64 DataKeys int64 }
type SystemUserCountStats ¶
type SystemUserCountStats struct {
Count int64
}
type Tag ¶
func ParseTagPairs ¶
type Team ¶
type Team struct { Id int64 `json:"id"` OrgId int64 `json:"orgId"` Name string `json:"name"` Email string `json:"email"` Created time.Time `json:"created"` Updated time.Time `json:"updated"` }
Team model
type TeamMember ¶
type TeamMember struct { Id int64 OrgId int64 TeamId int64 UserId int64 External bool // Signals that the membership has been created by an external systems, such as LDAP Permission PermissionType Created time.Time Updated time.Time }
TeamMember model
type TeamMemberDTO ¶
type TeamMemberDTO struct { OrgId int64 `json:"orgId"` TeamId int64 `json:"teamId"` UserId int64 `json:"userId"` External bool `json:"-"` AuthModule string `json:"auth_module"` Email string `json:"email"` Name string `json:"name"` Login string `json:"login"` AvatarUrl string `json:"avatarUrl"` Labels []string `json:"labels"` Permission PermissionType `json:"permission"` }
type TeamOrgGroupDTO ¶
type TempUser ¶
type TempUser struct { Id int64 OrgId int64 Version int Email string Name string Role RoleType InvitedByUserId int64 Status TempUserStatus EmailSent bool EmailSentOn time.Time Code string RemoteAddr string Created int64 Updated int64 }
TempUser holds data for org invites and unconfirmed sign ups
type TempUserDTO ¶
type TempUserDTO struct { Id int64 `json:"id"` OrgId int64 `json:"orgId"` Name string `json:"name"` Email string `json:"email"` Role RoleType `json:"role"` InvitedByLogin string `json:"invitedByLogin"` InvitedByEmail string `json:"invitedByEmail"` InvitedByName string `json:"invitedByName"` Code string `json:"code"` Status TempUserStatus `json:"status"` Url string `json:"url"` EmailSent bool `json:"emailSent"` EmailSentOn time.Time `json:"emailSentOn"` Created time.Time `json:"createdOn"` }
type TempUserStatus ¶
type TempUserStatus string
const ( TmpUserSignUpStarted TempUserStatus = "SignUpStarted" TmpUserInvitePending TempUserStatus = "InvitePending" TmpUserCompleted TempUserStatus = "Completed" TmpUserRevoked TempUserStatus = "Revoked" TmpUserExpired TempUserStatus = "Expired" )
type ThumbnailKind ¶
type ThumbnailKind string
const ( // ThumbnailKindDefault is a small 320x240 preview ThumbnailKindDefault ThumbnailKind = "thumb" )
func ParseThumbnailKind ¶
func ParseThumbnailKind(str string) (ThumbnailKind, error)
func (ThumbnailKind) IsKnownThumbnailKind ¶
func (p ThumbnailKind) IsKnownThumbnailKind() bool
IsKnownThumbnailKind checks if the value is supported
type ThumbnailState ¶
type ThumbnailState string
const ( // ThumbnailStateDefault is the initial state for all thumbnails. Thumbnails in the "default" state will be considered stale, // and thus refreshed by the crawler, if the dashboard version from the time of taking the thumbnail is different from the current dashboard version ThumbnailStateDefault ThumbnailState = "default" // ThumbnailStateStale is a manually assigned state. Thumbnails in the "stale" state will be refreshed on the next crawler run ThumbnailStateStale ThumbnailState = "stale" // ThumbnailStateLocked is a manually assigned state. Thumbnails in the "locked" state will not be refreshed by the crawler as long as they remain in the "locked" state. ThumbnailStateLocked ThumbnailState = "locked" )
func (ThumbnailState) IsValid ¶
func (s ThumbnailState) IsValid() bool
func (*ThumbnailState) UnmarshalJSON ¶
func (s *ThumbnailState) UnmarshalJSON(data []byte) error
type TokenExpiredError ¶
func (*TokenExpiredError) Error ¶
func (e *TokenExpiredError) Error() string
type TokenRevokedError ¶
func (*TokenRevokedError) Error ¶
func (e *TokenRevokedError) Error() string
type TrimDashboardCommand ¶
type TrimDashboardCommand struct { Dashboard *simplejson.Json `json:"dashboard" binding:"Required"` Meta *simplejson.Json `json:"meta"` Result *Dashboard `json:"-"` }
type UnstarDashboardCommand ¶
type UpdateAlertNotificationCommand ¶
type UpdateAlertNotificationCommand struct { Id int64 `json:"id" binding:"Required"` Uid string `json:"uid"` Name string `json:"name" binding:"Required"` Type string `json:"type" binding:"Required"` SendReminder bool `json:"sendReminder"` DisableResolveMessage bool `json:"disableResolveMessage"` Frequency string `json:"frequency"` IsDefault bool `json:"isDefault"` Settings *simplejson.Json `json:"settings" binding:"Required"` SecureSettings map[string]string `json:"secureSettings"` OrgId int64 `json:"-"` EncryptedSecureSettings map[string][]byte `json:"-"` Result *AlertNotification `json:"-"` }
type UpdateAlertNotificationWithUidCommand ¶
type UpdateAlertNotificationWithUidCommand struct { Uid string `json:"-"` NewUid string `json:"uid"` Name string `json:"name" binding:"Required"` Type string `json:"type" binding:"Required"` SendReminder bool `json:"sendReminder"` DisableResolveMessage bool `json:"disableResolveMessage"` Frequency string `json:"frequency"` IsDefault bool `json:"isDefault"` Settings *simplejson.Json `json:"settings" binding:"Required"` SecureSettings map[string]string `json:"secureSettings"` OrgId int64 `json:"-"` Result *AlertNotification `json:"-"` }
type UpdateAuthInfoCommand ¶
type UpdateDataSourceCommand ¶
type UpdateDataSourceCommand struct { Name string `json:"name" binding:"Required"` Type string `json:"type" binding:"Required"` Access DsAccess `json:"access" binding:"Required"` Url string `json:"url"` Password string `json:"password"` User string `json:"user"` Database string `json:"database"` BasicAuth bool `json:"basicAuth"` BasicAuthUser string `json:"basicAuthUser"` BasicAuthPassword string `json:"basicAuthPassword"` WithCredentials bool `json:"withCredentials"` IsDefault bool `json:"isDefault"` JsonData *simplejson.Json `json:"jsonData"` SecureJsonData map[string]string `json:"secureJsonData"` Version int `json:"version"` Uid string `json:"uid"` OrgId int64 `json:"-"` Id int64 `json:"-"` ReadOnly bool `json:"-"` EncryptedSecureJsonData map[string][]byte `json:"-"` Result *DataSource `json:"-"` }
Also acts as api DTO
type UpdateFolderCommand ¶
type UpdateFolderCommand struct { Uid string `json:"uid"` Title string `json:"title"` Version int `json:"version"` Overwrite bool `json:"overwrite"` Result *Folder `json:"-"` }
func (*UpdateFolderCommand) UpdateDashboardModel ¶
func (cmd *UpdateFolderCommand) UpdateDashboardModel(dashFolder *Dashboard, orgId int64, userId int64)
UpdateDashboardModel updates an existing model from command into model for update
type UpdateOrgAddressCommand ¶
type UpdateOrgCommand ¶
type UpdateOrgQuotaCmd ¶
type UpdateOrgUserCommand ¶
type UpdatePlaylistCommand ¶
type UpdatePlaylistCommand struct { OrgId int64 `json:"-"` Id int64 `json:"id"` Name string `json:"name" binding:"Required"` Interval string `json:"interval"` Items []PlaylistItemDTO `json:"items"` Result *PlaylistDTO }
type UpdatePluginDashboardError ¶
type UpdatePluginDashboardError struct {
PluginId string
}
func (UpdatePluginDashboardError) Error ¶
func (d UpdatePluginDashboardError) Error() string
type UpdatePluginSettingCmd ¶
type UpdatePluginSettingCmd struct { Enabled bool `json:"enabled"` Pinned bool `json:"pinned"` JsonData map[string]interface{} `json:"jsonData"` SecureJsonData map[string]string `json:"secureJsonData"` PluginVersion string `json:"version"` PluginId string `json:"-"` OrgId int64 `json:"-"` EncryptedSecureJsonData map[string][]byte `json:"-"` }
Also acts as api DTO
type UpdatePluginSettingVersionCmd ¶
type UpdatePluginSettingVersionCmd struct { PluginVersion string PluginId string `json:"-"` OrgId int64 `json:"-"` }
specific command, will only update version
type UpdateTeamCommand ¶
type UpdateTeamMemberCommand ¶
type UpdateTeamMemberCommand struct { UserId int64 `json:"-"` OrgId int64 `json:"-"` TeamId int64 `json:"-"` Permission PermissionType `json:"permission"` }
type UpdateTempUserStatusCommand ¶
type UpdateTempUserStatusCommand struct { Code string Status TempUserStatus }
type UpdateTempUserWithEmailSentCommand ¶
type UpdateTempUserWithEmailSentCommand struct {
Code string
}
type UpdateThumbnailStateCommand ¶
type UpdateThumbnailStateCommand struct { State ThumbnailState DashboardThumbnailMeta }
type UpdateUserCommand ¶
type UpdateUserLastSeenAtCommand ¶
type UpdateUserLastSeenAtCommand struct {
UserId int64
}
type UpdateUserQuotaCmd ¶
type UpsertUserCommand ¶
type UpsertUserCommand struct { ReqContext *ReqContext ExternalUser *ExternalUserInfo UserLookupParams Result *User SignupAllowed bool }
type User ¶
type User struct { Id int64 Version int Email string Name string Login string Password string Salt string Rands string Company string EmailVerified bool Theme string HelpFlags1 HelpFlags1 IsDisabled bool IsAdmin bool IsServiceAccount bool OrgId int64 Created time.Time Updated time.Time LastSeenAt time.Time }
func (*User) NameOrFallback ¶
type UserDisplayDTO ¶
type UserLookupParams ¶
type UserOrgDTO ¶
type UserProfileDTO ¶
type UserProfileDTO struct { Id int64 `json:"id"` Email string `json:"email"` Name string `json:"name"` Login string `json:"login"` Theme string `json:"theme"` OrgId int64 `json:"orgId,omitempty"` IsGrafanaAdmin bool `json:"isGrafanaAdmin"` IsDisabled bool `json:"isDisabled"` IsExternal bool `json:"isExternal"` AuthLabels []string `json:"authLabels"` UpdatedAt time.Time `json:"updatedAt"` CreatedAt time.Time `json:"createdAt"` AvatarUrl string `json:"avatarUrl"` AccessControl map[string]bool `json:"accessControl,omitempty"` }
type UserQuotaDTO ¶
type UserSearchHitDTO ¶
type UserSearchHitDTO struct { Id int64 `json:"id"` Name string `json:"name"` Login string `json:"login"` Email string `json:"email"` AvatarUrl string `json:"avatarUrl"` IsAdmin bool `json:"isAdmin"` IsDisabled bool `json:"isDisabled"` LastSeenAt time.Time `json:"lastSeenAt"` LastSeenAtAge string `json:"lastSeenAtAge"` AuthLabels []string `json:"authLabels"` AuthModule AuthModuleConversion `json:"-"` }
type UserToken ¶
type UserToken struct { Id int64 UserId int64 AuthToken string PrevAuthToken string UserAgent string ClientIp string AuthTokenSeen bool SeenAt int64 RotatedAt int64 CreatedAt int64 UpdatedAt int64 RevokedAt int64 UnhashedToken string }
UserToken represents a user token
type UserTokenBackgroundService ¶
type UserTokenBackgroundService interface { registry.BackgroundService }
type UserTokenService ¶
type UserTokenService interface { CreateToken(ctx context.Context, user *User, clientIP net.IP, userAgent string) (*UserToken, error) LookupToken(ctx context.Context, unhashedToken string) (*UserToken, error) TryRotateToken(ctx context.Context, token *UserToken, clientIP net.IP, userAgent string) (bool, error) RevokeToken(ctx context.Context, token *UserToken, soft bool) error RevokeAllUserTokens(ctx context.Context, userId int64) error ActiveTokenCount(ctx context.Context) (int64, error) GetUserToken(ctx context.Context, userId, userTokenId int64) (*UserToken, error) GetUserTokens(ctx context.Context, userId int64) ([]*UserToken, error) GetUserRevokedTokens(ctx context.Context, userId int64) ([]*UserToken, error) }
UserTokenService are used for generating and validating user tokens
type ValidateDashboardBeforeSaveResult ¶
type ValidateDashboardBeforeSaveResult struct {
IsParentFolderChanged bool
}
type WhereCondition ¶
type WhereCondition struct { Condition string Params interface{} }
Source Files ¶
- address.go
- alert.go
- alert_notifications.go
- apikey.go
- context.go
- dashboard_acl.go
- dashboard_snapshot.go
- dashboard_thumbs.go
- dashboard_version.go
- dashboards.go
- datasource.go
- folders.go
- health.go
- helpflags.go
- jwt.go
- libraryelements.go
- licensing.go
- live.go
- login_attempt.go
- models.go
- notifications.go
- org.go
- org_user.go
- playlist.go
- plugin_settings.go
- preferences.go
- quotas.go
- search.go
- search_user_filter.go
- shorturl.go
- star.go
- stats.go
- tags.go
- team.go
- team_member.go
- temp_user.go
- theme.go
- user.go
- user_auth.go
- user_token.go
- validations.go