handlers

package
v1.5.1 Latest Latest
Warning

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

Go to latest
Published: Nov 17, 2021 License: MIT Imports: 10 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

func AuthorizationMiddleware added in v1.5.1

func AuthorizationMiddleware(
	tokenParser TokenParser,
	logger log.Logger,
) mux.MiddlewareFunc

AuthorizationMiddleware ...

func NewRouter

func NewRouter(
	options RouterOptions,
	dependencies RouterDependencies,
) *mux.Router

NewRouter ...

Types

type RouterDependencies

type RouterDependencies struct {
	UserGetter       usecases.UserGetter
	TaskStorage      usecases.TaskStorage
	SolutionStorage  usecases.SolutionStorage
	SolutionRegister entities.SolutionRegister
	Clock            usecases.Clock
	Logger           log.Logger
}

RouterDependencies ...

type RouterOptions added in v1.5.1

type RouterOptions struct {
	StaticFilePath  string
	TokenSigningKey string
	TokenTTL        time.Duration
}

RouterOptions ...

type SolutionHandler

type SolutionHandler struct {
	SolutionUsecase SolutionUsecase
	Logger          log.Logger
}

SolutionHandler ...

func (SolutionHandler) CreateSolution

func (handler SolutionHandler) CreateSolution(
	writer http.ResponseWriter,
	request *http.Request,
)

CreateSolution ...

func (SolutionHandler) FormatSolution added in v1.5.1

func (handler SolutionHandler) FormatSolution(
	writer http.ResponseWriter,
	request *http.Request,
)

FormatSolution ...

func (SolutionHandler) GetSolution

func (handler SolutionHandler) GetSolution(
	writer http.ResponseWriter,
	request *http.Request,
)

GetSolution ...

func (SolutionHandler) GetSolutions

func (handler SolutionHandler) GetSolutions(
	writer http.ResponseWriter,
	request *http.Request,
)

GetSolutions ...

type SolutionUsecase added in v1.5.1

type SolutionUsecase interface {
	GetSolutions(userID uint, taskID uint, pagination entities.Pagination) (
		entities.SolutionGroup,
		error,
	)
	GetSolution(userID uint, solutionID uint) (entities.Solution, error)
	CreateSolution(userID uint, taskID uint, solution entities.Solution) (
		entities.Solution,
		error,
	)
	FormatSolution(solution entities.Solution) (entities.Solution, error)
}

SolutionUsecase ...

type TaskHandler

type TaskHandler struct {
	TaskUsecase TaskUsecase
	Logger      log.Logger
}

TaskHandler ...

func (TaskHandler) CreateTask

func (handler TaskHandler) CreateTask(
	writer http.ResponseWriter,
	request *http.Request,
)

CreateTask ...

func (TaskHandler) DeleteTask

func (handler TaskHandler) DeleteTask(
	writer http.ResponseWriter,
	request *http.Request,
)

DeleteTask ...

func (TaskHandler) GetTask

func (handler TaskHandler) GetTask(
	writer http.ResponseWriter,
	request *http.Request,
)

GetTask ...

func (TaskHandler) GetTasks

func (handler TaskHandler) GetTasks(
	writer http.ResponseWriter,
	request *http.Request,
)

GetTasks ...

func (TaskHandler) UpdateTask

func (handler TaskHandler) UpdateTask(
	writer http.ResponseWriter,
	request *http.Request,
)

UpdateTask ...

type TaskUsecase added in v1.5.1

type TaskUsecase interface {
	entities.TaskGetter

	GetTasks(userID uint, pagination entities.Pagination) (
		entities.TaskGroup,
		error,
	)
	CreateTask(userID uint, task entities.Task) (entities.Task, error)
	UpdateTask(userID uint, taskID uint, task entities.Task) error
	DeleteTask(userID uint, taskID uint) error
}

TaskUsecase ...

type TokenCreator added in v1.5.1

type TokenCreator interface {
	CreateToken(user entities.User) (entities.Credentials, error)
}

TokenCreator ...

type TokenHandler added in v1.5.1

type TokenHandler struct {
	TokenCreator TokenCreator
	Logger       log.Logger
}

TokenHandler ...

func (TokenHandler) CreateToken added in v1.5.1

func (handler TokenHandler) CreateToken(
	writer http.ResponseWriter,
	request *http.Request,
)

CreateToken ...

type TokenParser added in v1.5.1

type TokenParser interface {
	ParseToken(authorizationHeader string) (*entities.AccessTokenClaims, error)
}

TokenParser ...

Jump to

Keyboard shortcuts

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