futriis/internal/storage/storage.go

40 lines
1.7 KiB
Go
Raw Normal View History

2026-02-27 22:04:04 +03:00
// /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()
}