Documentation
¶
Overview ¶
Package blogic contains business logic.
Index ¶
- Variables
- type Shortener
- func (sh *Shortener) BatchSaveNewURL(user *uuid.UUID, urls []string) (records []*btypes.Record, err error)
- func (sh *Shortener) BuildShortURL(record *btypes.Record) (recordShortURL string)
- func (sh *Shortener) DeleteUserRecords(user btypes.User, recordKeys []string) (err error)
- func (sh *Shortener) GenerateNewRecordKey() (ret string, err error)
- func (sh *Shortener) GenerateNewUser() (ret btypes.User, err error)
- func (sh *Shortener) GetAllUserRecords(user btypes.User) (ret map[string]*btypes.Record, err error)
- func (sh *Shortener) GetSavedRecord(recordKey string) (u *btypes.Record, err error)
- func (sh *Shortener) SaveNewURL(user *uuid.UUID, urlStr string) (ret *btypes.Record, err error)
Constants ¶
This section is empty.
Variables ¶
View Source
var ErrDeleteAccessDenied = fmt.Errorf("cannot delete another user records")
ErrDeleteAccessDenied means attempt to delete record of another user.
Functions ¶
This section is empty.
Types ¶
type Shortener ¶
type Shortener struct {
// contains filtered or unexported fields
}
Shortener is main shortener struct.
func NewShortener ¶
NewShortener returns a new Shortener that uses specified storage.
func (*Shortener) BatchSaveNewURL ¶
func (sh *Shortener) BatchSaveNewURL(user *uuid.UUID, urls []string) (records []*btypes.Record, err error)
BatchSaveNewURL save batch or new urls in storage.
func (*Shortener) BuildShortURL ¶
BuildShortURL make record short url, by record key.
func (*Shortener) DeleteUserRecords ¶
DeleteUserRecords delete some user records.
func (*Shortener) GenerateNewRecordKey ¶
GenerateNewRecordKey generate new record key, that don't exist in storage.
func (*Shortener) GenerateNewUser ¶
GenerateNewUser generate new user UUID, that don't exist in storage.
func (*Shortener) GetAllUserRecords ¶
GetAllUserRecords get all user records.
func (*Shortener) GetSavedRecord ¶
GetSavedRecord extract early saved url from storage by key.
Click to show internal directories.
Click to hide internal directories.