2021-03-14 11:42:16 +13:00
|
|
|
package types
|
|
|
|
|
2021-03-15 00:57:19 +13:00
|
|
|
type MemberProfile struct {
|
|
|
|
Name string `json:"name"`
|
|
|
|
IsAdmin bool `json:"is_admin"`
|
|
|
|
CanLogin bool `json:"can_login"`
|
|
|
|
CanConnect bool `json:"can_connect"`
|
|
|
|
CanWatch bool `json:"can_watch"`
|
|
|
|
CanHost bool `json:"can_host"`
|
|
|
|
CanAccessClipboard bool `json:"can_access_clipboard"`
|
|
|
|
}
|
|
|
|
|
2021-03-15 04:58:18 +13:00
|
|
|
type MemberProvider interface {
|
2021-03-14 11:42:16 +13:00
|
|
|
Connect() error
|
|
|
|
Disconnect() error
|
|
|
|
|
2021-03-15 00:57:19 +13:00
|
|
|
Authenticate(username string, password string) (string, MemberProfile, error)
|
|
|
|
|
|
|
|
Insert(username string, password string, profile MemberProfile) (string, error)
|
|
|
|
Select(id string) (MemberProfile, error)
|
|
|
|
SelectAll(limit int, offset int) (map[string]MemberProfile, error)
|
2021-03-15 02:44:03 +13:00
|
|
|
UpdateProfile(id string, profile MemberProfile) error
|
2021-03-15 04:23:14 +13:00
|
|
|
UpdatePassword(id string, password string) error
|
2021-03-14 11:42:16 +13:00
|
|
|
Delete(id string) error
|
|
|
|
}
|
2021-03-15 04:58:18 +13:00
|
|
|
|
|
|
|
type MemberManager interface {
|
|
|
|
MemberProvider
|
|
|
|
}
|