Documentation ¶
Index ¶
- Constants
- type Account
- func (acc *Account) CheckScopeAccess(scope string) bool
- func (acc *Account) Cleanup()
- func (acc *Account) Clone(erasePassword bool) *Account
- func (acc *Account) GetSiteID() key.SiteIdentifier
- func (acc *Account) Update(other *Account, setPassword bool, copyData bool) error
- func (acc *Account) UpdatePassword(pwd string) error
- type AccountData
- type Accounts
- type FileStorage
- func (storage *FileStorage) AccountAdded(account *Account)
- func (storage *FileStorage) AccountRemoved(account *Account)
- func (storage *FileStorage) AccountUpdated(account *Account)
- func (storage *FileStorage) ReadAll() (*Accounts, error)
- func (storage *FileStorage) WriteAll(accounts *Accounts) error
- type Storage
Constants ¶
const ( // ScopeDefault is the default account panel scope. ScopeDefault = "" // ScopeGOCDB is used to access the GOCDB. ScopeGOCDB = "gocdb" )
Variables ¶
This section is empty.
Functions ¶
This section is empty.
Types ¶
type Account ¶
type Account struct { Email string `json:"email"` Title string `json:"title"` FirstName string `json:"firstName"` LastName string `json:"lastName"` Organization string `json:"organization"` Website string `json:"website"` Role string `json:"role"` PhoneNumber string `json:"phoneNumber"` Password password.Password `json:"password"` DateCreated time.Time `json:"dateCreated"` DateModified time.Time `json:"dateModified"` Data AccountData `json:"data"` }
Account represents a single site account.
func NewAccount ¶
func NewAccount(email string, title, firstName, lastName string, organization, website string, role string, phoneNumber string, password string) (*Account, error)
NewAccount creates a new site account.
func (*Account) CheckScopeAccess ¶
CheckScopeAccess checks whether the user can access the specified scope.
func (*Account) Clone ¶
Clone creates a copy of the account; if erasePassword is set to true, the password will be cleared in the cloned object.
func (*Account) GetSiteID ¶ added in v1.12.0
func (acc *Account) GetSiteID() key.SiteIdentifier
GetSiteID returns the site ID (generated from the API key) for the given account.
func (*Account) UpdatePassword ¶
UpdatePassword assigns a new password to the account, hashing it first.
type AccountData ¶
type AccountData struct { APIKey key.APIKey `json:"apiKey"` GOCDBAccess bool `json:"gocdbAccess"` Authorized bool `json:"authorized"` }
AccountData holds additional data for a site account.
type FileStorage ¶
type FileStorage struct { Storage // contains filtered or unexported fields }
FileStorage implements a filePath-based storage.
func NewFileStorage ¶
func NewFileStorage(conf *config.Configuration, log *zerolog.Logger) (*FileStorage, error)
NewFileStorage creates a new filePath storage.
func (*FileStorage) AccountAdded ¶
func (storage *FileStorage) AccountAdded(account *Account)
AccountAdded is called when an account has been added.
func (*FileStorage) AccountRemoved ¶
func (storage *FileStorage) AccountRemoved(account *Account)
AccountRemoved is called when an account has been removed.
func (*FileStorage) AccountUpdated ¶
func (storage *FileStorage) AccountUpdated(account *Account)
AccountUpdated is called when an account has been updated.
func (*FileStorage) ReadAll ¶ added in v1.12.0
func (storage *FileStorage) ReadAll() (*Accounts, error)
ReadAll reads all stored accounts into the given data object.
func (*FileStorage) WriteAll ¶ added in v1.12.0
func (storage *FileStorage) WriteAll(accounts *Accounts) error
WriteAll writes all stored accounts from the given data object.
type Storage ¶
type Storage interface { // ReadAll reads all stored accounts into the given data object. ReadAll() (*Accounts, error) // WriteAll writes all stored accounts from the given data object. WriteAll(accounts *Accounts) error // AccountAdded is called when an account has been added. AccountAdded(account *Account) // AccountUpdated is called when an account has been updated. AccountUpdated(account *Account) // AccountRemoved is called when an account has been removed. AccountRemoved(account *Account) }
Storage defines the interface for accounts storages.