Documentation ¶
Overview ¶
Package store contains all permanent store related tasks, such as creating, retrieving, updating and deleting models from the underlying database.
Index ¶
- type BanStore
- type BoardStore
- type MongoStore
- func (s *MongoStore) AllBoards() ([]*model.Board, error)
- func (s *MongoStore) AllUsers() ([]*model.User, error)
- func (s *MongoStore) Bans() *mgo.Collection
- func (s *MongoStore) Boards() *mgo.Collection
- func (s *MongoStore) BumpThread(threadID string) error
- func (s *MongoStore) Clone() Store
- func (s *MongoStore) Close()
- func (s *MongoStore) CreateBoard(board *model.Board) error
- func (s *MongoStore) CreatePost(p *model.Post) error
- func (s *MongoStore) CreateUser(user *model.User) error
- func (s *MongoStore) Database() *mgo.Database
- func (s *MongoStore) DeleteBoard(uri string) error
- func (s *MongoStore) DeletePost(id string) error
- func (s *MongoStore) DeleteUser(username string) error
- func (s *MongoStore) GetBoard(uri string) (board *model.Board, err error)
- func (s *MongoStore) GetPost(postID string) (*model.Post, error)
- func (s *MongoStore) GetReplies(threadID string) ([]*model.Post, error)
- func (s *MongoStore) GetThread(threadID string) (*model.Thread, error)
- func (s *MongoStore) GetUser(username string) (*model.User, error)
- func (s *MongoStore) IsBanned(ip string) (ban *model.Ban, exists bool, err error)
- func (s *MongoStore) Posts() *mgo.Collection
- func (s *MongoStore) Session() *mgo.Session
- func (s *MongoStore) UpdateBoard(board *model.Board) error
- func (s *MongoStore) UpdatePost(p *model.Post) error
- func (s *MongoStore) UpdateUser(user *model.User) error
- func (s *MongoStore) Users() *mgo.Collection
- type PostStore
- type Store
- type UserStore
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
This section is empty.
Types ¶
type BanStore ¶
type BanStore interface { // IsBanned verifies if an IP address is banned or not IsBanned(ip string) (*model.Ban, bool, error) }
BanStore abstracts ban data access
type BoardStore ¶
type BoardStore interface { // CreateBoard creates a board CreateBoard(board *model.Board) error // AllBoards return all existing boards AllBoards() ([]*model.Board, error) // GetBoard gets an specific board GetBoard(uri string) (*model.Board, error) // UpdateBoard updates a board UpdateBoard(board *model.Board) error // DeleteBoard deletes a board DeleteBoard(uri string) error }
BoardStore abstracts board data access
type MongoStore ¶
type MongoStore struct {
// contains filtered or unexported fields
}
MongoStore is a MongoDB implementation of Store
func (*MongoStore) AllBoards ¶
func (s *MongoStore) AllBoards() ([]*model.Board, error)
AllBoards return all existing boards
func (*MongoStore) AllUsers ¶
func (s *MongoStore) AllUsers() ([]*model.User, error)
AllUsers return all users
func (*MongoStore) Bans ¶
func (s *MongoStore) Bans() *mgo.Collection
Bans return the bans collection
func (*MongoStore) Boards ¶
func (s *MongoStore) Boards() *mgo.Collection
Boards return the boards collection
func (*MongoStore) BumpThread ¶
func (s *MongoStore) BumpThread(threadID string) error
BumpThreads bumps a thread
func (*MongoStore) Clone ¶
func (s *MongoStore) Clone() Store
Clone creates a new Store with a new MongoDB connection
func (*MongoStore) CreateBoard ¶
func (s *MongoStore) CreateBoard(board *model.Board) error
CreateBoard creates a board
func (*MongoStore) CreatePost ¶
func (s *MongoStore) CreatePost(p *model.Post) error
CreatePost creates a new post
func (*MongoStore) CreateUser ¶
func (s *MongoStore) CreateUser(user *model.User) error
CreateUser creates a user
func (*MongoStore) Database ¶
func (s *MongoStore) Database() *mgo.Database
Database returns the internal MongoDB database
func (*MongoStore) DeleteBoard ¶
func (s *MongoStore) DeleteBoard(uri string) error
DeleteBoard deletes a board
func (*MongoStore) DeletePost ¶
func (s *MongoStore) DeletePost(id string) error
DeletePost deletes a post
func (*MongoStore) DeleteUser ¶
func (s *MongoStore) DeleteUser(username string) error
DeleteUser deletes a user
func (*MongoStore) GetBoard ¶
func (s *MongoStore) GetBoard(uri string) (board *model.Board, err error)
GetBoard gets an specific board
func (*MongoStore) GetPost ¶
func (s *MongoStore) GetPost(postID string) (*model.Post, error)
GetPost returns a specific post
func (*MongoStore) GetReplies ¶
func (s *MongoStore) GetReplies(threadID string) ([]*model.Post, error)
GetReplies return all thread replies
func (*MongoStore) GetThread ¶
func (s *MongoStore) GetThread(threadID string) (*model.Thread, error)
GetThread returns a thread with it's replies
func (*MongoStore) GetUser ¶
func (s *MongoStore) GetUser(username string) (*model.User, error)
GetUset gets an user
func (*MongoStore) Posts ¶
func (s *MongoStore) Posts() *mgo.Collection
Posts return the posts collection
func (*MongoStore) Session ¶
func (s *MongoStore) Session() *mgo.Session
Session returns the internal MongoDB session
func (*MongoStore) UpdateBoard ¶
func (s *MongoStore) UpdateBoard(board *model.Board) error
UpdateBoard updates a board
func (*MongoStore) UpdatePost ¶
func (s *MongoStore) UpdatePost(p *model.Post) error
UpdatePost updates a post
func (*MongoStore) UpdateUser ¶
func (s *MongoStore) UpdateUser(user *model.User) error
UpdateUser updates a user
func (*MongoStore) Users ¶
func (s *MongoStore) Users() *mgo.Collection
Users return the users collection
type PostStore ¶
type PostStore interface { // CreatePost creates a new post CreatePost(p *model.Post) error // GetPost returns a specific post GetPost(postID string) (*model.Post, error) // UpdatePost updates a post UpdatePost(p *model.Post) error // DeletePost deletes a post DeletePost(postID string) error // GetThread returns a thread with it's replies GetThread(threadID string) (*model.Thread, error) // GetReplies return all thread replies GetReplies(postID string) ([]*model.Post, error) // BumpThreads bumps a thread BumpThread(threadID string) error }
PostStore abstracts post data access
type Store ¶
type Store interface { BoardStore PostStore UserStore BanStore Clone() Store Close() }
Store abstracts all database access
type UserStore ¶
type UserStore interface { // CreateUser creates a user CreateUser(user *model.User) error // AllUsers return all users AllUsers() ([]*model.User, error) // GetUset gets an user GetUser(username string) (*model.User, error) // UpdateUser updates a user UpdateUser(user *model.User) error // DeleteUser deletes a user DeleteUser(username string) error }
UserStore abstracts user data access