usecases

package
v1.5.2 Latest Latest
Warning

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

Go to latest
Published: Feb 27, 2022 License: MIT Imports: 7 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

This section is empty.

Types

type Clock

type Clock func() time.Time

Clock ...

type SolutionStorage

type SolutionStorage interface {
	entities.SolutionGetter

	GetSolutions(userID uint, taskID uint, pagination entities.Pagination) (
		[]entities.Solution,
		error,
	)
	CountSolutions(userID uint, taskID uint) (int64, error)
	CreateSolution(taskID uint, solution entities.Solution) (id uint, err error)
}

SolutionStorage ...

type SolutionUsecase

type SolutionUsecase struct {
	TaskGetter       entities.TaskGetter
	SolutionStorage  SolutionStorage
	SolutionRegister entities.SolutionRegister
}

SolutionUsecase ...

func (SolutionUsecase) CreateSolution

func (usecase SolutionUsecase) CreateSolution(
	userID uint,
	taskID uint,
	solution entities.Solution,
) (
	entities.Solution,
	error,
)

CreateSolution ...

func (SolutionUsecase) FormatSolution

func (usecase SolutionUsecase) FormatSolution(
	solution entities.Solution,
) (
	entities.Solution,
	error,
)

FormatSolution ...

func (SolutionUsecase) GetSolution

func (usecase SolutionUsecase) GetSolution(
	userID uint,
	solutionID uint,
) (
	entities.Solution,
	error,
)

GetSolution ...

func (SolutionUsecase) GetSolutions

func (usecase SolutionUsecase) GetSolutions(
	userID uint,
	taskID uint,
	pagination entities.Pagination,
) (
	entities.SolutionGroup,
	error,
)

GetSolutions ...

type TaskStorage

type TaskStorage interface {
	entities.TaskGetter

	GetTasks(userID uint, pagination entities.Pagination) ([]entities.Task, error)
	CountTasks() (int64, error)
	CreateTask(task entities.Task) (id uint, err error)
	UpdateTask(id uint, task entities.Task) error
	DeleteTask(id uint) error
}

TaskStorage ...

type TaskUsecase

type TaskUsecase struct {
	TaskStorage TaskStorage
}

TaskUsecase ...

func (TaskUsecase) CreateTask

func (usecase TaskUsecase) CreateTask(
	userID uint,
	task entities.Task,
) (
	entities.Task,
	error,
)

CreateTask ...

func (TaskUsecase) DeleteTask

func (usecase TaskUsecase) DeleteTask(userID uint, taskID uint) error

DeleteTask ...

func (TaskUsecase) GetTask

func (usecase TaskUsecase) GetTask(
	userID uint,
	taskID uint,
) (
	entities.Task,
	error,
)

GetTask ...

func (TaskUsecase) GetTasks

func (usecase TaskUsecase) GetTasks(
	userID uint,
	pagination entities.Pagination,
) (
	entities.TaskGroup,
	error,
)

GetTasks ...

func (TaskUsecase) UpdateTask

func (usecase TaskUsecase) UpdateTask(
	userID uint,
	taskID uint,
	task entities.Task,
) error

UpdateTask ...

type TokenUsecase

type TokenUsecase struct {
	TokenSigningKey string
	TokenTTL        time.Duration
	UserGetter      UserGetter
	Clock           Clock
}

TokenUsecase ...

func (TokenUsecase) CreateToken

func (usecase TokenUsecase) CreateToken(
	user entities.User,
) (
	entities.Credentials,
	error,
)

CreateToken ...

func (TokenUsecase) ParseToken

func (usecase TokenUsecase) ParseToken(
	authorizationHeader string,
) (
	*entities.AccessTokenClaims,
	error,
)

ParseToken ...

type UserGetter

type UserGetter interface {
	GetUser(username string) (entities.User, error)
}

UserGetter ...

Jump to

Keyboard shortcuts

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