✨🚧 Implement admin interface to manage shares and users
This commit is contained in:
@@ -52,6 +52,7 @@ type ShareStore interface {
|
||||
AddLogin(share Share, username string, login Login) error
|
||||
RemoveLogin(share Share, username string, loginName string) error
|
||||
|
||||
GetShare(id string) (Share, error)
|
||||
GetShares() ([]Share, error)
|
||||
GetShareUsers(share Share) ([]ShareUser, error)
|
||||
GetShareLogins(share Share, username string) ([]Login, error)
|
||||
@@ -476,6 +477,25 @@ func (store *DBStore) RemoveLogin(share Share, username string, loginName string
|
||||
})
|
||||
}
|
||||
|
||||
func (store *DBStore) GetShare(id string) (Share, error) {
|
||||
var share Share
|
||||
if err := store.db.View(func(tx *buntdb.Tx) error {
|
||||
val, err := tx.Get(sharePrefix + id)
|
||||
if err == buntdb.ErrNotFound {
|
||||
return ErrShareNotFound
|
||||
}
|
||||
|
||||
share, err = unmarshalShare(id, val)
|
||||
if err != nil {
|
||||
return err
|
||||
}
|
||||
return nil
|
||||
}); err != nil {
|
||||
return Share{}, err
|
||||
}
|
||||
return share, nil
|
||||
}
|
||||
|
||||
func (store *DBStore) GetShares() (shares []Share, err error) {
|
||||
err = store.db.View(func(tx *buntdb.Tx) error {
|
||||
var processingError error
|
||||
|
||||
Reference in New Issue
Block a user