Documentation ¶
Index ¶
- type Datastore
- type Group
- type ListGroupsResponse
- type MockDB
- func (db *MockDB) AddGroup(gp *Group) error
- func (db *MockDB) AddUser(username, password, email string) (string, error)
- func (db *MockDB) AddUserToGroup(userID, groupID, membershipType string) error
- func (db *MockDB) DeleteGroup(id string) error
- func (db *MockDB) DeleteUser(id string) error
- func (db *MockDB) GetUserID(uname string) (string, error)
- func (db *MockDB) GetUserMemberGroups(userid string) []string
- func (db *MockDB) ListGroupsHandler(w http.ResponseWriter, r *http.Request)
- func (db *MockDB) PassedBasicAuth(uname, pass string) bool
- func (db *MockDB) RemoveUserFromGroup(userID, groupID, membershipType string) error
- func (db *MockDB) ShowGroupHandler(w http.ResponseWriter, r *http.Request)
- type User
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
This section is empty.
Types ¶
type Datastore ¶
type Datastore interface { // AddGroup will add a new group to the database AddGroup(*Group) error // DeleteGroup will remove a group given its group id DeleteGroup(string) error // AddUserToGroup will add a user of a given id to a group of given id AddUserToGroup(string, string, string) error // RemoveUserFromGroup will remove a user of a given id from a group of given id RemoveUserFromGroup(string, string, string) error // AddUser will add a new user to the database given username, password, and email, returns the ID AddUser(string, string, string) (string, error) // GetUserID gets a user's ID given their username GetUserID(string) (string, error) // DeleteUser will remove a user from the database DeleteUser(string) error // HTTP Endpoint Handler for listing groups ListGroupsHandler(http.ResponseWriter, *http.Request) // HTTP Endpoint Handler for showing a group ShowGroupHandler(http.ResponseWriter, *http.Request) PassedBasicAuth(string, string) bool GetUserMemberGroups(string) []string }
Datastore will allow us to implement a database in multiple ways
type ListGroupsResponse ¶
type ListGroupsResponse struct {
Groups []Group `json:"groups"`
}
type MockDB ¶
type MockDB struct { sync.RWMutex //inherit lock behavior Groups map[string]*Group Users map[string]*User }
func (*MockDB) AddUserToGroup ¶
addUserToGroup will add a user of a given id to a group of given id
func (*MockDB) DeleteGroup ¶
deleteGroup will remove a group given its group id
func (*MockDB) DeleteUser ¶
deleteUser will remove a user from the database
func (*MockDB) GetUserMemberGroups ¶
func (*MockDB) ListGroupsHandler ¶
func (db *MockDB) ListGroupsHandler(w http.ResponseWriter, r *http.Request)
ListGroupsHandler is an HTTP Req. Handler that lists groups in the database
func (*MockDB) PassedBasicAuth ¶
PassedBasicAuth takes in basic auth credentials, hashes the password and compares against the hash in store
func (*MockDB) RemoveUserFromGroup ¶
removeUserFromGroup will remove a user of a given id from a group of given id
func (*MockDB) ShowGroupHandler ¶
func (db *MockDB) ShowGroupHandler(w http.ResponseWriter, r *http.Request)
ShowGroupHandler is an HTTP Req. Handler that lists groups in the database
Click to show internal directories.
Click to hide internal directories.