blogic

package
v0.0.0-...-078eab7 Latest Latest
Warning

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

Go to latest
Published: Mar 18, 2023 License: MIT Imports: 7 Imported by: 0

Documentation

Overview

Package blogic contains business logic.

Index

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

func NewShortener(baseURL string, stg storage.Storage) *Shortener

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

func (sh *Shortener) BuildShortURL(record *btypes.Record) (recordShortURL string)

BuildShortURL make record short url, by record key.

func (*Shortener) DeleteUserRecords

func (sh *Shortener) DeleteUserRecords(user btypes.User, recordKeys []string) (err error)

DeleteUserRecords delete some user records.

func (*Shortener) GenerateNewRecordKey

func (sh *Shortener) GenerateNewRecordKey() (ret string, err error)

GenerateNewRecordKey generate new record key, that don't exist in storage.

func (*Shortener) GenerateNewUser

func (sh *Shortener) GenerateNewUser() (ret btypes.User, err error)

GenerateNewUser generate new user UUID, that don't exist in storage.

func (*Shortener) GetAllUserRecords

func (sh *Shortener) GetAllUserRecords(user btypes.User) (ret map[string]*btypes.Record, err error)

GetAllUserRecords get all user records.

func (*Shortener) GetSavedRecord

func (sh *Shortener) GetSavedRecord(recordKey string) (u *btypes.Record, err error)

GetSavedRecord extract early saved url from storage by key.

func (*Shortener) SaveNewURL

func (sh *Shortener) SaveNewURL(user *uuid.UUID, urlStr string) (ret *btypes.Record, err error)

SaveNewURL save new url in storage.

Directories

Path Synopsis
Package btypes contains business logic types.
Package btypes contains business logic types.

Jump to

Keyboard shortcuts

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