Tooark 4.7.0

dotnet add package Tooark --version 4.7.0
                    
NuGet\Install-Package Tooark -Version 4.7.0
                    
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="Tooark" Version="4.7.0" />
                    
For projects that support PackageReference, copy this XML node into the project file to reference the package.
<PackageVersion Include="Tooark" Version="4.7.0" />
                    
Directory.Packages.props
<PackageReference Include="Tooark" />
                    
Project file
For projects that support Central Package Management (CPM), copy this XML node into the solution Directory.Packages.props file to version the package.
paket add Tooark --version 4.7.0
                    
#r "nuget: Tooark, 4.7.0"
                    
#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.
#:package Tooark@4.7.0
                    
#:package directive can be used in C# file-based apps starting in .NET 10 preview 4. Copy this into a .cs file before any lines of code to reference the package.
#addin nuget:?package=Tooark&version=4.7.0
                    
Install as a Cake Addin
#tool nuget:?package=Tooark&version=4.7.0
                    
Install as a Cake Tool

Tooark

Library with every Tooark resource and feature aimed at .NET projects.

🌍 Languages: πŸ‡ΊπŸ‡Έ English (this file) Β· πŸ‡§πŸ‡· PortuguΓͺs


πŸ“‘ Contents


πŸ”§ Installation

dotnet add package Tooark

The aggregator brings every Tooark package at once. Install the packages individually when you only want some of them β€” the surface is the same.

The exception is the storage and secrets providers (Tooark.Storage.Aws, Tooark.Storage.Gcp, Tooark.Secrets.Aws, Tooark.Secrets.Gcp and Tooark.Secrets.Vault): the aggregator brings only the Tooark.Storage and Tooark.Secrets abstractions, and the application installs the provider it uses.


βš™οΈ Configuration

The translations ship with the assembly, so there is nothing to configure for them to work.

Add the following line to your Program.cs:

// Importing the required namespaces
using Tooark.Injections;
using Microsoft.Extensions.Configuration;
using Microsoft.Extensions.DependencyInjection;

var services = new ServiceCollection();

IConfiguration configuration = new ConfigurationBuilder()
  .Build();

// In your service configuration
services.AddTooarkService(configuration);

That single call registers Tooark.Dtos, Tooark.Extensions, Tooark.ValueObjects, Tooark.Mediator and Tooark.Sanitizers, and adds Tooark.Securities and Tooark.Observability when the corresponding configuration sections exist.

Where the mediator handlers are looked up

Without an argument, in the assembly that called AddTooarkService. In a single-project application that is what you want, and there is nothing to do.

In a layered application the handlers usually live in another project. Pass the assemblies:

services.AddTooarkService(configuration, typeof(MyHandler).Assembly);

Calling AddTooarkMediator afterwards also works, to add assemblies or configure the options β€” the handler registration does not duplicate:

using Tooark.Mediator.Injections;

services.AddTooarkService(configuration);
services.AddTooarkMediator(typeof(MyHandler).Assembly);

Careful when calling AddTooarkService from inside a library of yours. The assembly looked up is the caller's, so it would be your library's, not the application's. Pass the right assembly along.

Unit of work

Stays out of AddTooarkService, because it depends on the type of your Entity Framework context:

using Tooark.Mediator.EntityFrameworkCore.Injections;

services.AddTooarkMediatorUnitOfWork<MyDbContext>();

OpenID Connect SSO

Also stays out of AddTooarkService: the same provider can back an interactive login (OpenIdConnect handler) or an API (JwtBearer handler), and that choice is yours. Register it explicitly:

using Tooark.Securities.OpenId.Injections;

services.AddTooarkEntraSso(configuration);   // reads OpenId:Entra
services.AddTooarkGoogleSso(configuration);  // reads OpenId:Google

Storage

Also stays out of AddTooarkService, and the provider does not come with the aggregator: install the package of the cloud you use and register it:

using Tooark.Storage.Aws.Injections;

services.AddTooarkStorageAws(configuration); // reads Storage

Secrets

The store is a configuration source, added before the configuration reaches AddTooarkService, and the provider does not come with the aggregator:

using Tooark.Secrets.Aws.Injections;

IConfiguration configuration = new ConfigurationBuilder()
  .AddJsonFile("appsettings.json")
  .AddTooarkSecretsAws() // reads Secrets from appsettings.json
  .Build();

services.AddTooarkService(configuration);

✨ Available features

Tooark.Attributes

Description: This package provides custom attributes for use in .NET projects.

Tooark.AspNetCore

Description: This package gathers the features that depend on ASP.NET Core, such as reading ModelState errors.

Tooark.Dtos

Description: This package contains data transfer objects (DTOs) that ease the communication between application layers.

Tooark.Entities

Description: This package defines the domain entities used by the application.

Tooark.Enums

Description: This package contains the enum definitions used across the application.

Tooark.Exceptions

Description: This package provides custom exceptions for use in .NET projects.

Tooark.Extensions

Description: This package provides extension methods for common .NET types and classes.

Tooark.Notifications

Description: This package offers features to manage notifications and messages in the application.

Tooark.Mediator.Abstractions

Description: This package provides the base contracts of the Mediator pattern for use in .NET projects.

Tooark.Mediator

Description: This package offers a concrete implementation of the Mediator pattern, easing the communication between application components.

Tooark.Mediator.EntityFrameworkCore

Description: This package moves Entity Framework Core persistence into the Mediator pipeline, keeping handlers free of SaveChanges.

Tooark.Observability

Description: This package provides tools for monitoring and observability of the application.

Tooark.Sanitizers

Description: This package sanitizes HTML with an allowlist, URLs with a scheme allowlist and the @tooark/wysiwyg editor content, with the same rules the component applies in the browser.

Tooark.Secrets

Description: This package loads secrets and parameters from vaults (AWS, Google Cloud, Vault and OpenBao) into the configuration and reads secrets at runtime. The providers, Tooark.Secrets.Aws, Tooark.Secrets.Gcp and Tooark.Secrets.Vault, are installed separately.

Tooark.Securities

Description: This package offers security features, including cryptography and authentication.

Tooark.Securities.OpenId

Description: This package configures the native ASP.NET Core OpenID Connect handlers, with SSO presets for Microsoft Entra ID and Google.

Tooark.Storage

Description: This package defines the cloud object storage contract (upload, download, delete, metadata and signed URLs). The providers, Tooark.Storage.Aws and Tooark.Storage.Gcp, are installed separately.

Tooark.Utils

Description: This package contains utilities and helper functions for assorted operations.

Tooark.Validations

Description: This package provides validation features for data and entities.

Tooark.ValueObjects

Description: This package defines the value objects used by the application.


🀝 Contributing

Contributions are welcome! Start with CONTRIBUTING.md β€” it covers the development workflow, the coding and commit conventions and the pull request checklist. Bugs and feature requests go through the issue templates of the Tooark repository.

By participating you agree to the Code of Conduct.


πŸ†˜ Help & Security

  • ❓ Questions, bugs, feature ideas β€” see SUPPORT.md for the right channel
  • πŸ”’ Security vulnerabilities β€” do not open a public issue; follow SECURITY.md

πŸ’– Support

If Tooark helps your projects, consider supporting its development:

Every contribution helps keep the project maintained and improving. Thank you! πŸ™


πŸ“„ License

This project is licensed under the BSD 3-Clause License.

Product Compatible and additional computed target framework versions.
.NET net8.0 is compatible.  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.  net9.0 was computed.  net9.0-android was computed.  net9.0-browser was computed.  net9.0-ios was computed.  net9.0-maccatalyst was computed.  net9.0-macos was computed.  net9.0-tvos was computed.  net9.0-windows was computed.  net10.0 is compatible.  net10.0-android was computed.  net10.0-browser was computed.  net10.0-ios was computed.  net10.0-maccatalyst was computed.  net10.0-macos was computed.  net10.0-tvos was computed.  net10.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
4.7.0 80 9/30/2026
4.6.0 102 9/29/2026
4.5.0 72 9/29/2026
4.4.0 78 9/28/2026
4.3.0 84 9/26/2026
4.2.1 80 9/25/2026
4.2.0 89 9/20/2026
4.1.0 81 9/18/2026
4.0.1 113 8/25/2026
4.0.0 98 8/25/2026
3.3.6 76 9/18/2026
3.3.5 81 8/25/2026
3.3.4 90 8/12/2026
3.3.3 94 7/27/2026
3.3.2 213 6/11/2026
3.3.1 136 6/6/2026
3.3.0 134 4/17/2026
2.3.5 80 9/18/2026
2.3.4 93 8/25/2026
2.3.3 78 7/27/2026
Loading failed