Diff
checker
Texto
Texto
Imágenes
Documentos
Excel
Carpetas
Legal
Enterprise
Aplicación de escritorio
Precios
Iniciar sesión
Descargar Diffchecker Desktop
Comparar texto
Encuentra la diferencia entre dos archivos de texto
Herramientas
Historial
Editor live
Ocultar sin cambios
Sin ajuste de línea
Vista
Dividido
Unificado
Nivel de detalle
Inteligente
Palabra
Letra
Resaltado de sintaxis
Elegir sintaxis
Ignorar
Transformar texto
Ir al primer cambio
Editar entrada
Diffchecker Desktop
La forma más segura de usar Diffchecker. ¡Obtén la app de Diffchecker Desktop: tus diffs nunca salen de tu computadora!
Obtener Desktop
Untitled diff
Creado
hace 7 años
El diff nunca expira
Borrar
Exportar
Compartir
Explicar
59 eliminaciones
Líneas
Total
Eliminado
Caracteres
Total
Eliminado
Para continuar usando esta función, actualice a
Diff
checker
Pro
Ver precios
79 líneas
Copiar todo
66 adiciones
Líneas
Total
Añadido
Caracteres
Total
Añadido
Para continuar usando esta función, actualice a
Diff
checker
Pro
Ver precios
83 líneas
Copiar todo
package api
package api
import (
import (
Copiar
Copiado
Copiar
Copiado
"github.com/
grafana/grafana/pkg/api/dtos"
"github.com/
torkelo
/grafana
-pro
/pkg/bus"
"github.com
/grafana
/grafana
/pkg/bus"
"github.com/
torkelo
/grafana
-pro
/pkg/
middleware
"
"github.com/
grafana
/grafana
/pkg/
components/apikeygen
"
m
"github.com/
torkelo
/grafana
-pro
/pkg/models"
"github.com/
grafana
/grafana
/pkg/models"
"
github.com/torkelo/grafana-pro/pkg/util
"
"
time
"
)
)
Copiar
Copiado
Copiar
Copiado
func GetA
PI
Keys(c *
models.ReqContext) Response
{
func GetA
pi
Keys(c *
middleware.Context)
{
query :=
models
.GetApiKeysQuery{
OrgId
: c.
OrgId
}
query :=
m
.GetApiKeysQuery{
AccountId
: c.
AccountId
}
if err := bus.Dispatch(&query); err != nil {
if err := bus.Dispatch(&query); err != nil {
Copiar
Copiado
Copiar
Copiado
return Error
(500, "Failed to list api keys", err)
c.JsonApiErr
(500, "Failed to list api keys", err)
return
}
}
Copiar
Copiado
Copiar
Copiado
result := make([]*
models
.ApiKeyDTO, len(query.Result))
result := make([]*
m
.ApiKeyDTO, len(query.Result))
for i, t := range query.Result {
for i, t := range query.Result {
Copiar
Copiado
Copiar
Copiado
var expiration *time.Time = nil
result[i] = &
m
.ApiKeyDTO{
if t.Expires != nil {
Id:
t.Id,
v := time.Unix(*t.Expires, 0)
Name:
t.Name,
expiration = &v
Role:
t.Role,
}
Key: t.Key
,
result[i] = &
models
.ApiKeyDTO{
Id:
t.Id,
Name:
t.Name,
Role:
t.Role,
Expiration: expiration
,
}
}
}
}
Copiar
Copiado
Copiar
Copiado
c.
JSON(200, result)
return
JSON(200, result)
}
}
Copiar
Copiado
Copiar
Copiado
func DeleteA
PI
Key(c *
models.ReqContext) Response
{
func DeleteA
pi
Key(c *
middleware.Context)
{
id := c.ParamsInt64(":id")
id := c.ParamsInt64(":id")
Copiar
Copiado
Copiar
Copiado
cmd := &
models
.DeleteApiKeyCommand{Id: id,
OrgId
: c.
OrgId
}
cmd := &
m
.DeleteApiKeyCommand{Id: id,
AccountId
: c.
AccountId
}
err := bus.Dispatch(cmd)
err := bus.Dispatch(cmd)
if err != nil {
if err != nil {
Copiar
Copiado
Copiar
Copiado
return Error
(500, "Failed to delete API key", err)
c.JsonApiErr
(500, "Failed to delete API key", err)
return
}
}
Copiar
Copiado
Copiar
Copiado
return Success
("API key deleted")
c.JsonOK
("API key deleted")
}
}
Copiar
Copiado
Copiar
Copiado
func
(hs *HTTPServer)
AddA
PI
Key(c *
models.ReqContext
, cmd
models
.AddApiKeyCommand)
Response
{
func
AddA
pi
Key(c *
middleware.Context
, cmd
m
.AddApiKeyCommand)
{
if !cmd.Role.IsValid() {
if !cmd.Role.IsValid() {
Copiar
Copiado
Copiar
Copiado
return Error
(400, "Invalid role specified", nil)
c.JsonApiErr
(400, "Invalid role specified", nil)
return
}
}
Copiar
Copiado
Copiar
Copiado
if hs.Cfg.ApiKeyMaxSecondsToLive != -1 {
cmd.AccountId = c.AccountId
if cmd.SecondsToLive == 0 {
cmd.Key =
util.GetRandomString(64)
return Error(400, "Number of seconds before expiration should be set", nil)
}
if cmd.SecondsToLive > hs.Cfg.ApiKeyMaxSecondsToLive {
return Error(400, "Number of seconds before expiration is greater than the global limit", nil)
}
}
cmd.OrgId = c.OrgId
newKeyInfo := apikeygen.New(cmd.OrgId, cmd.Name)
cmd.Key =
newKeyInfo.HashedKey
if err := bus.Dispatch(&cmd); err != nil {
if err := bus.Dispatch(&cmd); err != nil {
Copiar
Copiado
Copiar
Copiado
if err == models.ErrInvalidApiKeyExpiration {
c.JsonApiErr
(500, "Failed to add API key", err)
return Error(400, err.Error(), nil)
return
}
return Error
(500, "Failed to add API key", err)
}
}
Copiar
Copiado
Copiar
Copiado
result := &
dtos.NewApiKeyResult{
result := &
m.ApiKeyDTO{
Id: cmd.Result.Id,
Name: cmd.Result.Name,
Name: cmd.Result.Name,
Copiar
Copiado
Copiar
Copiado
Key:
newKeyInfo.ClientSecret
}
Role: cmd.Result.Role,
Key:
cmd.Result.Key,
}
Copiar
Copiado
Copiar
Copiado
return
JSON(200, result)
c.
JSON(200, result)
}
func UpdateApiKey(c *middleware.Context, cmd m.UpdateApiKeyCommand) {
if !cmd.Role.IsValid() {
c.JsonApiErr(400, "Invalid role specified", nil)
return
}
cmd.AccountId = c.AccountId
err := bus.Dispatch(&cmd)
if err != nil {
c.JsonApiErr(500, "Failed to update api key", err)
return
}
c.JsonOK("API key updated")
}
}
Diferencias guardadas
Texto original
Abrir archivo
package api import ( "github.com/grafana/grafana/pkg/api/dtos" "github.com/grafana/grafana/pkg/bus" "github.com/grafana/grafana/pkg/components/apikeygen" "github.com/grafana/grafana/pkg/models" "time" ) func GetAPIKeys(c *models.ReqContext) Response { query := models.GetApiKeysQuery{OrgId: c.OrgId} if err := bus.Dispatch(&query); err != nil { return Error(500, "Failed to list api keys", err) } result := make([]*models.ApiKeyDTO, len(query.Result)) for i, t := range query.Result { var expiration *time.Time = nil if t.Expires != nil { v := time.Unix(*t.Expires, 0) expiration = &v } result[i] = &models.ApiKeyDTO{ Id: t.Id, Name: t.Name, Role: t.Role, Expiration: expiration, } } return JSON(200, result) } func DeleteAPIKey(c *models.ReqContext) Response { id := c.ParamsInt64(":id") cmd := &models.DeleteApiKeyCommand{Id: id, OrgId: c.OrgId} err := bus.Dispatch(cmd) if err != nil { return Error(500, "Failed to delete API key", err) } return Success("API key deleted") } func (hs *HTTPServer) AddAPIKey(c *models.ReqContext, cmd models.AddApiKeyCommand) Response { if !cmd.Role.IsValid() { return Error(400, "Invalid role specified", nil) } if hs.Cfg.ApiKeyMaxSecondsToLive != -1 { if cmd.SecondsToLive == 0 { return Error(400, "Number of seconds before expiration should be set", nil) } if cmd.SecondsToLive > hs.Cfg.ApiKeyMaxSecondsToLive { return Error(400, "Number of seconds before expiration is greater than the global limit", nil) } } cmd.OrgId = c.OrgId newKeyInfo := apikeygen.New(cmd.OrgId, cmd.Name) cmd.Key = newKeyInfo.HashedKey if err := bus.Dispatch(&cmd); err != nil { if err == models.ErrInvalidApiKeyExpiration { return Error(400, err.Error(), nil) } return Error(500, "Failed to add API key", err) } result := &dtos.NewApiKeyResult{ Name: cmd.Result.Name, Key: newKeyInfo.ClientSecret} return JSON(200, result) }
Texto modificado
Abrir archivo
package api import ( "github.com/torkelo/grafana-pro/pkg/bus" "github.com/torkelo/grafana-pro/pkg/middleware" m "github.com/torkelo/grafana-pro/pkg/models" "github.com/torkelo/grafana-pro/pkg/util" ) func GetApiKeys(c *middleware.Context) { query := m.GetApiKeysQuery{AccountId: c.AccountId} if err := bus.Dispatch(&query); err != nil { c.JsonApiErr(500, "Failed to list api keys", err) return } result := make([]*m.ApiKeyDTO, len(query.Result)) for i, t := range query.Result { result[i] = &m.ApiKeyDTO{ Id: t.Id, Name: t.Name, Role: t.Role, Key: t.Key, } } c.JSON(200, result) } func DeleteApiKey(c *middleware.Context) { id := c.ParamsInt64(":id") cmd := &m.DeleteApiKeyCommand{Id: id, AccountId: c.AccountId} err := bus.Dispatch(cmd) if err != nil { c.JsonApiErr(500, "Failed to delete API key", err) return } c.JsonOK("API key deleted") } func AddApiKey(c *middleware.Context, cmd m.AddApiKeyCommand) { if !cmd.Role.IsValid() { c.JsonApiErr(400, "Invalid role specified", nil) return } cmd.AccountId = c.AccountId cmd.Key = util.GetRandomString(64) if err := bus.Dispatch(&cmd); err != nil { c.JsonApiErr(500, "Failed to add API key", err) return } result := &m.ApiKeyDTO{ Id: cmd.Result.Id, Name: cmd.Result.Name, Role: cmd.Result.Role, Key: cmd.Result.Key, } c.JSON(200, result) } func UpdateApiKey(c *middleware.Context, cmd m.UpdateApiKeyCommand) { if !cmd.Role.IsValid() { c.JsonApiErr(400, "Invalid role specified", nil) return } cmd.AccountId = c.AccountId err := bus.Dispatch(&cmd) if err != nil { c.JsonApiErr(500, "Failed to update api key", err) return } c.JsonOK("API key updated") }
Encontrar la diferencia