database

package
v0.0.0-...-832d8e4 Latest Latest
Warning

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

Go to latest
Published: Oct 22, 2022 License: MIT Imports: 9 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

This section is empty.

Types

type Storage

type Storage struct {
	// contains filtered or unexported fields
}

Storage реализует хранение ссылок в файле. Выполнена простейшая реализация для сдачи работы.

func NewStorage

func NewStorage(db *sql.DB) (st *Storage, err error)

NewStorage cоздает и возвращает экземпляр Storage

func (*Storage) Close

func (s *Storage) Close() error

Close закрывает базу данных

func (*Storage) GetUserStorage

func (s *Storage) GetUserStorage(ctx context.Context, user string) map[string]string

GetUserStorage возвращает map[id]link ранее сокращенных ссылок указанным пользователем

func (*Storage) Ping

func (s *Storage) Ping(ctx context.Context) error

Ping проверяет доступность БД

func (*Storage) Restore

func (s *Storage) Restore(ctx context.Context, id string) (link string, err error)

Restore возвращает исходную ссылку по переданному короткому ID

func (*Storage) Store

func (s *Storage) Store(ctx context.Context, user string, link string) (id string, err error)

Store сохраняет ссылку в хранилище с указанным id. В случае конфликта c уже ранее сохраненным link возвращает ошибку handlers.ErrLinkIsAlreadyShortened и id с раннего сохранения.

func (*Storage) StoreBatch

func (s *Storage) StoreBatch(ctx context.Context, user string, batchIn map[string]string) (map[string]string, error)

StoreBatch сохраняет пакет ссылок из map[correlation_id]original_link и возвращает map[correlation_id]short_link. В случае конфликта c уже ранее сохраненным link возвращает ошибку handlers.ErrLinkIsAlreadyShortened и id с раннего сохранения.

func (*Storage) Unstore

func (s *Storage) Unstore(ctx context.Context, user string, ids []string)

Unstore - помечает список ранее сохраненных ссылок удаленными только тех ссылок, которые принадлежат пользователю

Jump to

Keyboard shortcuts

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