feat: 2e save character initial implementation WIP
2e is hidden behind url navigation hiding, so hoping that nobody found it yet. Note: DB migration make this commit a bit risky!
This commit is contained in:
@@ -0,0 +1,90 @@
|
|||||||
|
using System.ComponentModel.DataAnnotations;
|
||||||
|
using Kemkas.Web.Db.Models;
|
||||||
|
using Kemkas.Web.Services.FirstEdition.Character;
|
||||||
|
using Kemkas.Web.Services.Shared;
|
||||||
|
using Kemkas.Web.ViewModels;
|
||||||
|
using Microsoft.AspNetCore.Mvc;
|
||||||
|
|
||||||
|
namespace Kemkas.Web.Controllers;
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// First edition character endpoints
|
||||||
|
/// </summary>
|
||||||
|
/// <param name="validationService"></param>
|
||||||
|
/// <param name="dtoToDbModelService"></param>
|
||||||
|
/// <param name="dbModelToDtoService"></param>
|
||||||
|
/// <param name="persistenceService"></param>
|
||||||
|
[ApiController]
|
||||||
|
[Route("[controller]")]
|
||||||
|
public class Character1EController(
|
||||||
|
ICharacterValidationService validationService,
|
||||||
|
ICharacter1EDtoToDbModelService dtoToDbModelService,
|
||||||
|
ICharacterDbModelToDtoService dbModelToDtoService,
|
||||||
|
ICharacterPersistenceService persistenceService)
|
||||||
|
: ControllerBase
|
||||||
|
{
|
||||||
|
[HttpPost]
|
||||||
|
public async Task<ActionResult<Guid>> StoreNewCharacter([FromBody] Character1eDto dto, [FromQuery]bool isPublic = true)
|
||||||
|
{
|
||||||
|
if (!ModelState.IsValid)
|
||||||
|
{
|
||||||
|
return BadRequest(ModelState);
|
||||||
|
}
|
||||||
|
var errors = validationService.Validate(dto);
|
||||||
|
if (errors != null)
|
||||||
|
{
|
||||||
|
return BadRequest(errors);
|
||||||
|
}
|
||||||
|
|
||||||
|
V1Karakter model;
|
||||||
|
try
|
||||||
|
{
|
||||||
|
model = dtoToDbModelService.Convert(dto);
|
||||||
|
}
|
||||||
|
catch (ValidationException ex)
|
||||||
|
{
|
||||||
|
return BadRequest(ex.Message);
|
||||||
|
}
|
||||||
|
var id = await persistenceService.StoreNewCharacter1E(model, isPublic);
|
||||||
|
return id;
|
||||||
|
}
|
||||||
|
|
||||||
|
[HttpGet("{id:guid}")]
|
||||||
|
public async Task<ActionResult<Character1eDto>> GetCharacterById([FromRoute] Guid id)
|
||||||
|
{
|
||||||
|
var entity = await persistenceService.GetCharacter1EById(id);
|
||||||
|
if (entity is null)
|
||||||
|
{
|
||||||
|
return NotFound();
|
||||||
|
}
|
||||||
|
|
||||||
|
return dbModelToDtoService.Convert(entity);
|
||||||
|
}
|
||||||
|
|
||||||
|
[HttpPost("{id:guid}")]
|
||||||
|
public async Task<ActionResult<Guid>> UpdateCharacter([FromRoute] Guid id, [FromBody] Character1eDto dto, [FromQuery]bool isPublic = true)
|
||||||
|
{
|
||||||
|
if (!ModelState.IsValid)
|
||||||
|
{
|
||||||
|
return BadRequest(ModelState);
|
||||||
|
}
|
||||||
|
var errors = validationService.Validate(dto);
|
||||||
|
if (errors != null)
|
||||||
|
{
|
||||||
|
return BadRequest(errors);
|
||||||
|
}
|
||||||
|
|
||||||
|
var original = await persistenceService.GetCharacter1EById(id, tracking: true);
|
||||||
|
if (original is null)
|
||||||
|
{
|
||||||
|
return NotFound();
|
||||||
|
}
|
||||||
|
|
||||||
|
dtoToDbModelService.Update(original, dto);
|
||||||
|
|
||||||
|
await persistenceService.UpdateCharacter1E(original, isPublic);
|
||||||
|
|
||||||
|
return id;
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
@@ -0,0 +1,43 @@
|
|||||||
|
using System.ComponentModel.DataAnnotations;
|
||||||
|
using Kemkas.Web.Db.Models;
|
||||||
|
using Kemkas.Web.Services.SecondEdition.Character;
|
||||||
|
using Kemkas.Web.Services.Shared;
|
||||||
|
using Kemkas.Web.ViewModels;
|
||||||
|
using Microsoft.AspNetCore.Mvc;
|
||||||
|
|
||||||
|
namespace Kemkas.Web.Controllers;
|
||||||
|
|
||||||
|
[ApiController]
|
||||||
|
[Route("[controller]")]
|
||||||
|
public class Character2EController(
|
||||||
|
ICharacter2EDtoToDbModelService dtoToDbModelService,
|
||||||
|
ICharacterPersistenceService persistenceService
|
||||||
|
) : ControllerBase
|
||||||
|
{
|
||||||
|
[HttpPost]
|
||||||
|
public async Task<ActionResult<Guid>> StoreNewCharacter([FromBody] Character2eDto dto, [FromQuery]bool isPublic = true)
|
||||||
|
{
|
||||||
|
if (!ModelState.IsValid)
|
||||||
|
{
|
||||||
|
return BadRequest(ModelState);
|
||||||
|
}
|
||||||
|
// var errors = validationService.Validate(dto);
|
||||||
|
// if (errors != null)
|
||||||
|
// {
|
||||||
|
// return BadRequest(errors);
|
||||||
|
// }
|
||||||
|
|
||||||
|
V2Karakter model;
|
||||||
|
try
|
||||||
|
{
|
||||||
|
model = dtoToDbModelService.Convert(dto);
|
||||||
|
}
|
||||||
|
catch (ValidationException ex)
|
||||||
|
{
|
||||||
|
return BadRequest(ex.Message);
|
||||||
|
}
|
||||||
|
var id = await persistenceService.StoreNewCharacter2E(model, isPublic);
|
||||||
|
return id;
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
@@ -1,85 +1,19 @@
|
|||||||
using System.ComponentModel.DataAnnotations;
|
using Kemkas.Web.Services.FirstEdition.Character;
|
||||||
using Kemkas.Web.Db.Models;
|
using Kemkas.Web.Services.Shared;
|
||||||
using Kemkas.Web.Services.Character;
|
|
||||||
using Kemkas.Web.ViewModels;
|
using Kemkas.Web.ViewModels;
|
||||||
using Microsoft.AspNetCore.Authorization;
|
using Microsoft.AspNetCore.Authorization;
|
||||||
using Microsoft.AspNetCore.Mvc;
|
using Microsoft.AspNetCore.Mvc;
|
||||||
|
|
||||||
namespace Kemkas.Web.Controllers;
|
namespace Kemkas.Web.Controllers;
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// Shared first and second edition character endpoints
|
||||||
|
/// </summary>
|
||||||
|
/// <param name="persistenceService"></param>
|
||||||
[ApiController]
|
[ApiController]
|
||||||
[Route("[controller]")]
|
[Route("[controller]")]
|
||||||
public class CharacterController(
|
public class CharacterController(ICharacterPersistenceService persistenceService) : ControllerBase
|
||||||
ICharacterValidationService validationService,
|
|
||||||
ICharacterDtoToDbModelService dtoToDbModelService,
|
|
||||||
ICharacterDbModelToDtoService dbModelToDtoService,
|
|
||||||
ICharacterPersistenceService persistenceService)
|
|
||||||
: ControllerBase
|
|
||||||
{
|
{
|
||||||
[HttpPost]
|
|
||||||
public async Task<ActionResult<Guid>> StoreNewCharacter([FromBody] CharacterDto dto, [FromQuery]bool isPublic = true)
|
|
||||||
{
|
|
||||||
if (!ModelState.IsValid)
|
|
||||||
{
|
|
||||||
return BadRequest(ModelState);
|
|
||||||
}
|
|
||||||
var errors = validationService.Validate(dto);
|
|
||||||
if (errors != null)
|
|
||||||
{
|
|
||||||
return BadRequest(errors);
|
|
||||||
}
|
|
||||||
|
|
||||||
V1Karakter model;
|
|
||||||
try
|
|
||||||
{
|
|
||||||
model = dtoToDbModelService.Convert(dto);
|
|
||||||
}
|
|
||||||
catch (ValidationException ex)
|
|
||||||
{
|
|
||||||
return BadRequest(ex.Message);
|
|
||||||
}
|
|
||||||
var id = await persistenceService.StoreNewCharacter(model, isPublic);
|
|
||||||
return id;
|
|
||||||
}
|
|
||||||
|
|
||||||
[HttpGet("{id:guid}")]
|
|
||||||
public async Task<ActionResult<CharacterDto>> GetCharacterById([FromRoute] Guid id)
|
|
||||||
{
|
|
||||||
var entity = await persistenceService.GetCharacterById(id);
|
|
||||||
if (entity is null)
|
|
||||||
{
|
|
||||||
return NotFound();
|
|
||||||
}
|
|
||||||
|
|
||||||
return dbModelToDtoService.Convert(entity);
|
|
||||||
}
|
|
||||||
|
|
||||||
[HttpPost("{id:guid}")]
|
|
||||||
public async Task<ActionResult<Guid>> UpdateCharacter([FromRoute] Guid id, [FromBody] CharacterDto dto, [FromQuery]bool isPublic = true)
|
|
||||||
{
|
|
||||||
if (!ModelState.IsValid)
|
|
||||||
{
|
|
||||||
return BadRequest(ModelState);
|
|
||||||
}
|
|
||||||
var errors = validationService.Validate(dto);
|
|
||||||
if (errors != null)
|
|
||||||
{
|
|
||||||
return BadRequest(errors);
|
|
||||||
}
|
|
||||||
|
|
||||||
var original = await persistenceService.GetCharacterById(id, tracking: true);
|
|
||||||
if (original is null)
|
|
||||||
{
|
|
||||||
return NotFound();
|
|
||||||
}
|
|
||||||
|
|
||||||
dtoToDbModelService.Update(original, dto);
|
|
||||||
|
|
||||||
await persistenceService.UpdateCharacter(original, isPublic);
|
|
||||||
|
|
||||||
return id;
|
|
||||||
}
|
|
||||||
|
|
||||||
[HttpGet]
|
[HttpGet]
|
||||||
[Authorize]
|
[Authorize]
|
||||||
public async Task<List<CharacterListItemDto>> GetAllCharacters()
|
public async Task<List<CharacterListItemDto>> GetAllCharacters()
|
||||||
|
|||||||
@@ -1,35 +0,0 @@
|
|||||||
using Kemkas.Web.ViewModels;
|
|
||||||
using Microsoft.AspNetCore.Authorization;
|
|
||||||
using Microsoft.AspNetCore.Mvc;
|
|
||||||
|
|
||||||
namespace Kemkas.Web.Controllers;
|
|
||||||
|
|
||||||
[ApiController]
|
|
||||||
[Route("[controller]")]
|
|
||||||
public class WeatherForecastController : ControllerBase
|
|
||||||
{
|
|
||||||
private static readonly string[] Summaries = new[]
|
|
||||||
{
|
|
||||||
"Freezing", "Bracing", "Chilly", "Cool", "Mild", "Warm", "Balmy", "Hot", "Sweltering", "Scorching"
|
|
||||||
};
|
|
||||||
|
|
||||||
private readonly ILogger<WeatherForecastController> _logger;
|
|
||||||
|
|
||||||
public WeatherForecastController(ILogger<WeatherForecastController> logger)
|
|
||||||
{
|
|
||||||
_logger = logger;
|
|
||||||
}
|
|
||||||
|
|
||||||
[HttpGet]
|
|
||||||
public IEnumerable<WeatherForecast> Get()
|
|
||||||
{
|
|
||||||
return Enumerable.Range(1, 5).Select(
|
|
||||||
index => new WeatherForecast
|
|
||||||
{
|
|
||||||
Date = DateOnly.FromDateTime(DateTime.Now.AddDays(index)),
|
|
||||||
TemperatureC = Random.Shared.Next(-20, 55),
|
|
||||||
Summary = Summaries[Random.Shared.Next(Summaries.Length)]
|
|
||||||
})
|
|
||||||
.ToArray();
|
|
||||||
}
|
|
||||||
}
|
|
||||||
@@ -13,6 +13,8 @@ public class ApplicationDbContext : IdentityDbContext<ApplicationUser, Applicati
|
|||||||
|
|
||||||
public DbSet<DataProtectionKey> DataProtectionKeys { get; set; }
|
public DbSet<DataProtectionKey> DataProtectionKeys { get; set; }
|
||||||
|
|
||||||
|
// 1st edition character
|
||||||
|
|
||||||
public DbSet<V1Karakter> Karakterek { get; set; }
|
public DbSet<V1Karakter> Karakterek { get; set; }
|
||||||
|
|
||||||
public DbSet<V1KarakterKepzettseg> KarakterKepzettsegek { get; set; }
|
public DbSet<V1KarakterKepzettseg> KarakterKepzettsegek { get; set; }
|
||||||
@@ -21,4 +23,13 @@ public class ApplicationDbContext : IdentityDbContext<ApplicationUser, Applicati
|
|||||||
|
|
||||||
public DbSet<V1Felszereles> Felszerelesek { get; set; }
|
public DbSet<V1Felszereles> Felszerelesek { get; set; }
|
||||||
|
|
||||||
|
// 2nd edition character
|
||||||
|
|
||||||
|
public DbSet<V2Karakter> Karakterek2E { get; set; }
|
||||||
|
|
||||||
|
public DbSet<V2KarakterKepzettseg> KarakterKepzettsegek2E { get; set; }
|
||||||
|
|
||||||
|
public DbSet<V2Szintlepes> Szintlepesek2E { get; set; }
|
||||||
|
|
||||||
|
public DbSet<V2Felszereles> Felszerelesek2E { get; set; }
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -1,6 +1,6 @@
|
|||||||
namespace Kemkas.Web.Db.Enums;
|
namespace Kemkas.Web.Db.Enums;
|
||||||
|
|
||||||
public enum Faj
|
public enum Faj1E
|
||||||
{
|
{
|
||||||
Ember = 0,
|
Ember = 0,
|
||||||
Amazon = 1,
|
Amazon = 1,
|
||||||
@@ -15,3 +15,20 @@ public enum Faj
|
|||||||
Gnom = 10,
|
Gnom = 10,
|
||||||
Torpe = 11,
|
Torpe = 11,
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public enum Faj2E
|
||||||
|
{
|
||||||
|
Ember = 0,
|
||||||
|
Amazon = 1,
|
||||||
|
Birodalmi = 2,
|
||||||
|
Nomad = 3,
|
||||||
|
Eszaki = 4,
|
||||||
|
Osember = 5,
|
||||||
|
Elf = 6,
|
||||||
|
Felelf = 7,
|
||||||
|
Felork = 8,
|
||||||
|
Felszerzet = 9,
|
||||||
|
Gnom = 10,
|
||||||
|
Torpe = 11,
|
||||||
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -2,42 +2,82 @@ namespace Kemkas.Web.Db.Enums;
|
|||||||
|
|
||||||
public static class FajExtensions
|
public static class FajExtensions
|
||||||
{
|
{
|
||||||
public static Faj Convert(string faj)
|
public static Faj1E Convert1E(string faj)
|
||||||
{
|
{
|
||||||
return faj switch
|
return faj switch
|
||||||
{
|
{
|
||||||
"f_ember" => Faj.Ember,
|
"f_ember" => Faj1E.Ember,
|
||||||
"f_amazon" => Faj.Amazon,
|
"f_amazon" => Faj1E.Amazon,
|
||||||
"f_birodalmi" => Faj.Birodalmi,
|
"f_birodalmi" => Faj1E.Birodalmi,
|
||||||
"f_etuniai" => Faj.Etuniai,
|
"f_etuniai" => Faj1E.Etuniai,
|
||||||
"f_eszaki" => Faj.Eszaki,
|
"f_eszaki" => Faj1E.Eszaki,
|
||||||
"f_osember" => Faj.Osember,
|
"f_osember" => Faj1E.Osember,
|
||||||
"f_elf" => Faj.Elf,
|
"f_elf" => Faj1E.Elf,
|
||||||
"f_felelf" => Faj.Felelf,
|
"f_felelf" => Faj1E.Felelf,
|
||||||
"f_felork" => Faj.Felork,
|
"f_felork" => Faj1E.Felork,
|
||||||
"f_felszerzet" => Faj.Felszerzet,
|
"f_felszerzet" => Faj1E.Felszerzet,
|
||||||
"f_gnom" => Faj.Gnom,
|
"f_gnom" => Faj1E.Gnom,
|
||||||
"f_torpe" => Faj.Torpe,
|
"f_torpe" => Faj1E.Torpe,
|
||||||
_ => throw new Exception("invalid faj: " + faj)
|
_ => throw new Exception("invalid faj: " + faj)
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
|
||||||
public static string Convert(this Faj faj)
|
public static Faj2E Convert2E(string faj)
|
||||||
{
|
{
|
||||||
return faj switch
|
return faj switch
|
||||||
{
|
{
|
||||||
Faj.Ember => "f_ember",
|
"f_2e_ember" => Faj2E.Ember,
|
||||||
Faj.Amazon => "f_amazon",
|
"f_2e_amazon" => Faj2E.Amazon,
|
||||||
Faj.Birodalmi => "f_birodalmi",
|
"f_2e_birodalmi" => Faj2E.Birodalmi,
|
||||||
Faj.Etuniai => "f_etuniai",
|
"f_2e_nomad" => Faj2E.Nomad,
|
||||||
Faj.Eszaki => "f_eszaki",
|
"f_2e_eszaki" => Faj2E.Eszaki,
|
||||||
Faj.Osember => "f_osember",
|
"f_2e_osember" => Faj2E.Osember,
|
||||||
Faj.Elf => "f_elf",
|
"f_2e_elf" => Faj2E.Elf,
|
||||||
Faj.Felelf => "f_felelf",
|
"f_2e_felelf" => Faj2E.Felelf,
|
||||||
Faj.Felork => "f_felork",
|
"f_2e_felork" => Faj2E.Felork,
|
||||||
Faj.Felszerzet => "f_felszerzet",
|
"f_2e_felszerzet" => Faj2E.Felszerzet,
|
||||||
Faj.Gnom => "f_gnom",
|
"f_2e_gnom" => Faj2E.Gnom,
|
||||||
Faj.Torpe => "f_torpe",
|
"f_2e_torpe" => Faj2E.Torpe,
|
||||||
|
_ => throw new Exception("invalid faj: " + faj)
|
||||||
|
};
|
||||||
|
}
|
||||||
|
|
||||||
|
public static string Convert(this Faj1E faj)
|
||||||
|
{
|
||||||
|
return faj switch
|
||||||
|
{
|
||||||
|
Faj1E.Ember => "f_ember",
|
||||||
|
Faj1E.Amazon => "f_amazon",
|
||||||
|
Faj1E.Birodalmi => "f_birodalmi",
|
||||||
|
Faj1E.Etuniai => "f_etuniai",
|
||||||
|
Faj1E.Eszaki => "f_eszaki",
|
||||||
|
Faj1E.Osember => "f_osember",
|
||||||
|
Faj1E.Elf => "f_elf",
|
||||||
|
Faj1E.Felelf => "f_felelf",
|
||||||
|
Faj1E.Felork => "f_felork",
|
||||||
|
Faj1E.Felszerzet => "f_felszerzet",
|
||||||
|
Faj1E.Gnom => "f_gnom",
|
||||||
|
Faj1E.Torpe => "f_torpe",
|
||||||
|
_ => throw new Exception("invalid faj: " + faj)
|
||||||
|
};
|
||||||
|
}
|
||||||
|
|
||||||
|
public static string Convert(this Faj2E faj)
|
||||||
|
{
|
||||||
|
return faj switch
|
||||||
|
{
|
||||||
|
Faj2E.Ember => "f_2e_ember",
|
||||||
|
Faj2E.Amazon => "f_2e_amazon",
|
||||||
|
Faj2E.Birodalmi => "f_2e_birodalmi",
|
||||||
|
Faj2E.Nomad => "f_2e_nomad",
|
||||||
|
Faj2E.Eszaki => "f_2e_eszaki",
|
||||||
|
Faj2E.Osember => "f_2e_osember",
|
||||||
|
Faj2E.Elf => "f_2e_elf",
|
||||||
|
Faj2E.Felelf => "f_2e_felelf",
|
||||||
|
Faj2E.Felork => "f_2e_felork",
|
||||||
|
Faj2E.Felszerzet => "f_2e_felszerzet",
|
||||||
|
Faj2E.Gnom => "f_2e_gnom",
|
||||||
|
Faj2E.Torpe => "f_2e_torpe",
|
||||||
_ => throw new Exception("invalid faj: " + faj)
|
_ => throw new Exception("invalid faj: " + faj)
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -1,6 +1,6 @@
|
|||||||
namespace Kemkas.Web.Db.Enums;
|
namespace Kemkas.Web.Db.Enums;
|
||||||
|
|
||||||
public enum Kepzettseg
|
public enum Kepzettseg1E
|
||||||
{
|
{
|
||||||
Alkimia = 1,
|
Alkimia = 1,
|
||||||
Alcazas = 2,
|
Alcazas = 2,
|
||||||
@@ -32,3 +32,39 @@ public enum Kepzettseg
|
|||||||
Zarnyitas = 28,
|
Zarnyitas = 28,
|
||||||
Zsebmetszes = 29,
|
Zsebmetszes = 29,
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// offset by 200 to make it more different from 1e karakter kepzettsegek
|
||||||
|
// I don't plan to mix them, but let's make it obvious which one is which.
|
||||||
|
// But it could be useful in one-time character conversions in the future.
|
||||||
|
public enum Kepzettseg2E
|
||||||
|
{
|
||||||
|
Alkimia = 201,
|
||||||
|
Alcazas = 202,
|
||||||
|
Allatidomitas = 203,
|
||||||
|
Csapdak = 204,
|
||||||
|
Csillagjoslas = 205,
|
||||||
|
Egyensulyozas = 206,
|
||||||
|
Eloadas = 207,
|
||||||
|
Ertekbecsles = 208,
|
||||||
|
Gyogyitas = 209,
|
||||||
|
Hajozas = 210,
|
||||||
|
Hallgatozas = 211,
|
||||||
|
Hamisitas = 212,
|
||||||
|
JelekOlvasasa = 213,
|
||||||
|
Herbalizmus = 601,
|
||||||
|
Historia = 602,
|
||||||
|
Lovaglas = 215,
|
||||||
|
Maszas = 216,
|
||||||
|
Megfigyeles = 217,
|
||||||
|
Meregkeveres = 218,
|
||||||
|
Mesterseg = 219,
|
||||||
|
Nyomkereses = 220,
|
||||||
|
Okkultizmus = 666, // inside joke
|
||||||
|
Osonas = 221,
|
||||||
|
Szabadulomuveszet = 223,
|
||||||
|
Ugras = 225,
|
||||||
|
Uszas = 226,
|
||||||
|
Vadonjaras = 603,
|
||||||
|
Zarnyitas = 228,
|
||||||
|
Zsebmetszes = 229,
|
||||||
|
}
|
||||||
@@ -4,76 +4,150 @@ namespace Kemkas.Web.Db.Enums;
|
|||||||
|
|
||||||
public static class KepzettsegExtensions
|
public static class KepzettsegExtensions
|
||||||
{
|
{
|
||||||
public static Kepzettseg Convert(string kepzettseg)
|
public static Kepzettseg1E Convert1E(string kepzettseg)
|
||||||
{
|
{
|
||||||
return kepzettseg switch
|
return kepzettseg switch
|
||||||
{
|
{
|
||||||
"k_alkimia" => Kepzettseg.Alkimia,
|
"k_alkimia" => Kepzettseg1E.Alkimia,
|
||||||
"k_alcazas" => Kepzettseg.Alcazas,
|
"k_alcazas" => Kepzettseg1E.Alcazas,
|
||||||
"k_allatidomitas" => Kepzettseg.Allatidomitas,
|
"k_allatidomitas" => Kepzettseg1E.Allatidomitas,
|
||||||
"k_csapdak" => Kepzettseg.Csapdak,
|
"k_csapdak" => Kepzettseg1E.Csapdak,
|
||||||
"k_csillagjoslas" => Kepzettseg.Csillagjoslas,
|
"k_csillagjoslas" => Kepzettseg1E.Csillagjoslas,
|
||||||
"k_egyensulyozas" => Kepzettseg.Egyensulyozas,
|
"k_egyensulyozas" => Kepzettseg1E.Egyensulyozas,
|
||||||
"k_eloadas" => Kepzettseg.Eloadas,
|
"k_eloadas" => Kepzettseg1E.Eloadas,
|
||||||
"k_ertekbecsles" => Kepzettseg.Ertekbecsles,
|
"k_ertekbecsles" => Kepzettseg1E.Ertekbecsles,
|
||||||
"k_gyogyitas" => Kepzettseg.Gyogyitas,
|
"k_gyogyitas" => Kepzettseg1E.Gyogyitas,
|
||||||
"k_hajozas" => Kepzettseg.Hajozas,
|
"k_hajozas" => Kepzettseg1E.Hajozas,
|
||||||
"k_hallgatozas" => Kepzettseg.Hallgatozas,
|
"k_hallgatozas" => Kepzettseg1E.Hallgatozas,
|
||||||
"k_hamisitas" => Kepzettseg.Hamisitas,
|
"k_hamisitas" => Kepzettseg1E.Hamisitas,
|
||||||
"k_jelek_olvasasa" => Kepzettseg.JelekOlvasasa,
|
"k_jelek_olvasasa" => Kepzettseg1E.JelekOlvasasa,
|
||||||
"k_koncentracio" => Kepzettseg.Koncentracio,
|
"k_koncentracio" => Kepzettseg1E.Koncentracio,
|
||||||
"k_lovaglas" => Kepzettseg.Lovaglas,
|
"k_lovaglas" => Kepzettseg1E.Lovaglas,
|
||||||
"k_maszas" => Kepzettseg.Maszas,
|
"k_maszas" => Kepzettseg1E.Maszas,
|
||||||
"k_megfigyeles" => Kepzettseg.Megfigyeles,
|
"k_megfigyeles" => Kepzettseg1E.Megfigyeles,
|
||||||
"k_meregkeveres" => Kepzettseg.Meregkeveres,
|
"k_meregkeveres" => Kepzettseg1E.Meregkeveres,
|
||||||
"k_mesterseg" => Kepzettseg.Mesterseg,
|
"k_mesterseg" => Kepzettseg1E.Mesterseg,
|
||||||
"k_nyomkereses" => Kepzettseg.Nyomkereses,
|
"k_nyomkereses" => Kepzettseg1E.Nyomkereses,
|
||||||
"k_osonas" => Kepzettseg.Osonas,
|
"k_osonas" => Kepzettseg1E.Osonas,
|
||||||
"k_rejtozes" => Kepzettseg.Rejtozes,
|
"k_rejtozes" => Kepzettseg1E.Rejtozes,
|
||||||
"k_szabadulomuveszet" => Kepzettseg.Szabadulomuveszet,
|
"k_szabadulomuveszet" => Kepzettseg1E.Szabadulomuveszet,
|
||||||
"k_tudas" => Kepzettseg.Tudas,
|
"k_tudas" => Kepzettseg1E.Tudas,
|
||||||
"k_ugras" => Kepzettseg.Ugras,
|
"k_ugras" => Kepzettseg1E.Ugras,
|
||||||
"k_uszas" => Kepzettseg.Uszas,
|
"k_uszas" => Kepzettseg1E.Uszas,
|
||||||
"k_varazslatismeret" => Kepzettseg.Varazslatismeret,
|
"k_varazslatismeret" => Kepzettseg1E.Varazslatismeret,
|
||||||
"k_zarnyitas" => Kepzettseg.Zarnyitas,
|
"k_zarnyitas" => Kepzettseg1E.Zarnyitas,
|
||||||
"k_zsebmetszes" => Kepzettseg.Zsebmetszes,
|
"k_zsebmetszes" => Kepzettseg1E.Zsebmetszes,
|
||||||
_ => throw new ValidationException("invalid kepzettseg: " + kepzettseg),
|
_ => throw new ValidationException("invalid kepzettseg: " + kepzettseg),
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
|
||||||
public static string Convert(this Kepzettseg kepzettseg)
|
public static Kepzettseg2E Convert2E(string kepzettseg)
|
||||||
{
|
{
|
||||||
return kepzettseg switch
|
return kepzettseg switch
|
||||||
{
|
{
|
||||||
Kepzettseg.Alkimia => "k_alkimia",
|
"k_alkimia" => Kepzettseg2E.Alkimia,
|
||||||
Kepzettseg.Alcazas => "k_alcazas",
|
"k_alcazas" => Kepzettseg2E.Alcazas,
|
||||||
Kepzettseg.Allatidomitas => "k_allatidomitas",
|
"k_allatidomitas" => Kepzettseg2E.Allatidomitas,
|
||||||
Kepzettseg.Csapdak => "k_csapdak",
|
"k_csapdak" => Kepzettseg2E.Csapdak,
|
||||||
Kepzettseg.Csillagjoslas => "k_csillagjoslas",
|
"k_csillagjoslas" => Kepzettseg2E.Csillagjoslas,
|
||||||
Kepzettseg.Egyensulyozas => "k_egyensulyozas",
|
"k_egyensulyozas" => Kepzettseg2E.Egyensulyozas,
|
||||||
Kepzettseg.Eloadas => "k_eloadas",
|
"k_eloadas" => Kepzettseg2E.Eloadas,
|
||||||
Kepzettseg.Ertekbecsles => "k_ertekbecsles",
|
"k_ertekbecsles" => Kepzettseg2E.Ertekbecsles,
|
||||||
Kepzettseg.Gyogyitas => "k_gyogyitas",
|
"k_gyogyitas" => Kepzettseg2E.Gyogyitas,
|
||||||
Kepzettseg.Hajozas => "k_hajozas",
|
"k_hajozas" => Kepzettseg2E.Hajozas,
|
||||||
Kepzettseg.Hallgatozas => "k_hallgatozas",
|
"k_hallgatozas" => Kepzettseg2E.Hallgatozas,
|
||||||
Kepzettseg.Hamisitas => "k_hamisitas",
|
"k_hamisitas" => Kepzettseg2E.Hamisitas,
|
||||||
Kepzettseg.JelekOlvasasa => "k_jelek_olvasasa",
|
"k_herbalizmus" => Kepzettseg2E.Herbalizmus,
|
||||||
Kepzettseg.Koncentracio => "k_koncentracio",
|
"k_historia" => Kepzettseg2E.Historia,
|
||||||
Kepzettseg.Lovaglas => "k_lovaglas",
|
"k_jelek_olvasasa" => Kepzettseg2E.JelekOlvasasa,
|
||||||
Kepzettseg.Maszas => "k_maszas",
|
"k_lovaglas" => Kepzettseg2E.Lovaglas,
|
||||||
Kepzettseg.Megfigyeles => "k_megfigyeles",
|
"k_maszas" => Kepzettseg2E.Maszas,
|
||||||
Kepzettseg.Meregkeveres => "k_meregkeveres",
|
"k_megfigyeles" => Kepzettseg2E.Megfigyeles,
|
||||||
Kepzettseg.Mesterseg => "k_mesterseg",
|
"k_meregkeveres" => Kepzettseg2E.Meregkeveres,
|
||||||
Kepzettseg.Nyomkereses => "k_nyomkereses",
|
"k_mesterseg" => Kepzettseg2E.Mesterseg,
|
||||||
Kepzettseg.Osonas => "k_osonas",
|
"k_nyomkereses" => Kepzettseg2E.Nyomkereses,
|
||||||
Kepzettseg.Rejtozes => "k_rejtozes",
|
"k_okkultizmus" => Kepzettseg2E.Okkultizmus,
|
||||||
Kepzettseg.Szabadulomuveszet => "k_szabadulomuveszet",
|
"k_osonas" => Kepzettseg2E.Osonas,
|
||||||
Kepzettseg.Tudas => "k_tudas",
|
"k_szabadulomuveszet" => Kepzettseg2E.Szabadulomuveszet,
|
||||||
Kepzettseg.Ugras => "k_ugras",
|
"k_ugras" => Kepzettseg2E.Ugras,
|
||||||
Kepzettseg.Uszas => "k_uszas",
|
"k_uszas" => Kepzettseg2E.Uszas,
|
||||||
Kepzettseg.Varazslatismeret => "k_varazslatismeret",
|
"k_vadonjaras" => Kepzettseg2E.Vadonjaras,
|
||||||
Kepzettseg.Zarnyitas => "k_zarnyitas",
|
"k_zarnyitas" => Kepzettseg2E.Zarnyitas,
|
||||||
Kepzettseg.Zsebmetszes => "k_zsebmetszes",
|
"k_zsebmetszes" => Kepzettseg2E.Zsebmetszes,
|
||||||
|
_ => throw new ValidationException("invalid kepzettseg: " + kepzettseg),
|
||||||
|
};
|
||||||
|
}
|
||||||
|
|
||||||
|
public static string Convert(this Kepzettseg1E kepzettseg)
|
||||||
|
{
|
||||||
|
return kepzettseg switch
|
||||||
|
{
|
||||||
|
Kepzettseg1E.Alkimia => "k_alkimia",
|
||||||
|
Kepzettseg1E.Alcazas => "k_alcazas",
|
||||||
|
Kepzettseg1E.Allatidomitas => "k_allatidomitas",
|
||||||
|
Kepzettseg1E.Csapdak => "k_csapdak",
|
||||||
|
Kepzettseg1E.Csillagjoslas => "k_csillagjoslas",
|
||||||
|
Kepzettseg1E.Egyensulyozas => "k_egyensulyozas",
|
||||||
|
Kepzettseg1E.Eloadas => "k_eloadas",
|
||||||
|
Kepzettseg1E.Ertekbecsles => "k_ertekbecsles",
|
||||||
|
Kepzettseg1E.Gyogyitas => "k_gyogyitas",
|
||||||
|
Kepzettseg1E.Hajozas => "k_hajozas",
|
||||||
|
Kepzettseg1E.Hallgatozas => "k_hallgatozas",
|
||||||
|
Kepzettseg1E.Hamisitas => "k_hamisitas",
|
||||||
|
Kepzettseg1E.JelekOlvasasa => "k_jelek_olvasasa",
|
||||||
|
Kepzettseg1E.Koncentracio => "k_koncentracio",
|
||||||
|
Kepzettseg1E.Lovaglas => "k_lovaglas",
|
||||||
|
Kepzettseg1E.Maszas => "k_maszas",
|
||||||
|
Kepzettseg1E.Megfigyeles => "k_megfigyeles",
|
||||||
|
Kepzettseg1E.Meregkeveres => "k_meregkeveres",
|
||||||
|
Kepzettseg1E.Mesterseg => "k_mesterseg",
|
||||||
|
Kepzettseg1E.Nyomkereses => "k_nyomkereses",
|
||||||
|
Kepzettseg1E.Osonas => "k_osonas",
|
||||||
|
Kepzettseg1E.Rejtozes => "k_rejtozes",
|
||||||
|
Kepzettseg1E.Szabadulomuveszet => "k_szabadulomuveszet",
|
||||||
|
Kepzettseg1E.Tudas => "k_tudas",
|
||||||
|
Kepzettseg1E.Ugras => "k_ugras",
|
||||||
|
Kepzettseg1E.Uszas => "k_uszas",
|
||||||
|
Kepzettseg1E.Varazslatismeret => "k_varazslatismeret",
|
||||||
|
Kepzettseg1E.Zarnyitas => "k_zarnyitas",
|
||||||
|
Kepzettseg1E.Zsebmetszes => "k_zsebmetszes",
|
||||||
|
_ => throw new ValidationException("invalid kepzettseg: " + kepzettseg),
|
||||||
|
};
|
||||||
|
}
|
||||||
|
|
||||||
|
public static string Convert(this Kepzettseg2E kepzettseg)
|
||||||
|
{
|
||||||
|
return kepzettseg switch
|
||||||
|
{
|
||||||
|
Kepzettseg2E.Alkimia => "k_alkimia",
|
||||||
|
Kepzettseg2E.Alcazas => "k_alcazas",
|
||||||
|
Kepzettseg2E.Allatidomitas => "k_allatidomitas",
|
||||||
|
Kepzettseg2E.Csapdak => "k_csapdak",
|
||||||
|
Kepzettseg2E.Csillagjoslas => "k_csillagjoslas",
|
||||||
|
Kepzettseg2E.Egyensulyozas => "k_egyensulyozas",
|
||||||
|
Kepzettseg2E.Eloadas => "k_eloadas",
|
||||||
|
Kepzettseg2E.Ertekbecsles => "k_ertekbecsles",
|
||||||
|
Kepzettseg2E.Gyogyitas => "k_gyogyitas",
|
||||||
|
Kepzettseg2E.Hajozas => "k_hajozas",
|
||||||
|
Kepzettseg2E.Hallgatozas => "k_hallgatozas",
|
||||||
|
Kepzettseg2E.Hamisitas => "k_hamisitas",
|
||||||
|
Kepzettseg2E.Herbalizmus => "k_herbalizmus",
|
||||||
|
Kepzettseg2E.Historia => "k_historia",
|
||||||
|
Kepzettseg2E.JelekOlvasasa => "k_jelek_olvasasa",
|
||||||
|
Kepzettseg2E.Lovaglas => "k_lovaglas",
|
||||||
|
Kepzettseg2E.Maszas => "k_maszas",
|
||||||
|
Kepzettseg2E.Megfigyeles => "k_megfigyeles",
|
||||||
|
Kepzettseg2E.Meregkeveres => "k_meregkeveres",
|
||||||
|
Kepzettseg2E.Mesterseg => "k_mesterseg",
|
||||||
|
Kepzettseg2E.Nyomkereses => "k_nyomkereses",
|
||||||
|
Kepzettseg2E.Okkultizmus => "k_okkultizmus",
|
||||||
|
Kepzettseg2E.Osonas => "k_osonas",
|
||||||
|
Kepzettseg2E.Szabadulomuveszet => "k_szabadulomuveszet",
|
||||||
|
Kepzettseg2E.Ugras => "k_ugras",
|
||||||
|
Kepzettseg2E.Uszas => "k_uszas",
|
||||||
|
Kepzettseg2E.Vadonjaras => "k_vadonjaras",
|
||||||
|
Kepzettseg2E.Zarnyitas => "k_zarnyitas",
|
||||||
|
Kepzettseg2E.Zsebmetszes => "k_zsebmetszes",
|
||||||
_ => throw new ValidationException("invalid kepzettseg: " + kepzettseg),
|
_ => throw new ValidationException("invalid kepzettseg: " + kepzettseg),
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -1,6 +1,6 @@
|
|||||||
namespace Kemkas.Web.Db.Enums;
|
namespace Kemkas.Web.Db.Enums;
|
||||||
|
|
||||||
public enum Osztaly
|
public enum Osztaly1E
|
||||||
{
|
{
|
||||||
Error = 0, // for unset enum value mapping
|
Error = 0, // for unset enum value mapping
|
||||||
Harcos = 1,
|
Harcos = 1,
|
||||||
@@ -13,3 +13,20 @@ public enum Osztaly
|
|||||||
Varazslo = 8,
|
Varazslo = 8,
|
||||||
Illuzionista = 9,
|
Illuzionista = 9,
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public enum Osztaly2E
|
||||||
|
{
|
||||||
|
Error = 0, // for unset enum value mapping
|
||||||
|
Harcos = 1,
|
||||||
|
Ijasz = 2,
|
||||||
|
Amazon = 3,
|
||||||
|
Kaloz = 4,
|
||||||
|
Barbar = 5,
|
||||||
|
Pap = 6,
|
||||||
|
Tolvaj = 7,
|
||||||
|
Varazslo = 8,
|
||||||
|
Illuzionista = 9,
|
||||||
|
Dalnok = 10,
|
||||||
|
Druida = 11,
|
||||||
|
Vandor = 12,
|
||||||
|
}
|
||||||
@@ -4,36 +4,76 @@ namespace Kemkas.Web.Db.Enums;
|
|||||||
|
|
||||||
public static class OsztalyExtensions
|
public static class OsztalyExtensions
|
||||||
{
|
{
|
||||||
public static Osztaly Convert(string osztaly)
|
public static Osztaly1E Convert1E(string osztaly)
|
||||||
{
|
{
|
||||||
return osztaly switch
|
return osztaly switch
|
||||||
{
|
{
|
||||||
"o_harcos" => Osztaly.Harcos,
|
"o_harcos" => Osztaly1E.Harcos,
|
||||||
"o_ijasz" => Osztaly.Ijasz,
|
"o_ijasz" => Osztaly1E.Ijasz,
|
||||||
"o_amazon" => Osztaly.Amazon,
|
"o_amazon" => Osztaly1E.Amazon,
|
||||||
"o_kaloz" => Osztaly.Kaloz,
|
"o_kaloz" => Osztaly1E.Kaloz,
|
||||||
"o_barbar" => Osztaly.Barbar,
|
"o_barbar" => Osztaly1E.Barbar,
|
||||||
"o_pap" => Osztaly.Pap,
|
"o_pap" => Osztaly1E.Pap,
|
||||||
"o_tolvaj" => Osztaly.Tolvaj,
|
"o_tolvaj" => Osztaly1E.Tolvaj,
|
||||||
"o_varazslo" => Osztaly.Varazslo,
|
"o_varazslo" => Osztaly1E.Varazslo,
|
||||||
"o_illuzionista" => Osztaly.Illuzionista,
|
"o_illuzionista" => Osztaly1E.Illuzionista,
|
||||||
_ => throw new ValidationException("unknown osztaly: " + osztaly)
|
_ => throw new ValidationException("unknown osztaly: " + osztaly)
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
|
||||||
public static string Convert(this Osztaly osztaly)
|
public static Osztaly2E Convert2E(string osztaly)
|
||||||
{
|
{
|
||||||
return osztaly switch
|
return osztaly switch
|
||||||
{
|
{
|
||||||
Osztaly.Harcos => "o_harcos",
|
"o_2e_harcos" => Osztaly2E.Harcos,
|
||||||
Osztaly.Ijasz => "o_ijasz",
|
"o_2e_ijasz" => Osztaly2E.Ijasz,
|
||||||
Osztaly.Amazon => "o_amazon",
|
"o_2e_amazon" => Osztaly2E.Amazon,
|
||||||
Osztaly.Kaloz => "o_kaloz",
|
"o_2e_kaloz" => Osztaly2E.Kaloz,
|
||||||
Osztaly.Barbar => "o_barbar",
|
"o_2e_barbar" => Osztaly2E.Barbar,
|
||||||
Osztaly.Pap => "o_pap",
|
"o_2e_pap" => Osztaly2E.Pap,
|
||||||
Osztaly.Tolvaj => "o_tolvaj",
|
"o_2e_tolvaj" => Osztaly2E.Tolvaj,
|
||||||
Osztaly.Varazslo => "o_varazslo",
|
"o_2e_varazslo" => Osztaly2E.Varazslo,
|
||||||
Osztaly.Illuzionista => "o_illuzionista",
|
"o_2e_illuzionista" => Osztaly2E.Illuzionista,
|
||||||
|
"o_2e_dalnok" => Osztaly2E.Dalnok,
|
||||||
|
"o_2e_druida" => Osztaly2E.Druida,
|
||||||
|
"o_2e_vandor" => Osztaly2E.Vandor,
|
||||||
|
_ => throw new ValidationException("unknown osztaly: " + osztaly)
|
||||||
|
};
|
||||||
|
}
|
||||||
|
|
||||||
|
public static string Convert(this Osztaly1E osztaly)
|
||||||
|
{
|
||||||
|
return osztaly switch
|
||||||
|
{
|
||||||
|
Osztaly1E.Harcos => "o_harcos",
|
||||||
|
Osztaly1E.Ijasz => "o_ijasz",
|
||||||
|
Osztaly1E.Amazon => "o_amazon",
|
||||||
|
Osztaly1E.Kaloz => "o_kaloz",
|
||||||
|
Osztaly1E.Barbar => "o_barbar",
|
||||||
|
Osztaly1E.Pap => "o_pap",
|
||||||
|
Osztaly1E.Tolvaj => "o_tolvaj",
|
||||||
|
Osztaly1E.Varazslo => "o_varazslo",
|
||||||
|
Osztaly1E.Illuzionista => "o_illuzionista",
|
||||||
|
_ => throw new ValidationException("invalid osztaly!")
|
||||||
|
};
|
||||||
|
}
|
||||||
|
|
||||||
|
public static string Convert(this Osztaly2E osztaly)
|
||||||
|
{
|
||||||
|
return osztaly switch
|
||||||
|
{
|
||||||
|
Osztaly2E.Harcos => "o_2e_harcos",
|
||||||
|
Osztaly2E.Ijasz => "o_2e_ijasz",
|
||||||
|
Osztaly2E.Amazon => "o_2e_amazon",
|
||||||
|
Osztaly2E.Kaloz => "o_2e_kaloz",
|
||||||
|
Osztaly2E.Barbar => "o_2e_barbar",
|
||||||
|
Osztaly2E.Pap => "o_2e_pap",
|
||||||
|
Osztaly2E.Tolvaj => "o_2e_tolvaj",
|
||||||
|
Osztaly2E.Varazslo => "o_2e_varazslo",
|
||||||
|
Osztaly2E.Illuzionista => "o_2e_illuzionista",
|
||||||
|
Osztaly2E.Dalnok => "o_2e_dalnok",
|
||||||
|
Osztaly2E.Druida => "o_2e_druida",
|
||||||
|
Osztaly2E.Vandor => "o_2e_vandor",
|
||||||
_ => throw new ValidationException("invalid osztaly!")
|
_ => throw new ValidationException("invalid osztaly!")
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -0,0 +1,690 @@
|
|||||||
|
// <auto-generated />
|
||||||
|
using System;
|
||||||
|
using Kemkas.Web.Db;
|
||||||
|
using Microsoft.EntityFrameworkCore;
|
||||||
|
using Microsoft.EntityFrameworkCore.Infrastructure;
|
||||||
|
using Microsoft.EntityFrameworkCore.Migrations;
|
||||||
|
using Microsoft.EntityFrameworkCore.Storage.ValueConversion;
|
||||||
|
using Npgsql.EntityFrameworkCore.PostgreSQL.Metadata;
|
||||||
|
|
||||||
|
#nullable disable
|
||||||
|
|
||||||
|
namespace Kemkas.Web.Db.Migrations
|
||||||
|
{
|
||||||
|
[DbContext(typeof(ApplicationDbContext))]
|
||||||
|
[Migration("20240214163223_AddSecondEditionModels")]
|
||||||
|
partial class AddSecondEditionModels
|
||||||
|
{
|
||||||
|
/// <inheritdoc />
|
||||||
|
protected override void BuildTargetModel(ModelBuilder modelBuilder)
|
||||||
|
{
|
||||||
|
#pragma warning disable 612, 618
|
||||||
|
modelBuilder
|
||||||
|
.HasAnnotation("ProductVersion", "8.0.0")
|
||||||
|
.HasAnnotation("Relational:MaxIdentifierLength", 63);
|
||||||
|
|
||||||
|
NpgsqlModelBuilderExtensions.UseIdentityByDefaultColumns(modelBuilder);
|
||||||
|
|
||||||
|
modelBuilder.Entity("Kemkas.Web.Db.Models.ApplicationRole", b =>
|
||||||
|
{
|
||||||
|
b.Property<int>("Id")
|
||||||
|
.ValueGeneratedOnAdd()
|
||||||
|
.HasColumnType("integer");
|
||||||
|
|
||||||
|
NpgsqlPropertyBuilderExtensions.UseIdentityByDefaultColumn(b.Property<int>("Id"));
|
||||||
|
|
||||||
|
b.Property<string>("ConcurrencyStamp")
|
||||||
|
.IsConcurrencyToken()
|
||||||
|
.HasColumnType("text");
|
||||||
|
|
||||||
|
b.Property<string>("Name")
|
||||||
|
.HasMaxLength(256)
|
||||||
|
.HasColumnType("character varying(256)");
|
||||||
|
|
||||||
|
b.Property<string>("NormalizedName")
|
||||||
|
.HasMaxLength(256)
|
||||||
|
.HasColumnType("character varying(256)");
|
||||||
|
|
||||||
|
b.HasKey("Id");
|
||||||
|
|
||||||
|
b.HasIndex("NormalizedName")
|
||||||
|
.IsUnique()
|
||||||
|
.HasDatabaseName("RoleNameIndex");
|
||||||
|
|
||||||
|
b.ToTable("AspNetRoles", (string)null);
|
||||||
|
});
|
||||||
|
|
||||||
|
modelBuilder.Entity("Kemkas.Web.Db.Models.ApplicationUser", b =>
|
||||||
|
{
|
||||||
|
b.Property<int>("Id")
|
||||||
|
.ValueGeneratedOnAdd()
|
||||||
|
.HasColumnType("integer");
|
||||||
|
|
||||||
|
NpgsqlPropertyBuilderExtensions.UseIdentityByDefaultColumn(b.Property<int>("Id"));
|
||||||
|
|
||||||
|
b.Property<int>("AccessFailedCount")
|
||||||
|
.HasColumnType("integer");
|
||||||
|
|
||||||
|
b.Property<string>("ConcurrencyStamp")
|
||||||
|
.IsConcurrencyToken()
|
||||||
|
.HasColumnType("text");
|
||||||
|
|
||||||
|
b.Property<string>("Email")
|
||||||
|
.HasMaxLength(256)
|
||||||
|
.HasColumnType("character varying(256)");
|
||||||
|
|
||||||
|
b.Property<bool>("EmailConfirmed")
|
||||||
|
.HasColumnType("boolean");
|
||||||
|
|
||||||
|
b.Property<bool>("LockoutEnabled")
|
||||||
|
.HasColumnType("boolean");
|
||||||
|
|
||||||
|
b.Property<DateTimeOffset?>("LockoutEnd")
|
||||||
|
.HasColumnType("timestamp with time zone");
|
||||||
|
|
||||||
|
b.Property<string>("NormalizedEmail")
|
||||||
|
.HasMaxLength(256)
|
||||||
|
.HasColumnType("character varying(256)");
|
||||||
|
|
||||||
|
b.Property<string>("NormalizedUserName")
|
||||||
|
.HasMaxLength(256)
|
||||||
|
.HasColumnType("character varying(256)");
|
||||||
|
|
||||||
|
b.Property<string>("PasswordHash")
|
||||||
|
.HasColumnType("text");
|
||||||
|
|
||||||
|
b.Property<string>("PhoneNumber")
|
||||||
|
.HasColumnType("text");
|
||||||
|
|
||||||
|
b.Property<bool>("PhoneNumberConfirmed")
|
||||||
|
.HasColumnType("boolean");
|
||||||
|
|
||||||
|
b.Property<string>("SecurityStamp")
|
||||||
|
.HasColumnType("text");
|
||||||
|
|
||||||
|
b.Property<bool>("TwoFactorEnabled")
|
||||||
|
.HasColumnType("boolean");
|
||||||
|
|
||||||
|
b.Property<string>("UserName")
|
||||||
|
.HasMaxLength(256)
|
||||||
|
.HasColumnType("character varying(256)");
|
||||||
|
|
||||||
|
b.HasKey("Id");
|
||||||
|
|
||||||
|
b.HasIndex("NormalizedEmail")
|
||||||
|
.HasDatabaseName("EmailIndex");
|
||||||
|
|
||||||
|
b.HasIndex("NormalizedUserName")
|
||||||
|
.IsUnique()
|
||||||
|
.HasDatabaseName("UserNameIndex");
|
||||||
|
|
||||||
|
b.ToTable("AspNetUsers", (string)null);
|
||||||
|
});
|
||||||
|
|
||||||
|
modelBuilder.Entity("Kemkas.Web.Db.Models.V1Felszereles", b =>
|
||||||
|
{
|
||||||
|
b.Property<Guid>("Id")
|
||||||
|
.ValueGeneratedOnAdd()
|
||||||
|
.HasColumnType("uuid");
|
||||||
|
|
||||||
|
b.Property<bool>("IsFegyver")
|
||||||
|
.HasColumnType("boolean");
|
||||||
|
|
||||||
|
b.Property<Guid>("KarakterId")
|
||||||
|
.HasColumnType("uuid");
|
||||||
|
|
||||||
|
b.Property<string>("Name")
|
||||||
|
.IsRequired()
|
||||||
|
.HasColumnType("text");
|
||||||
|
|
||||||
|
b.HasKey("Id");
|
||||||
|
|
||||||
|
b.HasIndex("KarakterId");
|
||||||
|
|
||||||
|
b.ToTable("Felszerelesek");
|
||||||
|
});
|
||||||
|
|
||||||
|
modelBuilder.Entity("Kemkas.Web.Db.Models.V1Karakter", b =>
|
||||||
|
{
|
||||||
|
b.Property<Guid>("Id")
|
||||||
|
.ValueGeneratedOnAdd()
|
||||||
|
.HasColumnType("uuid");
|
||||||
|
|
||||||
|
b.Property<byte>("Bolcsesseg")
|
||||||
|
.HasColumnType("smallint");
|
||||||
|
|
||||||
|
b.Property<byte>("Egeszseg")
|
||||||
|
.HasColumnType("smallint");
|
||||||
|
|
||||||
|
b.Property<byte>("Ero")
|
||||||
|
.HasColumnType("smallint");
|
||||||
|
|
||||||
|
b.Property<int>("Faj")
|
||||||
|
.HasColumnType("integer");
|
||||||
|
|
||||||
|
b.Property<byte>("Intelligencia")
|
||||||
|
.HasColumnType("smallint");
|
||||||
|
|
||||||
|
b.Property<bool>("IsPublic")
|
||||||
|
.HasColumnType("boolean");
|
||||||
|
|
||||||
|
b.Property<string>("Isten")
|
||||||
|
.HasColumnType("text");
|
||||||
|
|
||||||
|
b.Property<byte>("Jellem")
|
||||||
|
.HasColumnType("smallint");
|
||||||
|
|
||||||
|
b.Property<byte>("Karizma")
|
||||||
|
.HasColumnType("smallint");
|
||||||
|
|
||||||
|
b.Property<double?>("Kor")
|
||||||
|
.HasColumnType("double precision");
|
||||||
|
|
||||||
|
b.Property<string>("Nem")
|
||||||
|
.HasColumnType("text");
|
||||||
|
|
||||||
|
b.Property<string>("Nev")
|
||||||
|
.IsRequired()
|
||||||
|
.HasColumnType("text");
|
||||||
|
|
||||||
|
b.Property<int>("Osztaly")
|
||||||
|
.HasColumnType("integer");
|
||||||
|
|
||||||
|
b.Property<int?>("OwnerUserId")
|
||||||
|
.HasColumnType("integer");
|
||||||
|
|
||||||
|
b.Property<string>("Pajzs")
|
||||||
|
.HasColumnType("text");
|
||||||
|
|
||||||
|
b.Property<string>("Pancel")
|
||||||
|
.HasColumnType("text");
|
||||||
|
|
||||||
|
b.Property<byte>("Szint")
|
||||||
|
.HasColumnType("smallint");
|
||||||
|
|
||||||
|
b.Property<byte>("Ugyesseg")
|
||||||
|
.HasColumnType("smallint");
|
||||||
|
|
||||||
|
b.HasKey("Id");
|
||||||
|
|
||||||
|
b.HasIndex("OwnerUserId");
|
||||||
|
|
||||||
|
b.ToTable("Karakterek");
|
||||||
|
});
|
||||||
|
|
||||||
|
modelBuilder.Entity("Kemkas.Web.Db.Models.V1KarakterKepzettseg", b =>
|
||||||
|
{
|
||||||
|
b.Property<Guid>("Id")
|
||||||
|
.ValueGeneratedOnAdd()
|
||||||
|
.HasColumnType("uuid");
|
||||||
|
|
||||||
|
b.Property<bool>("IsTolvajKepzettseg")
|
||||||
|
.HasColumnType("boolean");
|
||||||
|
|
||||||
|
b.Property<Guid>("KarakterId")
|
||||||
|
.HasColumnType("uuid");
|
||||||
|
|
||||||
|
b.Property<int>("Kepzettseg")
|
||||||
|
.HasColumnType("integer");
|
||||||
|
|
||||||
|
b.HasKey("Id");
|
||||||
|
|
||||||
|
b.HasIndex("KarakterId");
|
||||||
|
|
||||||
|
b.ToTable("KarakterKepzettsegek");
|
||||||
|
});
|
||||||
|
|
||||||
|
modelBuilder.Entity("Kemkas.Web.Db.Models.V1Szintlepes", b =>
|
||||||
|
{
|
||||||
|
b.Property<Guid>("Id")
|
||||||
|
.ValueGeneratedOnAdd()
|
||||||
|
.HasColumnType("uuid");
|
||||||
|
|
||||||
|
b.Property<string>("FegyverSpecializacio")
|
||||||
|
.HasColumnType("text");
|
||||||
|
|
||||||
|
b.Property<byte>("HpRoll")
|
||||||
|
.HasColumnType("smallint");
|
||||||
|
|
||||||
|
b.Property<Guid>("KarakterId")
|
||||||
|
.HasColumnType("uuid");
|
||||||
|
|
||||||
|
b.Property<byte>("KarakterSzint")
|
||||||
|
.HasColumnType("smallint");
|
||||||
|
|
||||||
|
b.Property<byte?>("TulajdonsagNoveles")
|
||||||
|
.HasColumnType("smallint");
|
||||||
|
|
||||||
|
b.HasKey("Id");
|
||||||
|
|
||||||
|
b.HasIndex("KarakterId");
|
||||||
|
|
||||||
|
b.ToTable("Szintlepesek");
|
||||||
|
});
|
||||||
|
|
||||||
|
modelBuilder.Entity("Kemkas.Web.Db.Models.V2Felszereles", b =>
|
||||||
|
{
|
||||||
|
b.Property<Guid>("Id")
|
||||||
|
.ValueGeneratedOnAdd()
|
||||||
|
.HasColumnType("uuid");
|
||||||
|
|
||||||
|
b.Property<bool>("IsFegyver")
|
||||||
|
.HasColumnType("boolean");
|
||||||
|
|
||||||
|
b.Property<Guid>("KarakterId")
|
||||||
|
.HasColumnType("uuid");
|
||||||
|
|
||||||
|
b.Property<string>("TargyId")
|
||||||
|
.IsRequired()
|
||||||
|
.HasColumnType("text");
|
||||||
|
|
||||||
|
b.HasKey("Id");
|
||||||
|
|
||||||
|
b.HasIndex("KarakterId");
|
||||||
|
|
||||||
|
b.ToTable("Felszerelesek2E");
|
||||||
|
});
|
||||||
|
|
||||||
|
modelBuilder.Entity("Kemkas.Web.Db.Models.V2Karakter", b =>
|
||||||
|
{
|
||||||
|
b.Property<Guid>("Id")
|
||||||
|
.ValueGeneratedOnAdd()
|
||||||
|
.HasColumnType("uuid");
|
||||||
|
|
||||||
|
b.Property<byte>("Bolcsesseg")
|
||||||
|
.HasColumnType("smallint");
|
||||||
|
|
||||||
|
b.Property<byte>("Egeszseg")
|
||||||
|
.HasColumnType("smallint");
|
||||||
|
|
||||||
|
b.Property<byte>("Ero")
|
||||||
|
.HasColumnType("smallint");
|
||||||
|
|
||||||
|
b.Property<int>("Faj")
|
||||||
|
.HasColumnType("integer");
|
||||||
|
|
||||||
|
b.Property<byte>("Intelligencia")
|
||||||
|
.HasColumnType("smallint");
|
||||||
|
|
||||||
|
b.Property<bool>("IsPublic")
|
||||||
|
.HasColumnType("boolean");
|
||||||
|
|
||||||
|
b.Property<string>("Isten")
|
||||||
|
.HasColumnType("text");
|
||||||
|
|
||||||
|
b.Property<byte>("Jellem")
|
||||||
|
.HasColumnType("smallint");
|
||||||
|
|
||||||
|
b.Property<byte>("Karizma")
|
||||||
|
.HasColumnType("smallint");
|
||||||
|
|
||||||
|
b.Property<double?>("Kor")
|
||||||
|
.HasColumnType("double precision");
|
||||||
|
|
||||||
|
b.Property<string>("Nem")
|
||||||
|
.HasColumnType("text");
|
||||||
|
|
||||||
|
b.Property<string>("Nev")
|
||||||
|
.IsRequired()
|
||||||
|
.HasColumnType("text");
|
||||||
|
|
||||||
|
b.Property<int?>("OwnerUserId")
|
||||||
|
.HasColumnType("integer");
|
||||||
|
|
||||||
|
b.Property<string>("Pajzs")
|
||||||
|
.HasColumnType("text");
|
||||||
|
|
||||||
|
b.Property<string>("Pancel")
|
||||||
|
.HasColumnType("text");
|
||||||
|
|
||||||
|
b.Property<byte>("Szint")
|
||||||
|
.HasColumnType("smallint");
|
||||||
|
|
||||||
|
b.Property<byte>("Ugyesseg")
|
||||||
|
.HasColumnType("smallint");
|
||||||
|
|
||||||
|
b.HasKey("Id");
|
||||||
|
|
||||||
|
b.HasIndex("OwnerUserId");
|
||||||
|
|
||||||
|
b.ToTable("Karakterek2E");
|
||||||
|
});
|
||||||
|
|
||||||
|
modelBuilder.Entity("Kemkas.Web.Db.Models.V2KarakterKepzettseg", b =>
|
||||||
|
{
|
||||||
|
b.Property<Guid>("Id")
|
||||||
|
.ValueGeneratedOnAdd()
|
||||||
|
.HasColumnType("uuid");
|
||||||
|
|
||||||
|
b.Property<bool>("IsTolvajKepzettseg")
|
||||||
|
.HasColumnType("boolean");
|
||||||
|
|
||||||
|
b.Property<Guid>("KarakterId")
|
||||||
|
.HasColumnType("uuid");
|
||||||
|
|
||||||
|
b.Property<int>("Kepzettseg")
|
||||||
|
.HasColumnType("integer");
|
||||||
|
|
||||||
|
b.HasKey("Id");
|
||||||
|
|
||||||
|
b.HasIndex("KarakterId");
|
||||||
|
|
||||||
|
b.ToTable("KarakterKepzettsegek2E");
|
||||||
|
});
|
||||||
|
|
||||||
|
modelBuilder.Entity("Kemkas.Web.Db.Models.V2Szintlepes", b =>
|
||||||
|
{
|
||||||
|
b.Property<Guid>("Id")
|
||||||
|
.ValueGeneratedOnAdd()
|
||||||
|
.HasColumnType("uuid");
|
||||||
|
|
||||||
|
b.Property<string>("FegyverSpecializacio")
|
||||||
|
.HasColumnType("text");
|
||||||
|
|
||||||
|
b.Property<byte>("HpRoll")
|
||||||
|
.HasColumnType("smallint");
|
||||||
|
|
||||||
|
b.Property<Guid>("KarakterId")
|
||||||
|
.HasColumnType("uuid");
|
||||||
|
|
||||||
|
b.Property<byte>("KarakterSzint")
|
||||||
|
.HasColumnType("smallint");
|
||||||
|
|
||||||
|
b.Property<int>("Osztaly")
|
||||||
|
.HasColumnType("integer");
|
||||||
|
|
||||||
|
b.Property<int?>("TolvajExtraKepzettseg")
|
||||||
|
.HasColumnType("integer");
|
||||||
|
|
||||||
|
b.Property<byte?>("TulajdonsagNoveles")
|
||||||
|
.HasColumnType("smallint");
|
||||||
|
|
||||||
|
b.HasKey("Id");
|
||||||
|
|
||||||
|
b.HasIndex("KarakterId");
|
||||||
|
|
||||||
|
b.ToTable("Szintlepesek2E");
|
||||||
|
});
|
||||||
|
|
||||||
|
modelBuilder.Entity("Microsoft.AspNetCore.DataProtection.EntityFrameworkCore.DataProtectionKey", b =>
|
||||||
|
{
|
||||||
|
b.Property<int>("Id")
|
||||||
|
.ValueGeneratedOnAdd()
|
||||||
|
.HasColumnType("integer");
|
||||||
|
|
||||||
|
NpgsqlPropertyBuilderExtensions.UseIdentityByDefaultColumn(b.Property<int>("Id"));
|
||||||
|
|
||||||
|
b.Property<string>("FriendlyName")
|
||||||
|
.HasColumnType("text");
|
||||||
|
|
||||||
|
b.Property<string>("Xml")
|
||||||
|
.HasColumnType("text");
|
||||||
|
|
||||||
|
b.HasKey("Id");
|
||||||
|
|
||||||
|
b.ToTable("DataProtectionKeys");
|
||||||
|
});
|
||||||
|
|
||||||
|
modelBuilder.Entity("Microsoft.AspNetCore.Identity.IdentityRoleClaim<int>", b =>
|
||||||
|
{
|
||||||
|
b.Property<int>("Id")
|
||||||
|
.ValueGeneratedOnAdd()
|
||||||
|
.HasColumnType("integer");
|
||||||
|
|
||||||
|
NpgsqlPropertyBuilderExtensions.UseIdentityByDefaultColumn(b.Property<int>("Id"));
|
||||||
|
|
||||||
|
b.Property<string>("ClaimType")
|
||||||
|
.HasColumnType("text");
|
||||||
|
|
||||||
|
b.Property<string>("ClaimValue")
|
||||||
|
.HasColumnType("text");
|
||||||
|
|
||||||
|
b.Property<int>("RoleId")
|
||||||
|
.HasColumnType("integer");
|
||||||
|
|
||||||
|
b.HasKey("Id");
|
||||||
|
|
||||||
|
b.HasIndex("RoleId");
|
||||||
|
|
||||||
|
b.ToTable("AspNetRoleClaims", (string)null);
|
||||||
|
});
|
||||||
|
|
||||||
|
modelBuilder.Entity("Microsoft.AspNetCore.Identity.IdentityUserClaim<int>", b =>
|
||||||
|
{
|
||||||
|
b.Property<int>("Id")
|
||||||
|
.ValueGeneratedOnAdd()
|
||||||
|
.HasColumnType("integer");
|
||||||
|
|
||||||
|
NpgsqlPropertyBuilderExtensions.UseIdentityByDefaultColumn(b.Property<int>("Id"));
|
||||||
|
|
||||||
|
b.Property<string>("ClaimType")
|
||||||
|
.HasColumnType("text");
|
||||||
|
|
||||||
|
b.Property<string>("ClaimValue")
|
||||||
|
.HasColumnType("text");
|
||||||
|
|
||||||
|
b.Property<int>("UserId")
|
||||||
|
.HasColumnType("integer");
|
||||||
|
|
||||||
|
b.HasKey("Id");
|
||||||
|
|
||||||
|
b.HasIndex("UserId");
|
||||||
|
|
||||||
|
b.ToTable("AspNetUserClaims", (string)null);
|
||||||
|
});
|
||||||
|
|
||||||
|
modelBuilder.Entity("Microsoft.AspNetCore.Identity.IdentityUserLogin<int>", b =>
|
||||||
|
{
|
||||||
|
b.Property<string>("LoginProvider")
|
||||||
|
.HasMaxLength(128)
|
||||||
|
.HasColumnType("character varying(128)");
|
||||||
|
|
||||||
|
b.Property<string>("ProviderKey")
|
||||||
|
.HasMaxLength(128)
|
||||||
|
.HasColumnType("character varying(128)");
|
||||||
|
|
||||||
|
b.Property<string>("ProviderDisplayName")
|
||||||
|
.HasColumnType("text");
|
||||||
|
|
||||||
|
b.Property<int>("UserId")
|
||||||
|
.HasColumnType("integer");
|
||||||
|
|
||||||
|
b.HasKey("LoginProvider", "ProviderKey");
|
||||||
|
|
||||||
|
b.HasIndex("UserId");
|
||||||
|
|
||||||
|
b.ToTable("AspNetUserLogins", (string)null);
|
||||||
|
});
|
||||||
|
|
||||||
|
modelBuilder.Entity("Microsoft.AspNetCore.Identity.IdentityUserRole<int>", b =>
|
||||||
|
{
|
||||||
|
b.Property<int>("UserId")
|
||||||
|
.HasColumnType("integer");
|
||||||
|
|
||||||
|
b.Property<int>("RoleId")
|
||||||
|
.HasColumnType("integer");
|
||||||
|
|
||||||
|
b.HasKey("UserId", "RoleId");
|
||||||
|
|
||||||
|
b.HasIndex("RoleId");
|
||||||
|
|
||||||
|
b.ToTable("AspNetUserRoles", (string)null);
|
||||||
|
});
|
||||||
|
|
||||||
|
modelBuilder.Entity("Microsoft.AspNetCore.Identity.IdentityUserToken<int>", b =>
|
||||||
|
{
|
||||||
|
b.Property<int>("UserId")
|
||||||
|
.HasColumnType("integer");
|
||||||
|
|
||||||
|
b.Property<string>("LoginProvider")
|
||||||
|
.HasMaxLength(128)
|
||||||
|
.HasColumnType("character varying(128)");
|
||||||
|
|
||||||
|
b.Property<string>("Name")
|
||||||
|
.HasMaxLength(128)
|
||||||
|
.HasColumnType("character varying(128)");
|
||||||
|
|
||||||
|
b.Property<string>("Value")
|
||||||
|
.HasColumnType("text");
|
||||||
|
|
||||||
|
b.HasKey("UserId", "LoginProvider", "Name");
|
||||||
|
|
||||||
|
b.ToTable("AspNetUserTokens", (string)null);
|
||||||
|
});
|
||||||
|
|
||||||
|
modelBuilder.Entity("Kemkas.Web.Db.Models.V1Felszereles", b =>
|
||||||
|
{
|
||||||
|
b.HasOne("Kemkas.Web.Db.Models.V1Karakter", "Karakter")
|
||||||
|
.WithMany("Felszereles")
|
||||||
|
.HasForeignKey("KarakterId")
|
||||||
|
.OnDelete(DeleteBehavior.Cascade)
|
||||||
|
.IsRequired();
|
||||||
|
|
||||||
|
b.Navigation("Karakter");
|
||||||
|
});
|
||||||
|
|
||||||
|
modelBuilder.Entity("Kemkas.Web.Db.Models.V1Karakter", b =>
|
||||||
|
{
|
||||||
|
b.HasOne("Kemkas.Web.Db.Models.ApplicationUser", "OwnerUser")
|
||||||
|
.WithMany()
|
||||||
|
.HasForeignKey("OwnerUserId");
|
||||||
|
|
||||||
|
b.Navigation("OwnerUser");
|
||||||
|
});
|
||||||
|
|
||||||
|
modelBuilder.Entity("Kemkas.Web.Db.Models.V1KarakterKepzettseg", b =>
|
||||||
|
{
|
||||||
|
b.HasOne("Kemkas.Web.Db.Models.V1Karakter", "Karakter")
|
||||||
|
.WithMany("KarakterKepzettsegek")
|
||||||
|
.HasForeignKey("KarakterId")
|
||||||
|
.OnDelete(DeleteBehavior.Cascade)
|
||||||
|
.IsRequired();
|
||||||
|
|
||||||
|
b.Navigation("Karakter");
|
||||||
|
});
|
||||||
|
|
||||||
|
modelBuilder.Entity("Kemkas.Web.Db.Models.V1Szintlepes", b =>
|
||||||
|
{
|
||||||
|
b.HasOne("Kemkas.Web.Db.Models.V1Karakter", "Karakter")
|
||||||
|
.WithMany("Szintlepesek")
|
||||||
|
.HasForeignKey("KarakterId")
|
||||||
|
.OnDelete(DeleteBehavior.Cascade)
|
||||||
|
.IsRequired();
|
||||||
|
|
||||||
|
b.Navigation("Karakter");
|
||||||
|
});
|
||||||
|
|
||||||
|
modelBuilder.Entity("Kemkas.Web.Db.Models.V2Felszereles", b =>
|
||||||
|
{
|
||||||
|
b.HasOne("Kemkas.Web.Db.Models.V2Karakter", "Karakter")
|
||||||
|
.WithMany("Felszereles")
|
||||||
|
.HasForeignKey("KarakterId")
|
||||||
|
.OnDelete(DeleteBehavior.Cascade)
|
||||||
|
.IsRequired();
|
||||||
|
|
||||||
|
b.Navigation("Karakter");
|
||||||
|
});
|
||||||
|
|
||||||
|
modelBuilder.Entity("Kemkas.Web.Db.Models.V2Karakter", b =>
|
||||||
|
{
|
||||||
|
b.HasOne("Kemkas.Web.Db.Models.ApplicationUser", "OwnerUser")
|
||||||
|
.WithMany()
|
||||||
|
.HasForeignKey("OwnerUserId");
|
||||||
|
|
||||||
|
b.Navigation("OwnerUser");
|
||||||
|
});
|
||||||
|
|
||||||
|
modelBuilder.Entity("Kemkas.Web.Db.Models.V2KarakterKepzettseg", b =>
|
||||||
|
{
|
||||||
|
b.HasOne("Kemkas.Web.Db.Models.V2Karakter", "Karakter")
|
||||||
|
.WithMany("KarakterKepzettsegek")
|
||||||
|
.HasForeignKey("KarakterId")
|
||||||
|
.OnDelete(DeleteBehavior.Cascade)
|
||||||
|
.IsRequired();
|
||||||
|
|
||||||
|
b.Navigation("Karakter");
|
||||||
|
});
|
||||||
|
|
||||||
|
modelBuilder.Entity("Kemkas.Web.Db.Models.V2Szintlepes", b =>
|
||||||
|
{
|
||||||
|
b.HasOne("Kemkas.Web.Db.Models.V2Karakter", "Karakter")
|
||||||
|
.WithMany("Szintlepesek")
|
||||||
|
.HasForeignKey("KarakterId")
|
||||||
|
.OnDelete(DeleteBehavior.Cascade)
|
||||||
|
.IsRequired();
|
||||||
|
|
||||||
|
b.Navigation("Karakter");
|
||||||
|
});
|
||||||
|
|
||||||
|
modelBuilder.Entity("Microsoft.AspNetCore.Identity.IdentityRoleClaim<int>", b =>
|
||||||
|
{
|
||||||
|
b.HasOne("Kemkas.Web.Db.Models.ApplicationRole", null)
|
||||||
|
.WithMany()
|
||||||
|
.HasForeignKey("RoleId")
|
||||||
|
.OnDelete(DeleteBehavior.Cascade)
|
||||||
|
.IsRequired();
|
||||||
|
});
|
||||||
|
|
||||||
|
modelBuilder.Entity("Microsoft.AspNetCore.Identity.IdentityUserClaim<int>", b =>
|
||||||
|
{
|
||||||
|
b.HasOne("Kemkas.Web.Db.Models.ApplicationUser", null)
|
||||||
|
.WithMany()
|
||||||
|
.HasForeignKey("UserId")
|
||||||
|
.OnDelete(DeleteBehavior.Cascade)
|
||||||
|
.IsRequired();
|
||||||
|
});
|
||||||
|
|
||||||
|
modelBuilder.Entity("Microsoft.AspNetCore.Identity.IdentityUserLogin<int>", b =>
|
||||||
|
{
|
||||||
|
b.HasOne("Kemkas.Web.Db.Models.ApplicationUser", null)
|
||||||
|
.WithMany()
|
||||||
|
.HasForeignKey("UserId")
|
||||||
|
.OnDelete(DeleteBehavior.Cascade)
|
||||||
|
.IsRequired();
|
||||||
|
});
|
||||||
|
|
||||||
|
modelBuilder.Entity("Microsoft.AspNetCore.Identity.IdentityUserRole<int>", b =>
|
||||||
|
{
|
||||||
|
b.HasOne("Kemkas.Web.Db.Models.ApplicationRole", null)
|
||||||
|
.WithMany()
|
||||||
|
.HasForeignKey("RoleId")
|
||||||
|
.OnDelete(DeleteBehavior.Cascade)
|
||||||
|
.IsRequired();
|
||||||
|
|
||||||
|
b.HasOne("Kemkas.Web.Db.Models.ApplicationUser", null)
|
||||||
|
.WithMany()
|
||||||
|
.HasForeignKey("UserId")
|
||||||
|
.OnDelete(DeleteBehavior.Cascade)
|
||||||
|
.IsRequired();
|
||||||
|
});
|
||||||
|
|
||||||
|
modelBuilder.Entity("Microsoft.AspNetCore.Identity.IdentityUserToken<int>", b =>
|
||||||
|
{
|
||||||
|
b.HasOne("Kemkas.Web.Db.Models.ApplicationUser", null)
|
||||||
|
.WithMany()
|
||||||
|
.HasForeignKey("UserId")
|
||||||
|
.OnDelete(DeleteBehavior.Cascade)
|
||||||
|
.IsRequired();
|
||||||
|
});
|
||||||
|
|
||||||
|
modelBuilder.Entity("Kemkas.Web.Db.Models.V1Karakter", b =>
|
||||||
|
{
|
||||||
|
b.Navigation("Felszereles");
|
||||||
|
|
||||||
|
b.Navigation("KarakterKepzettsegek");
|
||||||
|
|
||||||
|
b.Navigation("Szintlepesek");
|
||||||
|
});
|
||||||
|
|
||||||
|
modelBuilder.Entity("Kemkas.Web.Db.Models.V2Karakter", b =>
|
||||||
|
{
|
||||||
|
b.Navigation("Felszereles");
|
||||||
|
|
||||||
|
b.Navigation("KarakterKepzettsegek");
|
||||||
|
|
||||||
|
b.Navigation("Szintlepesek");
|
||||||
|
});
|
||||||
|
#pragma warning restore 612, 618
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
@@ -0,0 +1,148 @@
|
|||||||
|
using System;
|
||||||
|
using Microsoft.EntityFrameworkCore.Migrations;
|
||||||
|
|
||||||
|
#nullable disable
|
||||||
|
|
||||||
|
namespace Kemkas.Web.Db.Migrations
|
||||||
|
{
|
||||||
|
/// <inheritdoc />
|
||||||
|
public partial class AddSecondEditionModels : Migration
|
||||||
|
{
|
||||||
|
/// <inheritdoc />
|
||||||
|
protected override void Up(MigrationBuilder migrationBuilder)
|
||||||
|
{
|
||||||
|
migrationBuilder.CreateTable(
|
||||||
|
name: "Karakterek2E",
|
||||||
|
columns: table => new
|
||||||
|
{
|
||||||
|
Id = table.Column<Guid>(type: "uuid", nullable: false),
|
||||||
|
IsPublic = table.Column<bool>(type: "boolean", nullable: false),
|
||||||
|
OwnerUserId = table.Column<int>(type: "integer", nullable: true),
|
||||||
|
Nev = table.Column<string>(type: "text", nullable: false),
|
||||||
|
Nem = table.Column<string>(type: "text", nullable: true),
|
||||||
|
Kor = table.Column<double>(type: "double precision", nullable: true),
|
||||||
|
Jellem = table.Column<byte>(type: "smallint", nullable: false),
|
||||||
|
Isten = table.Column<string>(type: "text", nullable: true),
|
||||||
|
Faj = table.Column<int>(type: "integer", nullable: false),
|
||||||
|
Ero = table.Column<byte>(type: "smallint", nullable: false),
|
||||||
|
Ugyesseg = table.Column<byte>(type: "smallint", nullable: false),
|
||||||
|
Egeszseg = table.Column<byte>(type: "smallint", nullable: false),
|
||||||
|
Intelligencia = table.Column<byte>(type: "smallint", nullable: false),
|
||||||
|
Bolcsesseg = table.Column<byte>(type: "smallint", nullable: false),
|
||||||
|
Karizma = table.Column<byte>(type: "smallint", nullable: false),
|
||||||
|
Szint = table.Column<byte>(type: "smallint", nullable: false),
|
||||||
|
Pancel = table.Column<string>(type: "text", nullable: true),
|
||||||
|
Pajzs = table.Column<string>(type: "text", nullable: true)
|
||||||
|
},
|
||||||
|
constraints: table =>
|
||||||
|
{
|
||||||
|
table.PrimaryKey("PK_Karakterek2E", x => x.Id);
|
||||||
|
table.ForeignKey(
|
||||||
|
name: "FK_Karakterek2E_AspNetUsers_OwnerUserId",
|
||||||
|
column: x => x.OwnerUserId,
|
||||||
|
principalTable: "AspNetUsers",
|
||||||
|
principalColumn: "Id");
|
||||||
|
});
|
||||||
|
|
||||||
|
migrationBuilder.CreateTable(
|
||||||
|
name: "Felszerelesek2E",
|
||||||
|
columns: table => new
|
||||||
|
{
|
||||||
|
Id = table.Column<Guid>(type: "uuid", nullable: false),
|
||||||
|
KarakterId = table.Column<Guid>(type: "uuid", nullable: false),
|
||||||
|
TargyId = table.Column<string>(type: "text", nullable: false),
|
||||||
|
IsFegyver = table.Column<bool>(type: "boolean", nullable: false)
|
||||||
|
},
|
||||||
|
constraints: table =>
|
||||||
|
{
|
||||||
|
table.PrimaryKey("PK_Felszerelesek2E", x => x.Id);
|
||||||
|
table.ForeignKey(
|
||||||
|
name: "FK_Felszerelesek2E_Karakterek2E_KarakterId",
|
||||||
|
column: x => x.KarakterId,
|
||||||
|
principalTable: "Karakterek2E",
|
||||||
|
principalColumn: "Id",
|
||||||
|
onDelete: ReferentialAction.Cascade);
|
||||||
|
});
|
||||||
|
|
||||||
|
migrationBuilder.CreateTable(
|
||||||
|
name: "KarakterKepzettsegek2E",
|
||||||
|
columns: table => new
|
||||||
|
{
|
||||||
|
Id = table.Column<Guid>(type: "uuid", nullable: false),
|
||||||
|
KarakterId = table.Column<Guid>(type: "uuid", nullable: false),
|
||||||
|
Kepzettseg = table.Column<int>(type: "integer", nullable: false),
|
||||||
|
IsTolvajKepzettseg = table.Column<bool>(type: "boolean", nullable: false)
|
||||||
|
},
|
||||||
|
constraints: table =>
|
||||||
|
{
|
||||||
|
table.PrimaryKey("PK_KarakterKepzettsegek2E", x => x.Id);
|
||||||
|
table.ForeignKey(
|
||||||
|
name: "FK_KarakterKepzettsegek2E_Karakterek2E_KarakterId",
|
||||||
|
column: x => x.KarakterId,
|
||||||
|
principalTable: "Karakterek2E",
|
||||||
|
principalColumn: "Id",
|
||||||
|
onDelete: ReferentialAction.Cascade);
|
||||||
|
});
|
||||||
|
|
||||||
|
migrationBuilder.CreateTable(
|
||||||
|
name: "Szintlepesek2E",
|
||||||
|
columns: table => new
|
||||||
|
{
|
||||||
|
Id = table.Column<Guid>(type: "uuid", nullable: false),
|
||||||
|
KarakterId = table.Column<Guid>(type: "uuid", nullable: false),
|
||||||
|
KarakterSzint = table.Column<byte>(type: "smallint", nullable: false),
|
||||||
|
Osztaly = table.Column<int>(type: "integer", nullable: false),
|
||||||
|
HpRoll = table.Column<byte>(type: "smallint", nullable: false),
|
||||||
|
TulajdonsagNoveles = table.Column<byte>(type: "smallint", nullable: true),
|
||||||
|
FegyverSpecializacio = table.Column<string>(type: "text", nullable: true),
|
||||||
|
TolvajExtraKepzettseg = table.Column<int>(type: "integer", nullable: true)
|
||||||
|
},
|
||||||
|
constraints: table =>
|
||||||
|
{
|
||||||
|
table.PrimaryKey("PK_Szintlepesek2E", x => x.Id);
|
||||||
|
table.ForeignKey(
|
||||||
|
name: "FK_Szintlepesek2E_Karakterek2E_KarakterId",
|
||||||
|
column: x => x.KarakterId,
|
||||||
|
principalTable: "Karakterek2E",
|
||||||
|
principalColumn: "Id",
|
||||||
|
onDelete: ReferentialAction.Cascade);
|
||||||
|
});
|
||||||
|
|
||||||
|
migrationBuilder.CreateIndex(
|
||||||
|
name: "IX_Felszerelesek2E_KarakterId",
|
||||||
|
table: "Felszerelesek2E",
|
||||||
|
column: "KarakterId");
|
||||||
|
|
||||||
|
migrationBuilder.CreateIndex(
|
||||||
|
name: "IX_Karakterek2E_OwnerUserId",
|
||||||
|
table: "Karakterek2E",
|
||||||
|
column: "OwnerUserId");
|
||||||
|
|
||||||
|
migrationBuilder.CreateIndex(
|
||||||
|
name: "IX_KarakterKepzettsegek2E_KarakterId",
|
||||||
|
table: "KarakterKepzettsegek2E",
|
||||||
|
column: "KarakterId");
|
||||||
|
|
||||||
|
migrationBuilder.CreateIndex(
|
||||||
|
name: "IX_Szintlepesek2E_KarakterId",
|
||||||
|
table: "Szintlepesek2E",
|
||||||
|
column: "KarakterId");
|
||||||
|
}
|
||||||
|
|
||||||
|
/// <inheritdoc />
|
||||||
|
protected override void Down(MigrationBuilder migrationBuilder)
|
||||||
|
{
|
||||||
|
migrationBuilder.DropTable(
|
||||||
|
name: "Felszerelesek2E");
|
||||||
|
|
||||||
|
migrationBuilder.DropTable(
|
||||||
|
name: "KarakterKepzettsegek2E");
|
||||||
|
|
||||||
|
migrationBuilder.DropTable(
|
||||||
|
name: "Szintlepesek2E");
|
||||||
|
|
||||||
|
migrationBuilder.DropTable(
|
||||||
|
name: "Karakterek2E");
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
@@ -259,6 +259,150 @@ namespace Kemkas.Web.Db.Migrations
|
|||||||
b.ToTable("Szintlepesek");
|
b.ToTable("Szintlepesek");
|
||||||
});
|
});
|
||||||
|
|
||||||
|
modelBuilder.Entity("Kemkas.Web.Db.Models.V2Felszereles", b =>
|
||||||
|
{
|
||||||
|
b.Property<Guid>("Id")
|
||||||
|
.ValueGeneratedOnAdd()
|
||||||
|
.HasColumnType("uuid");
|
||||||
|
|
||||||
|
b.Property<bool>("IsFegyver")
|
||||||
|
.HasColumnType("boolean");
|
||||||
|
|
||||||
|
b.Property<Guid>("KarakterId")
|
||||||
|
.HasColumnType("uuid");
|
||||||
|
|
||||||
|
b.Property<string>("TargyId")
|
||||||
|
.IsRequired()
|
||||||
|
.HasColumnType("text");
|
||||||
|
|
||||||
|
b.HasKey("Id");
|
||||||
|
|
||||||
|
b.HasIndex("KarakterId");
|
||||||
|
|
||||||
|
b.ToTable("Felszerelesek2E");
|
||||||
|
});
|
||||||
|
|
||||||
|
modelBuilder.Entity("Kemkas.Web.Db.Models.V2Karakter", b =>
|
||||||
|
{
|
||||||
|
b.Property<Guid>("Id")
|
||||||
|
.ValueGeneratedOnAdd()
|
||||||
|
.HasColumnType("uuid");
|
||||||
|
|
||||||
|
b.Property<byte>("Bolcsesseg")
|
||||||
|
.HasColumnType("smallint");
|
||||||
|
|
||||||
|
b.Property<byte>("Egeszseg")
|
||||||
|
.HasColumnType("smallint");
|
||||||
|
|
||||||
|
b.Property<byte>("Ero")
|
||||||
|
.HasColumnType("smallint");
|
||||||
|
|
||||||
|
b.Property<int>("Faj")
|
||||||
|
.HasColumnType("integer");
|
||||||
|
|
||||||
|
b.Property<byte>("Intelligencia")
|
||||||
|
.HasColumnType("smallint");
|
||||||
|
|
||||||
|
b.Property<bool>("IsPublic")
|
||||||
|
.HasColumnType("boolean");
|
||||||
|
|
||||||
|
b.Property<string>("Isten")
|
||||||
|
.HasColumnType("text");
|
||||||
|
|
||||||
|
b.Property<byte>("Jellem")
|
||||||
|
.HasColumnType("smallint");
|
||||||
|
|
||||||
|
b.Property<byte>("Karizma")
|
||||||
|
.HasColumnType("smallint");
|
||||||
|
|
||||||
|
b.Property<double?>("Kor")
|
||||||
|
.HasColumnType("double precision");
|
||||||
|
|
||||||
|
b.Property<string>("Nem")
|
||||||
|
.HasColumnType("text");
|
||||||
|
|
||||||
|
b.Property<string>("Nev")
|
||||||
|
.IsRequired()
|
||||||
|
.HasColumnType("text");
|
||||||
|
|
||||||
|
b.Property<int?>("OwnerUserId")
|
||||||
|
.HasColumnType("integer");
|
||||||
|
|
||||||
|
b.Property<string>("Pajzs")
|
||||||
|
.HasColumnType("text");
|
||||||
|
|
||||||
|
b.Property<string>("Pancel")
|
||||||
|
.HasColumnType("text");
|
||||||
|
|
||||||
|
b.Property<byte>("Szint")
|
||||||
|
.HasColumnType("smallint");
|
||||||
|
|
||||||
|
b.Property<byte>("Ugyesseg")
|
||||||
|
.HasColumnType("smallint");
|
||||||
|
|
||||||
|
b.HasKey("Id");
|
||||||
|
|
||||||
|
b.HasIndex("OwnerUserId");
|
||||||
|
|
||||||
|
b.ToTable("Karakterek2E");
|
||||||
|
});
|
||||||
|
|
||||||
|
modelBuilder.Entity("Kemkas.Web.Db.Models.V2KarakterKepzettseg", b =>
|
||||||
|
{
|
||||||
|
b.Property<Guid>("Id")
|
||||||
|
.ValueGeneratedOnAdd()
|
||||||
|
.HasColumnType("uuid");
|
||||||
|
|
||||||
|
b.Property<bool>("IsTolvajKepzettseg")
|
||||||
|
.HasColumnType("boolean");
|
||||||
|
|
||||||
|
b.Property<Guid>("KarakterId")
|
||||||
|
.HasColumnType("uuid");
|
||||||
|
|
||||||
|
b.Property<int>("Kepzettseg")
|
||||||
|
.HasColumnType("integer");
|
||||||
|
|
||||||
|
b.HasKey("Id");
|
||||||
|
|
||||||
|
b.HasIndex("KarakterId");
|
||||||
|
|
||||||
|
b.ToTable("KarakterKepzettsegek2E");
|
||||||
|
});
|
||||||
|
|
||||||
|
modelBuilder.Entity("Kemkas.Web.Db.Models.V2Szintlepes", b =>
|
||||||
|
{
|
||||||
|
b.Property<Guid>("Id")
|
||||||
|
.ValueGeneratedOnAdd()
|
||||||
|
.HasColumnType("uuid");
|
||||||
|
|
||||||
|
b.Property<string>("FegyverSpecializacio")
|
||||||
|
.HasColumnType("text");
|
||||||
|
|
||||||
|
b.Property<byte>("HpRoll")
|
||||||
|
.HasColumnType("smallint");
|
||||||
|
|
||||||
|
b.Property<Guid>("KarakterId")
|
||||||
|
.HasColumnType("uuid");
|
||||||
|
|
||||||
|
b.Property<byte>("KarakterSzint")
|
||||||
|
.HasColumnType("smallint");
|
||||||
|
|
||||||
|
b.Property<int>("Osztaly")
|
||||||
|
.HasColumnType("integer");
|
||||||
|
|
||||||
|
b.Property<int?>("TolvajExtraKepzettseg")
|
||||||
|
.HasColumnType("integer");
|
||||||
|
|
||||||
|
b.Property<byte?>("TulajdonsagNoveles")
|
||||||
|
.HasColumnType("smallint");
|
||||||
|
|
||||||
|
b.HasKey("Id");
|
||||||
|
|
||||||
|
b.HasIndex("KarakterId");
|
||||||
|
|
||||||
|
b.ToTable("Szintlepesek2E");
|
||||||
|
});
|
||||||
|
|
||||||
modelBuilder.Entity("Microsoft.AspNetCore.DataProtection.EntityFrameworkCore.DataProtectionKey", b =>
|
modelBuilder.Entity("Microsoft.AspNetCore.DataProtection.EntityFrameworkCore.DataProtectionKey", b =>
|
||||||
{
|
{
|
||||||
b.Property<int>("Id")
|
b.Property<int>("Id")
|
||||||
@@ -427,6 +571,48 @@ namespace Kemkas.Web.Db.Migrations
|
|||||||
b.Navigation("Karakter");
|
b.Navigation("Karakter");
|
||||||
});
|
});
|
||||||
|
|
||||||
|
modelBuilder.Entity("Kemkas.Web.Db.Models.V2Felszereles", b =>
|
||||||
|
{
|
||||||
|
b.HasOne("Kemkas.Web.Db.Models.V2Karakter", "Karakter")
|
||||||
|
.WithMany("Felszereles")
|
||||||
|
.HasForeignKey("KarakterId")
|
||||||
|
.OnDelete(DeleteBehavior.Cascade)
|
||||||
|
.IsRequired();
|
||||||
|
|
||||||
|
b.Navigation("Karakter");
|
||||||
|
});
|
||||||
|
|
||||||
|
modelBuilder.Entity("Kemkas.Web.Db.Models.V2Karakter", b =>
|
||||||
|
{
|
||||||
|
b.HasOne("Kemkas.Web.Db.Models.ApplicationUser", "OwnerUser")
|
||||||
|
.WithMany()
|
||||||
|
.HasForeignKey("OwnerUserId");
|
||||||
|
|
||||||
|
b.Navigation("OwnerUser");
|
||||||
|
});
|
||||||
|
|
||||||
|
modelBuilder.Entity("Kemkas.Web.Db.Models.V2KarakterKepzettseg", b =>
|
||||||
|
{
|
||||||
|
b.HasOne("Kemkas.Web.Db.Models.V2Karakter", "Karakter")
|
||||||
|
.WithMany("KarakterKepzettsegek")
|
||||||
|
.HasForeignKey("KarakterId")
|
||||||
|
.OnDelete(DeleteBehavior.Cascade)
|
||||||
|
.IsRequired();
|
||||||
|
|
||||||
|
b.Navigation("Karakter");
|
||||||
|
});
|
||||||
|
|
||||||
|
modelBuilder.Entity("Kemkas.Web.Db.Models.V2Szintlepes", b =>
|
||||||
|
{
|
||||||
|
b.HasOne("Kemkas.Web.Db.Models.V2Karakter", "Karakter")
|
||||||
|
.WithMany("Szintlepesek")
|
||||||
|
.HasForeignKey("KarakterId")
|
||||||
|
.OnDelete(DeleteBehavior.Cascade)
|
||||||
|
.IsRequired();
|
||||||
|
|
||||||
|
b.Navigation("Karakter");
|
||||||
|
});
|
||||||
|
|
||||||
modelBuilder.Entity("Microsoft.AspNetCore.Identity.IdentityRoleClaim<int>", b =>
|
modelBuilder.Entity("Microsoft.AspNetCore.Identity.IdentityRoleClaim<int>", b =>
|
||||||
{
|
{
|
||||||
b.HasOne("Kemkas.Web.Db.Models.ApplicationRole", null)
|
b.HasOne("Kemkas.Web.Db.Models.ApplicationRole", null)
|
||||||
@@ -486,6 +672,15 @@ namespace Kemkas.Web.Db.Migrations
|
|||||||
|
|
||||||
b.Navigation("Szintlepesek");
|
b.Navigation("Szintlepesek");
|
||||||
});
|
});
|
||||||
|
|
||||||
|
modelBuilder.Entity("Kemkas.Web.Db.Models.V2Karakter", b =>
|
||||||
|
{
|
||||||
|
b.Navigation("Felszereles");
|
||||||
|
|
||||||
|
b.Navigation("KarakterKepzettsegek");
|
||||||
|
|
||||||
|
b.Navigation("Szintlepesek");
|
||||||
|
});
|
||||||
#pragma warning restore 612, 618
|
#pragma warning restore 612, 618
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -4,6 +4,9 @@ using Kemkas.Web.Db.Enums;
|
|||||||
|
|
||||||
namespace Kemkas.Web.Db.Models;
|
namespace Kemkas.Web.Db.Models;
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// 1st edition character sheet
|
||||||
|
/// </summary>
|
||||||
public class V1Karakter
|
public class V1Karakter
|
||||||
{
|
{
|
||||||
[Key] public Guid Id { get; set; }
|
[Key] public Guid Id { get; set; }
|
||||||
@@ -15,8 +18,8 @@ public class V1Karakter
|
|||||||
public double? Kor { get; set; }
|
public double? Kor { get; set; }
|
||||||
public Jellem Jellem { get; set; } = Jellem.Semleges;
|
public Jellem Jellem { get; set; } = Jellem.Semleges;
|
||||||
public string? Isten { get; set; }
|
public string? Isten { get; set; }
|
||||||
public Faj Faj { get; set; } = Faj.Ember;
|
public Faj1E Faj { get; set; } = Faj1E.Ember;
|
||||||
public Osztaly Osztaly { get; set; }
|
public Osztaly1E Osztaly { get; set; }
|
||||||
public byte Ero { get; set; }
|
public byte Ero { get; set; }
|
||||||
public byte Ugyesseg { get; set; }
|
public byte Ugyesseg { get; set; }
|
||||||
public byte Egeszseg { get; set; }
|
public byte Egeszseg { get; set; }
|
||||||
|
|||||||
@@ -9,7 +9,7 @@ public class V1KarakterKepzettseg
|
|||||||
[Key]
|
[Key]
|
||||||
public Guid Id { get; set; }
|
public Guid Id { get; set; }
|
||||||
public Guid KarakterId { get; set; }
|
public Guid KarakterId { get; set; }
|
||||||
public Kepzettseg Kepzettseg { get; set; }
|
public Kepzettseg1E Kepzettseg { get; set; }
|
||||||
public bool IsTolvajKepzettseg { get; set; } = false;
|
public bool IsTolvajKepzettseg { get; set; } = false;
|
||||||
|
|
||||||
[ForeignKey(nameof(KarakterId))]
|
[ForeignKey(nameof(KarakterId))]
|
||||||
|
|||||||
@@ -19,6 +19,8 @@ public class V1Szintlepes
|
|||||||
|
|
||||||
public byte HpRoll { get; set; }
|
public byte HpRoll { get; set; }
|
||||||
public Tulajdonsag? TulajdonsagNoveles { get; set; }
|
public Tulajdonsag? TulajdonsagNoveles { get; set; }
|
||||||
|
|
||||||
|
// used for both Kaloz/Tengeresz and Harcos
|
||||||
public string? FegyverSpecializacio { get; set; }
|
public string? FegyverSpecializacio { get; set; }
|
||||||
|
|
||||||
[ForeignKey(nameof(KarakterId))]
|
[ForeignKey(nameof(KarakterId))]
|
||||||
|
|||||||
@@ -0,0 +1,17 @@
|
|||||||
|
using System.ComponentModel.DataAnnotations;
|
||||||
|
using System.ComponentModel.DataAnnotations.Schema;
|
||||||
|
|
||||||
|
namespace Kemkas.Web.Db.Models;
|
||||||
|
|
||||||
|
public class V2Felszereles
|
||||||
|
{
|
||||||
|
[Key]
|
||||||
|
public Guid Id { get; set; }
|
||||||
|
public Guid KarakterId { get; set; }
|
||||||
|
|
||||||
|
public string TargyId { get; set; }
|
||||||
|
public bool IsFegyver { get; set; } = true;
|
||||||
|
|
||||||
|
[ForeignKey(nameof(KarakterId))]
|
||||||
|
public virtual V2Karakter Karakter { get; set; }
|
||||||
|
}
|
||||||
@@ -0,0 +1,44 @@
|
|||||||
|
using System.ComponentModel.DataAnnotations;
|
||||||
|
using System.ComponentModel.DataAnnotations.Schema;
|
||||||
|
using Kemkas.Web.Db.Enums;
|
||||||
|
|
||||||
|
namespace Kemkas.Web.Db.Models;
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// 2nd edition character sheet
|
||||||
|
/// </summary>
|
||||||
|
public class V2Karakter
|
||||||
|
{
|
||||||
|
[Key] public Guid Id { get; set; }
|
||||||
|
public bool IsPublic { get; set; } = false;
|
||||||
|
public int? OwnerUserId { get; set; }
|
||||||
|
|
||||||
|
public string Nev { get; set; }
|
||||||
|
public string? Nem { get; set; }
|
||||||
|
public double? Kor { get; set; }
|
||||||
|
public Jellem Jellem { get; set; } = Jellem.Semleges;
|
||||||
|
public string? Isten { get; set; }
|
||||||
|
public Faj2E Faj { get; set; } = Faj2E.Ember;
|
||||||
|
public byte Ero { get; set; }
|
||||||
|
public byte Ugyesseg { get; set; }
|
||||||
|
public byte Egeszseg { get; set; }
|
||||||
|
public byte Intelligencia { get; set; }
|
||||||
|
public byte Bolcsesseg { get; set; }
|
||||||
|
public byte Karizma { get; set; }
|
||||||
|
public byte Szint { get; set; } = 1;
|
||||||
|
|
||||||
|
public string? Pancel { get; set; }
|
||||||
|
public string? Pajzs { get; set; }
|
||||||
|
|
||||||
|
[ForeignKey(nameof(OwnerUserId))]
|
||||||
|
public ApplicationUser? OwnerUser { get; set; }
|
||||||
|
|
||||||
|
[InverseProperty(nameof(V2KarakterKepzettseg.Karakter))]
|
||||||
|
public virtual IEnumerable<V2KarakterKepzettseg> KarakterKepzettsegek { get; set; }
|
||||||
|
|
||||||
|
[InverseProperty(nameof(V2Szintlepes.Karakter))]
|
||||||
|
public virtual IEnumerable<V2Szintlepes> Szintlepesek { get; set; }
|
||||||
|
|
||||||
|
[InverseProperty(nameof(V2Felszereles.Karakter))]
|
||||||
|
public virtual IEnumerable<V2Felszereles> Felszereles { get; set; }
|
||||||
|
}
|
||||||
@@ -0,0 +1,17 @@
|
|||||||
|
using System.ComponentModel.DataAnnotations;
|
||||||
|
using System.ComponentModel.DataAnnotations.Schema;
|
||||||
|
using Kemkas.Web.Db.Enums;
|
||||||
|
|
||||||
|
namespace Kemkas.Web.Db.Models;
|
||||||
|
|
||||||
|
public class V2KarakterKepzettseg
|
||||||
|
{
|
||||||
|
[Key]
|
||||||
|
public Guid Id { get; set; }
|
||||||
|
public Guid KarakterId { get; set; }
|
||||||
|
public Kepzettseg2E Kepzettseg { get; set; }
|
||||||
|
public bool IsTolvajKepzettseg { get; set; } = false;
|
||||||
|
|
||||||
|
[ForeignKey(nameof(KarakterId))]
|
||||||
|
public virtual V2Karakter Karakter { get; set; }
|
||||||
|
}
|
||||||
@@ -0,0 +1,29 @@
|
|||||||
|
using System.ComponentModel.DataAnnotations;
|
||||||
|
using System.ComponentModel.DataAnnotations.Schema;
|
||||||
|
using Kemkas.Web.Db.Enums;
|
||||||
|
|
||||||
|
namespace Kemkas.Web.Db.Models;
|
||||||
|
|
||||||
|
public class V2Szintlepes
|
||||||
|
{
|
||||||
|
[Key]
|
||||||
|
public Guid Id { get; set; }
|
||||||
|
public Guid KarakterId { get; set; }
|
||||||
|
|
||||||
|
// this is also used for ordering the level ups
|
||||||
|
public byte KarakterSzint { get; set; }
|
||||||
|
|
||||||
|
public Osztaly2E Osztaly { get; set; }
|
||||||
|
|
||||||
|
public byte HpRoll { get; set; }
|
||||||
|
public Tulajdonsag? TulajdonsagNoveles { get; set; }
|
||||||
|
|
||||||
|
// used for both Kaloz/Tengeresz and Harcos
|
||||||
|
public string? FegyverSpecializacio { get; set; }
|
||||||
|
|
||||||
|
// for the 9th level Tolvaj specialty
|
||||||
|
public Kepzettseg2E? TolvajExtraKepzettseg { get; set; }
|
||||||
|
|
||||||
|
[ForeignKey(nameof(KarakterId))]
|
||||||
|
public virtual V2Karakter Karakter { get; set; }
|
||||||
|
}
|
||||||
@@ -53,6 +53,10 @@
|
|||||||
<None Include="$(SpaRoot)**" Exclude="$(SpaRoot)node_modules\**" />
|
<None Include="$(SpaRoot)**" Exclude="$(SpaRoot)node_modules\**" />
|
||||||
</ItemGroup>
|
</ItemGroup>
|
||||||
|
|
||||||
|
<ItemGroup>
|
||||||
|
<Folder Include="Services\FirstEdition\" />
|
||||||
|
</ItemGroup>
|
||||||
|
|
||||||
<Target Name="DebugEnsureNodeEnv" BeforeTargets="Build" Condition=" '$(Configuration)' == 'Debug' And !Exists('$(SpaRoot)node_modules') ">
|
<Target Name="DebugEnsureNodeEnv" BeforeTargets="Build" Condition=" '$(Configuration)' == 'Debug' And !Exists('$(SpaRoot)node_modules') ">
|
||||||
<!-- Ensure Node.js is installed -->
|
<!-- Ensure Node.js is installed -->
|
||||||
<Exec Command="node --version" ContinueOnError="true">
|
<Exec Command="node --version" ContinueOnError="true">
|
||||||
|
|||||||
@@ -6,14 +6,14 @@ using Kemkas.Web.Config;
|
|||||||
using Microsoft.EntityFrameworkCore;
|
using Microsoft.EntityFrameworkCore;
|
||||||
using Kemkas.Web.Db;
|
using Kemkas.Web.Db;
|
||||||
using Kemkas.Web.Db.Models;
|
using Kemkas.Web.Db.Models;
|
||||||
using Kemkas.Web.Services.Character;
|
using Kemkas.Web.Services.FirstEdition.Character;
|
||||||
using Kemkas.Web.Services.Identity;
|
using Kemkas.Web.Services.Identity;
|
||||||
using Microsoft.AspNetCore.DataProtection;
|
using Microsoft.AspNetCore.DataProtection;
|
||||||
using Microsoft.AspNetCore.HttpOverrides;
|
using Microsoft.AspNetCore.HttpOverrides;
|
||||||
using Microsoft.AspNetCore.Identity.UI.Services;
|
using Microsoft.AspNetCore.Identity.UI.Services;
|
||||||
using OpenTelemetry.Metrics;
|
// using OpenTelemetry.Metrics;
|
||||||
using OpenTelemetry.Resources;
|
// using OpenTelemetry.Resources;
|
||||||
using OpenTelemetry.Trace;
|
// using OpenTelemetry.Trace;
|
||||||
using IPNetwork = Microsoft.AspNetCore.HttpOverrides.IPNetwork;
|
using IPNetwork = Microsoft.AspNetCore.HttpOverrides.IPNetwork;
|
||||||
|
|
||||||
var builder = WebApplication.CreateBuilder(args);
|
var builder = WebApplication.CreateBuilder(args);
|
||||||
|
|||||||
@@ -1,88 +0,0 @@
|
|||||||
using Kemkas.Web.Db;
|
|
||||||
using Kemkas.Web.Db.Enums;
|
|
||||||
using Kemkas.Web.Db.Models;
|
|
||||||
using Kemkas.Web.Services.Identity;
|
|
||||||
using Kemkas.Web.ViewModels;
|
|
||||||
using Microsoft.EntityFrameworkCore;
|
|
||||||
|
|
||||||
namespace Kemkas.Web.Services.Character;
|
|
||||||
|
|
||||||
public interface ICharacterPersistenceService
|
|
||||||
{
|
|
||||||
public Task<Guid> StoreNewCharacter(V1Karakter karakter, bool isPublic = false);
|
|
||||||
|
|
||||||
public Task<V1Karakter?> GetCharacterById(Guid id, bool tracking = false);
|
|
||||||
|
|
||||||
public Task<List<CharacterListItemDto>> GetAllCharactersOfUser();
|
|
||||||
|
|
||||||
public Task UpdateCharacter(V1Karakter karakter, bool isPublic = false);
|
|
||||||
}
|
|
||||||
|
|
||||||
public class CharacterPersistenceService(
|
|
||||||
ApplicationDbContext dbContext,
|
|
||||||
ICurrentUserService currentUserService
|
|
||||||
) : ICharacterPersistenceService
|
|
||||||
{
|
|
||||||
|
|
||||||
public async Task<Guid> StoreNewCharacter(V1Karakter karakter, bool isPublic = false)
|
|
||||||
{
|
|
||||||
var currentUser = await currentUserService.GetCurrentUser();
|
|
||||||
karakter.OwnerUserId = currentUser?.Id;
|
|
||||||
karakter.Id = Guid.Empty;
|
|
||||||
karakter.IsPublic = isPublic;
|
|
||||||
dbContext.Karakterek.Add(karakter);
|
|
||||||
await dbContext.SaveChangesAsync();
|
|
||||||
return karakter.Id;
|
|
||||||
}
|
|
||||||
|
|
||||||
public async Task<V1Karakter?> GetCharacterById(Guid id, bool tracking = false)
|
|
||||||
{
|
|
||||||
IQueryable<V1Karakter> queriable = dbContext.Karakterek.Include(x => x.KarakterKepzettsegek)
|
|
||||||
.Include(x => x.Szintlepesek)
|
|
||||||
.Include(x => x.Felszereles);
|
|
||||||
|
|
||||||
queriable = tracking ? queriable.AsTracking() : queriable.AsNoTracking();
|
|
||||||
|
|
||||||
var entity = await queriable
|
|
||||||
.FirstOrDefaultAsync(x => x.Id == id);
|
|
||||||
|
|
||||||
if (entity?.OwnerUserId is null || entity.IsPublic)
|
|
||||||
{
|
|
||||||
return entity;
|
|
||||||
}
|
|
||||||
|
|
||||||
var currentUser = await currentUserService.GetCurrentUser();
|
|
||||||
return entity.OwnerUserId == currentUser?.Id ? entity : null;
|
|
||||||
}
|
|
||||||
|
|
||||||
public async Task<List<CharacterListItemDto>> GetAllCharactersOfUser()
|
|
||||||
{
|
|
||||||
var currentUser = await currentUserService.GetCurrentUser();
|
|
||||||
if (currentUser is null)
|
|
||||||
{
|
|
||||||
return [];
|
|
||||||
}
|
|
||||||
|
|
||||||
var characters = await dbContext.Karakterek
|
|
||||||
.Where(k => k.OwnerUserId == currentUser.Id)
|
|
||||||
.Select(k => new CharacterListItemDto
|
|
||||||
{
|
|
||||||
Id = k.Id,
|
|
||||||
Name = k.Nev,
|
|
||||||
Szint = k.Szint,
|
|
||||||
Faj = k.Faj.Convert(),
|
|
||||||
Osztaly = k.Osztaly.Convert(),
|
|
||||||
Edition = "1e"
|
|
||||||
})
|
|
||||||
.ToListAsync();
|
|
||||||
|
|
||||||
return characters;
|
|
||||||
}
|
|
||||||
|
|
||||||
public async Task UpdateCharacter(V1Karakter karakter, bool isPublic = false)
|
|
||||||
{
|
|
||||||
karakter.IsPublic = isPublic;
|
|
||||||
dbContext.Karakterek.Attach(karakter);
|
|
||||||
await dbContext.SaveChangesAsync();
|
|
||||||
}
|
|
||||||
}
|
|
||||||
+23
-23
@@ -3,18 +3,18 @@ using Kemkas.Web.Db.Enums;
|
|||||||
using Kemkas.Web.Db.Models;
|
using Kemkas.Web.Db.Models;
|
||||||
using Kemkas.Web.ViewModels;
|
using Kemkas.Web.ViewModels;
|
||||||
|
|
||||||
namespace Kemkas.Web.Services.Character;
|
namespace Kemkas.Web.Services.FirstEdition.Character;
|
||||||
|
|
||||||
public interface ICharacterDtoToDbModelService
|
public interface ICharacter1EDtoToDbModelService
|
||||||
{
|
{
|
||||||
public V1Karakter Convert(CharacterDto dto);
|
public V1Karakter Convert(Character1eDto dto);
|
||||||
|
|
||||||
public void Update(V1Karakter original, CharacterDto dto);
|
public void Update(V1Karakter original, Character1eDto dto);
|
||||||
}
|
}
|
||||||
|
|
||||||
public class CharacterDtoToDbModelService : ICharacterDtoToDbModelService
|
public class Character1EDtoToDbModelService : ICharacter1EDtoToDbModelService
|
||||||
{
|
{
|
||||||
public V1Karakter Convert(CharacterDto dto)
|
public V1Karakter Convert(Character1eDto dto)
|
||||||
{
|
{
|
||||||
var karakter = new V1Karakter
|
var karakter = new V1Karakter
|
||||||
{
|
{
|
||||||
@@ -23,8 +23,8 @@ public class CharacterDtoToDbModelService : ICharacterDtoToDbModelService
|
|||||||
Kor = dto.Kor,
|
Kor = dto.Kor,
|
||||||
Jellem = JellemExtensions.Convert(dto.Jellem),
|
Jellem = JellemExtensions.Convert(dto.Jellem),
|
||||||
Isten = dto.Isten,
|
Isten = dto.Isten,
|
||||||
Faj = FajExtensions.Convert(dto.Faj),
|
Faj = FajExtensions.Convert1E(dto.Faj),
|
||||||
Osztaly = OsztalyExtensions.Convert(dto.Osztaly),
|
Osztaly = OsztalyExtensions.Convert1E(dto.Osztaly),
|
||||||
Ero = dto.Tulajdonsagok.Ero,
|
Ero = dto.Tulajdonsagok.Ero,
|
||||||
Ugyesseg = dto.Tulajdonsagok.Ugy,
|
Ugyesseg = dto.Tulajdonsagok.Ugy,
|
||||||
Egeszseg = dto.Tulajdonsagok.Egs,
|
Egeszseg = dto.Tulajdonsagok.Egs,
|
||||||
@@ -32,10 +32,10 @@ public class CharacterDtoToDbModelService : ICharacterDtoToDbModelService
|
|||||||
Bolcsesseg = dto.Tulajdonsagok.Bol,
|
Bolcsesseg = dto.Tulajdonsagok.Bol,
|
||||||
Karizma = dto.Tulajdonsagok.Kar,
|
Karizma = dto.Tulajdonsagok.Kar,
|
||||||
Szint = dto.Szint,
|
Szint = dto.Szint,
|
||||||
|
Pajzs = dto.Felszereles.PajzsId,
|
||||||
|
Pancel = dto.Felszereles.PancelId
|
||||||
};
|
};
|
||||||
karakter.KarakterKepzettsegek = ConvertKepzettsegek(dto, karakter);
|
karakter.KarakterKepzettsegek = ConvertKepzettsegek(dto, karakter);
|
||||||
karakter.Pajzs = dto.Felszereles.PajzsId;
|
|
||||||
karakter.Pancel = dto.Felszereles.PancelId;
|
|
||||||
karakter.Felszereles = dto.Felszereles.FegyverIds.Select(x => new V1Felszereles
|
karakter.Felszereles = dto.Felszereles.FegyverIds.Select(x => new V1Felszereles
|
||||||
{
|
{
|
||||||
Karakter = karakter,
|
Karakter = karakter,
|
||||||
@@ -47,15 +47,15 @@ public class CharacterDtoToDbModelService : ICharacterDtoToDbModelService
|
|||||||
return karakter;
|
return karakter;
|
||||||
}
|
}
|
||||||
|
|
||||||
public void Update(V1Karakter original, CharacterDto dto)
|
public void Update(V1Karakter original, Character1eDto dto)
|
||||||
{
|
{
|
||||||
original.Nev = dto.Name;
|
original.Nev = dto.Name;
|
||||||
original.Nem = dto.Nem;
|
original.Nem = dto.Nem;
|
||||||
original.Kor = dto.Kor;
|
original.Kor = dto.Kor;
|
||||||
original.Jellem = JellemExtensions.Convert(dto.Jellem);
|
original.Jellem = JellemExtensions.Convert(dto.Jellem);
|
||||||
original.Isten = dto.Isten;
|
original.Isten = dto.Isten;
|
||||||
original.Faj = FajExtensions.Convert(dto.Faj);
|
original.Faj = FajExtensions.Convert1E(dto.Faj);
|
||||||
original.Osztaly = OsztalyExtensions.Convert(dto.Osztaly);
|
original.Osztaly = OsztalyExtensions.Convert1E(dto.Osztaly);
|
||||||
original.Ero = dto.Tulajdonsagok.Ero;
|
original.Ero = dto.Tulajdonsagok.Ero;
|
||||||
original.Ugyesseg = dto.Tulajdonsagok.Ugy;
|
original.Ugyesseg = dto.Tulajdonsagok.Ugy;
|
||||||
original.Egeszseg = dto.Tulajdonsagok.Egs;
|
original.Egeszseg = dto.Tulajdonsagok.Egs;
|
||||||
@@ -76,7 +76,7 @@ public class CharacterDtoToDbModelService : ICharacterDtoToDbModelService
|
|||||||
}
|
}
|
||||||
|
|
||||||
// TODO: this is unnecessary duplication of business logic!!
|
// TODO: this is unnecessary duplication of business logic!!
|
||||||
private static List<V1Szintlepes> ConvertSzintLepes(CharacterDto dto, V1Karakter karakter)
|
private static List<V1Szintlepes> ConvertSzintLepes(Character1eDto dto, V1Karakter karakter)
|
||||||
{
|
{
|
||||||
if (dto.HpRolls.Count < dto.Szint - 2)
|
if (dto.HpRolls.Count < dto.Szint - 2)
|
||||||
{
|
{
|
||||||
@@ -103,15 +103,15 @@ public class CharacterDtoToDbModelService : ICharacterDtoToDbModelService
|
|||||||
// OsztalySzint = 1,
|
// OsztalySzint = 1,
|
||||||
HpRoll = karakter.Osztaly switch // TODO: duplication of logic!!
|
HpRoll = karakter.Osztaly switch // TODO: duplication of logic!!
|
||||||
{
|
{
|
||||||
Osztaly.Barbar => 12,
|
Osztaly1E.Barbar => 12,
|
||||||
Osztaly.Amazon or Osztaly.Harcos or Osztaly.Kaloz or Osztaly.Ijasz => 10,
|
Osztaly1E.Amazon or Osztaly1E.Harcos or Osztaly1E.Kaloz or Osztaly1E.Ijasz => 10,
|
||||||
Osztaly.Pap => 8,
|
Osztaly1E.Pap => 8,
|
||||||
Osztaly.Tolvaj => 6,
|
Osztaly1E.Tolvaj => 6,
|
||||||
Osztaly.Varazslo or Osztaly.Illuzionista => 4,
|
Osztaly1E.Varazslo or Osztaly1E.Illuzionista => 4,
|
||||||
_ => throw new ArgumentOutOfRangeException(nameof(karakter.Osztaly), karakter.Osztaly,
|
_ => throw new ArgumentOutOfRangeException(nameof(karakter.Osztaly), karakter.Osztaly,
|
||||||
"invalid osztaly!")
|
"invalid osztaly!")
|
||||||
},
|
},
|
||||||
FegyverSpecializacio = karakter.Osztaly == Osztaly.Harcos ? dto.HarcosSpecializaciok[0] : null,
|
FegyverSpecializacio = karakter.Osztaly == Osztaly1E.Harcos ? dto.HarcosSpecializaciok[0] : null,
|
||||||
};
|
};
|
||||||
|
|
||||||
return Enumerable.Range(2, count: dto.Szint - 1).Select(szint =>
|
return Enumerable.Range(2, count: dto.Szint - 1).Select(szint =>
|
||||||
@@ -131,13 +131,13 @@ public class CharacterDtoToDbModelService : ICharacterDtoToDbModelService
|
|||||||
}).Prepend(level1).ToList();
|
}).Prepend(level1).ToList();
|
||||||
}
|
}
|
||||||
|
|
||||||
private static List<V1KarakterKepzettseg> ConvertKepzettsegek(CharacterDto dto, V1Karakter karakter)
|
private static List<V1KarakterKepzettseg> ConvertKepzettsegek(Character1eDto dto, V1Karakter karakter)
|
||||||
{
|
{
|
||||||
var kepzettsegek = dto.Kepzettsegek.Select(x => new V1KarakterKepzettseg
|
var kepzettsegek = dto.Kepzettsegek.Select(x => new V1KarakterKepzettseg
|
||||||
{
|
{
|
||||||
Karakter = karakter,
|
Karakter = karakter,
|
||||||
IsTolvajKepzettseg = false,
|
IsTolvajKepzettseg = false,
|
||||||
Kepzettseg = KepzettsegExtensions.Convert(x),
|
Kepzettseg = KepzettsegExtensions.Convert1E(x),
|
||||||
}).ToList();
|
}).ToList();
|
||||||
if (dto.Tolvajkepzettsegek != null)
|
if (dto.Tolvajkepzettsegek != null)
|
||||||
{
|
{
|
||||||
@@ -145,7 +145,7 @@ public class CharacterDtoToDbModelService : ICharacterDtoToDbModelService
|
|||||||
{
|
{
|
||||||
Karakter = karakter,
|
Karakter = karakter,
|
||||||
IsTolvajKepzettseg = true,
|
IsTolvajKepzettseg = true,
|
||||||
Kepzettseg = KepzettsegExtensions.Convert(x),
|
Kepzettseg = KepzettsegExtensions.Convert1E(x),
|
||||||
}));
|
}));
|
||||||
}
|
}
|
||||||
return kepzettsegek;
|
return kepzettsegek;
|
||||||
+6
-6
@@ -2,18 +2,18 @@ using Kemkas.Web.Db.Enums;
|
|||||||
using Kemkas.Web.Db.Models;
|
using Kemkas.Web.Db.Models;
|
||||||
using Kemkas.Web.ViewModels;
|
using Kemkas.Web.ViewModels;
|
||||||
|
|
||||||
namespace Kemkas.Web.Services.Character;
|
namespace Kemkas.Web.Services.FirstEdition.Character;
|
||||||
|
|
||||||
public interface ICharacterDbModelToDtoService
|
public interface ICharacterDbModelToDtoService
|
||||||
{
|
{
|
||||||
public CharacterDto Convert(V1Karakter entity);
|
public Character1eDto Convert(V1Karakter entity);
|
||||||
}
|
}
|
||||||
|
|
||||||
public class CharacterDbModelToDtoService : ICharacterDbModelToDtoService
|
public class CharacterDbModelToDtoService : ICharacterDbModelToDtoService
|
||||||
{
|
{
|
||||||
public CharacterDto Convert(V1Karakter entity)
|
public Character1eDto Convert(V1Karakter entity)
|
||||||
{
|
{
|
||||||
return new CharacterDto
|
return new Character1eDto
|
||||||
{
|
{
|
||||||
Name = entity.Nev,
|
Name = entity.Nev,
|
||||||
Nem = entity.Nem,
|
Nem = entity.Nem,
|
||||||
@@ -36,8 +36,8 @@ public class CharacterDbModelToDtoService : ICharacterDbModelToDtoService
|
|||||||
Szint = entity.Szint,
|
Szint = entity.Szint,
|
||||||
HpRolls = entity.Szintlepesek.OrderBy(x => x.KarakterSzint).Skip(1).Select(x => x.HpRoll).ToList(),
|
HpRolls = entity.Szintlepesek.OrderBy(x => x.KarakterSzint).Skip(1).Select(x => x.HpRoll).ToList(),
|
||||||
TulajdonsagNovelesek = entity.Szintlepesek.OrderBy(x => x.KarakterSzint).Select(x => x.TulajdonsagNoveles).Where(x => x is not null).Cast<Tulajdonsag>().Select(x => x.Convert()).ToList(),
|
TulajdonsagNovelesek = entity.Szintlepesek.OrderBy(x => x.KarakterSzint).Select(x => x.TulajdonsagNoveles).Where(x => x is not null).Cast<Tulajdonsag>().Select(x => x.Convert()).ToList(),
|
||||||
HarcosSpecializaciok = entity.Osztaly == Osztaly.Harcos ? entity.Szintlepesek.OrderBy(x => x.KarakterSzint).Select(x => x.FegyverSpecializacio).Where(x => x != null).Cast<string>().ToList() : [],
|
HarcosSpecializaciok = entity.Osztaly == Osztaly1E.Harcos ? entity.Szintlepesek.OrderBy(x => x.KarakterSzint).Select(x => x.FegyverSpecializacio).Where(x => x != null).Cast<string>().ToList() : [],
|
||||||
KalozKritikus = entity.Osztaly == Osztaly.Kaloz ? entity.Szintlepesek.OrderBy(x => x.KarakterSzint).Select(x => x.FegyverSpecializacio).Where(x => x != null).Cast<string>().ToList() : [],
|
KalozKritikus = entity.Osztaly == Osztaly1E.Kaloz ? entity.Szintlepesek.OrderBy(x => x.KarakterSzint).Select(x => x.FegyverSpecializacio).Where(x => x != null).Cast<string>().ToList() : [],
|
||||||
Felszereles = new KarakterFelszerelesDto
|
Felszereles = new KarakterFelszerelesDto
|
||||||
{
|
{
|
||||||
PajzsId = entity.Pajzs,
|
PajzsId = entity.Pajzs,
|
||||||
+3
-2
@@ -1,6 +1,7 @@
|
|||||||
using Kemkas.Web.Services.Identity;
|
using Kemkas.Web.Services.Identity;
|
||||||
|
using Kemkas.Web.Services.Shared;
|
||||||
|
|
||||||
namespace Kemkas.Web.Services.Character;
|
namespace Kemkas.Web.Services.FirstEdition.Character;
|
||||||
|
|
||||||
public static class ServiceCollectionExtensions
|
public static class ServiceCollectionExtensions
|
||||||
{
|
{
|
||||||
@@ -9,7 +10,7 @@ public static class ServiceCollectionExtensions
|
|||||||
serviceCollection.AddScoped<ICurrentUserService, CurrentUserService>();
|
serviceCollection.AddScoped<ICurrentUserService, CurrentUserService>();
|
||||||
|
|
||||||
serviceCollection.AddTransient<ICharacterValidationService, CharacterValidationService>();
|
serviceCollection.AddTransient<ICharacterValidationService, CharacterValidationService>();
|
||||||
serviceCollection.AddTransient<ICharacterDtoToDbModelService, CharacterDtoToDbModelService>();
|
serviceCollection.AddTransient<ICharacter1EDtoToDbModelService, Character1EDtoToDbModelService>();
|
||||||
serviceCollection.AddTransient<ICharacterDbModelToDtoService, CharacterDbModelToDtoService>();
|
serviceCollection.AddTransient<ICharacterDbModelToDtoService, CharacterDbModelToDtoService>();
|
||||||
serviceCollection.AddScoped<ICharacterPersistenceService, CharacterPersistenceService>();
|
serviceCollection.AddScoped<ICharacterPersistenceService, CharacterPersistenceService>();
|
||||||
return serviceCollection;
|
return serviceCollection;
|
||||||
+3
-3
@@ -1,15 +1,15 @@
|
|||||||
using Kemkas.Web.ViewModels;
|
using Kemkas.Web.ViewModels;
|
||||||
|
|
||||||
namespace Kemkas.Web.Services.Character;
|
namespace Kemkas.Web.Services.FirstEdition.Character;
|
||||||
|
|
||||||
public interface ICharacterValidationService
|
public interface ICharacterValidationService
|
||||||
{
|
{
|
||||||
public string? Validate(CharacterDto dto);
|
public string? Validate(Character1eDto dto);
|
||||||
}
|
}
|
||||||
|
|
||||||
public class CharacterValidationService : ICharacterValidationService
|
public class CharacterValidationService : ICharacterValidationService
|
||||||
{
|
{
|
||||||
public string? Validate(CharacterDto dto)
|
public string? Validate(Character1eDto dto)
|
||||||
{
|
{
|
||||||
// TODO: add validation!!
|
// TODO: add validation!!
|
||||||
return null;
|
return null;
|
||||||
@@ -0,0 +1,82 @@
|
|||||||
|
using Kemkas.Web.Db.Enums;
|
||||||
|
using Kemkas.Web.Db.Models;
|
||||||
|
using Kemkas.Web.ViewModels;
|
||||||
|
|
||||||
|
namespace Kemkas.Web.Services.SecondEdition.Character;
|
||||||
|
|
||||||
|
public interface ICharacter2EDtoToDbModelService
|
||||||
|
{
|
||||||
|
public V2Karakter Convert(Character2eDto dto);
|
||||||
|
|
||||||
|
public void Update(V2Karakter original, Character2eDto dto);
|
||||||
|
}
|
||||||
|
|
||||||
|
public class Character1EDtoToDbModelService : ICharacter2EDtoToDbModelService
|
||||||
|
{
|
||||||
|
public V2Karakter Convert(Character2eDto dto)
|
||||||
|
{
|
||||||
|
var karakter = new V2Karakter
|
||||||
|
{
|
||||||
|
Nev = dto.Nev,
|
||||||
|
Nem = dto.Nem,
|
||||||
|
Kor = dto.Kor,
|
||||||
|
Isten = dto.Isten,
|
||||||
|
Jellem = JellemExtensions.Convert(dto.Jellem),
|
||||||
|
Faj = FajExtensions.Convert2E(dto.Faj),
|
||||||
|
Ero = dto.Tulajdonsagok.Ero,
|
||||||
|
Ugyesseg = dto.Tulajdonsagok.Ugy,
|
||||||
|
Egeszseg = dto.Tulajdonsagok.Egs,
|
||||||
|
Intelligencia = dto.Tulajdonsagok.Int,
|
||||||
|
Bolcsesseg = dto.Tulajdonsagok.Bol,
|
||||||
|
Karizma = dto.Tulajdonsagok.Kar,
|
||||||
|
Szint = dto.Szint,
|
||||||
|
Pajzs = dto.Felszereles.PancelId,
|
||||||
|
Pancel = dto.Felszereles.PancelId
|
||||||
|
};
|
||||||
|
|
||||||
|
karakter.KarakterKepzettsegek = ConvertKarakterKepzettsegek(dto, karakter);
|
||||||
|
karakter.Felszereles = dto.Felszereles.FegyverIds.Select(x => new V2Felszereles
|
||||||
|
{
|
||||||
|
Karakter = karakter,
|
||||||
|
IsFegyver = true,
|
||||||
|
TargyId = x,
|
||||||
|
}).ToList();
|
||||||
|
karakter.Szintlepesek = dto.Szintlepesek.Select((x, i) => new V2Szintlepes
|
||||||
|
{
|
||||||
|
Karakter = karakter,
|
||||||
|
Osztaly = OsztalyExtensions.Convert2E(x.Osztaly),
|
||||||
|
KarakterSzint = (byte)(i + 1),
|
||||||
|
HpRoll = x.HProll,
|
||||||
|
FegyverSpecializacio = x.HarcosFegyver ?? x.KalozKritikus,
|
||||||
|
TulajdonsagNoveles = x.TulajdonsagNoveles == null ? null : TulajdonsagExtensions.Convert(x.TulajdonsagNoveles),
|
||||||
|
TolvajExtraKepzettseg = x.TolvajExtraKepzettseg == null ? null : KepzettsegExtensions.Convert2E(x.TolvajExtraKepzettseg),
|
||||||
|
}).ToList();
|
||||||
|
|
||||||
|
return karakter;
|
||||||
|
}
|
||||||
|
|
||||||
|
public void Update(V2Karakter original, Character2eDto dto)
|
||||||
|
{
|
||||||
|
throw new NotImplementedException();
|
||||||
|
}
|
||||||
|
|
||||||
|
private static List<V2KarakterKepzettseg> ConvertKarakterKepzettsegek(Character2eDto dto, V2Karakter karakter)
|
||||||
|
{
|
||||||
|
var kepzettsegek = dto.Kepzettsegek.Select(x => new V2KarakterKepzettseg
|
||||||
|
{
|
||||||
|
Karakter = karakter,
|
||||||
|
IsTolvajKepzettseg = false,
|
||||||
|
Kepzettseg = KepzettsegExtensions.Convert2E(x),
|
||||||
|
}).ToList();
|
||||||
|
if (dto.Tolvajkepzettsegek != null)
|
||||||
|
{
|
||||||
|
kepzettsegek.AddRange(dto.Tolvajkepzettsegek.Select(x => new V2KarakterKepzettseg
|
||||||
|
{
|
||||||
|
Karakter = karakter,
|
||||||
|
IsTolvajKepzettseg = true,
|
||||||
|
Kepzettseg = KepzettsegExtensions.Convert2E(x),
|
||||||
|
}));
|
||||||
|
}
|
||||||
|
return kepzettsegek;
|
||||||
|
}
|
||||||
|
}
|
||||||
@@ -0,0 +1,147 @@
|
|||||||
|
using Kemkas.Web.Db;
|
||||||
|
using Kemkas.Web.Db.Enums;
|
||||||
|
using Kemkas.Web.Db.Models;
|
||||||
|
using Kemkas.Web.Services.Identity;
|
||||||
|
using Kemkas.Web.ViewModels;
|
||||||
|
using Microsoft.EntityFrameworkCore;
|
||||||
|
|
||||||
|
namespace Kemkas.Web.Services.Shared;
|
||||||
|
|
||||||
|
public interface ICharacterPersistenceService
|
||||||
|
{
|
||||||
|
public Task<Guid> StoreNewCharacter1E(V1Karakter karakter, bool isPublic = false);
|
||||||
|
|
||||||
|
public Task<Guid> StoreNewCharacter2E(V2Karakter karakter, bool isPublic = false);
|
||||||
|
|
||||||
|
public Task<V1Karakter?> GetCharacter1EById(Guid id, bool tracking = false);
|
||||||
|
|
||||||
|
public Task<V2Karakter?> GetCharacter2EById(Guid id, bool tracking = false);
|
||||||
|
|
||||||
|
public Task<List<CharacterListItemDto>> GetAllCharactersOfUser();
|
||||||
|
|
||||||
|
public Task UpdateCharacter1E(V1Karakter karakter, bool isPublic = false);
|
||||||
|
|
||||||
|
public Task UpdateCharacter2E(V2Karakter karakter, bool isPublic = false);
|
||||||
|
}
|
||||||
|
|
||||||
|
public class CharacterPersistenceService(
|
||||||
|
ApplicationDbContext dbContext,
|
||||||
|
ICurrentUserService currentUserService
|
||||||
|
) : ICharacterPersistenceService
|
||||||
|
{
|
||||||
|
|
||||||
|
public async Task<Guid> StoreNewCharacter1E(V1Karakter karakter, bool isPublic = false)
|
||||||
|
{
|
||||||
|
var currentUser = await currentUserService.GetCurrentUser();
|
||||||
|
karakter.OwnerUserId = currentUser?.Id;
|
||||||
|
karakter.Id = Guid.Empty;
|
||||||
|
karakter.IsPublic = isPublic;
|
||||||
|
dbContext.Karakterek.Add(karakter);
|
||||||
|
await dbContext.SaveChangesAsync();
|
||||||
|
return karakter.Id;
|
||||||
|
}
|
||||||
|
|
||||||
|
public async Task<Guid> StoreNewCharacter2E(V2Karakter karakter, bool isPublic = false)
|
||||||
|
{
|
||||||
|
var currentUser = await currentUserService.GetCurrentUser();
|
||||||
|
karakter.OwnerUserId = currentUser?.Id;
|
||||||
|
karakter.Id = Guid.Empty;
|
||||||
|
karakter.IsPublic = isPublic;
|
||||||
|
dbContext.Karakterek2E.Add(karakter);
|
||||||
|
await dbContext.SaveChangesAsync();
|
||||||
|
return karakter.Id;
|
||||||
|
}
|
||||||
|
|
||||||
|
public async Task<V1Karakter?> GetCharacter1EById(Guid id, bool tracking = false)
|
||||||
|
{
|
||||||
|
IQueryable<V1Karakter> queriable = dbContext.Karakterek.Include(x => x.KarakterKepzettsegek)
|
||||||
|
.Include(x => x.Szintlepesek)
|
||||||
|
.Include(x => x.Felszereles);
|
||||||
|
|
||||||
|
queriable = tracking ? queriable.AsTracking() : queriable.AsNoTracking();
|
||||||
|
|
||||||
|
var entity = await queriable
|
||||||
|
.FirstOrDefaultAsync(x => x.Id == id);
|
||||||
|
|
||||||
|
if (entity?.OwnerUserId is null || entity.IsPublic)
|
||||||
|
{
|
||||||
|
return entity;
|
||||||
|
}
|
||||||
|
|
||||||
|
var currentUser = await currentUserService.GetCurrentUser();
|
||||||
|
return entity.OwnerUserId == currentUser?.Id ? entity : null;
|
||||||
|
}
|
||||||
|
|
||||||
|
public async Task<V2Karakter?> GetCharacter2EById(Guid id, bool tracking = false)
|
||||||
|
{
|
||||||
|
IQueryable<V2Karakter> queriable = dbContext.Karakterek2E.Include(x => x.KarakterKepzettsegek)
|
||||||
|
.Include(x => x.Szintlepesek)
|
||||||
|
.Include(x => x.Felszereles);
|
||||||
|
|
||||||
|
queriable = tracking ? queriable.AsTracking() : queriable.AsNoTracking();
|
||||||
|
|
||||||
|
var entity = await queriable
|
||||||
|
.FirstOrDefaultAsync(x => x.Id == id);
|
||||||
|
|
||||||
|
if (entity?.OwnerUserId is null || entity.IsPublic)
|
||||||
|
{
|
||||||
|
return entity;
|
||||||
|
}
|
||||||
|
|
||||||
|
var currentUser = await currentUserService.GetCurrentUser();
|
||||||
|
return entity.OwnerUserId == currentUser?.Id ? entity : null;
|
||||||
|
}
|
||||||
|
|
||||||
|
public async Task<List<CharacterListItemDto>> GetAllCharactersOfUser()
|
||||||
|
{
|
||||||
|
var currentUser = await currentUserService.GetCurrentUser();
|
||||||
|
if (currentUser is null)
|
||||||
|
{
|
||||||
|
return [];
|
||||||
|
}
|
||||||
|
|
||||||
|
var characters = await dbContext.Karakterek
|
||||||
|
.Where(k => k.OwnerUserId == currentUser.Id)
|
||||||
|
.Select(k => new CharacterListItemDto
|
||||||
|
{
|
||||||
|
Id = k.Id,
|
||||||
|
Name = k.Nev,
|
||||||
|
Szint = k.Szint,
|
||||||
|
Faj = k.Faj.Convert(),
|
||||||
|
Osztaly = k.Osztaly.Convert(),
|
||||||
|
Edition = "1e"
|
||||||
|
})
|
||||||
|
.ToListAsync();
|
||||||
|
|
||||||
|
var characters2E = await dbContext.Karakterek2E
|
||||||
|
.Where(k => k.OwnerUserId == currentUser.Id)
|
||||||
|
.Select(k => new CharacterListItemDto
|
||||||
|
{
|
||||||
|
Id = k.Id,
|
||||||
|
Name = k.Nev,
|
||||||
|
Szint = k.Szint,
|
||||||
|
Faj = k.Faj.Convert(),
|
||||||
|
Osztaly = "TODO!", // TODO: support for multiclass characters
|
||||||
|
Edition = "2e"
|
||||||
|
})
|
||||||
|
.ToListAsync();
|
||||||
|
|
||||||
|
characters.AddRange(characters2E);
|
||||||
|
|
||||||
|
return characters;
|
||||||
|
}
|
||||||
|
|
||||||
|
public async Task UpdateCharacter1E(V1Karakter karakter, bool isPublic = false)
|
||||||
|
{
|
||||||
|
karakter.IsPublic = isPublic;
|
||||||
|
dbContext.Karakterek.Attach(karakter);
|
||||||
|
await dbContext.SaveChangesAsync();
|
||||||
|
}
|
||||||
|
|
||||||
|
public async Task UpdateCharacter2E(V2Karakter karakter, bool isPublic = false)
|
||||||
|
{
|
||||||
|
karakter.IsPublic = isPublic;
|
||||||
|
dbContext.Karakterek2E.Attach(karakter);
|
||||||
|
await dbContext.SaveChangesAsync();
|
||||||
|
}
|
||||||
|
}
|
||||||
@@ -3,7 +3,7 @@ using System.Text.Json.Serialization;
|
|||||||
|
|
||||||
namespace Kemkas.Web.ViewModels;
|
namespace Kemkas.Web.ViewModels;
|
||||||
|
|
||||||
public struct CharacterDto
|
public struct Character1eDto
|
||||||
{
|
{
|
||||||
[Required]
|
[Required]
|
||||||
[JsonPropertyName("name")]
|
[JsonPropertyName("name")]
|
||||||
@@ -0,0 +1,46 @@
|
|||||||
|
using System.ComponentModel.DataAnnotations;
|
||||||
|
using System.Text.Json.Serialization;
|
||||||
|
|
||||||
|
namespace Kemkas.Web.ViewModels;
|
||||||
|
|
||||||
|
public struct Character2eDto
|
||||||
|
{
|
||||||
|
[Required]
|
||||||
|
[JsonPropertyName("nev")]
|
||||||
|
public string Nev { get; set; }
|
||||||
|
|
||||||
|
[JsonPropertyName("nem")]
|
||||||
|
public string? Nem { get; set; }
|
||||||
|
|
||||||
|
[JsonPropertyName("kor")]
|
||||||
|
public double? Kor { get; set; }
|
||||||
|
|
||||||
|
[JsonPropertyName("jellem")]
|
||||||
|
public string Jellem { get; set; }
|
||||||
|
|
||||||
|
[JsonPropertyName("isten")]
|
||||||
|
public string? Isten { get; set; }
|
||||||
|
|
||||||
|
[JsonPropertyName("faj")]
|
||||||
|
public string Faj { get; set; }
|
||||||
|
|
||||||
|
[JsonPropertyName("tulajdonsagok")]
|
||||||
|
public KarakterTulajdonsagokDto Tulajdonsagok { get; set; }
|
||||||
|
|
||||||
|
[JsonPropertyName("kepzettsegek")]
|
||||||
|
public IList<string> Kepzettsegek { get; set; }
|
||||||
|
|
||||||
|
[JsonPropertyName("tolvajkepzettsegek")]
|
||||||
|
public IList<string>? Tolvajkepzettsegek { get; set; }
|
||||||
|
|
||||||
|
[JsonPropertyName("szint")]
|
||||||
|
public byte Szint { get; set; }
|
||||||
|
|
||||||
|
[JsonPropertyName("szintlepesek")]
|
||||||
|
public IList<Szintlepes> Szintlepesek { get; set; }
|
||||||
|
|
||||||
|
[JsonPropertyName("felszereles")]
|
||||||
|
public KarakterFelszerelesDto Felszereles { get; set; }
|
||||||
|
|
||||||
|
public bool? IsPublic { get; set; }
|
||||||
|
}
|
||||||
@@ -2,6 +2,9 @@ using System.Text.Json.Serialization;
|
|||||||
|
|
||||||
namespace Kemkas.Web.ViewModels;
|
namespace Kemkas.Web.ViewModels;
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// currently the same for 1st edition and 2nd edition, be cautious!
|
||||||
|
/// </summary>
|
||||||
public struct KarakterFelszerelesDto
|
public struct KarakterFelszerelesDto
|
||||||
{
|
{
|
||||||
[JsonPropertyName("pancelID")]
|
[JsonPropertyName("pancelID")]
|
||||||
|
|||||||
@@ -2,6 +2,9 @@ using System.Text.Json.Serialization;
|
|||||||
|
|
||||||
namespace Kemkas.Web.ViewModels;
|
namespace Kemkas.Web.ViewModels;
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// currently the same for 1st edition and 2nd edition, be cautious!
|
||||||
|
/// </summary>
|
||||||
public struct KarakterTulajdonsagokDto
|
public struct KarakterTulajdonsagokDto
|
||||||
{
|
{
|
||||||
[JsonPropertyName("t_ero")]
|
[JsonPropertyName("t_ero")]
|
||||||
|
|||||||
@@ -0,0 +1,24 @@
|
|||||||
|
using System.Text.Json.Serialization;
|
||||||
|
|
||||||
|
namespace Kemkas.Web.ViewModels;
|
||||||
|
|
||||||
|
public struct Szintlepes
|
||||||
|
{
|
||||||
|
[JsonPropertyName("osztaly")]
|
||||||
|
public string Osztaly { get; set; }
|
||||||
|
|
||||||
|
[JsonPropertyName("HProll")]
|
||||||
|
public byte HProll { get; set; }
|
||||||
|
|
||||||
|
[JsonPropertyName("tolvajExtraKepzettseg")]
|
||||||
|
public string? TolvajExtraKepzettseg { get; set; }
|
||||||
|
|
||||||
|
[JsonPropertyName("harcosFegyver")]
|
||||||
|
public string? HarcosFegyver { get; set; }
|
||||||
|
|
||||||
|
[JsonPropertyName("kalozKritikus")]
|
||||||
|
public string? KalozKritikus { get; set; }
|
||||||
|
|
||||||
|
[JsonPropertyName("tulajdonsagNoveles")]
|
||||||
|
public string? TulajdonsagNoveles { get; set; }
|
||||||
|
}
|
||||||
@@ -1,12 +0,0 @@
|
|||||||
namespace Kemkas.Web.ViewModels;
|
|
||||||
|
|
||||||
public class WeatherForecast
|
|
||||||
{
|
|
||||||
public DateOnly Date { get; set; }
|
|
||||||
|
|
||||||
public int TemperatureC { get; set; }
|
|
||||||
|
|
||||||
public int TemperatureF => 32 + (int)(TemperatureC / 0.5556);
|
|
||||||
|
|
||||||
public string? Summary { get; set; }
|
|
||||||
}
|
|
||||||
@@ -62,7 +62,7 @@ function App(props: {faro?: Faro}) {
|
|||||||
{
|
{
|
||||||
path: "/1e/karakter/:id",
|
path: "/1e/karakter/:id",
|
||||||
element: <CreateCharacter faro={props.faro}/>,
|
element: <CreateCharacter faro={props.faro}/>,
|
||||||
loader: args => fetch(`${window.location.origin}/api/Character/${args.params.id}`),
|
loader: args => fetch(`${window.location.origin}/api/Character1E/${args.params.id}`),
|
||||||
ErrorBoundary: ErrorBoundary,
|
ErrorBoundary: ErrorBoundary,
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
@@ -77,7 +77,7 @@ function App(props: {faro?: Faro}) {
|
|||||||
{
|
{
|
||||||
path: "/2e/karakter/:id",
|
path: "/2e/karakter/:id",
|
||||||
element: <CreateCharacter faro={props.faro}/>,
|
element: <CreateCharacter faro={props.faro}/>,
|
||||||
loader: args => fetch(`${window.location.origin}/api/Character/${args.params.id}`),
|
loader: args => fetch(`${window.location.origin}/api/Character2E/${args.params.id}`),
|
||||||
ErrorBoundary: ErrorBoundary,
|
ErrorBoundary: ErrorBoundary,
|
||||||
},
|
},
|
||||||
]);
|
]);
|
||||||
|
|||||||
@@ -2,7 +2,7 @@ import {KarakterInputs} from "../domain-models/karakter";
|
|||||||
import axios from "axios";
|
import axios from "axios";
|
||||||
|
|
||||||
export async function StoreNewCharacter(karakter: KarakterInputs, isPublic: boolean = false) {
|
export async function StoreNewCharacter(karakter: KarakterInputs, isPublic: boolean = false) {
|
||||||
let response = await axios.post(`${window.location.origin}/api/Character/`, karakter, {
|
let response = await axios.post(`${window.location.origin}/api/Character1E/`, karakter, {
|
||||||
withCredentials: true,
|
withCredentials: true,
|
||||||
params: {
|
params: {
|
||||||
isPublic,
|
isPublic,
|
||||||
@@ -17,7 +17,7 @@ export async function StoreNewCharacter(karakter: KarakterInputs, isPublic: bool
|
|||||||
}
|
}
|
||||||
|
|
||||||
export async function UpdateCharacter(id: string, karakter: KarakterInputs, isPublic: boolean = false) {
|
export async function UpdateCharacter(id: string, karakter: KarakterInputs, isPublic: boolean = false) {
|
||||||
let response = await axios.post(`${window.location.origin}/api/Character/${id}`, karakter, {
|
let response = await axios.post(`${window.location.origin}/api/Character1E/${id}`, karakter, {
|
||||||
withCredentials: true,
|
withCredentials: true,
|
||||||
params: {
|
params: {
|
||||||
isPublic,
|
isPublic,
|
||||||
|
|||||||
@@ -59,7 +59,7 @@ function CreateCharacter2E(props: {}) {
|
|||||||
<label className='col-md-2 col-sm-3 col-form-label'>Név</label>
|
<label className='col-md-2 col-sm-3 col-form-label'>Név</label>
|
||||||
<input className='col form-control'
|
<input className='col form-control'
|
||||||
value={karakter.nev}
|
value={karakter.nev}
|
||||||
onChange={(e) => setKarakter({...karakter, name: e.target.value})}/>
|
onChange={(e) => setKarakter({...karakter, nev: e.target.value})}/>
|
||||||
{!karakter.nev &&
|
{!karakter.nev &&
|
||||||
<span className='form-field-error'>A karaktered nem mászkálhat névtelenül a világban!</span>}
|
<span className='form-field-error'>A karaktered nem mászkálhat névtelenül a világban!</span>}
|
||||||
</div>
|
</div>
|
||||||
|
|||||||
Reference in New Issue
Block a user