From 3bbb094e845ed614be82adbfdcb251898f20a41b Mon Sep 17 00:00:00 2001 From: Denis Arh Date: Tue, 17 Jul 2018 11:03:34 +0200 Subject: [PATCH] Add Name & Type to types.Field --- crm/docs/src/spec.json | 7 +++++-- crm/docs/src/spec/field.json | 13 ++++++++++++- crm/types/field.go | 25 +++++++++++++++++++++++++ 3 files changed, 42 insertions(+), 3 deletions(-) diff --git a/crm/docs/src/spec.json b/crm/docs/src/spec.json index 6bebcf4ba..8fb0f101c 100644 --- a/crm/docs/src/spec.json +++ b/crm/docs/src/spec.json @@ -9,7 +9,10 @@ "struct": [ { "name": "Field", - "fields": [] + "fields": [ + { "name": "Name", "type": "string", "tag": "json:\"name\"" }, + { "name": "Type", "type": "string", "tag": "json:\"type\"" } + ] } ], "apis": [ @@ -114,4 +117,4 @@ } ] } -] \ No newline at end of file +] diff --git a/crm/docs/src/spec/field.json b/crm/docs/src/spec/field.json index 50d1954e2..7f75b6f0f 100644 --- a/crm/docs/src/spec/field.json +++ b/crm/docs/src/spec/field.json @@ -5,7 +5,18 @@ "Interface": "Field", "Struct": [ { - "fields": [], + "fields": [ + { + "name": "Name", + "tag": "json:\"name\"", + "type": "string" + }, + { + "name": "Type", + "tag": "json:\"type\"", + "type": "string" + } + ], "name": "Field" } ], diff --git a/crm/types/field.go b/crm/types/field.go index 1d4a1c26c..2380075ac 100644 --- a/crm/types/field.go +++ b/crm/types/field.go @@ -18,6 +18,9 @@ package types type ( // Fields Field struct { + Name string `json:"name" db:"name"` + Type string `json:"type" db:"type"` + changed []string } ) @@ -28,3 +31,25 @@ func (Field) New() *Field { } /* Getters/setters */ +func (f *Field) GetName() string { + return f.Name +} + +func (f *Field) SetName(value string) *Field { + if f.Name != value { + f.changed = append(f.changed, "Name") + f.Name = value + } + return f +} +func (f *Field) GetType() string { + return f.Type +} + +func (f *Field) SetType(value string) *Field { + if f.Type != value { + f.changed = append(f.changed, "Type") + f.Type = value + } + return f +}