41 lines
1.2 KiB
Go
41 lines
1.2 KiB
Go
|
|
// /futriis/internal/storage/storage.go
|
||
|
|
// Пакет storage предоставляет единую точку доступа к хранилищу данных
|
||
|
|
|
||
|
|
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 {
|
||
|
|
backup := make(map[string]*types.Tapple)
|
||
|
|
for name, tapple := range s.tappleManager.tapples {
|
||
|
|
backup[name] = tapple
|
||
|
|
}
|
||
|
|
return backup
|
||
|
|
}
|