before deleting Rules
This commit is contained in:
@@ -3,8 +3,6 @@ using Gameboard.ShogiUI.Sockets.Managers;
|
||||
using Gameboard.ShogiUI.Sockets.Managers.ClientActionHandlers;
|
||||
using Gameboard.ShogiUI.Sockets.Repositories;
|
||||
using Gameboard.ShogiUI.Sockets.Repositories.RepositoryManagers;
|
||||
using Gameboard.ShogiUI.Sockets.Repositories.Utility;
|
||||
using Gameboard.ShogiUI.Sockets.ServiceModels.Socket.Types;
|
||||
using Microsoft.AspNetCore.Authentication.JwtBearer;
|
||||
using Microsoft.AspNetCore.Builder;
|
||||
using Microsoft.AspNetCore.Hosting;
|
||||
@@ -15,8 +13,8 @@ using Newtonsoft.Json;
|
||||
using Newtonsoft.Json.Converters;
|
||||
using Newtonsoft.Json.Serialization;
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Linq;
|
||||
using System.Text;
|
||||
|
||||
namespace Gameboard.ShogiUI.Sockets
|
||||
{
|
||||
@@ -33,36 +31,33 @@ namespace Gameboard.ShogiUI.Sockets
|
||||
public void ConfigureServices(IServiceCollection services)
|
||||
{
|
||||
// Socket ActionHandlers
|
||||
services.AddSingleton<CreateGameHandler>();
|
||||
services.AddSingleton<JoinByCodeHandler>();
|
||||
services.AddSingleton<JoinGameHandler>();
|
||||
services.AddSingleton<ListGamesHandler>();
|
||||
services.AddSingleton<LoadGameHandler>();
|
||||
services.AddSingleton<MoveHandler>();
|
||||
services.AddSingleton<ICreateGameHandler, CreateGameHandler>();
|
||||
services.AddSingleton<IJoinByCodeHandler, JoinByCodeHandler>();
|
||||
services.AddSingleton<IJoinGameHandler, JoinGameHandler>();
|
||||
services.AddSingleton<IListGamesHandler, ListGamesHandler>();
|
||||
services.AddSingleton<ILoadGameHandler, LoadGameHandler>();
|
||||
services.AddSingleton<IMoveHandler, MoveHandler>();
|
||||
|
||||
// Managers
|
||||
services.AddSingleton<ISocketCommunicationManager, SocketCommunicationManager>();
|
||||
services.AddSingleton<ISocketTokenManager, SocketTokenManager>();
|
||||
services.AddSingleton<ISocketConnectionManager, SocketConnectionManager>();
|
||||
services.AddScoped<IGameboardRepositoryManager, GameboardRepositoryManager>();
|
||||
services.AddSingleton<IGameboardRepositoryManager, GameboardRepositoryManager>();
|
||||
services.AddSingleton<IBoardManager, BoardManager>();
|
||||
services.AddSingleton<ActionHandlerResolver>(sp => action =>
|
||||
{
|
||||
return action switch
|
||||
{
|
||||
ClientAction.ListGames => sp.GetService<ListGamesHandler>(),
|
||||
ClientAction.CreateGame => sp.GetService<CreateGameHandler>(),
|
||||
ClientAction.JoinGame => sp.GetService<JoinGameHandler>(),
|
||||
ClientAction.JoinByCode => sp.GetService<JoinByCodeHandler>(),
|
||||
ClientAction.LoadGame => sp.GetService<LoadGameHandler>(),
|
||||
ClientAction.Move => sp.GetService<MoveHandler>(),
|
||||
_ => throw new KeyNotFoundException($"Unable to resolve {nameof(IActionHandler)} for {nameof(ClientAction)} {action}"),
|
||||
};
|
||||
});
|
||||
|
||||
// Repositories
|
||||
services.AddHttpClient("couchdb", c =>
|
||||
{
|
||||
var base64 = Convert.ToBase64String(Encoding.UTF8.GetBytes("admin:admin"));
|
||||
c.DefaultRequestHeaders.Add("Accept", "application/json");
|
||||
c.DefaultRequestHeaders.Add("Authorization", $"Basic {base64}");
|
||||
|
||||
var baseUrl = $"{Configuration["AppSettings:CouchDB:Url"]}/{Configuration["AppSettings:CouchDB:Database"]}/";
|
||||
c.BaseAddress = new Uri(baseUrl);
|
||||
});
|
||||
services.AddTransient<IGameboardRepository, GameboardRepository>();
|
||||
services.AddSingleton<IAuthenticatedHttpClient, AuthenticatedHttpClient>();
|
||||
//services.AddSingleton<IAuthenticatedHttpClient, AuthenticatedHttpClient>();
|
||||
//services.AddSingleton<ICouchClient>(provider => new CouchClient(databaseName, couchUrl));
|
||||
|
||||
services.AddControllers();
|
||||
|
||||
|
||||
Reference in New Issue
Block a user