in api/internal/handler/data_loader/loader/openapi3/import.go [33:64]
func (o Loader) Import(input interface{}) (*loader.DataSets, error) {
if input == nil {
panic("input is nil")
}
d, ok := input.([]byte)
if !ok {
panic(fmt.Sprintf("input format error: expected []byte but it is %s", reflect.TypeOf(input).Kind().String()))
}
// load OAS3 document
swagger, err := openapi3.NewSwaggerLoader().LoadSwaggerFromData(d)
if err != nil {
return nil, err
}
// no paths in OAS3 document
if len(swagger.Paths) <= 0 {
return nil, errors.Wrap(errors.New("OpenAPI documentation does not contain any paths"), consts.ErrImportFile.Error())
}
if o.TaskName == "" {
o.TaskName = "openapi_" + time.Now().Format("20060102150405")
}
data, err := o.convertToEntities(swagger)
if err != nil {
return nil, err
}
return data, nil
}