last ...
This commit is contained in:
@@ -9,7 +9,7 @@ using xDataService.Interfaces;
|
||||
using xServices.Interfaces;
|
||||
using xServices.Models.Entities;
|
||||
|
||||
namespace xServices.Providers
|
||||
namespace xServices.Controllers
|
||||
{
|
||||
public partial class XTestRepositoryController : XBaseRepositoryController<XTest, Guid>, IXBaseRepositoryController<XTest, Guid>
|
||||
{
|
||||
@@ -10,7 +10,7 @@ using xServices.Interfaces;
|
||||
using xServices.Models.Dtos;
|
||||
using xServices.Models.Entities;
|
||||
|
||||
namespace xServices.Providers
|
||||
namespace xServices.Controllers
|
||||
{
|
||||
public class XTestServiceController : XBaseServiceController<XTest, XTestDto, Guid>, IXBaseServiceController<XTest, XTestDto, Guid>
|
||||
{
|
||||
@@ -6,7 +6,10 @@ using Microsoft.Extensions.DependencyInjection;
|
||||
using xCommons.Extensions;
|
||||
using xDataService.DI;
|
||||
using xDataService.Models;
|
||||
using xIdentityService.DI;
|
||||
using xMessageService.DI;
|
||||
using xPushService.DI;
|
||||
using xPushService.Helpers;
|
||||
using xServices.Configurations;
|
||||
using xServices.Constants;
|
||||
using xServices.Interfaces;
|
||||
@@ -163,6 +166,19 @@ namespace xServices.DI
|
||||
});
|
||||
}
|
||||
#endregion
|
||||
|
||||
//
|
||||
#region Use Hubs ...
|
||||
//
|
||||
var pushHelper = new XPushServiceHelper();
|
||||
|
||||
//
|
||||
pushHelper.AddHub<XTestDtoHub>("testDto");
|
||||
pushHelper.AddHub<XTestEntityHub>("testEntity");
|
||||
|
||||
//
|
||||
app.UseXPushService(pushHelper);
|
||||
#endregion
|
||||
}
|
||||
|
||||
//
|
||||
@@ -180,7 +196,7 @@ namespace xServices.DI
|
||||
IConfiguration configuration,
|
||||
XServicesConfiguration config = null,
|
||||
IEnumerable<XDatabaseDescriptor> databases = null,
|
||||
ServiceLifetime lifeTime = ServiceLifetime.Transient
|
||||
ServiceLifetime lifeTime = ServiceLifetime.Scoped
|
||||
)
|
||||
{
|
||||
//
|
||||
@@ -198,6 +214,14 @@ namespace xServices.DI
|
||||
// Message Service ...
|
||||
services.AddXMessageService(config: configuration);
|
||||
|
||||
//
|
||||
#region Register Identity Service ...
|
||||
// services.AddXIdentityService(
|
||||
// configuration: configuration,
|
||||
// lifeTime: ServiceLifetime.Scoped
|
||||
// );
|
||||
#endregion
|
||||
|
||||
//
|
||||
#region Register Data Service ...
|
||||
//
|
||||
@@ -222,6 +246,24 @@ namespace xServices.DI
|
||||
// Register Repository Services ...
|
||||
services.AddScoped<IXTestRepositoryService, XTestRepositoryService>();
|
||||
#endregion
|
||||
|
||||
//
|
||||
#region Register Push Service ...
|
||||
//
|
||||
// Push Service ...
|
||||
services.AddXPushService(
|
||||
config: configuration,
|
||||
lifeTime: ServiceLifetime.Scoped
|
||||
);
|
||||
|
||||
//
|
||||
// Register Provider Services ...
|
||||
// since Hubs required Identity Provider, you Have to Register IdentityService as Requirements ...
|
||||
// a Provider Service, Provides Repository (Entity) or Service (Dto) based
|
||||
// Data Manipulation Actions by Supporting Hub Contexts Events ...
|
||||
services.AddScoped<IXTestServiceProvider, XTestServiceProvider>();
|
||||
services.AddScoped<IXTestRepositoryProvider, XTestRepositoryProvider>();
|
||||
#endregion
|
||||
}
|
||||
#endregion
|
||||
}
|
||||
|
||||
@@ -5,6 +5,7 @@ using xDataService.Interfaces;
|
||||
using xDataService.Models;
|
||||
using xServices.Interfaces;
|
||||
using xServices.Models.Entities;
|
||||
using xServices.Models.GraphQL;
|
||||
using xServices.Providers;
|
||||
|
||||
namespace xServices.Databases
|
||||
|
||||
@@ -0,0 +1,10 @@
|
||||
using System;
|
||||
using xPushService.Interfaces;
|
||||
using xServices.Models.Dtos;
|
||||
using xServices.Models.Entities;
|
||||
|
||||
namespace xServices.Interfaces
|
||||
{
|
||||
public interface IXTestDtoHub : IXBaseDtoHub<XTest, XTestDto, Guid>
|
||||
{ }
|
||||
}
|
||||
@@ -0,0 +1,9 @@
|
||||
using System;
|
||||
using xPushService.Interfaces;
|
||||
using xServices.Models.Entities;
|
||||
|
||||
namespace xServices.Interfaces
|
||||
{
|
||||
public interface IXTestEntityHub : IXBaseEntityHub<XTest, Guid>
|
||||
{ }
|
||||
}
|
||||
@@ -2,7 +2,7 @@ using System;
|
||||
using GraphQL.Types;
|
||||
using xDataService.Interfaces;
|
||||
using xServices.Models.Entities;
|
||||
using xServices.Providers;
|
||||
using xServices.Models.GraphQL;
|
||||
|
||||
namespace xServices.Interfaces
|
||||
{
|
||||
|
||||
@@ -0,0 +1,10 @@
|
||||
using System;
|
||||
using xPushService.Interfaces;
|
||||
using xServices.Models.Entities;
|
||||
using xServices.Providers;
|
||||
|
||||
namespace xServices.Interfaces
|
||||
{
|
||||
public interface IXTestRepositoryProvider : IXBaseEntityProviderr<XTest, Guid, XTestEntityHub>
|
||||
{ }
|
||||
}
|
||||
@@ -0,0 +1,11 @@
|
||||
using System;
|
||||
using xPushService.Interfaces;
|
||||
using xServices.Models.Dtos;
|
||||
using xServices.Models.Entities;
|
||||
using xServices.Providers;
|
||||
|
||||
namespace xServices.Interfaces
|
||||
{
|
||||
public interface IXTestServiceProvider : IXBaseDtoProvider<XTest, XTestDto, Guid, XTestDtoHub>
|
||||
{ }
|
||||
}
|
||||
@@ -2,7 +2,7 @@ using System;
|
||||
using xDataService.GraphQL;
|
||||
using xServices.Models.Entities;
|
||||
|
||||
namespace xServices.Providers
|
||||
namespace xServices.Models.GraphQL
|
||||
{
|
||||
public class XTestGraphType : XBaseGraphObjectType<XTest, Guid>
|
||||
{
|
||||
@@ -0,0 +1,15 @@
|
||||
using System;
|
||||
using Microsoft.Extensions.Logging;
|
||||
using xPushService.Base;
|
||||
using xServices.Interfaces;
|
||||
using xServices.Models.Dtos;
|
||||
using xServices.Models.Entities;
|
||||
|
||||
namespace xServices.Providers
|
||||
{
|
||||
public class XTestDtoHub : XBaseDtoHub<XTest, XTestDto, Guid>, IXTestDtoHub
|
||||
{
|
||||
public XTestDtoHub(ILogger<XTestDtoHub> logger) : base(logger)
|
||||
{ }
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,14 @@
|
||||
using System;
|
||||
using Microsoft.Extensions.Logging;
|
||||
using xPushService.Base;
|
||||
using xServices.Interfaces;
|
||||
using xServices.Models.Entities;
|
||||
|
||||
namespace xServices.Providers
|
||||
{
|
||||
public class XTestEntityHub : XBaseEntityHub<XTest, Guid>, IXTestEntityHub
|
||||
{
|
||||
public XTestEntityHub(ILogger<XBaseHub> logger) : base(logger)
|
||||
{ }
|
||||
}
|
||||
}
|
||||
@@ -4,6 +4,7 @@ using xDataService.Configuration;
|
||||
using xDataService.GraphQL;
|
||||
using xServices.Interfaces;
|
||||
using xServices.Models.Entities;
|
||||
using xServices.Models.GraphQL;
|
||||
|
||||
namespace xServices.Providers
|
||||
{
|
||||
|
||||
@@ -0,0 +1,26 @@
|
||||
using System;
|
||||
using Microsoft.AspNetCore.SignalR;
|
||||
using xDataService.Configuration;
|
||||
using xIdentityService.Interfaces;
|
||||
using xPushService.Base;
|
||||
using xServices.Interfaces;
|
||||
using xServices.Models.Entities;
|
||||
|
||||
namespace xServices.Providers
|
||||
{
|
||||
public class XTestRepositoryProvider : XBaseEntityProvider<XTest, Guid, XTestEntityHub>, IXTestRepositoryProvider
|
||||
{
|
||||
public XTestRepositoryProvider(
|
||||
IXTestRepository repository,
|
||||
IHubContext<XTestEntityHub> hub,
|
||||
XDataServiceConfiguration dataConfiguration,
|
||||
IXIdentityProvider identityProvider = null
|
||||
) : base(
|
||||
hub: hub,
|
||||
repository: repository,
|
||||
identityProvider: identityProvider,
|
||||
dataConfiguration: dataConfiguration
|
||||
)
|
||||
{ }
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,27 @@
|
||||
using System;
|
||||
using Microsoft.AspNetCore.SignalR;
|
||||
using xDataService.Configuration;
|
||||
using xIdentityService.Interfaces;
|
||||
using xPushService.Base;
|
||||
using xServices.Interfaces;
|
||||
using xServices.Models.Dtos;
|
||||
using xServices.Models.Entities;
|
||||
|
||||
namespace xServices.Providers
|
||||
{
|
||||
public class XTestServiceProvider : XBaseDtoProvider<XTest, XTestDto, Guid, XTestDtoHub>, IXTestServiceProvider
|
||||
{
|
||||
public XTestServiceProvider(
|
||||
IHubContext<XTestDtoHub> hub,
|
||||
IXTestRepositoryService service,
|
||||
XDataServiceConfiguration dataConfiguration,
|
||||
IXIdentityProvider identityProvider = null
|
||||
) : base(
|
||||
hub: hub,
|
||||
service: service,
|
||||
identityProvider: identityProvider,
|
||||
dataConfiguration: dataConfiguration
|
||||
)
|
||||
{ }
|
||||
}
|
||||
}
|
||||
@@ -30,6 +30,7 @@
|
||||
<ItemGroup>
|
||||
<ProjectReference Include="..\xCommons\xCommons.csproj" />
|
||||
<ProjectReference Include="..\xDataService\xDataService.csproj" />
|
||||
<ProjectReference Include="..\xPushService\xPushService.csproj" />
|
||||
<!-- <ProjectReference Include="..\XAiService\XAiService.csproj" /> -->
|
||||
<!-- <ProjectReference Include="..\xDataHelper\xDataHelper.csproj" /> -->
|
||||
<!-- <ProjectReference Include="..\xPushHelper\xPushHelper.csproj" /> -->
|
||||
|
||||
Reference in New Issue
Block a user