storage: update godocs

This commit is contained in:
Eric Chiang 2016-10-28 13:00:13 -07:00
parent d7912a3a97
commit c0aa63ac97
2 changed files with 14 additions and 3 deletions

View File

@ -1,2 +1,2 @@
// Package kubernetes provides a storage interface using Kubernetes third party APIs. // Package kubernetes provides a storage implementation using Kubernetes third party APIs.
package kubernetes package kubernetes

View File

@ -78,9 +78,20 @@ type Storage interface {
DeleteRefresh(id string) error DeleteRefresh(id string) error
DeletePassword(email string) error DeletePassword(email string) error
// Update functions are assumed to be a performed within a single object transaction. // Update methods take a function for updating an object then performs that update within
// a transaction. "updater" functions may be called multiple times by a single update call.
//
// Because new fields may be added to resources, updaters should only modify existing
// fields on the old object rather then creating new structs. For example:
//
// updater := func(old storage.Client) (storage.Client, error) {
// old.Secret = newSecret
// return old, nil
// }
// if err := s.UpdateClient(clientID, updater); err != nil {
// // update failed, handle error
// }
// //
// updaters may be called multiple times.
UpdateClient(id string, updater func(old Client) (Client, error)) error UpdateClient(id string, updater func(old Client) (Client, error)) error
UpdateKeys(updater func(old Keys) (Keys, error)) error UpdateKeys(updater func(old Keys) (Keys, error)) error
UpdateAuthRequest(id string, updater func(a AuthRequest) (AuthRequest, error)) error UpdateAuthRequest(id string, updater func(a AuthRequest) (AuthRequest, error)) error