local.go 933 B

123456789101112131415161718192021222324252627282930313233343536
  1. package persistence
  2. import (
  3. "os"
  4. "path"
  5. )
  6. type LocalWrapper struct {
  7. path string
  8. }
  9. func NewLocalWrapper(path string) *LocalWrapper {
  10. return &LocalWrapper{
  11. path: path,
  12. }
  13. }
  14. func (l *LocalWrapper) getFilePath(tenant_id string, plugin_checksum string, key string) string {
  15. return path.Join(l.path, tenant_id, plugin_checksum, key)
  16. }
  17. func (l *LocalWrapper) Save(tenant_id string, plugin_checksum string, key string, data []byte) error {
  18. file_path := l.getFilePath(tenant_id, plugin_checksum, key)
  19. return os.WriteFile(file_path, data, 0644)
  20. }
  21. func (l *LocalWrapper) Load(tenant_id string, plugin_checksum string, key string) ([]byte, error) {
  22. file_path := l.getFilePath(tenant_id, plugin_checksum, key)
  23. return os.ReadFile(file_path)
  24. }
  25. func (l *LocalWrapper) Delete(tenant_id string, plugin_checksum string, key string) error {
  26. file_path := l.getFilePath(tenant_id, plugin_checksum, key)
  27. return os.Remove(file_path)
  28. }