usecases

package
v1.7.2 Latest Latest
Warning

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

Go to latest
Published: Aug 25, 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 SolutionQueue added in v1.7.1

type SolutionQueue interface {
	EnqueueSolution(solution entities.Solution) error
}

SolutionQueue ...

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)
	UpdateSolution(id uint, solution entities.Solution) error
}

SolutionStorage ...

type SolutionUsecase

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

SolutionUsecase ...

func (SolutionUsecase) CreateSolution

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

CreateSolution ...

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 ...

func (SolutionUsecase) RegisterSolution added in v1.7.1

func (usecase SolutionUsecase) RegisterSolution(id uint) error

RegisterSolution ...

func (SolutionUsecase) RegisterSolutionResult added in v1.7.1

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

RegisterSolutionResult ...

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 ...

type UserStorage added in v1.7.1

type UserStorage interface {
	CreateUser(user entities.User) error
	UpdateUser(username string, user entities.User) error
}

UserStorage ...

type UserUsecase added in v1.7.1

type UserUsecase struct {
	HashingCost int
	UserStorage UserStorage
}

UserUsecase ...

func (UserUsecase) CreateUser added in v1.7.1

func (usecase UserUsecase) CreateUser(user entities.User) error

CreateUser ...

func (UserUsecase) UpdateUser added in v1.7.1

func (usecase UserUsecase) UpdateUser(
	username string,
	user entities.User,
) error

UpdateUser ...

Jump to

Keyboard shortcuts

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