40 lines
1.7 KiB
Go
40 lines
1.7 KiB
Go
|
|
// /futriis/internal/storage/storage.go
|
|||
|
|
// Пакет storage предоставляет единую точку доступа ко всем операциям с хранилищем данных.
|
|||
|
|
// Структура Storage агрегирует TappleManager и служит фасадом для работы с тапплами, слайсами и кортежами.
|
|||
|
|
// Предоставляет методы для выполнения команд и создания резервных копий всех данных.
|
|||
|
|
// Является основным интерфейсом для взаимодействия движка СУБД с хранилищем, обеспечивая централизованное управление всеми компонентами хранения.
|
|||
|
|
|
|||
|
|
package storage
|
|||
|
|
|
|||
|
|
import (
|
|||
|
|
"futriis/pkg/types"
|
|||
|
|
)
|
|||
|
|
|
|||
|
|
// Storage представляет основное хранилище данных
|
|||
|
|
type Storage struct {
|
|||
|
|
tappleManager *TappleManager
|
|||
|
|
}
|
|||
|
|
|
|||
|
|
// NewStorage создаёт новое хранилище
|
|||
|
|
func NewStorage() *Storage {
|
|||
|
|
return &Storage{
|
|||
|
|
tappleManager: NewTappleManager(),
|
|||
|
|
}
|
|||
|
|
}
|
|||
|
|
|
|||
|
|
// GetTappleManager возвращает менеджер тапплов
|
|||
|
|
func (s *Storage) GetTappleManager() *TappleManager {
|
|||
|
|
return s.tappleManager
|
|||
|
|
}
|
|||
|
|
|
|||
|
|
// ExecuteCommand выполняет команду над хранилищем
|
|||
|
|
func (s *Storage) ExecuteCommand(cmd string, args []string) (interface{}, error) {
|
|||
|
|
// Будет расширяться по мере добавления команд
|
|||
|
|
return nil, nil
|
|||
|
|
}
|
|||
|
|
|
|||
|
|
// Backup создаёт резервную копию всех данных
|
|||
|
|
func (s *Storage) Backup() map[string]*types.Tapple {
|
|||
|
|
return s.tappleManager.GetAllTapples()
|
|||
|
|
}
|