2020-10-21 09:56:03 +02:00
|
|
|
//go:generate mockgen -destination=mockstore/mockstore.go -package mockstore . Store
|
2020-10-16 19:20:43 +02:00
|
|
|
package store
|
|
|
|
|
2021-01-27 00:13:46 +02:00
|
|
|
import "github.com/mattermost/focalboard/server/model"
|
2020-10-16 19:20:43 +02:00
|
|
|
|
2021-03-26 20:01:54 +02:00
|
|
|
// Conainer represents a container in a store
|
|
|
|
// Using a struct to make extending this easier in the future
|
|
|
|
type Container struct {
|
|
|
|
WorkspaceID string
|
|
|
|
}
|
|
|
|
|
2020-10-22 15:22:36 +02:00
|
|
|
// Store represents the abstraction of the data storage.
|
2020-10-16 19:20:43 +02:00
|
|
|
type Store interface {
|
2021-03-26 20:01:54 +02:00
|
|
|
GetBlocksWithParentAndType(c Container, parentID string, blockType string) ([]model.Block, error)
|
|
|
|
GetBlocksWithParent(c Container, parentID string) ([]model.Block, error)
|
2021-05-13 23:04:49 +02:00
|
|
|
GetBlocksWithRootID(c Container, rootID string) ([]model.Block, error)
|
2021-03-26 20:01:54 +02:00
|
|
|
GetBlocksWithType(c Container, blockType string) ([]model.Block, error)
|
|
|
|
GetSubTree2(c Container, blockID string) ([]model.Block, error)
|
|
|
|
GetSubTree3(c Container, blockID string) ([]model.Block, error)
|
|
|
|
GetAllBlocks(c Container) ([]model.Block, error)
|
|
|
|
GetRootID(c Container, blockID string) (string, error)
|
|
|
|
GetParentID(c Container, blockID string) (string, error)
|
|
|
|
InsertBlock(c Container, block model.Block) error
|
|
|
|
DeleteBlock(c Container, blockID string, modifiedBy string) error
|
2021-01-13 01:35:30 +02:00
|
|
|
|
2020-10-16 22:26:47 +02:00
|
|
|
Shutdown() error
|
2021-01-13 01:35:30 +02:00
|
|
|
|
2020-10-19 14:55:20 +02:00
|
|
|
GetSystemSettings() (map[string]string, error)
|
2021-03-21 10:28:26 +02:00
|
|
|
SetSystemSetting(key, value string) error
|
2021-01-13 01:35:30 +02:00
|
|
|
|
2021-01-27 19:22:33 +02:00
|
|
|
GetRegisteredUserCount() (int, error)
|
2020-11-06 17:46:35 +02:00
|
|
|
GetUserById(userID string) (*model.User, error)
|
|
|
|
GetUserByEmail(email string) (*model.User, error)
|
|
|
|
GetUserByUsername(username string) (*model.User, error)
|
|
|
|
CreateUser(user *model.User) error
|
|
|
|
UpdateUser(user *model.User) error
|
2021-03-21 10:28:26 +02:00
|
|
|
UpdateUserPassword(username, password string) error
|
|
|
|
UpdateUserPasswordByID(userID, password string) error
|
2021-01-13 01:35:30 +02:00
|
|
|
|
2021-01-27 20:01:24 +02:00
|
|
|
GetActiveUserCount(updatedSecondsAgo int64) (int, error)
|
2020-12-07 18:04:35 +02:00
|
|
|
GetSession(token string, expireTime int64) (*model.Session, error)
|
2020-12-02 22:12:14 +02:00
|
|
|
CreateSession(session *model.Session) error
|
|
|
|
RefreshSession(session *model.Session) error
|
|
|
|
UpdateSession(session *model.Session) error
|
|
|
|
DeleteSession(sessionId string) error
|
2020-12-07 18:04:35 +02:00
|
|
|
CleanUpSessions(expireTime int64) error
|
2021-01-13 01:35:30 +02:00
|
|
|
|
2021-03-26 20:01:54 +02:00
|
|
|
UpsertSharing(c Container, sharing model.Sharing) error
|
|
|
|
GetSharing(c Container, rootID string) (*model.Sharing, error)
|
2021-01-14 02:56:01 +02:00
|
|
|
|
|
|
|
UpsertWorkspaceSignupToken(workspace model.Workspace) error
|
|
|
|
UpsertWorkspaceSettings(workspace model.Workspace) error
|
|
|
|
GetWorkspace(ID string) (*model.Workspace, error)
|
2021-05-24 19:06:11 +02:00
|
|
|
HasWorkspaceAccess(userID string, workspaceID string) (bool, error)
|
2020-10-16 19:20:43 +02:00
|
|
|
}
|