blob: d1da046ba9963547b51b706356de715f27d5179b [file] [log] [blame]
giolekvaa4a153b2020-05-12 11:49:53 +04001package appmanager
2
3import (
4 "io/ioutil"
5 "os"
6
7 "gopkg.in/yaml.v2"
8)
9
10type Schema struct {
11 Schema string `yaml:"schema"`
12}
13
14func SchemaFromYaml(str string) (*Schema, error) {
15 var s Schema
16 err := yaml.Unmarshal([]byte(str), &s)
17 if err != nil {
18 return nil, err
19 }
20 return &s, nil
21}
22
23func ReadSchema(schemaFile string) (*Schema, error) {
24 f, err := os.Open(schemaFile)
25 if err != nil {
26 return nil, err
27 }
28 defer f.Close()
29 b, err := ioutil.ReadAll(f)
30 if err != nil {
31 return nil, err
32 }
33 return SchemaFromYaml(string(b))
34}