/// <summary>Initializes a new instance of the <see cref="OperationResponseProcessorBase"/> class.</summary> /// <param name="settings">The settings.</param> public OperationResponseProcessorBase(OpenApiDocumentGeneratorSettings settings) { _settings = settings; }
public static void AddSquidexOpenApiSettings(this IServiceCollection services) { services.AddSingletonAs <ErrorDtoProcessor>() .As <IDocumentProcessor>(); services.AddSingletonAs <RuleActionProcessor>() .As <IDocumentProcessor>(); services.AddSingletonAs <CommonProcessor>() .As <IDocumentProcessor>(); services.AddSingletonAs <XmlTagProcessor>() .As <IDocumentProcessor>(); services.AddSingletonAs <SecurityProcessor>() .As <IDocumentProcessor>(); services.AddSingletonAs <ScopesProcessor>() .As <IOperationProcessor>(); services.AddSingletonAs <FixProcessor>() .As <IOperationProcessor>(); services.AddSingletonAs <TagByGroupNameProcessor>() .As <IOperationProcessor>(); services.AddSingletonAs <XmlResponseTypesProcessor>() .As <IOperationProcessor>(); services.AddSingletonAs <JsonSchemaGenerator>() .AsSelf(); services.AddSingletonAs <OpenApiSchemaGenerator>() .AsSelf(); services.AddSingleton(c => { var settings = new JsonSchemaGeneratorSettings { SerializerSettings = c.GetRequiredService <JsonSerializerSettings>() }; ConfigureSchemaSettings(settings, true); return(settings); }); services.AddSingleton(c => { var settings = new OpenApiDocumentGeneratorSettings { SerializerSettings = c.GetRequiredService <JsonSerializerSettings>() }; ConfigureSchemaSettings(settings, true); foreach (var processor in c.GetRequiredService <IEnumerable <IDocumentProcessor> >()) { settings.DocumentProcessors.Add(processor); } return(settings); }); services.AddOpenApiDocument(settings => { settings.Title = "Squidex API"; ConfigureSchemaSettings(settings); settings.OperationProcessors.Add(new QueryParamsProcessor("/apps/{app}/assets")); }); }
/// <summary>Appends the OAuth2 security scheme and requirement to the document's security definitions.</summary> /// <remarks>Adds a <see cref="SecurityDefinitionAppender"/> document processor with the given arguments.</remarks> /// <param name="settings">The settings.</param> /// <param name="name">The name/key of the security scheme/definition.</param> /// <param name="scopeNames">The scope names to add to as security requirement with the scheme name in the 'security' property (can be an empty list).</param> /// <param name="swaggerSecurityScheme">The Swagger security scheme.</param> public static OpenApiDocumentGeneratorSettings AddSecurity(this OpenApiDocumentGeneratorSettings settings, string name, IEnumerable <string> scopeNames, OpenApiSecurityScheme swaggerSecurityScheme) { settings.DocumentProcessors.Add(new SecurityDefinitionAppender(name, scopeNames, swaggerSecurityScheme)); return(settings); }