2024-09-02 09:09:46 +02:00
|
|
|
// Package :
|
|
|
|
package versionOc
|
|
|
|
|
|
|
|
import (
|
|
|
|
"fmt"
|
|
|
|
"os"
|
|
|
|
"errors"
|
|
|
|
"io/ioutil"
|
|
|
|
"gopkg.in/yaml.v2"
|
|
|
|
log "oc-deploy/log_wrapper"
|
|
|
|
)
|
|
|
|
|
|
|
|
type versionInput struct {
|
|
|
|
Version string `yaml:"version"`
|
|
|
|
}
|
|
|
|
|
2024-09-02 13:43:11 +02:00
|
|
|
func GetFromFile(fileversion string) (string, error) {
|
|
|
|
fin, err := os.Open(fileversion)
|
|
|
|
if err != nil {
|
|
|
|
return "", err
|
|
|
|
}
|
|
|
|
defer fin.Close()
|
|
|
|
|
|
|
|
byteValue, err := ioutil.ReadAll(fin)
|
|
|
|
if err != nil {
|
|
|
|
return "", err
|
|
|
|
}
|
|
|
|
|
|
|
|
var objmap versionInput
|
|
|
|
|
|
|
|
yaml.Unmarshal(byteValue, &objmap)
|
|
|
|
|
|
|
|
return objmap.Version, nil
|
|
|
|
}
|
|
|
|
|
2024-09-02 09:09:46 +02:00
|
|
|
// Get : Retourne la version
|
|
|
|
func Get(version string) (string, error) {
|
|
|
|
|
|
|
|
version2 := version
|
|
|
|
if version == "latest" {
|
|
|
|
versionLatest, err := readLatestFile()
|
|
|
|
if err != nil {
|
|
|
|
return "", err
|
|
|
|
}
|
|
|
|
version2 = versionLatest
|
|
|
|
}
|
|
|
|
|
|
|
|
src := fmt.Sprintf("../offline/oc_%s.yml", version2)
|
|
|
|
if _, err := os.Stat(src); err != nil {
|
|
|
|
log.Log().Debug().Msg(err.Error())
|
|
|
|
return "", errors.New("Version non disponible")
|
|
|
|
}
|
|
|
|
|
|
|
|
return version2, nil
|
|
|
|
}
|
|
|
|
|
|
|
|
// readLatestFile : Lit le numéro de la version dans le fichier lastest.yml
|
|
|
|
func readLatestFile() (string, error) {
|
|
|
|
src := "../offline/latest.yml"
|
|
|
|
|
|
|
|
fin, err := os.Open(src)
|
|
|
|
if err != nil {
|
|
|
|
return "", err
|
|
|
|
}
|
|
|
|
defer fin.Close()
|
|
|
|
|
|
|
|
byteValue, err := ioutil.ReadAll(fin)
|
|
|
|
if err != nil {
|
|
|
|
return "", err
|
|
|
|
}
|
|
|
|
|
2024-09-02 13:43:11 +02:00
|
|
|
var objmap versionInput
|
2024-09-02 09:09:46 +02:00
|
|
|
|
2024-09-02 13:43:11 +02:00
|
|
|
yaml.Unmarshal(byteValue, &objmap)
|
2024-09-02 09:09:46 +02:00
|
|
|
|
|
|
|
return objmap.Version, nil
|
|
|
|
}
|