mirror of
https://github.com/aykhans/slash-e.git
synced 2025-04-16 12:23:12 +00:00
51 lines
2.3 KiB
Go
51 lines
2.3 KiB
Go
package store
|
|
|
|
import (
|
|
"context"
|
|
"database/sql"
|
|
|
|
storepb "github.com/yourselfhosted/slash/proto/gen/store"
|
|
)
|
|
|
|
// Driver is an interface for store driver.
|
|
// It contains all methods that store database driver should implement.
|
|
type Driver interface {
|
|
GetDB() *sql.DB
|
|
Close() error
|
|
|
|
// MigrationHistory model related methods.
|
|
UpsertMigrationHistory(ctx context.Context, upsert *UpsertMigrationHistory) (*MigrationHistory, error)
|
|
ListMigrationHistories(ctx context.Context, find *FindMigrationHistory) ([]*MigrationHistory, error)
|
|
|
|
// Activity model related methods.
|
|
CreateActivity(ctx context.Context, create *Activity) (*Activity, error)
|
|
ListActivities(ctx context.Context, find *FindActivity) ([]*Activity, error)
|
|
|
|
// Collection model related methods.
|
|
CreateCollection(ctx context.Context, create *storepb.Collection) (*storepb.Collection, error)
|
|
UpdateCollection(ctx context.Context, update *UpdateCollection) (*storepb.Collection, error)
|
|
ListCollections(ctx context.Context, find *FindCollection) ([]*storepb.Collection, error)
|
|
DeleteCollection(ctx context.Context, delete *DeleteCollection) error
|
|
|
|
// Shortcut model related methods.
|
|
CreateShortcut(ctx context.Context, create *storepb.Shortcut) (*storepb.Shortcut, error)
|
|
UpdateShortcut(ctx context.Context, update *UpdateShortcut) (*storepb.Shortcut, error)
|
|
ListShortcuts(ctx context.Context, find *FindShortcut) ([]*storepb.Shortcut, error)
|
|
DeleteShortcut(ctx context.Context, delete *DeleteShortcut) error
|
|
|
|
// User model related methods.
|
|
CreateUser(ctx context.Context, create *User) (*User, error)
|
|
UpdateUser(ctx context.Context, update *UpdateUser) (*User, error)
|
|
ListUsers(ctx context.Context, find *FindUser) ([]*User, error)
|
|
DeleteUser(ctx context.Context, delete *DeleteUser) error
|
|
|
|
// UserSetting model related methods.
|
|
UpsertUserSetting(ctx context.Context, upsert *storepb.UserSetting) (*storepb.UserSetting, error)
|
|
ListUserSettings(ctx context.Context, find *FindUserSetting) ([]*storepb.UserSetting, error)
|
|
|
|
// WorkspaceSetting model related methods.
|
|
UpsertWorkspaceSetting(ctx context.Context, upsert *storepb.WorkspaceSetting) (*storepb.WorkspaceSetting, error)
|
|
ListWorkspaceSettings(ctx context.Context, find *FindWorkspaceSetting) ([]*storepb.WorkspaceSetting, error)
|
|
DeleteWorkspaceSetting(ctx context.Context, key storepb.WorkspaceSettingKey) error
|
|
}
|