Add Controller that returns logged characters
This commit is contained in:
parent
11af142a09
commit
bf5604871d
@ -7,6 +7,7 @@ using SessionCompanion.ViewModels.CharacterViewModels;
|
||||
|
||||
namespace SessionCompanion.Controllers
|
||||
{
|
||||
using SessionCompanion.Hubs;
|
||||
using System.Collections.Generic;
|
||||
using System.ComponentModel.DataAnnotations;
|
||||
using System.Linq;
|
||||
@ -16,10 +17,12 @@ namespace SessionCompanion.Controllers
|
||||
public class CharacterController : Controller
|
||||
{
|
||||
private readonly ICharacterService _service;
|
||||
private readonly SessionHubData _sessionHubData;
|
||||
|
||||
public CharacterController(ICharacterService service)
|
||||
{
|
||||
this._service = service;
|
||||
this._sessionHubData = new SessionHubData();
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
@ -44,7 +47,7 @@ namespace SessionCompanion.Controllers
|
||||
/// Metoda zwraca listę postaci przypisanych do danego użytkownika
|
||||
/// </summary>
|
||||
/// <param name="userId"> Identyfikator użytkownika </param>
|
||||
/// <returns> Lista postać lub wiadomość błędu </returns>
|
||||
/// <returns> Lista postaci lub wiadomość błędu </returns>
|
||||
[HttpGet("userCharactersList")]
|
||||
public async Task<Either<List<CharacterForLoginViewModel>, ErrorResponse>> GetCharacterListForUser([Required] int userId)
|
||||
{
|
||||
@ -61,5 +64,27 @@ namespace SessionCompanion.Controllers
|
||||
Message = "No characters with given user id"
|
||||
};
|
||||
}
|
||||
/// <summary>
|
||||
/// Metoda zwraca listę postaci przypisanych do danego użytkownika
|
||||
/// </summary>
|
||||
/// <returns> Lista zalogowanych postaci lub wiadomość błędu </returns>
|
||||
[HttpGet("loggedCharacters")]
|
||||
public async Task<Either<List<CharacterBasicStatsViewModel>, ErrorResponse>> GetLoggedUsersCharacters()
|
||||
{
|
||||
List<CharacterBasicStatsViewModel> characters = new List<CharacterBasicStatsViewModel>();
|
||||
var connectedCharacters = _sessionHubData.ConnectedCharacters_Prop;
|
||||
|
||||
foreach (var characterId in connectedCharacters.Values)
|
||||
characters.Add(await _service.GetBasicCharacterData(characterId));
|
||||
|
||||
if (characters.Any())
|
||||
return characters;
|
||||
|
||||
return new ErrorResponse()
|
||||
{
|
||||
StatusCode = 204,
|
||||
Message = "No logged characters"
|
||||
};
|
||||
}
|
||||
}
|
||||
}
|
@ -34,7 +34,7 @@ namespace SessionCompanion.Hubs
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Zwraca lub ustawia listę zalogowanych graczy
|
||||
/// Zwraca lub ustawia listę zalogowanych postaci
|
||||
/// </summary>
|
||||
public Dictionary<string, int> ConnectedCharacters_Prop
|
||||
{
|
||||
|
@ -1,4 +1,4 @@
|
||||
{
|
||||
{
|
||||
"iisSettings": {
|
||||
"windowsAuthentication": false,
|
||||
"anonymousAuthentication": true,
|
||||
@ -18,10 +18,10 @@
|
||||
"SessionCompanion": {
|
||||
"commandName": "Project",
|
||||
"launchBrowser": true,
|
||||
"applicationUrl": "https://localhost:5001;http://localhost:5000",
|
||||
"environmentVariables": {
|
||||
"ASPNETCORE_ENVIRONMENT": "Development"
|
||||
}
|
||||
},
|
||||
"applicationUrl": "https://localhost:5001;http://localhost:5000"
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
@ -11,6 +11,19 @@
|
||||
<param name="characterId">Identyfikator postaci</param>
|
||||
<returns>ViewModel Postaci/ErrorResponse</returns>
|
||||
</member>
|
||||
<member name="M:SessionCompanion.Controllers.CharacterController.GetCharacterListForUser(System.Int32)">
|
||||
<summary>
|
||||
Metoda zwraca listę postaci przypisanych do danego użytkownika
|
||||
</summary>
|
||||
<param name="userId"> Identyfikator użytkownika </param>
|
||||
<returns> Lista postaci lub wiadomość błędu </returns>
|
||||
</member>
|
||||
<member name="M:SessionCompanion.Controllers.CharacterController.GetLoggedUsersCharacters">
|
||||
<summary>
|
||||
Metoda zwraca listę postaci przypisanych do danego użytkownika
|
||||
</summary>
|
||||
<returns> Lista zalogowanych postaci lub wiadomość błędu </returns>
|
||||
</member>
|
||||
<member name="M:SessionCompanion.Controllers.UserController.Login(System.String,System.String)">
|
||||
<summary>
|
||||
Metoda przyjmuje login oraz hasło i sprawdza czy istnieje użytkownik o podanych parametrach
|
||||
@ -32,14 +45,9 @@
|
||||
</summary>
|
||||
<returns>true jesli ktoś jest już zalogowany i false jeśli nie</returns>
|
||||
</member>
|
||||
<member name="F:SessionCompanion.Hubs.SessionHub.ConnectedCharacters">
|
||||
<member name="F:SessionCompanion.Hubs.SessionHub.sessionHubData">
|
||||
<summary>
|
||||
Lista zalogowanych graczy i identyfikator wybranej postaci
|
||||
</summary>
|
||||
</member>
|
||||
<member name="F:SessionCompanion.Hubs.SessionHub.GameMasterConnected">
|
||||
<summary>
|
||||
Status, czy GM został już zalogowany
|
||||
Klasa zawierająca wszystkie dane potrzebne w SignalR odnośnie aktualnej sesji
|
||||
</summary>
|
||||
</member>
|
||||
<member name="M:SessionCompanion.Hubs.SessionHub.OnDisconnectedAsync(System.Exception)">
|
||||
@ -86,7 +94,7 @@
|
||||
</member>
|
||||
<member name="P:SessionCompanion.Hubs.SessionHubData.ConnectedCharacters_Prop">
|
||||
<summary>
|
||||
Zwraca lub ustawia listę zalogowanych graczy
|
||||
Zwraca lub ustawia listę zalogowanych postaci
|
||||
</summary>
|
||||
</member>
|
||||
</members>
|
||||
|
Loading…
Reference in New Issue
Block a user