mirror of https://github.com/usememos/memos
				
				
				
			
			You cannot select more than 25 topics
			Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
		
		
		
		
		
			
		
			
				
	
	
		
			76 lines
		
	
	
		
			3.6 KiB
		
	
	
	
		
			Go
		
	
			
		
		
	
	
			76 lines
		
	
	
		
			3.6 KiB
		
	
	
	
		
			Go
		
	
package store
 | 
						|
 | 
						|
import (
 | 
						|
	"context"
 | 
						|
	"database/sql"
 | 
						|
)
 | 
						|
 | 
						|
// 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
 | 
						|
 | 
						|
	IsInitialized(ctx context.Context) (bool, error)
 | 
						|
 | 
						|
	// MigrationHistory model related methods.
 | 
						|
	// NOTE: These methods are deprecated. The migration_history table is no longer used
 | 
						|
	// for tracking schema versions. Schema version is now stored in workspace_setting.
 | 
						|
	// These methods are kept for backward compatibility to migrate existing installations.
 | 
						|
	FindMigrationHistoryList(ctx context.Context, find *FindMigrationHistory) ([]*MigrationHistory, error)
 | 
						|
	UpsertMigrationHistory(ctx context.Context, upsert *UpsertMigrationHistory) (*MigrationHistory, error)
 | 
						|
 | 
						|
	// Activity model related methods.
 | 
						|
	CreateActivity(ctx context.Context, create *Activity) (*Activity, error)
 | 
						|
	ListActivities(ctx context.Context, find *FindActivity) ([]*Activity, error)
 | 
						|
 | 
						|
	// Attachment model related methods.
 | 
						|
	CreateAttachment(ctx context.Context, create *Attachment) (*Attachment, error)
 | 
						|
	ListAttachments(ctx context.Context, find *FindAttachment) ([]*Attachment, error)
 | 
						|
	UpdateAttachment(ctx context.Context, update *UpdateAttachment) error
 | 
						|
	DeleteAttachment(ctx context.Context, delete *DeleteAttachment) error
 | 
						|
 | 
						|
	// Memo model related methods.
 | 
						|
	CreateMemo(ctx context.Context, create *Memo) (*Memo, error)
 | 
						|
	ListMemos(ctx context.Context, find *FindMemo) ([]*Memo, error)
 | 
						|
	UpdateMemo(ctx context.Context, update *UpdateMemo) error
 | 
						|
	DeleteMemo(ctx context.Context, delete *DeleteMemo) error
 | 
						|
 | 
						|
	// MemoRelation model related methods.
 | 
						|
	UpsertMemoRelation(ctx context.Context, create *MemoRelation) (*MemoRelation, error)
 | 
						|
	ListMemoRelations(ctx context.Context, find *FindMemoRelation) ([]*MemoRelation, error)
 | 
						|
	DeleteMemoRelation(ctx context.Context, delete *DeleteMemoRelation) error
 | 
						|
 | 
						|
	// WorkspaceSetting model related methods.
 | 
						|
	UpsertWorkspaceSetting(ctx context.Context, upsert *WorkspaceSetting) (*WorkspaceSetting, error)
 | 
						|
	ListWorkspaceSettings(ctx context.Context, find *FindWorkspaceSetting) ([]*WorkspaceSetting, error)
 | 
						|
	DeleteWorkspaceSetting(ctx context.Context, delete *DeleteWorkspaceSetting) 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 *UserSetting) (*UserSetting, error)
 | 
						|
	ListUserSettings(ctx context.Context, find *FindUserSetting) ([]*UserSetting, error)
 | 
						|
 | 
						|
	// IdentityProvider model related methods.
 | 
						|
	CreateIdentityProvider(ctx context.Context, create *IdentityProvider) (*IdentityProvider, error)
 | 
						|
	ListIdentityProviders(ctx context.Context, find *FindIdentityProvider) ([]*IdentityProvider, error)
 | 
						|
	UpdateIdentityProvider(ctx context.Context, update *UpdateIdentityProvider) (*IdentityProvider, error)
 | 
						|
	DeleteIdentityProvider(ctx context.Context, delete *DeleteIdentityProvider) error
 | 
						|
 | 
						|
	// Inbox model related methods.
 | 
						|
	CreateInbox(ctx context.Context, create *Inbox) (*Inbox, error)
 | 
						|
	ListInboxes(ctx context.Context, find *FindInbox) ([]*Inbox, error)
 | 
						|
	UpdateInbox(ctx context.Context, update *UpdateInbox) (*Inbox, error)
 | 
						|
	DeleteInbox(ctx context.Context, delete *DeleteInbox) error
 | 
						|
 | 
						|
	// Reaction model related methods.
 | 
						|
	UpsertReaction(ctx context.Context, create *Reaction) (*Reaction, error)
 | 
						|
	ListReactions(ctx context.Context, find *FindReaction) ([]*Reaction, error)
 | 
						|
	DeleteReaction(ctx context.Context, delete *DeleteReaction) error
 | 
						|
}
 |