futriis/internal/storage/storage.go
2026-02-27 22:04:04 +03:00

40 lines
1.7 KiB
Go
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

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