This commit is contained in:
2026-05-08 04:30:04 +03:30
parent afe5c74d09
commit 34afd95640
20 changed files with 1022 additions and 713 deletions
+63
View File
@@ -0,0 +1,63 @@
using GraphQL.Types;
using xDataService.GraphQL;
using xDataService.Interfaces;
using xModels.Base;
namespace xDataService.Models
{
/// <summary>
/// a Global non Generic Repository Descriptor ...
/// </summary>
public class XRepositoryDescriptor { }
/// <summary>
/// a Repository Descriptor ...
/// </summary>
/// <typeparam name="TEntity"></typeparam>
/// <typeparam name="TKey"></typeparam>
public class XRepositoryDescriptor<TEntity, TKey> : XRepositoryDescriptor
where TEntity : XBaseEntity<TKey>
{
/// <summary>
/// Entity Type GraphQL Schema ...
/// </summary>
/// <value></value>
public Schema GraphSchema { get; set; } = null;
/// <summary>
/// Entity GraphQL Type Helper ...
/// </summary>
/// <value></value>
public IXBaseGraphQLTypeHelper GraphTypeHelper { get; set; } = null;
/// <summary>
/// Entity GrapQL Query ...
/// </summary>
/// <value></value>
public IXBaseGraphQLQuery<TEntity, TKey> GraphQuery { get; set; } = null;
/// <summary>
/// Entity GraphQL Type ...
/// </summary>
/// <value></value>
public XBaseGraphObjectType<TEntity, TKey> GraphType { get; set; } = null;
/// <summary>
/// Repository Event Provider ...
/// </summary>
/// <value></value>
public IXBaseRepositoryEvents<TEntity> Events { get; set; } = null;
/// <summary>
/// Repository Key Generator for Entity ...
/// </summary>
/// <value></value>
public IXKeyGenerator<TEntity, TKey> KeyGenerator { get; set; } = null;
/// <summary>
/// Repository Data Access Design Pattern ...
/// </summary>
/// <value></value>
public IXBaseRepository<TEntity, TKey> Repository { get; set; }
}
}