CoinModel info specific validators.
(c CoinModel)
| 90 | // CoinModel info specific validators. |
| 91 | |
| 92 | func ValidateCoinRequiredKeys(c CoinModel) error { |
| 93 | var fields []string |
| 94 | if c.Name != nil && !isEmpty(*c.Name) { |
| 95 | fields = append(fields, "name") |
| 96 | } |
| 97 | if c.Symbol != nil && !isEmpty(*c.Symbol) { |
| 98 | fields = append(fields, "symbol") |
| 99 | } |
| 100 | if c.Type != nil && !isEmpty(*c.Type) { |
| 101 | fields = append(fields, "type") |
| 102 | } |
| 103 | if c.Decimals != nil { |
| 104 | fields = append(fields, "decimals") |
| 105 | } |
| 106 | if c.Description != nil && !isEmpty(*c.Description) { |
| 107 | fields = append(fields, "description") |
| 108 | } |
| 109 | if c.Website != nil && !isEmpty(*c.Website) { |
| 110 | fields = append(fields, "website") |
| 111 | } |
| 112 | if c.Explorer != nil && !isEmpty(*c.Explorer) { |
| 113 | fields = append(fields, "explorer") |
| 114 | } |
| 115 | if c.Status != nil && !isEmpty(*c.Status) { |
| 116 | fields = append(fields, "status") |
| 117 | } |
| 118 | |
| 119 | if len(fields) != len(requiredCoinFields) { |
| 120 | return fmt.Errorf("%w: %s", validation.ErrMissingField, |
| 121 | strings.Join(str.Difference(requiredCoinFields, fields), ", ")) |
| 122 | } |
| 123 | |
| 124 | return nil |
| 125 | } |
| 126 | |
| 127 | func ValidateLinks(links []Link) error { |
| 128 | if len(links) < 2 { |
no test coverage detected
searching dependent graphs…