Implement accessors for stateful tokens.
This commit is contained in:
+15
-8
@@ -1753,7 +1753,7 @@ func handleClientMessage(c *webClient, m clientMessage) error {
|
||||
now := time.Now()
|
||||
tok.IssuedAt = &now
|
||||
|
||||
new, err := token.Add(tok)
|
||||
new, err := token.Update(tok, "")
|
||||
if err != nil {
|
||||
return terror("error", err.Error())
|
||||
}
|
||||
@@ -1783,19 +1783,26 @@ func handleClientMessage(c *webClient, m clientMessage) error {
|
||||
}
|
||||
if tok.Group != "" || tok.Username != nil ||
|
||||
tok.Permissions != nil ||
|
||||
tok.NotBefore != nil ||
|
||||
tok.IssuedBy != nil ||
|
||||
tok.IssuedAt != nil {
|
||||
return terror(
|
||||
"error", "this field cannot be edited",
|
||||
)
|
||||
}
|
||||
if tok.Expires == nil {
|
||||
return terror("error", "trying to edit nothing")
|
||||
|
||||
old, etag, err := token.Get(tok.Token)
|
||||
if err != nil {
|
||||
return terror("error", err.Error())
|
||||
}
|
||||
new, err := token.Extend(
|
||||
c.group.Name(), tok.Token, *tok.Expires,
|
||||
)
|
||||
t := old.Clone()
|
||||
if tok.Expires != nil {
|
||||
t.Expires = tok.Expires
|
||||
}
|
||||
if tok.NotBefore != nil {
|
||||
t.NotBefore = tok.NotBefore
|
||||
}
|
||||
|
||||
new, err := token.Update(t, etag)
|
||||
if err != nil {
|
||||
return terror("error", err.Error())
|
||||
}
|
||||
@@ -1819,7 +1826,7 @@ func handleClientMessage(c *webClient, m clientMessage) error {
|
||||
!member("token", c.permissions) {
|
||||
return terror("not-authorised", "not authorised")
|
||||
}
|
||||
tokens, err := token.List(c.group.Name())
|
||||
tokens, _, err := token.List(c.group.Name())
|
||||
if err != nil {
|
||||
return terror("error", err.Error())
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user