usecase

package
v0.0.0-...-a4c28fd Latest Latest
Warning

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

Go to latest
Published: Jul 28, 2023 License: MIT Imports: 11 Imported by: 0

Documentation

Overview

Package usecase implements application business logic. Each logic group in own file.

Index

Constants

This section is empty.

Variables

View Source
var (
	ErrNotFound      = errors.New("not found")
	ErrAlreadyExists = errors.New("already exists")
	ErrBadRequest    = errors.New("bad request")
)

Functions

This section is empty.

Types

type Prove

type Prove interface {
	SaveSolution(context.Context, *entity.Solution) error
	SaveGroup(context.Context, *entity.Group) error
	GroupList(context.Context) (*entity.GroupList, error)
	SaveTask(context.Context, *entity.Task) error
	TaskList(context.Context) (*entity.TaskList, error)
	TaskKey(context.Context, *entity.User, *entity.Task) (*entity.Task, error)
	GetSolution(context.Context, *entity.SolutionData) error
	GetBalance(context.Context, *entity.SolutionData) (float64, error)
	FindBalance(ctx context.Context) (*entity.Balance, error)
	BalanceAdd(context.Context, *entity.Balance) error

	GetAdmin(*entity.User) bool

	SaveText(context.Context, *entity.Text) error
	SavePass(context.Context, *entity.Pass) error
	SaveCard(context.Context, *entity.Card) error
	CardListUserID(ctx context.Context, u *entity.User) (*entity.CardList, error)
	Register(context.Context, *entity.Authentication) error
	UserFindByLogin(context.Context, string) (*entity.Authentication, error)
	UserFindByID(context.Context, string) (*entity.Authentication, error)
	ShortLink(context.Context, *entity.Prove) (*entity.Prove, error)
	ReadService() error
	SaveService() error
}

Prove -.

type ProveUseCase

type ProveUseCase struct {
	// contains filtered or unexported fields
}

ProveUseCase -.

func New

func New(r ProveRepo) *ProveUseCase

New -.

func (*ProveUseCase) BalanceAdd

func (uc *ProveUseCase) BalanceAdd(ctx context.Context, s *entity.Balance) error

BalanceAdd пополнить баланс

func (*ProveUseCase) CardListUserID

func (uc *ProveUseCase) CardListUserID(ctx context.Context, u *entity.User) (*entity.CardList, error)

CardListUserID возвращает все сохранённые карты пользователя

func (*ProveUseCase) FindBalance

func (uc *ProveUseCase) FindBalance(ctx context.Context) (*entity.Balance, error)

FindBalance получение текущего баланса пользователя

func (*ProveUseCase) GetAdmin

func (uc *ProveUseCase) GetAdmin(u *entity.User) bool

func (*ProveUseCase) GetBalance

func (uc *ProveUseCase) GetBalance(ctx context.Context, s *entity.SolutionData) (float64, error)

GetBalance получить информацию о кредитоспособности, если вернёт err!=nil - кредит исчерпан

func (*ProveUseCase) GetSolution

func (uc *ProveUseCase) GetSolution(ctx context.Context, s *entity.SolutionData) error

GetSolution вернёт решение задачи

func (*ProveUseCase) GroupList

func (uc *ProveUseCase) GroupList(ctx context.Context) (*entity.GroupList, error)

GroupList возвращает список групп

func (*ProveUseCase) ReadService

func (uc *ProveUseCase) ReadService() error

func (*ProveUseCase) Register

func (uc *ProveUseCase) Register(ctx context.Context, auth *entity.Authentication) error

func (*ProveUseCase) SaveCard

func (uc *ProveUseCase) SaveCard(ctx context.Context, c *entity.Card) error

func (*ProveUseCase) SaveGroup

func (uc *ProveUseCase) SaveGroup(ctx context.Context, c *entity.Group) error

func (*ProveUseCase) SavePass

func (uc *ProveUseCase) SavePass(ctx context.Context, c *entity.Pass) error

func (*ProveUseCase) SaveService

func (uc *ProveUseCase) SaveService() error

func (*ProveUseCase) SaveSolution

func (uc *ProveUseCase) SaveSolution(ctx context.Context, c *entity.Solution) error

func (*ProveUseCase) SaveTask

func (uc *ProveUseCase) SaveTask(ctx context.Context, c *entity.Task) error

SaveTask создать задачу

func (*ProveUseCase) SaveText

func (uc *ProveUseCase) SaveText(ctx context.Context, c *entity.Text) error
func (uc *ProveUseCase) ShortLink(ctx context.Context, ind *entity.Prove) (*entity.Prove, error)

ShortLink принимает короткий URL и возвращает длинный (GET /api/{key})

func (*ProveUseCase) TaskKey

func (uc *ProveUseCase) TaskKey(ctx context.Context, u *entity.User, t *entity.Task) (*entity.Task, error)

TaskKey возвращает ответ по задаче

func (*ProveUseCase) TaskList

func (uc *ProveUseCase) TaskList(ctx context.Context) (*entity.TaskList, error)

TaskList возвращает список задач

func (*ProveUseCase) UserFindByID

func (uc *ProveUseCase) UserFindByID(ctx context.Context, s string) (*entity.Authentication, error)

func (*ProveUseCase) UserFindByLogin

func (uc *ProveUseCase) UserFindByLogin(ctx context.Context, s string) (*entity.Authentication, error)

Directories

Path Synopsis
repo
sql

Jump to

Keyboard shortcuts

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