|
@@ -36,7 +36,7 @@ public class TracksController : ControllerBase
|
|
|
var fileName = await _fileStorage.UploadFileAsync(file, cancellationToken);
|
|
var fileName = await _fileStorage.UploadFileAsync(file, cancellationToken);
|
|
|
|
|
|
|
|
var gpxSummary = _gpxParser.ExtractSummary(_fileStorage.OpenFileRead(fileName));
|
|
var gpxSummary = _gpxParser.ExtractSummary(_fileStorage.OpenFileRead(fileName));
|
|
|
- var userId = HttpContext.User.FindFirst(ClaimTypes.NameIdentifier)?.Value ?? "<unknown>";
|
|
|
|
|
|
|
+ var userId = User.FindFirst(ClaimTypes.NameIdentifier)?.Value ?? "<unknown>";
|
|
|
var track = _queryFactory.CreateTrackCommand().Create(userId, fileName, gpxSummary);
|
|
var track = _queryFactory.CreateTrackCommand().Create(userId, fileName, gpxSummary);
|
|
|
|
|
|
|
|
return Ok(track);
|
|
return Ok(track);
|
|
@@ -51,15 +51,25 @@ public class TracksController : ControllerBase
|
|
|
}
|
|
}
|
|
|
|
|
|
|
|
[HttpPut("{id}")]
|
|
[HttpPut("{id}")]
|
|
|
- public ActionResult<Track> UpdateTrack([FromRoute] string id, [FromBody] Track track)
|
|
|
|
|
|
|
+ public ActionResult<Track> UpdateTrack(string id, [FromBody] Track track)
|
|
|
{
|
|
{
|
|
|
if (id != track.TrackId.ToString())
|
|
if (id != track.TrackId.ToString())
|
|
|
{
|
|
{
|
|
|
throw new ArgumentException("Object ID in URL does not match track ID");
|
|
throw new ArgumentException("Object ID in URL does not match track ID");
|
|
|
}
|
|
}
|
|
|
- var userId = HttpContext.User.FindFirst(ClaimTypes.NameIdentifier)?.Value ?? "<unknown>";
|
|
|
|
|
|
|
+ var userId = User.FindFirst(ClaimTypes.NameIdentifier)?.Value ?? "<unknown>";
|
|
|
var result = _queryFactory.UpdateTrackCommand().Update(userId, track);
|
|
var result = _queryFactory.UpdateTrackCommand().Update(userId, track);
|
|
|
|
|
|
|
|
return Ok(result);
|
|
return Ok(result);
|
|
|
}
|
|
}
|
|
|
|
|
+
|
|
|
|
|
+ [HttpDelete("{id}")]
|
|
|
|
|
+ public ActionResult DeleteTrack(string id)
|
|
|
|
|
+ {
|
|
|
|
|
+ var userId = User.FindFirst(ClaimTypes.NameIdentifier)?.Value ?? "<unknown>";
|
|
|
|
|
+ var fileName = _queryFactory.DeleteTrackCommand().Delete(userId, new ObjectId(id));
|
|
|
|
|
+ _fileStorage.DeleteFile(fileName);
|
|
|
|
|
+
|
|
|
|
|
+ return Ok();
|
|
|
|
|
+ }
|
|
|
}
|
|
}
|