63 lines
1.9 KiB
C#
63 lines
1.9 KiB
C#
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; }
|
|
}
|
|
} |