- Add nullable annotations across discovery interfaces, dynamic query models, and filter/aggregate types to eliminate CS8600-series warnings - Replace unsafe cast in DynamicQueryHandlerBase with pattern match - Add CI workflow (build --warnaserror + test on JP branch) - Add weekly security vulnerability scan workflow - Extend .gitignore with secret/credential patterns (.env, *.key, secrets/, credentials.json) Co-Authored-By: Svrnty Inc. <eng@svrnty.com>
29 lines
841 B
C#
29 lines
841 B
C#
using System;
|
|
using Pluralize.NET;
|
|
using Svrnty.CQRS.Abstractions.Discovery;
|
|
|
|
namespace Svrnty.CQRS.DynamicQuery.Discover;
|
|
|
|
public class DynamicQueryMeta(Type queryType, Type serviceType, Type queryResultType)
|
|
: QueryMeta(queryType, serviceType, queryResultType)
|
|
{
|
|
public Type SourceType => QueryType.GetGenericArguments()[0];
|
|
public Type DestinationType => QueryType.GetGenericArguments()[1];
|
|
public override string Category => "DynamicQuery";
|
|
public override string Name
|
|
{
|
|
get
|
|
{
|
|
if (OverridableName != null)
|
|
return OverridableName;
|
|
|
|
var pluralizer = new Pluralizer();
|
|
return pluralizer.Pluralize(DestinationType.Name);
|
|
}
|
|
}
|
|
|
|
public Type? ParamsType { get; internal set; }
|
|
public string? OverridableName { get; internal set; }
|
|
}
|
|
|