A taste¶
[DependsOn(typeof(CoworkeeODataModule))]
public sealed class MyAppCatalogModule : CoworkeeModule, IWebModule
{
public override void ConfigureServices(ModuleServiceContext context)
{
context.Services.AddMessagingFromAssembly(typeof(MyAppCatalogModule).Assembly);
context.Services.AddSingleton<IModelContributor, CatalogModelContributor>();
context.Services.AddSingleton<IPermissionDefinitionContributor, CatalogPermissionDefinitions>();
context.Services.AddODataEntity<Product>("Products", CatalogPermissions.Products.View);
}
public void ConfigureApplication(WebApplication app) => app.MapProductEndpoints();
}
var app = builder.AddCoworkeeApp("myapp", options => options.UseKeycloak());
app.AddMigrations<Projects.MyApp_Migrations>();
app.AddAuthServer<Projects.MyApp_Auth>();
app.AddApi<Projects.MyApp_Api>();
app.AddWeb<Projects.MyApp_Web>();
Built on it¶
The demo app and Sharemee run on these packages; facets, response filters and code generation come from Nextended.







