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()
|
||
}
|