store

package
v0.0.0-...-71e9963 Latest Latest
Warning

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

Go to latest
Published: May 13, 2023 License: MIT Imports: 10 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

This section is empty.

Types

type ChannelRepo

type ChannelRepo interface {
	CreateChannel(channel *model.DBChannel) error
	GetChannels() ([]model.Channel, error)
	GetChannelsByPage(page int) ([]model.Channel, error)
	GetChannelByName(name string) (*model.Channel, error)
	GetChannelStats(channelID int) (*model.Stat, error)
}

type MessageRepo

type MessageRepo interface {
	CreateMessage(message *model.DBMessage) (int, error)
	GetMessagesCount() (int, error)
	GetMessagesCountByChannelID(id int) (int, error)
	GetMessageByTitle(title string) (*model.DBMessage, error)
	GetFullMessagesByPage(page int) ([]model.FullMessage, error)
	GetFullMessagesByChannelIDAndPage(id, page int) ([]model.FullMessage, error)
	GetFullMessagesByUserID(id int) ([]model.FullMessage, error)
	GetFullMessageByID(id int) (*model.FullMessage, error)
}

type ReplyRepo

type ReplyRepo interface {
	CreateReply(reply *model.DBReply) error
	GetFullRepliesByMessageID(id int) ([]model.FullReply, error)
}

type SavedRepo

type SavedRepo interface {
	CreateSavedMessage(saved *model.Saved) error
	GetSavedMessages(userID int) ([]model.Saved, error)
	GetSavedMessageByID(id int) (*model.Saved, error)
	DeleteSavedMessage(id int) error
}

type Store

type Store struct {
	Channel ChannelRepo
	Message MessageRepo
	Reply   ReplyRepo
	User    UserRepo
	WebUser WebUserRepo
	Saved   SavedRepo
	// contains filtered or unexported fields
}

func New

func New(cfg *config.Config, log *logger.Logger) (*Store, error)

func (*Store) KeepAliveDB

func (s *Store) KeepAliveDB(cfg *config.Config)

type UserRepo

type UserRepo interface {
	CreateUser(user *model.User) (int, error)
	GetUserByUsername(username string) (*model.User, error)
	GetUserByID(id int) (*model.User, error)
}

type WebUserRepo

type WebUserRepo interface {
	GetWebUserByEmail(email string) (*model.WebUser, error)
	CreateWebUser(user *model.WebUser) error
}

Directories

Path Synopsis

Jump to

Keyboard shortcuts

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