func IsLangMap(langMap interface{}) bool { schema := GetXAPISchemaInstance() res, err := schema.Get(XAPIVersion10x, "langmap").Validate(gojsonschema.NewGoLoader(langMap)) if err != nil { logger.Warn(err) return false } return res.Valid() }
// validate は与えられた body が kind であることを検査する。 func validate(version XAPIVersion, kind string, body map[string]interface{}) error { if s, ok := (*schema)[version]; ok { res, err := s[kind].Validate(gojsonschema.NewGoLoader(body)) if err != nil { logger.Warn("Validation error: ", err) return err } if !res.Valid() { emessage := "The document is not valid. see errors: \n" for _, desc := range res.Errors() { emessage += fmt.Sprintf("- %s", desc) } return errors.New(emessage) } } else { return errors.New("Invalid XAPI version given.") } return nil }