definition.go 728 字节
Newer Older
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27
package gen

import (
	"github.com/easysoft/zendata/src/model"
	constant "github.com/easysoft/zendata/src/utils/const"
	logUtils "github.com/easysoft/zendata/src/utils/log"
	"gopkg.in/yaml.v2"
	"io/ioutil"
)

func LoadDefinitionFromFile(file string) {
	def := model.Definition{}

	yamlContent, err := ioutil.ReadFile(file)
	if err != nil {
		logUtils.Screen("fail to read " + file)
		return
	}

	err = yaml.Unmarshal(yamlContent, &def)
	if err != nil {
		logUtils.Screen("fail to parse " + file)
		return
	}

	if constant.Definition.Title == "" { // only add the fields in first level yaml file
		constant.Definition = def
aaronchen2k2k's avatar
aaronchen2k2k 已提交
28 29 30 31
	}

	for _, field := range def.Fields {
		constant.LoadedFields[field.Name] = field // add to a map
32 33
	}
}