44 lines
1.1 KiB
C#
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;
|
|
}
|
|
}
|