Skip to content
Draft
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
420 changes: 420 additions & 0 deletions BUGS.md

Large diffs are not rendered by default.

20 changes: 10 additions & 10 deletions OV_DB/Controllers/AdminController.cs
Original file line number Diff line number Diff line change
Expand Up @@ -36,7 +36,7 @@ public AdminController(OVDBDatabaseContext dbContext, IConfiguration configurati
[HttpPost("AddMissingGuidsForRoute")]
public async Task<ActionResult> AddMissingGuidsForRoutes()
{
var adminClaim = (User.Claims.SingleOrDefault(c => c.Type == "admin").Value ?? "false");
var adminClaim = (User.Claims.SingleOrDefault(c => c.Type == "admin")?.Value ?? "false");
if (string.Equals(adminClaim, "false", StringComparison.OrdinalIgnoreCase))
{
return Forbid();
Expand All @@ -53,7 +53,7 @@ public async Task<ActionResult> AddMissingGuidsForRoutes()
[HttpGet("users")]
public async Task<ActionResult> GetAdministratorUsers()
{
var adminClaim = (User.Claims.SingleOrDefault(c => c.Type == "admin").Value ?? "false");
var adminClaim = (User.Claims.SingleOrDefault(c => c.Type == "admin")?.Value ?? "false");
if (string.Equals(adminClaim, "false", StringComparison.OrdinalIgnoreCase))
{
return Forbid();
Expand Down Expand Up @@ -101,7 +101,7 @@ public async Task<ActionResult> GetAdministratorUsers()
[HttpGet("maps")]
public async Task<ActionResult> GetAdministratorMaps()
{
var adminClaim = (User.Claims.SingleOrDefault(c => c.Type == "admin").Value ?? "false");
var adminClaim = (User.Claims.SingleOrDefault(c => c.Type == "admin")?.Value ?? "false");
if (string.Equals(adminClaim, "false", StringComparison.OrdinalIgnoreCase))
{
return Forbid();
Expand All @@ -122,7 +122,7 @@ public async Task<ActionResult> GetAdministratorMaps()
[HttpGet("distance/{id:int}")]
public async Task<ActionResult> CalculateDistanceById(int id)
{
var adminClaim = (User.Claims.SingleOrDefault(c => c.Type == "admin").Value ?? "false");
var adminClaim = (User.Claims.SingleOrDefault(c => c.Type == "admin")?.Value ?? "false");
if (string.Equals(adminClaim, "false", StringComparison.OrdinalIgnoreCase))
{
return Forbid();
Expand All @@ -141,7 +141,7 @@ public async Task<ActionResult> CalculateDistanceById(int id)
[HttpGet("distance/missing")]
public async Task<ActionResult> CalculateDistanceForAllMissing()
{
var adminClaim = (User.Claims.SingleOrDefault(c => c.Type == "admin").Value ?? "false");
var adminClaim = (User.Claims.SingleOrDefault(c => c.Type == "admin")?.Value ?? "false");
if (string.Equals(adminClaim, "false", StringComparison.OrdinalIgnoreCase))
{
return Forbid();
Expand All @@ -159,7 +159,7 @@ public async Task<ActionResult> CalculateDistanceForAllMissing()
[HttpGet("distance/all")]
public async Task<ActionResult> CalculateDistanceForAll()
{
var adminClaim = (User.Claims.SingleOrDefault(c => c.Type == "admin").Value ?? "false");
var adminClaim = (User.Claims.SingleOrDefault(c => c.Type == "admin")?.Value ?? "false");
if (string.Equals(adminClaim, "false", StringComparison.OrdinalIgnoreCase))
{
return Forbid();
Expand All @@ -185,7 +185,7 @@ public async Task<ActionResult> CalculateDistanceForAll()
[HttpGet("convertToInstances")]
public async Task<ActionResult> ConvertToInstances()
{
var adminClaim = (User.Claims.SingleOrDefault(c => c.Type == "admin").Value ?? "false");
var adminClaim = (User.Claims.SingleOrDefault(c => c.Type == "admin")?.Value ?? "false");
if (string.Equals(adminClaim, "false", StringComparison.OrdinalIgnoreCase))
{
return Forbid();
Expand All @@ -211,7 +211,7 @@ public async Task<ActionResult> ConvertToInstances()
[HttpGet("addRegions")]
public async Task<ActionResult> AddRegionsToAllRoutes([FromServices] IRouteRegionsService routeRegionsService)
{
var adminClaim = (User.Claims.SingleOrDefault(c => c.Type == "admin").Value ?? "false");
var adminClaim = (User.Claims.SingleOrDefault(c => c.Type == "admin")?.Value ?? "false");
if (string.Equals(adminClaim, "false", StringComparison.OrdinalIgnoreCase))
{
return Forbid();
Expand Down Expand Up @@ -241,7 +241,7 @@ public async Task<ActionResult> AddRegionsToAllRoutes([FromServices] IRouteRegio
[HttpGet("fixOriginalnames")]
public async Task<ActionResult> FixOriginalNames()
{
var adminClaim = (User.Claims.SingleOrDefault(c => c.Type == "admin").Value ?? "false");
var adminClaim = (User.Claims.SingleOrDefault(c => c.Type == "admin")?.Value ?? "false");
if (string.Equals(adminClaim, "false", StringComparison.OrdinalIgnoreCase))
{
return Forbid();
Expand All @@ -267,7 +267,7 @@ public async Task<ActionResult> FixOriginalNames()
[AllowAnonymous]
public async Task<ActionResult> AssignRegionsToStations([FromServices] IStationRegionsService stationRegionsService, [FromQuery] int? regionId)
{
var adminClaim = (User.Claims.SingleOrDefault(c => c.Type == "admin").Value ?? "false");
var adminClaim = (User.Claims.SingleOrDefault(c => c.Type == "admin")?.Value ?? "false");
if (string.Equals(adminClaim, "false", StringComparison.OrdinalIgnoreCase))
{
return Forbid();
Expand Down
2 changes: 1 addition & 1 deletion OV_DB/Controllers/ImporterController.cs
Original file line number Diff line number Diff line change
Expand Up @@ -622,7 +622,7 @@ private async Task<List<OSMLineDTO>> CreateRoutesListAsync(string reference, OSM
[HttpPost("addRoute")]
public async Task<ActionResult<Route>> ImportRouteToDatabaseAsync([FromBody] OSMLineDTO line)
{
var userIdClaim = int.Parse(User.Claims.SingleOrDefault(c => c.Type == ClaimTypes.NameIdentifier).Value ?? "-1");
var userIdClaim = int.Parse(User.Claims.SingleOrDefault(c => c.Type == ClaimTypes.NameIdentifier)?.Value ?? "-1");
if (userIdClaim < 0)
{
return Forbid();
Expand Down
17 changes: 11 additions & 6 deletions OV_DB/Controllers/MapsController.cs
Original file line number Diff line number Diff line change
Expand Up @@ -26,7 +26,7 @@ public MapsController(OVDBDatabaseContext context)
[HttpGet]
public async Task<ActionResult<IEnumerable<Map>>> GetMaps()
{
var userIdClaim = int.Parse(User.Claims.SingleOrDefault(c => c.Type == ClaimTypes.NameIdentifier).Value ?? "-1");
var userIdClaim = int.Parse(User.Claims.SingleOrDefault(c => c.Type == ClaimTypes.NameIdentifier)?.Value ?? "-1");
if (userIdClaim < 0)
{
return Forbid();
Expand All @@ -42,7 +42,7 @@ public async Task<ActionResult<IEnumerable<Map>>> GetMaps()
[HttpGet("{id}")]
public async Task<ActionResult<Map>> GetMap(int id)
{
var userIdClaim = int.Parse(User.Claims.SingleOrDefault(c => c.Type == ClaimTypes.NameIdentifier).Value ?? "-1");
var userIdClaim = int.Parse(User.Claims.SingleOrDefault(c => c.Type == ClaimTypes.NameIdentifier)?.Value ?? "-1");
if (userIdClaim < 0)
{
return Forbid();
Expand All @@ -63,13 +63,18 @@ public async Task<ActionResult<Map>> GetMap(int id)
[HttpPut]
public async Task<IActionResult> PutMap(Map map)
{
var userIdClaim = int.Parse(User.Claims.SingleOrDefault(c => c.Type == ClaimTypes.NameIdentifier).Value ?? "-1");
var userIdClaim = int.Parse(User.Claims.SingleOrDefault(c => c.Type == ClaimTypes.NameIdentifier)?.Value ?? "-1");
if (userIdClaim < 0)
{
return Forbid();
}
var dbMap = await _context.Maps.Where(m => m.UserId == userIdClaim).SingleOrDefaultAsync(m => m.MapId == map.MapId);

if (dbMap == null)
{
return NotFound();
}

dbMap.SharingLinkName = map.SharingLinkName;
dbMap.Name = map.Name;
dbMap.NameNL = map.NameNL;
Expand Down Expand Up @@ -109,7 +114,7 @@ public async Task<IActionResult> PutMap(Map map)
[HttpPost]
public async Task<ActionResult<Map>> PostMap(Map map)
{
var userIdClaim = int.Parse(User.Claims.SingleOrDefault(c => c.Type == ClaimTypes.NameIdentifier).Value ?? "-1");
var userIdClaim = int.Parse(User.Claims.SingleOrDefault(c => c.Type == ClaimTypes.NameIdentifier)?.Value ?? "-1");
if (userIdClaim < 0)
{
return Forbid();
Expand All @@ -132,7 +137,7 @@ public async Task<ActionResult<Map>> PostMap(Map map)
[HttpDelete("{id}")]
public async Task<ActionResult<Map>> DeleteMap(int id)
{
var userIdClaim = int.Parse(User.Claims.SingleOrDefault(c => c.Type == ClaimTypes.NameIdentifier).Value ?? "-1");
var userIdClaim = int.Parse(User.Claims.SingleOrDefault(c => c.Type == ClaimTypes.NameIdentifier)?.Value ?? "-1");
if (userIdClaim < 0)
{
return Forbid();
Expand All @@ -153,7 +158,7 @@ public async Task<ActionResult<Map>> DeleteMap(int id)
[HttpPost("order")]
public async Task<ActionResult> UpdateMapsOrdering([FromBody] List<int> mapOrdering)
{
var userIdClaim = int.Parse(User.Claims.SingleOrDefault(c => c.Type == ClaimTypes.NameIdentifier).Value ?? "-1");
var userIdClaim = int.Parse(User.Claims.SingleOrDefault(c => c.Type == ClaimTypes.NameIdentifier)?.Value ?? "-1");
if (userIdClaim < 0)
{
return Forbid();
Expand Down
18 changes: 9 additions & 9 deletions OV_DB/Controllers/OperatorsController.cs
Original file line number Diff line number Diff line change
Expand Up @@ -35,7 +35,7 @@ public OperatorsController(IConfiguration configuration, OVDBDatabaseContext dbC
[HttpPost]
public async Task<ActionResult<Operator>> CreateOperator(OperatorUpdateDTO createOperator)
{
var adminClaim = (User.Claims.SingleOrDefault(c => c.Type == "admin").Value ?? "false");
var adminClaim = (User.Claims.SingleOrDefault(c => c.Type == "admin")?.Value ?? "false");
if (string.Equals(adminClaim, "false", StringComparison.OrdinalIgnoreCase))
{
return Forbid();
Expand All @@ -58,7 +58,7 @@ public async Task<ActionResult<Operator>> CreateOperator(OperatorUpdateDTO creat
[HttpGet("{id}")]
public async Task<ActionResult<OperatorDTO>> GetOperatorById(int id)
{
var adminClaim = (User.Claims.SingleOrDefault(c => c.Type == "admin").Value ?? "false");
var adminClaim = (User.Claims.SingleOrDefault(c => c.Type == "admin")?.Value ?? "false");
if (string.Equals(adminClaim, "false", StringComparison.OrdinalIgnoreCase))
{
return Forbid();
Expand Down Expand Up @@ -127,7 +127,7 @@ public async Task<ActionResult<OperatorDTO>> GetOperatorLogo(int id)
[HttpGet]
public async Task<ActionResult<List<OperatorDTO>>> GetAllOperators()
{
var adminClaim = (User.Claims.SingleOrDefault(c => c.Type == "admin").Value ?? "false");
var adminClaim = (User.Claims.SingleOrDefault(c => c.Type == "admin")?.Value ?? "false");
if (string.Equals(adminClaim, "false", StringComparison.OrdinalIgnoreCase))
{
return Forbid();
Expand All @@ -139,7 +139,7 @@ public async Task<ActionResult<List<OperatorDTO>>> GetAllOperators()
[HttpPut("{id}")]
public async Task<IActionResult> UpdateOperator(int id, OperatorUpdateDTO updatedOperator)
{
var adminClaim = (User.Claims.SingleOrDefault(c => c.Type == "admin").Value ?? "false");
var adminClaim = (User.Claims.SingleOrDefault(c => c.Type == "admin")?.Value ?? "false");
if (string.Equals(adminClaim, "false", StringComparison.OrdinalIgnoreCase))
{
return Forbid();
Expand All @@ -165,7 +165,7 @@ public async Task<IActionResult> UpdateOperator(int id, OperatorUpdateDTO update
[HttpDelete("{id}")]
public async Task<IActionResult> DeleteOperator(int id)
{
var adminClaim = (User.Claims.SingleOrDefault(c => c.Type == "admin").Value ?? "false");
var adminClaim = (User.Claims.SingleOrDefault(c => c.Type == "admin")?.Value ?? "false");
if (string.Equals(adminClaim, "false", StringComparison.OrdinalIgnoreCase))
{
return Forbid();
Expand All @@ -185,7 +185,7 @@ public async Task<IActionResult> DeleteOperator(int id)
[HttpPost("{id}/uploadLogo")]
public async Task<IActionResult> Upload(IFormFile file, int id)
{
var adminClaim = (User.Claims.SingleOrDefault(c => c.Type == "admin").Value ?? "false");
var adminClaim = (User.Claims.SingleOrDefault(c => c.Type == "admin")?.Value ?? "false");
if (string.Equals(adminClaim, "false", StringComparison.OrdinalIgnoreCase))
{
return Forbid();
Expand Down Expand Up @@ -218,7 +218,7 @@ public async Task<IActionResult> Upload(IFormFile file, int id)
[HttpPatch("{id}/connect")]
public async Task<IActionResult> ConnectAllRoutesForThisOperator(int id)
{
var adminClaim = (User.Claims.SingleOrDefault(c => c.Type == "admin").Value ?? "false");
var adminClaim = (User.Claims.SingleOrDefault(c => c.Type == "admin")?.Value ?? "false");
if (string.Equals(adminClaim, "false", StringComparison.OrdinalIgnoreCase))
{
return Forbid();
Expand Down Expand Up @@ -258,7 +258,7 @@ public async Task<IActionResult> ConnectAllRoutesForThisOperator(int id)
[HttpGet("openOperators/{regionId}")]
public async Task<ActionResult<IEnumerable<string>>> GetUnclaimedOperators(int regionId)
{
var adminClaim = (User.Claims.SingleOrDefault(c => c.Type == "admin").Value ?? "false");
var adminClaim = (User.Claims.SingleOrDefault(c => c.Type == "admin")?.Value ?? "false");
if (string.Equals(adminClaim, "false", StringComparison.OrdinalIgnoreCase))
{
return Forbid();
Expand All @@ -279,7 +279,7 @@ public async Task<ActionResult<IEnumerable<string>>> GetUnclaimedOperators(int r
[HttpGet("groupedByRegion")]
public async Task<ActionResult<List<RegionOperatorsDTO>>> GetOperatorsGroupedByRegion()
{
var userIdClaim = int.Parse(User.Claims.SingleOrDefault(c => c.Type == ClaimTypes.NameIdentifier).Value ?? "-1");
var userIdClaim = int.Parse(User.Claims.SingleOrDefault(c => c.Type == ClaimTypes.NameIdentifier)?.Value ?? "-1");
if (userIdClaim < 0)
{
return Forbid();
Expand Down
12 changes: 6 additions & 6 deletions OV_DB/Controllers/RegionsController.cs
Original file line number Diff line number Diff line change
Expand Up @@ -75,7 +75,7 @@ private async Task<Dictionary<string, string>> GetTagsAsync(long id)
[HttpPut("{id}")]
public async Task<IActionResult> Update(int id, [FromBody] RegionDTO input)
{
var adminClaim = (User.Claims.SingleOrDefault(c => c.Type == "admin").Value ?? "false");
var adminClaim = (User.Claims.SingleOrDefault(c => c.Type == "admin")?.Value ?? "false");
if (string.Equals(adminClaim, "false", StringComparison.OrdinalIgnoreCase))
{
return Forbid();
Expand All @@ -94,7 +94,7 @@ public async Task<IActionResult> Update(int id, [FromBody] RegionDTO input)
[HttpPost]
public async Task<ActionResult> CreateNew(NewRegion newRegion)
{
var adminClaim = (User.Claims.SingleOrDefault(c => c.Type == "admin").Value ?? "false");
var adminClaim = (User.Claims.SingleOrDefault(c => c.Type == "admin")?.Value ?? "false");
if (string.Equals(adminClaim, "false", StringComparison.OrdinalIgnoreCase))
{
return Forbid();
Expand Down Expand Up @@ -258,7 +258,7 @@ public async Task<ActionResult<IEnumerable<RegionDTO>>> GetAllWithStations()
[HttpGet("map/{mapGuid}")]
public async Task<ActionResult<IEnumerable<RegionDTO>>> GetAllForMap(Guid mapGuid)
{
var userIdClaim = int.Parse(User.Claims.SingleOrDefault(c => c.Type == ClaimTypes.NameIdentifier).Value ?? "-1");
var userIdClaim = int.Parse(User.Claims.SingleOrDefault(c => c.Type == ClaimTypes.NameIdentifier)?.Value ?? "-1");
if (userIdClaim < 0)
{
return Forbid();
Expand Down Expand Up @@ -345,7 +345,7 @@ private static IEnumerable<RegionDTO> BuildHierarchy(IEnumerable<RegionIntermedi
[HttpGet("refreshAll")]
public async Task<IActionResult> RefreshAll()
{
var adminClaim = (User.Claims.SingleOrDefault(c => c.Type == "admin").Value ?? "false");
var adminClaim = (User.Claims.SingleOrDefault(c => c.Type == "admin")?.Value ?? "false");
if (string.Equals(adminClaim, "false", StringComparison.OrdinalIgnoreCase))
{
return Forbid();
Expand Down Expand Up @@ -373,7 +373,7 @@ public async Task<IActionResult> RefreshAll()
[HttpPost("{id}/refreshRoutes")]
public async Task<IActionResult> RefreshRoutesAsync(int id)
{
var adminClaim = (User.Claims.SingleOrDefault(c => c.Type == "admin").Value ?? "false");
var adminClaim = (User.Claims.SingleOrDefault(c => c.Type == "admin")?.Value ?? "false");
if (string.Equals(adminClaim, "false", StringComparison.OrdinalIgnoreCase))
{
return Forbid();
Expand All @@ -388,7 +388,7 @@ public async Task<IActionResult> RefreshRoutesAsync(int id)
[HttpPost("refreshRoutesWithoutRegions")]
public IActionResult RefreshRoutesWithoutRegions()
{
var adminClaim = (User.Claims.SingleOrDefault(c => c.Type == "admin").Value ?? "false");
var adminClaim = (User.Claims.SingleOrDefault(c => c.Type == "admin")?.Value ?? "false");
if (string.Equals(adminClaim, "false", StringComparison.OrdinalIgnoreCase))
{
return Forbid();
Expand Down
Loading