From 3291b4dd10cd3b9b2a5d4a4d4ebebe99038ad948 Mon Sep 17 00:00:00 2001 From: Teddy Wing Date: Sun, 12 Mar 2017 15:17:36 +0100 Subject: 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. --- main.go | 24 +----------------------- timetask/fields.go | 27 +++++++++++++++++++++++++++ 2 files changed, 28 insertions(+), 23 deletions(-) create mode 100644 timetask/fields.go diff --git a/main.go b/main.go index 5c6e5e4..0d3a465 100644 --- a/main.go +++ b/main.go @@ -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 +} -- cgit v1.2.3