mirror of
https://github.com/grafana/grafana.git
synced 2025-02-25 18:55:37 -06:00
Adds signed in user to backend v2 plugins requests (#22584)
closes #12043
This commit is contained in:
@@ -230,6 +230,15 @@ func (p *BackendPlugin) callResource(ctx context.Context, req CallResourceReques
|
||||
Body: req.Body,
|
||||
}
|
||||
|
||||
if req.User != nil {
|
||||
protoReq.User = &pluginv2.User{
|
||||
Name: req.User.Name,
|
||||
Login: req.User.Login,
|
||||
Email: req.User.Email,
|
||||
Role: string(req.User.OrgRole),
|
||||
}
|
||||
}
|
||||
|
||||
if req.Config.DataSourceConfig != nil {
|
||||
protoReq.Config.DatasourceConfig = &pluginv2.DataSourceConfig{
|
||||
Id: req.Config.DataSourceConfig.ID,
|
||||
|
||||
@@ -5,6 +5,7 @@ import (
|
||||
"time"
|
||||
|
||||
"github.com/grafana/grafana/pkg/components/simplejson"
|
||||
"github.com/grafana/grafana/pkg/models"
|
||||
|
||||
"github.com/grafana/grafana-plugin-sdk-go/genproto/pluginv2"
|
||||
)
|
||||
@@ -37,8 +38,9 @@ func (hs HealthStatus) String() string {
|
||||
|
||||
// CheckHealthResult check health result.
|
||||
type CheckHealthResult struct {
|
||||
Status HealthStatus
|
||||
Message string
|
||||
Status HealthStatus
|
||||
Message string
|
||||
JSONDetails string
|
||||
}
|
||||
|
||||
func checkHealthResultFromProto(protoResp *pluginv2.CheckHealth_Response) *CheckHealthResult {
|
||||
@@ -51,8 +53,9 @@ func checkHealthResultFromProto(protoResp *pluginv2.CheckHealth_Response) *Check
|
||||
}
|
||||
|
||||
return &CheckHealthResult{
|
||||
Status: status,
|
||||
Message: protoResp.Message,
|
||||
Status: status,
|
||||
Message: protoResp.Message,
|
||||
JSONDetails: protoResp.JsonDetails,
|
||||
}
|
||||
}
|
||||
|
||||
@@ -83,6 +86,7 @@ type CallResourceRequest struct {
|
||||
URL string
|
||||
Headers map[string][]string
|
||||
Body []byte
|
||||
User *models.SignedInUser
|
||||
}
|
||||
|
||||
// CallResourceResult call resource result.
|
||||
|
||||
@@ -208,6 +208,7 @@ func (m *manager) CallResource(config PluginConfig, c *models.ReqContext, path s
|
||||
URL: clonedReq.URL.String(),
|
||||
Headers: clonedReq.Header,
|
||||
Body: body,
|
||||
User: c.SignedInUser,
|
||||
}
|
||||
|
||||
stream, err := p.callResource(clonedReq.Context(), req)
|
||||
|
||||
Reference in New Issue
Block a user