api

package
v0.0.0-...-71c93ef Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Sep 11, 2024 License: MIT Imports: 8 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

func Parse

func Parse[T any](r *http.Request, into T) (T, error)

func Problem

func Problem(w http.ResponseWriter, err error, logger *log.Logger)

func Send

func Send(w http.ResponseWriter, content interface{}, logger *log.Logger)

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.

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL