This commit is contained in:
2026-05-28 07:32:46 +03:30
parent e079660afe
commit a4c0f9a181
46 changed files with 1222 additions and 4023 deletions
View File
+280
View File
@@ -0,0 +1,280 @@
using System;
using GraphQL.Types;
using xDataService.Db;
using xDataService.Models;
using xDataService.Providers;
using xFileService.Interfaces;
using xFileService.Interfaces.Entities;
using xFileService.Models.Entities;
using xFileService.Providers.Entities;
using xFileService.Providers.GraphQL;
namespace xFileService.Helpers
{
public static class XFileServiceHelper
{
//
#region EF Repository Descriptor Provider(s) ...
public static XEFRepositoryDescriptor<
XFile,
Guid,
IXFileKeyGenerator,
XFileKeyGenerator,
IXFileRepositoryEvents,
XFileRepositoryEvents,
XFileGraphType,
GuidGraphType,
XFileGraphQuery,
IXFileGraphQLTypeHelper,
XFileGraphQLTypeHelper,
XFileGraphSchema,
IXFileRepository,
XFileEFRepository<TContext>,
TContext
> GetXFileEFRepositoryDescriptor<TContext>()
where TContext : XDbContext
{
//
var result = new XEFRepositoryDescriptor<
XFile,
Guid,
IXFileKeyGenerator,
XFileKeyGenerator,
IXFileRepositoryEvents,
XFileRepositoryEvents,
XFileGraphType,
GuidGraphType,
XFileGraphQuery,
IXFileGraphQLTypeHelper,
XFileGraphQLTypeHelper,
XFileGraphSchema,
IXFileRepository,
XFileEFRepository<TContext>,
TContext
>();
//
return result;
}
public static XEFRepositoryDescriptor<
XFile,
Guid,
IXFileKeyGenerator,
XFileKeyGenerator,
IXFileRepositoryEvents,
XFileRepositoryEvents,
XFileGraphType,
GuidGraphType,
XFileGraphQuery,
IXFileGraphQLTypeHelper,
XFileGraphQLTypeHelper,
XFileGraphSchema,
IXFileRepository,
XFileEFRepository<TContext>,
TContext,
IXFileSeeder,
TSeederImplementation
> GetXFileEFRepositoryDescriptor<TContext, TSeederImplementation>()
where TContext : XDbContext
where TSeederImplementation : XBaseDbSeeder<XFile, Guid>
{
//
var result = new XEFRepositoryDescriptor<
XFile,
Guid,
IXFileKeyGenerator,
XFileKeyGenerator,
IXFileRepositoryEvents,
XFileRepositoryEvents,
XFileGraphType,
GuidGraphType,
XFileGraphQuery,
IXFileGraphQLTypeHelper,
XFileGraphQLTypeHelper,
XFileGraphSchema,
IXFileRepository,
XFileEFRepository<TContext>,
TContext,
IXFileSeeder,
TSeederImplementation
>();
//
return result;
}
#endregion
//
#region Mongo Repository Descriptor Provider(s) ...
public static XMongoRepositoryDescriptor<
XFile,
Guid,
IXFileKeyGenerator,
XFileKeyGenerator,
IXFileRepositoryEvents,
XFileRepositoryEvents,
XFileGraphType,
GuidGraphType,
XFileGraphQuery,
IXFileGraphQLTypeHelper,
XFileGraphQLTypeHelper,
XFileGraphSchema,
IXFileRepository,
XFileMongoRepository
> GetXFileMongoRepositoryDescriptor()
{
//
var result = new XMongoRepositoryDescriptor<
XFile,
Guid,
IXFileKeyGenerator,
XFileKeyGenerator,
IXFileRepositoryEvents,
XFileRepositoryEvents,
XFileGraphType,
GuidGraphType,
XFileGraphQuery,
IXFileGraphQLTypeHelper,
XFileGraphQLTypeHelper,
XFileGraphSchema,
IXFileRepository,
XFileMongoRepository
>();
//
return result;
}
public static XMongoRepositoryDescriptor<
XFile,
Guid,
IXFileKeyGenerator,
XFileKeyGenerator,
IXFileRepositoryEvents,
XFileRepositoryEvents,
XFileGraphType,
GuidGraphType,
XFileGraphQuery,
IXFileGraphQLTypeHelper,
XFileGraphQLTypeHelper,
XFileGraphSchema,
IXFileRepository,
XFileMongoRepository,
IXFileSeeder,
TSeederImplementation
> GetXFileMongoRepositoryDescriptor<TSeederImplementation>()
where TSeederImplementation : XBaseDbSeeder<XFile, Guid>
{
//
var result = new XMongoRepositoryDescriptor<
XFile,
Guid,
IXFileKeyGenerator,
XFileKeyGenerator,
IXFileRepositoryEvents,
XFileRepositoryEvents,
XFileGraphType,
GuidGraphType,
XFileGraphQuery,
IXFileGraphQLTypeHelper,
XFileGraphQLTypeHelper,
XFileGraphSchema,
IXFileRepository,
XFileMongoRepository,
IXFileSeeder,
TSeederImplementation
>();
//
return result;
}
#endregion
//
#region InMemory Repository Descriptor Provider(s) ...
public static XInMemoryRepositoryDescriptor<
XFile,
Guid,
IXFileKeyGenerator,
XFileKeyGenerator,
IXFileRepositoryEvents,
XFileRepositoryEvents,
XFileGraphType,
GuidGraphType,
XFileGraphQuery,
IXFileGraphQLTypeHelper,
XFileGraphQLTypeHelper,
XFileGraphSchema,
IXFileRepository,
XFileInMemoryRepository
> GetXFileInMemoryRepositoryDescriptor()
{
//
var result = new XInMemoryRepositoryDescriptor<
XFile,
Guid,
IXFileKeyGenerator,
XFileKeyGenerator,
IXFileRepositoryEvents,
XFileRepositoryEvents,
XFileGraphType,
GuidGraphType,
XFileGraphQuery,
IXFileGraphQLTypeHelper,
XFileGraphQLTypeHelper,
XFileGraphSchema,
IXFileRepository,
XFileInMemoryRepository
>();
//
return result;
}
public static XInMemoryRepositoryDescriptor<
XFile,
Guid,
IXFileKeyGenerator,
XFileKeyGenerator,
IXFileRepositoryEvents,
XFileRepositoryEvents,
XFileGraphType,
GuidGraphType,
XFileGraphQuery,
IXFileGraphQLTypeHelper,
XFileGraphQLTypeHelper,
XFileGraphSchema,
IXFileRepository,
XFileInMemoryRepository,
IXFileSeeder,
TSeederImplementation
> GetXFileInMemoryRepositoryDescriptor<TSeederImplementation>()
where TSeederImplementation : XBaseDbSeeder<XFile, Guid>
{
//
var result = new XInMemoryRepositoryDescriptor<
XFile,
Guid,
IXFileKeyGenerator,
XFileKeyGenerator,
IXFileRepositoryEvents,
XFileRepositoryEvents,
XFileGraphType,
GuidGraphType,
XFileGraphQuery,
IXFileGraphQLTypeHelper,
XFileGraphQLTypeHelper,
XFileGraphSchema,
IXFileRepository,
XFileInMemoryRepository,
IXFileSeeder,
TSeederImplementation
>();
//
return result;
}
#endregion
}
}