logical/postgresql: support deleting roles and reading them

This commit is contained in:
Mitchell Hashimoto
2015-04-18 21:59:59 -07:00
parent 9798b5106a
commit 65de2d6375
3 changed files with 110 additions and 13 deletions

View File

@@ -12,7 +12,7 @@ import (
func pathRoleCreate(b *backend) *framework.Path {
return &framework.Path{
Pattern: `(?P<name>\w+)`,
Pattern: `creds/(?P<name>\w+)`,
Fields: map[string]*framework.FieldSchema{
"name": &framework.FieldSchema{
Type: framework.TypeString,
@@ -34,19 +34,13 @@ func (b *backend) pathRoleCreateRead(
name := data.Get("name").(string)
// Get the role
entry, err := req.Storage.Get("role/" + name)
role, err := b.Role(req.Storage, name)
if err != nil {
return nil, err
}
if entry == nil {
if role == nil {
return logical.ErrorResponse(fmt.Sprintf("unknown role: %s", name)), nil
}
var role struct {
SQL string `json:"sql"`
}
if err := entry.DecodeJSON(&role); err != nil {
return nil, err
}
// Determine if we have a lease
lease, err := b.Lease(req.Storage)