This commit is contained in:
2026-05-28 02:31:45 +03:30
parent af9d2fa00f
commit c977339613
45 changed files with 1503 additions and 1647 deletions
View File
+279
View File
@@ -0,0 +1,279 @@
using GraphQL.Types;
using xDataService.Db;
using xDataService.Models;
using xDataService.Providers;
using xTagService.Interfaces;
using xTagService.Interfaces.Entities;
using xTagService.Models.Entities;
using xTagService.Providers.Entities;
using xTagService.Providers.GraphQL;
namespace xTagService.Helpers
{
public static class XTagServiceHelper
{
//
#region EF Repository Descriptor Provider(s) ...
public static XEFRepositoryDescriptor<
XTag,
int,
IXTagKeyGenerator,
XTagKeyGenerator,
IXTagRepositoryEvents,
XTagRepositoryEvents,
XTagGraphType,
IntGraphType,
XTagGraphQuery,
IXTagGraphQLTypeHelper,
XTagGraphQLTypeHelper,
XTagGraphSchema,
IXTagRepository,
XTagEFRepository<TContext>,
TContext
> GetXTagEFRepositoryDescriptor<TContext>()
where TContext : XDbContext
{
//
var result = new XEFRepositoryDescriptor<
XTag,
int,
IXTagKeyGenerator,
XTagKeyGenerator,
IXTagRepositoryEvents,
XTagRepositoryEvents,
XTagGraphType,
IntGraphType,
XTagGraphQuery,
IXTagGraphQLTypeHelper,
XTagGraphQLTypeHelper,
XTagGraphSchema,
IXTagRepository,
XTagEFRepository<TContext>,
TContext
>();
//
return result;
}
public static XEFRepositoryDescriptor<
XTag,
int,
IXTagKeyGenerator,
XTagKeyGenerator,
IXTagRepositoryEvents,
XTagRepositoryEvents,
XTagGraphType,
IntGraphType,
XTagGraphQuery,
IXTagGraphQLTypeHelper,
XTagGraphQLTypeHelper,
XTagGraphSchema,
IXTagRepository,
XTagEFRepository<TContext>,
TContext,
IXTagSeeder,
TSeederImplementation
> GetXTagEFRepositoryDescriptor<TContext, TSeederImplementation>()
where TContext : XDbContext
where TSeederImplementation : XBaseDbSeeder<XTag, int>
{
//
var result = new XEFRepositoryDescriptor<
XTag,
int,
IXTagKeyGenerator,
XTagKeyGenerator,
IXTagRepositoryEvents,
XTagRepositoryEvents,
XTagGraphType,
IntGraphType,
XTagGraphQuery,
IXTagGraphQLTypeHelper,
XTagGraphQLTypeHelper,
XTagGraphSchema,
IXTagRepository,
XTagEFRepository<TContext>,
TContext,
IXTagSeeder,
TSeederImplementation
>();
//
return result;
}
#endregion
//
#region Mongo Repository Descriptor Provider(s) ...
public static XMongoRepositoryDescriptor<
XTag,
int,
IXTagKeyGenerator,
XTagKeyGenerator,
IXTagRepositoryEvents,
XTagRepositoryEvents,
XTagGraphType,
IntGraphType,
XTagGraphQuery,
IXTagGraphQLTypeHelper,
XTagGraphQLTypeHelper,
XTagGraphSchema,
IXTagRepository,
XTagMongoRepository
> GetXTagMongoRepositoryDescriptor()
{
//
var result = new XMongoRepositoryDescriptor<
XTag,
int,
IXTagKeyGenerator,
XTagKeyGenerator,
IXTagRepositoryEvents,
XTagRepositoryEvents,
XTagGraphType,
IntGraphType,
XTagGraphQuery,
IXTagGraphQLTypeHelper,
XTagGraphQLTypeHelper,
XTagGraphSchema,
IXTagRepository,
XTagMongoRepository
>();
//
return result;
}
public static XMongoRepositoryDescriptor<
XTag,
int,
IXTagKeyGenerator,
XTagKeyGenerator,
IXTagRepositoryEvents,
XTagRepositoryEvents,
XTagGraphType,
IntGraphType,
XTagGraphQuery,
IXTagGraphQLTypeHelper,
XTagGraphQLTypeHelper,
XTagGraphSchema,
IXTagRepository,
XTagMongoRepository,
IXTagSeeder,
TSeederImplementation
> GetXTagMongoRepositoryDescriptor<TSeederImplementation>()
where TSeederImplementation : XBaseDbSeeder<XTag, int>
{
//
var result = new XMongoRepositoryDescriptor<
XTag,
int,
IXTagKeyGenerator,
XTagKeyGenerator,
IXTagRepositoryEvents,
XTagRepositoryEvents,
XTagGraphType,
IntGraphType,
XTagGraphQuery,
IXTagGraphQLTypeHelper,
XTagGraphQLTypeHelper,
XTagGraphSchema,
IXTagRepository,
XTagMongoRepository,
IXTagSeeder,
TSeederImplementation
>();
//
return result;
}
#endregion
//
#region InMemory Repository Descriptor Provider(s) ...
public static XInMemoryRepositoryDescriptor<
XTag,
int,
IXTagKeyGenerator,
XTagKeyGenerator,
IXTagRepositoryEvents,
XTagRepositoryEvents,
XTagGraphType,
IntGraphType,
XTagGraphQuery,
IXTagGraphQLTypeHelper,
XTagGraphQLTypeHelper,
XTagGraphSchema,
IXTagRepository,
XTagInMemoryRepository
> GetXTagInMemoryRepositoryDescriptor()
{
//
var result = new XInMemoryRepositoryDescriptor<
XTag,
int,
IXTagKeyGenerator,
XTagKeyGenerator,
IXTagRepositoryEvents,
XTagRepositoryEvents,
XTagGraphType,
IntGraphType,
XTagGraphQuery,
IXTagGraphQLTypeHelper,
XTagGraphQLTypeHelper,
XTagGraphSchema,
IXTagRepository,
XTagInMemoryRepository
>();
//
return result;
}
public static XInMemoryRepositoryDescriptor<
XTag,
int,
IXTagKeyGenerator,
XTagKeyGenerator,
IXTagRepositoryEvents,
XTagRepositoryEvents,
XTagGraphType,
IntGraphType,
XTagGraphQuery,
IXTagGraphQLTypeHelper,
XTagGraphQLTypeHelper,
XTagGraphSchema,
IXTagRepository,
XTagInMemoryRepository,
IXTagSeeder,
TSeederImplementation
> GetXTagInMemoryRepositoryDescriptor<TSeederImplementation>()
where TSeederImplementation : XBaseDbSeeder<XTag, int>
{
//
var result = new XInMemoryRepositoryDescriptor<
XTag,
int,
IXTagKeyGenerator,
XTagKeyGenerator,
IXTagRepositoryEvents,
XTagRepositoryEvents,
XTagGraphType,
IntGraphType,
XTagGraphQuery,
IXTagGraphQLTypeHelper,
XTagGraphQLTypeHelper,
XTagGraphSchema,
IXTagRepository,
XTagInMemoryRepository,
IXTagSeeder,
TSeederImplementation
>();
//
return result;
}
#endregion
}
}