using GraphQL.Types;
using xDataService.GraphQL;
using xDataService.Interfaces;
using xModels.Base;
namespace xDataService.Models
{
///
/// a Global non Generic Repository Descriptor ...
///
public class XRepositoryDescriptor { }
///
/// a Repository Descriptor ...
///
///
///
public class XRepositoryDescriptor : XRepositoryDescriptor
where TEntity : XBaseEntity
{
///
/// Entity Type GraphQL Schema ...
///
///
public Schema GraphSchema { get; set; } = null;
///
/// Entity GraphQL Type Helper ...
///
///
public IXBaseGraphQLTypeHelper GraphTypeHelper { get; set; } = null;
///
/// Entity GrapQL Query ...
///
///
public IXBaseGraphQLQuery GraphQuery { get; set; } = null;
///
/// Entity GraphQL Type ...
///
///
public XBaseGraphObjectType GraphType { get; set; } = null;
///
/// Repository Event Provider ...
///
///
public IXBaseRepositoryEvents Events { get; set; } = null;
///
/// Repository Key Generator for Entity ...
///
///
public IXKeyGenerator KeyGenerator { get; set; } = null;
///
/// Repository Data Access Design Pattern ...
///
///
public IXBaseRepository Repository { get; set; }
}
}