28 lines
911 B
Go
28 lines
911 B
Go
package accounts
|
|
|
|
// Accountant decribes something that stores accounts and account values
|
|
type Accountant interface {
|
|
// RegisterAccount will register a new account and return it's info
|
|
RegisterAccount(name string) (acc Account, err error)
|
|
|
|
// AssignData stores a custom account key value pair
|
|
AssignData(account string, key string, value string) error
|
|
|
|
// GetValue returns custom account data for a specific key
|
|
GetValue(account string, key string) (string, error)
|
|
|
|
// VerifySecret will verify whether the account secret matches with the
|
|
VerifySecret(account string, secret string) (bool, error)
|
|
|
|
// GetSecret gets the secret associated with an account
|
|
GetSecret(account string) (string, error)
|
|
}
|
|
|
|
// Account represents a registered user
|
|
type Account struct {
|
|
// Name simply describes the account and must be unique
|
|
Name string
|
|
|
|
// Data represents internal account data
|
|
Data map[string]string
|
|
}
|