wheelchairy b6ea0e0f59 upd2
2025-02-04 18:30:33 +03:00

42 lines
894 B
Go

package version
import (
"encoding/json"
"fmt"
"io/ioutil"
"os"
"path/filepath"
)
type VersionInfo struct {
Package string `json:"package"`
Version string `json:"version"`
}
var versionDir = "./versions"
func SaveVersionInfo(pkgName, ver string) error {
if err := os.MkdirAll(versionDir, os.ModePerm); err != nil {
return err
}
info := VersionInfo{Package: pkgName, Version: ver}
data, err := json.MarshalIndent(info, "", " ")
if err != nil {
return err
}
filePath := filepath.Join(versionDir, pkgName+".json")
return ioutil.WriteFile(filePath, data, 0644)
}
func GetVersionInfo(pkgName string) (*VersionInfo, error) {
filePath := filepath.Join(versionDir, pkgName+".json")
data, err := ioutil.ReadFile(filePath)
if err != nil {
return nil, err
}
var info VersionInfo
if err := json.Unmarshal(data, &info); err != nil {
return nil, err
}
return &info, nil
}