Blame view
tables_utility.go
2.07 KB
64041a2ea first commit |
1 2 3 4 |
package restutility import ( "encoding/json" |
64041a2ea first commit |
5 |
"errors" |
64041a2ea first commit |
6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 |
) type TableConfig struct { Tables []Table } type Table struct { TableType string `json:"tableType"` Translations []TableTranslation `json:"translations"` TableFields []Field `json:"tableFields"` Correlations []CorrelationField `json:"correlation_fields"` IdField string `json:"idField"` } type CorrelationField struct { Result string `json:"result"` Elements []string `json:"elements"` Type string `json:"type"` } type TableTranslation struct { Language string `json:"language"` FieldsLabels map[string]string `json:"fieldsLabels"` } func (tl TableConfig) LoadTranslations(tableType string) LangMap { translations := make(LangMap, 0) for _, table := range tl.Tables { if tableType == table.TableType { for _, t := range table.Translations { translations[t.Language] = t.FieldsLabels } } } return translations } func (tl TableConfig) LoadFields(tableType string) []Field { fields := make([]Field, 0) for _, table := range tl.Tables { if tableType == table.TableType { for _, f := range table.TableFields { fields = append(fields, f) } } } return fields } func (tl TableConfig) LoadIdField(tableType string) string { for _, table := range tl.Tables { if tableType == table.TableType { return table.IdField } } return "" } func (tl TableConfig) LoadCorrelations(tableType string) []CorrelationField { resp := make([]CorrelationField, 0) for _, table := range tl.Tables { if tableType == table.TableType { for _, f := range table.Correlations { resp = append(resp, f) } } } return resp } var _tables TableConfig var _prevProject string |
25e001550 exported everything |
84 |
func InitTables(jsonbuf []byte) error { |
90fd36e9b resolved some dep... |
85 |
json.Unmarshal(jsonbuf, &_tables.Tables) |
90fd36e9b resolved some dep... |
86 |
if len(_tables.Tables) == 0 { |
64041a2ea first commit |
87 88 |
return errors.New("tables config is corrupt") } |
64041a2ea first commit |
89 90 |
return nil } |
25e001550 exported everything |
91 |
func LoadTable(table string) JSONParams { |
64041a2ea first commit |
92 |
return NewJSONParams(_tables.LoadTranslations(table), |
25e001550 exported everything |
93 94 95 |
_tables.LoadFields(table), _tables.LoadIdField(table), _tables.LoadCorrelations(table)) |
64041a2ea first commit |
96 |
} |