Documentation ¶
Index ¶
- type MemDB
- func (m *MemDB) Close() error
- func (m *MemDB) CreateNewShortURL(userID, longURL, customShortURL string, isGuest bool) (*db.ShortURLInfo, error)
- func (m *MemDB) CreateUser(username, email string, password []byte) error
- func (m *MemDB) LoginUser(email string, password []byte) (*db.UserInfo, error)
- func (m *MemDB) RetrieveShortURLClicks(shortURL string) ([]*db.ShortURLClick, error)
- func (m *MemDB) RetrieveURLInfo(short string) (*db.ShortURLInfo, error)
- func (m *MemDB) RetrieveUserInfo(email string) (*db.UserInfo, error)
- func (m *MemDB) RetrieveUserURLs(email string) ([]*db.ShortURLInfo, error)
- func (m *MemDB) SetError(err error)
- func (m *MemDB) ToggleShortLinkStatus(shortURL string, disable bool) error
- func (m *MemDB) UpdateShortURL(shortURL string, newLongURL string, click *db.ShortURLClick) error
- func (m *MemDB) UsernameExists(username string) (bool, error)
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
This section is empty.
Types ¶
type MemDB ¶
type MemDB struct {
// contains filtered or unexported fields
}
MemDB is an in-memory database.
func (*MemDB) CreateNewShortURL ¶
func (m *MemDB) CreateNewShortURL(userID, longURL, customShortURL string, isGuest bool) (*db.ShortURLInfo, error)
CreateNewShortURL adds a new URL to the database and returns the shortened URL. userID will can be any unique identifier for a guest user but it is an email for non-guest users.
func (*MemDB) CreateUser ¶
CreateUser adds a new user to the database. The username must be unique and email must be unique. The password is hashed before being stored.
func (*MemDB) LoginUser ¶
LoginUser logs a user in and returns a nil error if the user exists and the password is correct.
func (*MemDB) RetrieveShortURLClicks ¶
func (m *MemDB) RetrieveShortURLClicks(shortURL string) ([]*db.ShortURLClick, error)
RetrieveShortURLClicks returns a list of complete click information for a short URL.
func (*MemDB) RetrieveURLInfo ¶
func (m *MemDB) RetrieveURLInfo(short string) (*db.ShortURLInfo, error)
RetrieveURLInfo fetches information about a short URL using the shortened URL.
func (*MemDB) RetrieveUserInfo ¶
RetrieveUserInfo fetches information about a user using the email.
func (*MemDB) RetrieveUserURLs ¶
func (m *MemDB) RetrieveUserURLs(email string) ([]*db.ShortURLInfo, error)
RetrieveUserURLs fetches all the shorted URLs for the specified user.
func (*MemDB) ToggleShortLinkStatus ¶
ToggleShortLinkStatus enables/disables a short link.
func (*MemDB) UpdateShortURL ¶
UpdateShortURL updates the information for the specified short URL. This method is used for click update and link editing.