Documentation ¶
Index ¶
Constants ¶
This section is empty.
Variables ¶
View Source
var ( // ErrNotAuthorized is used when the the access is not permisted ErrNotAuthorized = errors.New(http.StatusUnauthorized, "not authorized") // ErrUserNotFound is used when an user is not found ErrUserNotFound = errors.New(http.StatusNotFound, "user not found") // ErrUserExists is used when an user already exists ErrUserExists = errors.New(http.StatusNotFound, "user already exists") // ErrInvalidAdminRouter is used when an invalid admin router is given ErrInvalidAdminRouter = errors.New(http.StatusNotFound, "invalid admin router given") )
Functions ¶
func NewOrganization ¶
func NewOrganization(organization Organization, repo Repository) func(handler http.Handler) http.Handler
NewOrganization is a HTTP organization middleware
Types ¶
type CassandraRepository ¶
type CassandraRepository struct {
// contains filtered or unexported fields
}
CassandraRepository represents a cassandra repository
func NewCassandraRepository ¶
func NewCassandraRepository(session wrapper.Holder) (*CassandraRepository, error)
func (*CassandraRepository) Add ¶
func (r *CassandraRepository) Add(organization *Organization) error
Add adds an user to the repository
func (*CassandraRepository) FindAll ¶
func (r *CassandraRepository) FindAll() ([]*Organization, error)
FindAll fetches all the basic user definitions available
func (*CassandraRepository) FindByUsername ¶
func (r *CassandraRepository) FindByUsername(username string) (*Organization, error)
FindByUsername find an user by username returns ErrUserNotFound when a user is not found.
func (*CassandraRepository) Remove ¶
func (r *CassandraRepository) Remove(username string) error
Remove an user from the repository
type Handler ¶
type Handler struct {
// contains filtered or unexported fields
}
Handler is the api rest handlers
func NewHandler ¶
func NewHandler(repo Repository) *Handler
NewHandler creates a new instance of Handler
type Organization ¶
type Organization struct { Username string `json:"username"` Organization string `json:"organization"` Password string `json:"password"` }
Organization represents the configuration to save the user and organization pair
type Repository ¶
type Repository interface { FindAll() ([]*Organization, error) FindByUsername(username string) (*Organization, error) Add(organization *Organization) error Remove(username string) error }
Repository represents an user repository
Click to show internal directories.
Click to hide internal directories.