Files
spacerace/Server/Controllers/CompletionController.cs
T
2023-08-23 13:39:13 +10:00

44 lines
1.1 KiB
C#

using Microsoft.AspNetCore.Mvc;
using Server.Models;
namespace Server.Controllers;
[ApiController]
[Route("[controller]")]
public class CompletionController : ControllerBase {
private readonly ILogger<CompletionController> _logger;
private SpaceRaceDbContext _db;
public CompletionController(ILogger<CompletionController> logger, SpaceRaceDbContext db) {
_logger = logger;
_db = db;
}
[HttpGet()]
public IEnumerable<CompletionDTO> Get() {
return _db.Completions.Select(c => new CompletionDTO {
Id = c.Id,
UserId = c.UserId,
Map = c.Map,
Time = c.Time,
Date = c.Date,
});
}
[HttpPost()]
public async Task<Completion> Post(CompletionDTO dto) {
Completion v = new Completion {
Id = Guid.NewGuid(),
UserId = Guid.NewGuid(),
Map = dto.Map,
Time = dto.Time,
Date = DateTimeOffset.UtcNow,
};
_db.Completions.Add(v);
await _db.SaveChangesAsync();
return v;
}
}