private IEnumerable <NormalizationApiOperationParameter> ParseParameters(dynamic op) { if (!op.ContainsKey("parameters")) { goto NoMoreParameters; } foreach (var paramObj in op.parameters) { if (!OperationParameterFilter(paramObj)) { continue; } if (!paramObj.ContainsKey("paramType")) { continue; } var param = new NormalizationApiOperationParameter(); param.CopyFrom(SimpleNormalizationApiDataType.ParseFromJObject(paramObj)); param.AllowsMultiple = paramObj.ContainsKey("allowMultiple") && (bool)paramObj.allowMultiple; param.Description = paramObj.ContainsKey("description") ? (string)paramObj.description : string.Empty; param.Name = paramObj.ContainsKey("name") ? (string)paramObj.name : string.Empty; param.ParameterType = GetParamType(paramObj); param.IsRequired = paramObj.ContainsKey("required") && (bool)paramObj.required; yield return(param); } NoMoreParameters: ; }
private NormalizationApiModelEnum ParseEnumData(dynamic item) { dynamic model = item.Value; var normEnum = new NormalizationApiModelEnum { Name = (string)item.Key, }; if (model.ContainsKey("description") && !string.IsNullOrWhiteSpace((string)model.description)) { normEnum.Description = (string)model.description; } var type = new SimpleNormalizationApiDataType(model); type.TryParseEnumFromJObject(model); var values = type.EnumValues; if (values.Any()) { normEnum.Values.AddRange(values); } return(normEnum); }
private IEnumerable <NormalizationApiModelProperty> ParseProperties(dynamic model) { if (!model.ContainsKey("properties")) { goto NoMoreProperties; } foreach (var propKv in model.properties) { var obj = propKv.Value; var prop = new NormalizationApiModelProperty { Name = propKv.Key }; prop.CopyFrom(SimpleNormalizationApiDataType.ParseFromJObject(obj)); if (obj.ContainsKey("description")) { prop.Description = obj.description; } if (obj.ContainsKey("key")) { prop.IsKey = (bool)obj.key; } yield return(prop); } NoMoreProperties: yield break; }
private NormalizationApiModelEnum ParseEnumData(dynamic item) { var apiVersion = (string)item.ApiVersion; var resourceName = (string)item.ResourceName; var resourcePath = (string)item.ResourcePath; dynamic model = item.Model; var normEnum = new NormalizationApiModelEnum { ApiVersion = apiVersion, Name = (string)model.id, ResourceName = resourceName, ResourcePath = resourcePath }; if (model.ContainsKey("description") && !string.IsNullOrWhiteSpace((string)model.description)) { normEnum.Description = (string)model.description; } var type = new SimpleNormalizationApiDataType(model); type.TryParseEnumFromJObject(model); var values = type.EnumValues; if (values.Any()) { normEnum.Values.AddRange(values); } return(normEnum); }
private NormalizationApiOperationResponse ParseResponse(dynamic op) { var dataType = SimpleNormalizationApiDataType.ParseFromJObject(op); var resp = new NormalizationApiOperationResponse(); resp.CopyFrom(dataType); return(resp); }
private NormalizationApiOperationResponse ParseResponse(dynamic op) { //Not sure if this is the best way to go about handling response. //In Swagger 2.0 Response type seems to be tied to the //response element whereas it was not in Swagger 1.2. dynamic dataType = op.Value; if (dataType.responses.ContainsKey("200")) { dataType = dataType.responses["200"]; } else if (dataType.responses.ContainsKey("201")) { dataType = op.Value.responses["201"]; } else if (dataType.responses.ContainsKey("204")) { dataType = op.Value.responses["204"]; } else if (dataType.responses.ContainsKey("202")) { dataType = op.Value.responses["202"]; } string title = ""; if (dataType.ContainsKey("schema")) { if (dataType.schema.ContainsKey("title")) { title = dataType.schema["title"]; } } dataType = SimpleNormalizationApiDataType.ParseFromJObject(dataType); var resp = new NormalizationApiOperationResponse(); resp.CopyFrom(dataType); resp.Title20 = title; return(resp); }