Start migration to asp .net core + entity framework core

This commit is contained in:
asesidaa
2023-02-08 21:33:22 +08:00
parent aea09c2c8b
commit f7761f200f
56 changed files with 2798 additions and 0 deletions
@@ -0,0 +1,24 @@
using Domain.Entities;
using Infrastructure.Persistence;
using Microsoft.AspNetCore.Mvc;
namespace MainServer.Controllers.API
{
[Route("api/[controller]")]
[ApiController]
public class TestController : ControllerBase
{
private readonly MusicDbContext context;
public TestController(MusicDbContext context)
{
this.context = context;
}
[HttpGet]
public MusicUnlock GetOne()
{
return context.MusicUnlocks.First();
}
}
}
+15
View File
@@ -0,0 +1,15 @@
using MediatR;
using Microsoft.AspNetCore.Mvc;
namespace MainServer.Controllers;
public abstract class BaseController<T> : ControllerBase where T : BaseController<T>
{
private ILogger<T>? logger;
private ISender? mediator;
protected ISender Mediator => (mediator ??= HttpContext.RequestServices.GetService<ISender>()) ?? throw new InvalidOperationException();
protected ILogger<T> Logger => (logger ??= HttpContext.RequestServices.GetService<ILogger<T>>()) ?? throw new InvalidOperationException();
}
@@ -0,0 +1,25 @@
using Microsoft.AspNetCore.Mvc;
namespace MainServer.Controllers.Game;
[ApiController]
[Route("alive")]
public class AliveController : ControllerBase
{
[HttpGet("i.php")]
public IActionResult AliveCheck()
{
var remoteIpAddress = Request.HttpContext.Connection.RemoteIpAddress;
var serverIpAddress = Request.HttpContext.Connection.LocalIpAddress;
var response = $"REMOTE ADDRESS:{remoteIpAddress}\n" +
"SERVER NAME:GCLocalServer\n" +
$"SERVER ADDR:{serverIpAddress}";
return Ok(response);
}
[HttpGet("/{id}/Alive.txt")]
public IActionResult GetAliveFile()
{
return Ok("");
}
}
@@ -0,0 +1,22 @@
using Microsoft.AspNetCore.Mvc;
namespace MainServer.Controllers.Game;
[ApiController]
[Route("service/incom")]
public class IncomController : ControllerBase
{
private const string INCOM_RESPONSE = "1+1";
[HttpPost("incom.php")]
public IActionResult Incom()
{
return Ok(INCOM_RESPONSE);
}
[HttpPost("incomALL.php")]
public IActionResult IncomAll()
{
return Ok(INCOM_RESPONSE);
}
}
@@ -0,0 +1,14 @@
using Microsoft.AspNetCore.Mvc;
namespace MainServer.Controllers.Game;
[ApiController]
[Route("service/respone")]
public class ResponeController : ControllerBase
{
[HttpPost("respone.php")]
public IActionResult Respone()
{
return Ok("1");
}
}
@@ -0,0 +1,41 @@
using Application.Game.Server;
using Microsoft.AspNetCore.Mvc;
namespace MainServer.Controllers.Game;
[ApiController]
[Route("server")]
public class ServerController : BaseController<ServerController>
{
[HttpGet("cursel.php")]
public ActionResult<string> GetCursel()
{
return Ok("1\n");
}
[HttpGet("gameinfo.php")]
public ActionResult<string> GetGameInfo()
{
return Ok("0\n" +
"3\n" +
"301000,test1\n" +
"302000,test2\n" +
"303000,test3");
}
[HttpGet("certify.php")]
public async Task<ActionResult<string>> Certify(string? gid, string? mac,
[FromQuery(Name = "r")]string? random, [FromQuery(Name = "md")]string? md5)
{
var host = Request.Host.Value;
var command = new CertifyCommand(gid, mac, random, md5, host);
return Ok(await Mediator.Send(command));
}
[HttpGet("data.php")]
public async Task<ActionResult<string>> GetData()
{
var query = new GetDataQuery(Request.Host.Value);
return Ok(await Mediator.Send(query));
}
}
@@ -0,0 +1,19 @@
using Application.Game.Option;
using Microsoft.AspNetCore.Mvc;
namespace MainServer.Controllers.Game;
[ApiController]
[Route("service/option")]
public class ServiceOptionController : BaseController<ServiceOptionController>
{
[HttpGet("PlayInfo.php")]
public async Task<ActionResult<string>> GetPlayCount([FromQuery(Name = "card_id")] long cardId)
{
var query = new PlayCountQuery(cardId);
var count = await Mediator.Send(query);
return Ok("1\n" +
$"{count}");
}
}
@@ -0,0 +1,15 @@
using Microsoft.AspNetCore.Mvc;
namespace MainServer.Controllers.Game;
[ApiController]
[Route("update/cgi")]
public class UpdateController : ControllerBase
{
// TODO: Check update properly
[HttpGet("check.php")]
public IActionResult UpdateCheck()
{
return NotFound();
}
}
@@ -0,0 +1,16 @@
using Microsoft.AspNetCore.Mvc;
namespace MainServer.Controllers.Game;
[ApiController]
[Route("service/upload")]
public class UploadController : ControllerBase
{
private const string UPLOAD_RESPONSE = "1\n" +
"OK";
[HttpPost("upload.php")]
public IActionResult Upload()
{
return Ok(UPLOAD_RESPONSE);
}
}