Documentation
¶
Index ¶
Constants ¶
View Source
const ( NoExpiration = 0 ErrFailedToSearch = "key: %v err: %s - repository.Redis.Find" ErrDataNotFound = "key: %v not found - repository.Redis.Find" ErrFailedToStore = "key: %v err: %s failed to store - repository.Redis.Store" )
View Source
const (
ErrInvalidRedirect = "%s service.redirect.store"
)
Variables ¶
This section is empty.
Functions ¶
This section is empty.
Types ¶
type Repository ¶
type Repository interface { Find(code interface{}) (*Redirect, error) Store(redirect *Redirect) error }
func NewRepository ¶
func NewRepository(client *redis.Client, serializer Serializer.Serializer) Repository
type Service ¶
type Service interface { NewRedirect(url string) (*Redirect, error) NewRedirectIoReader(data io.Reader) (*Redirect, error) Encode(redirect *Redirect) ([]byte, error) Find(code interface{}) (*Redirect, error) Store(redirect *Redirect) error }
func NewService ¶
func NewService(repository Repository, usecases UseCases) Service
type UseCases ¶
type UseCases interface { NewRedirect(url string) (*Redirect, error) NewRedirectIoReader(data io.Reader) (*Redirect, error) Encode(redirect *Redirect) ([]byte, error) Validate(redirect *Redirect) error }
func NewUseCases ¶
func NewUseCases(codeGenerator *sonyflake.Sonyflake, serializer Serializer.Serializer) UseCases
Click to show internal directories.
Click to hide internal directories.