Documentation ¶
Index ¶
- type Storage
- func (s *Storage) Close() error
- func (s *Storage) GetUserStorage(ctx context.Context, user string) map[string]string
- func (s *Storage) Ping(ctx context.Context) error
- func (s *Storage) Restore(ctx context.Context, id string) (link string, err error)
- func (s *Storage) Store(ctx context.Context, user string, link string) (id string, err error)
- func (s *Storage) StoreBatch(ctx context.Context, user string, batchIn map[string]string) (map[string]string, error)
- func (s *Storage) Unstore(ctx context.Context, user string, ids []string)
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 ¶
NewStorage cоздает и возвращает экземпляр Storage
func (*Storage) GetUserStorage ¶
GetUserStorage возвращает map[id]link ранее сокращенных ссылок указанным пользователем
func (*Storage) Store ¶
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 с раннего сохранения.