Documentation
¶
Index ¶
- func Parse[T any](r *http.Request, into T) (T, error)
- func Problem(w http.ResponseWriter, err error, logger *log.Logger)
- func Send(w http.ResponseWriter, content interface{}, logger *log.Logger)
- type AccessChangeRequest
- type FallbackHandler
- type FileHandler
- type HealthResponse
- type LoginRequest
- type PasswordChangeRequest
- type UserHandler
- func (uh *UserHandler) CreateUser(w http.ResponseWriter, r *http.Request)
- func (uh *UserHandler) DeleteUser(w http.ResponseWriter, r *http.Request)
- func (uh *UserHandler) DemoteUser(w http.ResponseWriter, r *http.Request)
- func (uh *UserHandler) ListUsers(w http.ResponseWriter, r *http.Request)
- func (uh *UserHandler) Login(w http.ResponseWriter, r *http.Request)
- func (uh *UserHandler) PromoteUser(w http.ResponseWriter, r *http.Request)
- func (uh *UserHandler) UpdateUserAccess(w http.ResponseWriter, r *http.Request)
- func (uh *UserHandler) UpdateUserPassword(w http.ResponseWriter, r *http.Request)
- type UserNameOnlyRequest
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
Types ¶
type AccessChangeRequest ¶
type AccessChangeRequest struct {
Username string `json:"username" formam:"username"`
Access []string `json:"access" formam:"access"`
CSRF string `json:"-" formam:"csrf"`
}
AccessChangeRequest represents an access change request.
type FallbackHandler ¶
type FallbackHandler struct {
// contains filtered or unexported fields
}
func NewFallbackHandler ¶
func NewFallbackHandler(logger *log.Logger) *FallbackHandler
func (*FallbackHandler) Home ¶
func (fh *FallbackHandler) Home(w http.ResponseWriter)
type FileHandler ¶
type FileHandler struct {
// contains filtered or unexported fields
}
func NewFileHandler ¶
func NewFileHandler(fileService *service.File, logger *log.Logger) *FileHandler
func (*FileHandler) ListFiles ¶
func (fh *FileHandler) ListFiles(w http.ResponseWriter, r *http.Request)
ListFiles lists files.
type HealthResponse ¶
type HealthResponse struct {
Status string `json:"status"`
}
type LoginRequest ¶
type LoginRequest struct {
Username string `json:"username" formam:"username"`
Password string `json:"password" formam:"password"`
CSRF string `json:"-" formam:"csrf"`
}
LoginRequest represents a password change request.
type PasswordChangeRequest ¶
type PasswordChangeRequest struct {
Username string `json:"username" formam:"username"`
Password string `json:"password" formam:"password"`
CSRF string `json:"-" formam:"csrf"`
}
PasswordChangeRequest represents a password change request.
type UserHandler ¶
type UserHandler struct {
// contains filtered or unexported fields
}
func NewUserHandler ¶
func NewUserHandler(userService *service.User, logger *log.Logger) *UserHandler
func (*UserHandler) CreateUser ¶
func (uh *UserHandler) CreateUser(w http.ResponseWriter, r *http.Request)
func (*UserHandler) DeleteUser ¶
func (uh *UserHandler) DeleteUser(w http.ResponseWriter, r *http.Request)
DeleteUser deletes a user.
func (*UserHandler) DemoteUser ¶
func (uh *UserHandler) DemoteUser(w http.ResponseWriter, r *http.Request)
DemoteUser demotes a user from admin.
func (*UserHandler) ListUsers ¶
func (uh *UserHandler) ListUsers(w http.ResponseWriter, r *http.Request)
func (*UserHandler) Login ¶
func (uh *UserHandler) Login(w http.ResponseWriter, r *http.Request)
Login logs in a user via the API.
func (*UserHandler) PromoteUser ¶
func (uh *UserHandler) PromoteUser(w http.ResponseWriter, r *http.Request)
PromoteUser promotes a user to admin.
func (*UserHandler) UpdateUserAccess ¶
func (uh *UserHandler) UpdateUserAccess(w http.ResponseWriter, r *http.Request)
UpdateUserAccess updates a user's access.
func (*UserHandler) UpdateUserPassword ¶
func (uh *UserHandler) UpdateUserPassword(w http.ResponseWriter, r *http.Request)
UpdateUserPassword updates a user's password.
type UserNameOnlyRequest ¶
type UserNameOnlyRequest struct {
Username string `json:"username" formam:"username"`
CSRF string `json:"-" formam:"csrf"`
}
UserNameOnlyRequest represents a request where the username is the only mandatory field.
Click to show internal directories.
Click to hide internal directories.