diff options
| author | Teddy Wing | 2017-03-12 15:17:36 +0100 | 
|---|---|---|
| committer | Teddy Wing | 2017-03-12 15:17:36 +0100 | 
| commit | 3291b4dd10cd3b9b2a5d4a4d4ebebe99038ad948 (patch) | |
| tree | 8cfd1e151de71a08ed57a2d8fafc79b9f47dad60 | |
| parent | 7a8db5312bbb43c986fbae7aa14960e22080b03b (diff) | |
| download | timetasker-3291b4dd10cd3b9b2a5d4a4d4ebebe99038ad948.tar.bz2 | |
Make fields named structs
We'll be needing to refer to these fields as named types, so create
types for them and reference them in the config object.
| -rw-r--r-- | main.go | 24 | ||||
| -rw-r--r-- | timetask/fields.go | 27 | 
2 files changed, 28 insertions, 23 deletions
| @@ -16,29 +16,7 @@ type Config struct {  		Username    string  		PasswordCmd string `yaml:"password_cmd"`  	} -	Fields struct { -		PersonID uint `yaml:"person_id"` -		Clients  []struct { -			ID       uint -			Name     string -			Projects []struct { -				ID      uint -				Name    string -				Modules []struct { -					ID   uint -					Name string -				} -				Tasks []struct { -					ID   uint -					Name string -				} -				WorkTypes []struct { -					ID   uint -					Name string -				} `yaml:"work_types"` -			} -		} -	} +	Fields timetask.Fields  }  var config Config diff --git a/timetask/fields.go b/timetask/fields.go new file mode 100644 index 0000000..84bf93a --- /dev/null +++ b/timetask/fields.go @@ -0,0 +1,27 @@ +package timetask + +type IDName struct { +	ID   uint +	Name string +} + +type Client struct { +	IDName +	Projects []Project +} + +type Project struct { +	IDName +	Modules   []Module +	Tasks     []Task +	WorkTypes []WorkType `yaml:"work_types"` +} + +type Module IDName +type Task IDName +type WorkType IDName + +type Fields struct { +	PersonID uint `yaml:"person_id"` +	Clients  []Client +} | 
