Oip.Data 0.3.1

Suggested Alternatives

Oip.Base

Additional Details

Starting from version 0.4.0, all logic has been moved to the Oip.Base library.

dotnet add package Oip.Data --version 0.3.1
                    
NuGet\Install-Package Oip.Data -Version 0.3.1
                    
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="Oip.Data" Version="0.3.1" />
                    
For projects that support PackageReference, copy this XML node into the project file to reference the package.
<PackageVersion Include="Oip.Data" Version="0.3.1" />
                    
Directory.Packages.props
<PackageReference Include="Oip.Data" />
                    
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 Oip.Data --version 0.3.1
                    
#r "nuget: Oip.Data, 0.3.1"
                    
#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 Oip.Data@0.3.1
                    
#: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=Oip.Data&version=0.3.1
                    
Install as a Cake Addin
#tool nuget:?package=Oip.Data&version=0.3.1
                    
Install as a Cake Tool

OIP Data Library

A library for managing modules in ASP.NET Core applications, providing capabilities for automatic module discovery, registration, and management through a database.

Key Features

Module Discovery

  • Automatic scanning of loaded assemblies to find modules
  • Support for controllers inheriting from BaseModuleController and BaseDbMigrationController
  • Automatic updating of module metadata in the database

Module Management

  • CRUD operations for modules and their instances
  • Module settings management
  • Hierarchical module structure in menus

Security

  • Role-based access model for modules
  • Access right management ("read" and others)
  • Module filtering based on user roles

Installation and Configuration

Database Migration

To apply migrations and register modules, add to the Program.cs method:

var app = builder.Build();

// Applying migrations and registering modules
app.MigrateDatabase();

Repository Usage

Register the repository in the DI container:

builder.Services.AddScoped<ModuleRepository>();

Module Configuration

Automatic Registration

Modules are automatically discovered based on the following criteria:

  • Inherit from BaseModuleController or BaseDbMigrationController
  • Have a [Route] attribute for path definition
  • Module name is derived from the controller name (without the "Controller" suffix)

Manual Management

Use ModuleRepository for manual management:

  • Adding/removing modules
  • Security configuration
  • Settings updates

Usage Example

public class MyModuleController : BaseModuleController
{
    [Route("api/mymodule")]
    public IActionResult Get()
    {
        return Ok("My module is working!");
    }
}

This module will be automatically discovered and registered with the name "MyModule" and path "/mymodule".

Security

The library supports a role-based security model:

  • Each module can have security settings
  • Access rights are defined by user roles
  • Available modules are filtered based on roles

Use ModuleRepository methods to manage access rights for specific modules.

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 was computed.  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 (4)

Showing the top 4 NuGet packages that depend on Oip.Data:

Package Downloads
Oip.Api

Package Description

Oip.Users

Package Description

Oip.Notifications

Package Description

Oip.Discussions

Package Description

GitHub repositories

This package is not used by any popular GitHub repositories.

Version Downloads Last Updated
0.3.1 208 5/23/2026 0.3.1 is deprecated because it is no longer maintained.
0.2.2 178 5/12/2026
0.2.1 183 5/9/2026
0.2.0 192 5/9/2026
0.1.5 168 4/21/2026
0.1.4 159 4/21/2026
0.1.3 179 4/13/2026
0.1.2 170 4/13/2026
0.1.1 116 4/13/2026
0.1.0 120 4/11/2026
0.0.13 152 2/27/2026
0.0.12 132 2/12/2026
0.0.11 148 1/22/2026
0.0.10 142 1/16/2026
0.0.9 134 1/16/2026
0.0.8 220 12/22/2025
0.0.7 268 12/7/2025
0.0.6 158 12/6/2025
0.0.5 160 12/6/2025
0.0.4 167 12/6/2025
Loading failed