This commit is contained in:
2026-07-26 21:19:40 +03:30
parent 429c07a02d
commit 2144e9f8a7
82 changed files with 2712 additions and 146 deletions
@@ -0,0 +1,27 @@
using System;
using xAiModels.Interfaces.Entities;
using xAiModels.Models.Entities;
using xDataService.Configuration;
using xDataService.Db;
using xDataService.Interfaces;
using xDataService.Providers;
namespace xAiModels.Providers.Entities
{
public class XAiConversationEFRepository<TContext> : XBaseEFRepository<XAiConversation, Guid, TContext>, IXAiConversationRepository
where TContext : XDbContext
{
public XAiConversationEFRepository(
IXUnitOfWorks<TContext> unitOfWorks,
XDataServiceConfiguration configuration,
IXAiConversationKeyGenerator keyGenerator = null,
IXAiConversationRepositoryEvents baseRepositoryEvents = null
) : base(
unitOfWorks,
configuration,
keyGenerator,
baseRepositoryEvents
)
{ }
}
}
@@ -0,0 +1,16 @@
using System;
using Microsoft.Extensions.Logging;
using xAiModels.Interfaces.Entities;
using xAiModels.Models.Entities;
using xPushService.Base;
namespace xAiModels.Providers.Entities
{
public class XAiConversationEntityHub : XBaseEntityHub<XAiConversation, Guid>, IXAiConversationEntityHub
{
public XAiConversationEntityHub(
ILogger<XAiConversationEntityHub> logger
) : base(logger)
{ }
}
}
@@ -0,0 +1,22 @@
using System;
using xAiModels.Interfaces.Entities;
using xAiModels.Models.Entities;
using xDataService.Configuration;
using xDataService.Providers;
namespace xAiModels.Providers.Entities
{
public class XAiConversationInMemoryRepository : XBaseInMemoryRepository<XAiConversation, Guid>, IXAiConversationRepository
{
public XAiConversationInMemoryRepository(
XDataServiceConfiguration configuration,
IXAiConversationKeyGenerator keyGenerator = null,
IXAiConversationRepositoryEvents baseRepositoryEvents = null
) : base(
configuration,
keyGenerator,
baseRepositoryEvents
)
{ }
}
}
@@ -0,0 +1,9 @@
using xAiModels.Interfaces.Entities;
using xAiModels.Models.Entities;
using xDataService.Providers;
namespace xAiModels.Providers.Entities
{
public class XAiConversationKeyGenerator : XGuidKeyGenerator<XAiConversation>, IXAiConversationKeyGenerator
{ }
}
@@ -0,0 +1,26 @@
using System;
using xAiModels.Interfaces.Entities;
using xAiModels.Models.Entities;
using xDataService.Configuration;
using xDataService.Providers;
namespace xAiModels.Providers.Entities
{
public class XAiConversationMongoRepository : XBaseMongoRepository<XAiConversation, Guid>, IXAiConversationRepository
{
public XAiConversationMongoRepository(
XDataBaseConfiguration dbConfiguration,
XDataServiceConfiguration configuration,
string collectionName = null,
IXAiConversationKeyGenerator keyGenerator = null,
IXAiConversationRepositoryEvents baseRepositoryEvents = null
) : base(
dbConfiguration,
configuration,
collectionName,
keyGenerator,
baseRepositoryEvents
)
{ }
}
}
@@ -0,0 +1,9 @@
using xAiModels.Interfaces.Entities;
using xAiModels.Models.Entities;
using xDataService.Providers;
namespace xAiModels.Providers.Entities
{
public class XAiConversationRepositoryEvents : XBaseRepositoryEvents<XAiConversation>, IXAiConversationRepositoryEvents
{ }
}
@@ -0,0 +1,26 @@
using System;
using Microsoft.AspNetCore.SignalR;
using xAiModels.Interfaces.Entities;
using xAiModels.Models.Entities;
using xDataService.Configuration;
using xIdentityService.Interfaces;
using xPushService.Base;
namespace xAiModels.Providers.Entities
{
public class XAiConversationRepositoryProvider : XBaseEntityProvider<XAiConversation, Guid, XAiConversationEntityHub>, IXAiConversationRepositoryProvider
{
public XAiConversationRepositoryProvider(
IHubContext<XAiConversationEntityHub> hub,
IXAiConversationRepository repository,
XDataServiceConfiguration dataConfiguration,
IXIdentityProvider identityProvider = null
) : base(
hub,
repository,
dataConfiguration,
identityProvider
)
{ }
}
}
@@ -0,0 +1,24 @@
using System;
using xAiModels.Interfaces.Entities;
using xAiModels.Models.Entities;
using xDataService.Configuration;
using xDataService.Providers;
namespace xAiModels.Providers.Entities
{
public abstract class XAiConversationSeederBase : XBaseDbSeeder<XAiConversation, Guid>, IXAiConversationSeeder
{
protected XAiConversationSeederBase(
string entity,
string database,
IXAiConversationRepository repository,
XDataServiceConfiguration dataServiceConfiguration
) : base(
entity,
database,
repository,
dataServiceConfiguration
)
{ }
}
}
@@ -0,0 +1,27 @@
using System;
using xAiModels.Interfaces.Entities;
using xAiModels.Models.Entities;
using xDataService.Configuration;
using xDataService.Db;
using xDataService.Interfaces;
using xDataService.Providers;
namespace xAiModels.Providers.Entities
{
public class XAiMessageEFRepository<TContext> : XBaseEFRepository<XAiMessage, Guid, TContext>, IXAiMessageRepository
where TContext : XDbContext
{
public XAiMessageEFRepository(
IXUnitOfWorks<TContext> unitOfWorks,
XDataServiceConfiguration configuration,
IXAiMessageKeyGenerator keyGenerator = null,
IXAiMessageRepositoryEvents baseRepositoryEvents = null
) : base(
unitOfWorks,
configuration,
keyGenerator,
baseRepositoryEvents
)
{ }
}
}
+16
View File
@@ -0,0 +1,16 @@
using System;
using Microsoft.Extensions.Logging;
using xAiModels.Interfaces.Entities;
using xAiModels.Models.Entities;
using xPushService.Base;
namespace xAiModels.Providers.Entities
{
public class XAiMessageEntityHub : XBaseEntityHub<XAiMessage, Guid>, IXAiMessageEntityHub
{
public XAiMessageEntityHub(
ILogger<XAiMessageEntityHub> logger
) : base(logger)
{ }
}
}
@@ -0,0 +1,22 @@
using System;
using xAiModels.Interfaces.Entities;
using xAiModels.Models.Entities;
using xDataService.Configuration;
using xDataService.Providers;
namespace xAiModels.Providers.Entities
{
public class XAiMessageInMemoryRepository : XBaseInMemoryRepository<XAiMessage, Guid>, IXAiMessageRepository
{
public XAiMessageInMemoryRepository(
XDataServiceConfiguration configuration,
IXAiMessageKeyGenerator keyGenerator = null,
IXAiMessageRepositoryEvents baseRepositoryEvents = null
) : base(
configuration,
keyGenerator,
baseRepositoryEvents
)
{ }
}
}
@@ -0,0 +1,9 @@
using xAiModels.Interfaces.Entities;
using xAiModels.Models.Entities;
using xDataService.Providers;
namespace xAiModels.Providers.Entities
{
public class XAiMessageKeyGenerator : XGuidKeyGenerator<XAiMessage>, IXAiMessageKeyGenerator
{ }
}
@@ -0,0 +1,26 @@
using System;
using xAiModels.Interfaces.Entities;
using xAiModels.Models.Entities;
using xDataService.Configuration;
using xDataService.Providers;
namespace xAiModels.Providers.Entities
{
public class XAiMessageMongoRepository : XBaseMongoRepository<XAiMessage, Guid>, IXAiMessageRepository
{
public XAiMessageMongoRepository(
XDataBaseConfiguration dbConfiguration,
XDataServiceConfiguration configuration,
string collectionName = null,
IXAiMessageKeyGenerator keyGenerator = null,
IXAiMessageRepositoryEvents baseRepositoryEvents = null
) : base(
dbConfiguration,
configuration,
collectionName,
keyGenerator,
baseRepositoryEvents
)
{ }
}
}
@@ -0,0 +1,9 @@
using xAiModels.Interfaces.Entities;
using xAiModels.Models.Entities;
using xDataService.Providers;
namespace xAiModels.Providers.Entities
{
public class XAiMessageRepositoryEvents : XBaseRepositoryEvents<XAiMessage>, IXAiMessageRepositoryEvents
{ }
}
@@ -0,0 +1,26 @@
using System;
using Microsoft.AspNetCore.SignalR;
using xAiModels.Interfaces.Entities;
using xAiModels.Models.Entities;
using xDataService.Configuration;
using xIdentityService.Interfaces;
using xPushService.Base;
namespace xAiModels.Providers.Entities
{
public class XAiMessageRepositoryProvider : XBaseEntityProvider<XAiMessage, Guid, XAiMessageEntityHub>, IXAiMessageRepositoryProvider
{
public XAiMessageRepositoryProvider(
IHubContext<XAiMessageEntityHub> hub,
IXAiMessageRepository repository,
XDataServiceConfiguration dataConfiguration,
IXIdentityProvider identityProvider = null
) : base(
hub,
repository,
dataConfiguration,
identityProvider
)
{ }
}
}
@@ -0,0 +1,24 @@
using System;
using xAiModels.Interfaces.Entities;
using xAiModels.Models.Entities;
using xDataService.Configuration;
using xDataService.Providers;
namespace xAiModels.Providers.Entities
{
public abstract class XAiMessageSeederBase : XBaseDbSeeder<XAiMessage, Guid>, IXAiMessageSeeder
{
protected XAiMessageSeederBase(
string entity,
string database,
IXAiMessageRepository repository,
XDataServiceConfiguration dataServiceConfiguration
) : base(
entity,
database,
repository,
dataServiceConfiguration
)
{ }
}
}
@@ -0,0 +1,27 @@
using System;
using xAiModels.Interfaces.Entities;
using xAiModels.Models.Entities;
using xDataService.Configuration;
using xDataService.Db;
using xDataService.Interfaces;
using xDataService.Providers;
namespace xAiModels.Providers.Entities
{
public class XAiProjectEFRepository<TContext> : XBaseEFRepository<XAiProject, Guid, TContext>, IXAiProjectRepository
where TContext : XDbContext
{
public XAiProjectEFRepository(
IXUnitOfWorks<TContext> unitOfWorks,
XDataServiceConfiguration configuration,
IXAiProjectKeyGenerator keyGenerator = null,
IXAiProjectRepositoryEvents baseRepositoryEvents = null
) : base(
unitOfWorks,
configuration,
keyGenerator,
baseRepositoryEvents
)
{ }
}
}
+16
View File
@@ -0,0 +1,16 @@
using System;
using Microsoft.Extensions.Logging;
using xAiModels.Interfaces.Entities;
using xAiModels.Models.Entities;
using xPushService.Base;
namespace xAiModels.Providers.Entities
{
public class XAiProjectEntityHub : XBaseEntityHub<XAiProject, Guid>, IXAiProjectEntityHub
{
public XAiProjectEntityHub(
ILogger<XAiProjectEntityHub> logger
) : base(logger)
{ }
}
}
@@ -0,0 +1,22 @@
using System;
using xAiModels.Interfaces.Entities;
using xAiModels.Models.Entities;
using xDataService.Configuration;
using xDataService.Providers;
namespace xAiModels.Providers.Entities
{
public class XAiProjectInMemoryRepository : XBaseInMemoryRepository<XAiProject, Guid>, IXAiProjectRepository
{
public XAiProjectInMemoryRepository(
XDataServiceConfiguration configuration,
IXAiProjectKeyGenerator keyGenerator = null,
IXAiProjectRepositoryEvents baseRepositoryEvents = null
) : base(
configuration,
keyGenerator,
baseRepositoryEvents
)
{ }
}
}
@@ -0,0 +1,9 @@
using xAiModels.Interfaces.Entities;
using xAiModels.Models.Entities;
using xDataService.Providers;
namespace xAiModels.Providers.Entities
{
public class XAiProjectKeyGenerator : XGuidKeyGenerator<XAiProject>, IXAiProjectKeyGenerator
{ }
}
@@ -0,0 +1,26 @@
using System;
using xAiModels.Interfaces.Entities;
using xAiModels.Models.Entities;
using xDataService.Configuration;
using xDataService.Providers;
namespace xAiModels.Providers.Entities
{
public class XAiProjectMongoRepository : XBaseMongoRepository<XAiProject, Guid>, IXAiProjectRepository
{
public XAiProjectMongoRepository(
XDataBaseConfiguration dbConfiguration,
XDataServiceConfiguration configuration,
string collectionName = null,
IXAiProjectKeyGenerator keyGenerator = null,
IXAiProjectRepositoryEvents baseRepositoryEvents = null
) : base(
dbConfiguration,
configuration,
collectionName,
keyGenerator,
baseRepositoryEvents
)
{ }
}
}
@@ -0,0 +1,9 @@
using xAiModels.Interfaces.Entities;
using xAiModels.Models.Entities;
using xDataService.Providers;
namespace xAiModels.Providers.Entities
{
public class XAiProjectRepositoryEvents : XBaseRepositoryEvents<XAiProject>, IXAiProjectRepositoryEvents
{ }
}
@@ -0,0 +1,26 @@
using System;
using Microsoft.AspNetCore.SignalR;
using xAiModels.Interfaces.Entities;
using xAiModels.Models.Entities;
using xDataService.Configuration;
using xIdentityService.Interfaces;
using xPushService.Base;
namespace xAiModels.Providers.Entities
{
public class XAiProjectRepositoryProvider : XBaseEntityProvider<XAiProject, Guid, XAiProjectEntityHub>, IXAiProjectRepositoryProvider
{
public XAiProjectRepositoryProvider(
IHubContext<XAiProjectEntityHub> hub,
IXAiProjectRepository repository,
XDataServiceConfiguration dataConfiguration,
IXIdentityProvider identityProvider = null
) : base(
hub,
repository,
dataConfiguration,
identityProvider
)
{ }
}
}
@@ -0,0 +1,24 @@
using System;
using xAiModels.Interfaces.Entities;
using xAiModels.Models.Entities;
using xDataService.Configuration;
using xDataService.Providers;
namespace xAiModels.Providers.Entities
{
public abstract class XAiProjectSeederBase : XBaseDbSeeder<XAiProject, Guid>, IXAiProjectSeeder
{
protected XAiProjectSeederBase(
string entity,
string database,
IXAiProjectRepository repository,
XDataServiceConfiguration dataServiceConfiguration
) : base(
entity,
database,
repository,
dataServiceConfiguration
)
{ }
}
}