package model

import (
	"log"
	"os"
	"path/filepath"
)

type Storage struct {
	Path string
}

func (s *Storage) Init(version string) {
	err := os.Mkdir(s.Path, 0750)
	if err != nil && !os.IsExist(err) {
		log.Fatal(err)
	}

	log.Printf("Created storage folder %s\n", s.Path)

	if version != "" {
		vp := filepath.Join(s.Path, "version.txt")
		err = os.WriteFile(vp, []byte(version+"\n"), 0644)
		if err != nil {
			log.Fatal(err)
		}
	}

	log.Printf("Storage directory: %s\n", s.Path)
}