usecase

package
v0.0.0-...-de89868 Latest Latest
Warning

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

Go to latest
Published: Jun 26, 2023 License: MIT Imports: 7 Imported by: 0

Documentation

Overview

Package usecase - слой usecase, интерфейсы, реализует бизнес-логику приложения, каждая логическая группа в собственном файле.

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

This section is empty.

Types

type IShorturl

type IShorturl interface {
	Post(context.Context, *entity.Shorturl) (*entity.ShorturlResponse, error)
	LongLink(context.Context, *entity.Shorturl) (entity.Slug, error)
	ShortLink(context.Context, *entity.Shorturl) (*entity.Shorturl, error)
	UserAllLink(ctx context.Context, u *entity.User) (*entity.User, error)
	AllLink() (entity.CountURLs, error)
	AllUsers() (entity.CountUsers, error)
	UserDelLink(ctx context.Context, u *entity.User) error
	ReadService() error
	SaveService() error
}

IShorturl - интерфейс обработчиков.

type IShorturlRepo

type IShorturlRepo interface {
	Post(context.Context, *entity.Shorturl) error
	Put(context.Context, *entity.Shorturl) error
	Get(context.Context, *entity.Shorturl) (*entity.Shorturl, error)
	GetAll(context.Context, *entity.User) (*entity.User, error)
	GetAllUrls() (entity.CountURLs, error)
	GetAllUsers() (entity.CountUsers, error)
	Delete(context.Context, *entity.User) error
	Read() error
	Save() error
}

IShorturlRepo - интерфейс DB.

type ShorturlUseCase

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

ShorturlUseCase -.

func New

New -.

func (uc *ShorturlUseCase) AllLink() (entity.CountURLs, error)

AllLink принимает короткий URL и возвращает длинный (GET /user/urls)

func (*ShorturlUseCase) AllUsers

func (uc *ShorturlUseCase) AllUsers() (entity.CountUsers, error)

AllUsers принимает короткий URL и возвращает длинный (GET /user/urls)

func (uc *ShorturlUseCase) LongLink(ctx context.Context, sh *entity.Shorturl) (entity.Slug, error)

LongLink принимает длинный URL и возвращает короткий (PUT /api)

func (*ShorturlUseCase) Post

Post .

func (*ShorturlUseCase) ReadService

func (uc *ShorturlUseCase) ReadService() error

ReadService читает данные из хранилища при загрузки сервиса

func (*ShorturlUseCase) SaveService

func (uc *ShorturlUseCase) SaveService() error

SaveService сохраняет данные при выключении сервиса

func (uc *ShorturlUseCase) ShortLink(ctx context.Context, sh *entity.Shorturl) (*entity.Shorturl, error)

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

func (uc *ShorturlUseCase) UserAllLink(ctx context.Context, u *entity.User) (*entity.User, error)

UserAllLink принимает короткий URL и возвращает длинный (GET /user/urls)

func (uc *ShorturlUseCase) UserDelLink(ctx context.Context, u *entity.User) error

UserDelLink принимает короткий URL и возвращает длинный (DELETE /api/user/urls)

Directories

Path Synopsis
Package encryp - middleware, работает с шифрованием cookie аутентификации.
Package encryp - middleware, работает с шифрованием cookie аутентификации.

Jump to

Keyboard shortcuts

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