private async Task <SwaggerService> GenerateServiceAsync() { // TODO: Add a command for all 4 input types, then just call RunAsync on the selected generator if (SelectedSwaggerGenerator == 0) { if (!string.IsNullOrEmpty(InputSwaggerUrl)) { return(SwaggerService.FromUrl(InputSwaggerUrl)); } else { return(SwaggerService.FromJson(InputSwagger)); } } else if (SelectedSwaggerGenerator == 1) { return(await WebApiToSwaggerCommand.RunAsync()); } else if (SelectedSwaggerGenerator == 2) { var schema = JsonSchema4.FromJson(InputJsonSchema); var service = new SwaggerService(); service.Definitions[schema.TypeNameRaw ?? "MyType"] = schema; return(service); } else { return(await AssemblyTypeToSwaggerCommand.RunAsync()); } }
public async Task<string> GenerateSwaggerAsync() { try { var schema = JsonSchema4.FromJson(JsonSchema.Text); var service = new SwaggerService(); service.Definitions[schema.TypeName ?? "MyType"] = schema; return service.ToJson(); } catch (Exception exception) { MessageBox.Show(exception.Message, "Error loading the JSON Schema"); return string.Empty; // TODO: What to do on error? } }
public async Task ExecuteAsync() { SwaggerService service = null; foreach (var codeGenerator in _codeGenerators) { if (!string.IsNullOrEmpty(codeGenerator.OutputFilePath)) { if (service == null) { service = await GenerateServiceAsync(); } codeGenerator.Input = service; await codeGenerator.RunAsync(null, null); codeGenerator.Input = null; } } }
/// <summary>Initializes a new instance of the <see cref="SwaggerServiceSchemaDefinitionAppender"/> class.</summary> /// <param name="service">The service.</param> public SwaggerServiceSchemaDefinitionAppender(SwaggerService service) { _service = service; }
/// <summary>Initializes a new instance of the <see cref="SwaggerServiceSchemaDefinitionAppender" /> class.</summary> /// <param name="service">The service.</param> /// <param name="typeNameGenerator">The type name generator.</param> public SwaggerServiceSchemaDefinitionAppender(SwaggerService service, ITypeNameGenerator typeNameGenerator) { _service = service; _typeNameGenerator = typeNameGenerator; }
internal string FromAssemblyType(string assemblyPath, string className) { var assembly = Assembly.LoadFrom(assemblyPath); var type = assembly.GetType(className); var service = new SwaggerService(); var schema = JsonSchema4.FromType(type); service.Definitions[type.Name] = schema; return service.ToJson(); }