mirror of https://github.com/portainer/portainer
				
				
				
			
		
			
				
	
	
		
			55 lines
		
	
	
		
			1.8 KiB
		
	
	
	
		
			Go
		
	
	
			
		
		
	
	
			55 lines
		
	
	
		
			1.8 KiB
		
	
	
	
		
			Go
		
	
	
package portainer
 | 
						|
 | 
						|
import (
 | 
						|
	"io"
 | 
						|
)
 | 
						|
 | 
						|
type ReadTransaction interface {
 | 
						|
	GetObject(bucketName string, key []byte, object interface{}) error
 | 
						|
	GetAll(bucketName string, obj interface{}, append func(o interface{}) (interface{}, error)) error
 | 
						|
	GetAllWithJsoniter(bucketName string, obj interface{}, append func(o interface{}) (interface{}, error)) error
 | 
						|
	GetAllWithKeyPrefix(bucketName string, keyPrefix []byte, obj interface{}, append func(o interface{}) (interface{}, error)) error
 | 
						|
}
 | 
						|
 | 
						|
type Transaction interface {
 | 
						|
	ReadTransaction
 | 
						|
 | 
						|
	SetServiceName(bucketName string) error
 | 
						|
	UpdateObject(bucketName string, key []byte, object interface{}) error
 | 
						|
	DeleteObject(bucketName string, key []byte) error
 | 
						|
	CreateObject(bucketName string, fn func(uint64) (int, interface{})) error
 | 
						|
	CreateObjectWithId(bucketName string, id int, obj interface{}) error
 | 
						|
	CreateObjectWithStringId(bucketName string, id []byte, obj interface{}) error
 | 
						|
	DeleteAllObjects(bucketName string, obj interface{}, matching func(o interface{}) (id int, ok bool)) error
 | 
						|
	GetNextIdentifier(bucketName string) int
 | 
						|
}
 | 
						|
 | 
						|
type Connection interface {
 | 
						|
	Transaction
 | 
						|
 | 
						|
	Open() error
 | 
						|
	Close() error
 | 
						|
 | 
						|
	UpdateTx(fn func(Transaction) error) error
 | 
						|
	ViewTx(fn func(Transaction) error) error
 | 
						|
 | 
						|
	// write the db contents to filename as json (the schema needs defining)
 | 
						|
	ExportRaw(filename string) error
 | 
						|
 | 
						|
	// TODO: this one is very database specific atm
 | 
						|
	BackupTo(w io.Writer) error
 | 
						|
	GetDatabaseFileName() string
 | 
						|
	GetDatabaseFilePath() string
 | 
						|
	GetStorePath() string
 | 
						|
 | 
						|
	IsEncryptedStore() bool
 | 
						|
	NeedsEncryptionMigration() (bool, error)
 | 
						|
	SetEncrypted(encrypted bool)
 | 
						|
 | 
						|
	BackupMetadata() (map[string]interface{}, error)
 | 
						|
	RestoreMetadata(s map[string]interface{}) error
 | 
						|
 | 
						|
	UpdateObjectFunc(bucketName string, key []byte, object any, updateFn func()) error
 | 
						|
	ConvertToKey(v int) []byte
 | 
						|
}
 |