SeliseBlocks.Genesis.Framework.Api 6.0.0.3

There is a newer version of this package available.
See the version list below for details.
dotnet add package SeliseBlocks.Genesis.Framework.Api --version 6.0.0.3                
NuGet\Install-Package SeliseBlocks.Genesis.Framework.Api -Version 6.0.0.3                
This command is intended to be used within the Package Manager Console in Visual Studio, as it uses the NuGet module's version of Install-Package.
<PackageReference Include="SeliseBlocks.Genesis.Framework.Api" Version="6.0.0.3" />                
For projects that support PackageReference, copy this XML node into the project file to reference the package.
paket add SeliseBlocks.Genesis.Framework.Api --version 6.0.0.3                
#r "nuget: SeliseBlocks.Genesis.Framework.Api, 6.0.0.3"                
#r directive can be used in F# Interactive and Polyglot Notebooks. Copy this into the interactive tool or source code of the script to reference the package.
// Install SeliseBlocks.Genesis.Framework.Api as a Cake Addin
#addin nuget:?package=SeliseBlocks.Genesis.Framework.Api&version=6.0.0.3

// Install SeliseBlocks.Genesis.Framework.Api as a Cake Tool
#tool nuget:?package=SeliseBlocks.Genesis.Framework.Api&version=6.0.0.3                

Here at SELISE, we have a distinct segregation when it comes to handling incoming requests. All the HTTP/HTTPS calls are being handled by Web Service and the time-consuming, memory-heavy tasks are being offloaded to the Console Service. This project handles the former one, Web Service. It solely manages all the HTTP/HTTPS incoming traffic. We use this as a read model. Only Web Service-related dependencies, packages, and/or libraries are provided here.

This project also handles the responsibility of giving your application standardized documentation using Swagger. It will enable your project's endpoints exposed through the controllers to be documented in a web view where you can try the API-s to test them. Ideally, you can access the documentation by hitting the "<your_application_url_till_service_name>/swagger/index.html" URL e.g. http://example.com/api/kubernetes_Service_name/swagger/index.html.

How to use in WebService

//WebService
public class Program
{
    public static void Main(string[] args)
    {
        var blocksWebApiPipelineBuilderOptions = new BlocksWebApiPipelineBuilderOptions
        {
            UseFileLogging = true,
            UseConsoleLogging = true,
            CommandLineArguments = args,
            UseAuditLoggerMiddleware = true,
            AddApplicationServices = AddApplicationServices,
            UseJwtBearerAuthentication = true,
            AddRequiredQueues = AddRequiredQueues
        };

        BlocksWebApiPipelineBuilder.BuildBlocksWebApiPipeline(blocksWebApiPipelineBuilderOptions)
                                 .Build()
                                 .Run();
    }

    private static IEnumerable<string> AddRequiredQueues(IAppSettings appSettings)
    {
        return new string[]
        {
            appSettings.BlocksAuditLogQueueName
        };
    }

    private static void AddApplicationServices(IServiceCollection serviceCollection, IAppSettings appSettings)
    {
        //BlocksWebBootstrapper
        var serviceProvider = serviceCollection.BuildServiceProvider();
        var configuration = (IConfiguration)serviceProvider.GetRequiredService(typeof(IConfiguration));

        serviceCollection.RegisterApplicationServices(configuration); // An extension method written within the project to conveniently register all the application services

        // To enable Swagger and Ping URL for the project
        serviceCollection.AddApiDocument(new BlocksSwaggerOptions()
        {
            Description = "<Your_short_description>",
            ApplicableEnvironments = new string[] { "dev", "stg", "dev-az", "stg-az" }
        }, appSettings);
    }
}

Documentation

Product Compatible and additional computed target framework versions.
.NET net6.0 is compatible.  net6.0-android was computed.  net6.0-ios was computed.  net6.0-maccatalyst was computed.  net6.0-macos was computed.  net6.0-tvos was computed.  net6.0-windows was computed.  net7.0 was computed.  net7.0-android was computed.  net7.0-ios was computed.  net7.0-maccatalyst was computed.  net7.0-macos was computed.  net7.0-tvos was computed.  net7.0-windows was computed.  net8.0 was computed.  net8.0-android was computed.  net8.0-browser was computed.  net8.0-ios was computed.  net8.0-maccatalyst was computed.  net8.0-macos was computed.  net8.0-tvos was computed.  net8.0-windows was computed. 
Compatible target framework(s)
Included target framework(s) (in package)
Learn more about Target Frameworks and .NET Standard.

NuGet packages

This package is not used by any NuGet packages.

GitHub repositories

This package is not used by any popular GitHub repositories.

Version Downloads Last updated
6.0.1.2 18,113 4/18/2024
6.0.1.1 148 4/17/2024
6.0.0.17 1,655 3/19/2024
6.0.0.16 115 3/19/2024 6.0.0.16 is deprecated because it has critical bugs.
6.0.0.15 1,208 3/19/2024
6.0.0.14 3,083 2/5/2024
6.0.0.13 5,665 1/29/2024
6.0.0.12 780 1/1/2024
6.0.0.11 108 1/1/2024
6.0.0.10 505 12/26/2023
6.0.0.9 457 12/17/2023
6.0.0.8 296 12/10/2023
6.0.0.7 166 12/7/2023
6.0.0.6 250 11/29/2023
6.0.0.5 155 11/28/2023
6.0.0.4 238 11/20/2023
6.0.0.3 324 10/31/2023
6.0.0.1 261 10/26/2023