Documentation ¶
Overview ¶
Package usecase - слой usecase, интерфейсы, реализует бизнес-логику приложения, каждая логическая группа в собственном файле.
Index ¶
- type IShorturl
- type IShorturlRepo
- type ShorturlUseCase
- func (uc *ShorturlUseCase) AllLink() (entity.CountURLs, error)
- func (uc *ShorturlUseCase) AllUsers() (entity.CountUsers, error)
- func (uc *ShorturlUseCase) LongLink(ctx context.Context, sh *entity.Shorturl) (entity.Slug, error)
- func (uc *ShorturlUseCase) Post(ctx context.Context, sh *entity.Shorturl) (*entity.ShorturlResponse, error)
- func (uc *ShorturlUseCase) ReadService() error
- func (uc *ShorturlUseCase) SaveService() error
- func (uc *ShorturlUseCase) ShortLink(ctx context.Context, sh *entity.Shorturl) (*entity.Shorturl, error)
- func (uc *ShorturlUseCase) UserAllLink(ctx context.Context, u *entity.User) (*entity.User, error)
- func (uc *ShorturlUseCase) UserDelLink(ctx context.Context, u *entity.User) error
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 (*ShorturlUseCase) AllLink ¶
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 (*ShorturlUseCase) Post ¶
func (uc *ShorturlUseCase) Post(ctx context.Context, sh *entity.Shorturl) (*entity.ShorturlResponse, error)
Post .
func (*ShorturlUseCase) ReadService ¶
func (uc *ShorturlUseCase) ReadService() error
ReadService читает данные из хранилища при загрузки сервиса
func (*ShorturlUseCase) SaveService ¶
func (uc *ShorturlUseCase) SaveService() error
SaveService сохраняет данные при выключении сервиса
func (*ShorturlUseCase) ShortLink ¶
func (uc *ShorturlUseCase) ShortLink(ctx context.Context, sh *entity.Shorturl) (*entity.Shorturl, error)
ShortLink принимает короткий URL и возвращает длинный (GET /api/{key})
func (*ShorturlUseCase) UserAllLink ¶
UserAllLink принимает короткий URL и возвращает длинный (GET /user/urls)
func (*ShorturlUseCase) UserDelLink ¶
UserDelLink принимает короткий URL и возвращает длинный (DELETE /api/user/urls)