Versions in this module Expand all Collapse all v0 v0.0.2 Sep 29, 2021 v0.0.1 Sep 25, 2021 Changes in this version + var BuildTime = "devel" + var Commit = "devel" + var ErrInvalidToken = errors.New("invalid token") + var ErrInvalidUrl = errors.New("invalid url") + var ErrNotFound = errors.New("not found") + var Version = "devel" + type App struct + func NewApp(store LinkStore, tokenizer Tokenizer) *App + func (a App) Close(ctx context.Context) errs.Error + func (a App) CreateToken(ctx context.Context, targetUrl string, expiredAt *time.Time) (key string, added bool, err errs.Error) + func (a App) DeleteLink(ctx context.Context, key string) errs.Error + func (a App) GetLink(ctx context.Context, key string) (*Link, errs.Error) + func (a App) HitLink(ctx context.Context, key string) (*Link, errs.Error) + type Link struct + CreatedAt time.Time + DeletedAt *time.Time + ExpiredAt *time.Time + Hits int + Id int + Key string + TargetUrl string + type LinkStore interface + Close func(ctx context.Context) errs.Error + Create func(ctx context.Context, targetUrl string, expiredAt *time.Time) (int, bool, errs.Error) + Delete func(ctx context.Context, id int) errs.Error + Get func(ctx context.Context, id int) (*Link, errs.Error) + Hit func(ctx context.Context, id int) (*Link, errs.Error) + SetDeleted func(ctx context.Context, id int) errs.Error + type Tokenizer interface + Decode func(key string) (int, error) + Encode func(id int) (string, error)