< Summary

Information
Class: LGDXRobotCloud.API.Areas.Navigation.Controllers.MapEditorController
Assembly: LGDXRobotCloud.API
File(s): /builds/yukaitung/lgdxrobot2-cloud/LGDXRobotCloud.API/Areas/Navigation/Controllers/MapEditorController.cs
Line coverage
0%
Covered lines: 0
Uncovered lines: 14
Coverable lines: 14
Total lines: 45
Line coverage: 0%
Branch coverage
0%
Covered branches: 0
Total branches: 4
Branch coverage: 0%
Method coverage

Feature is only available for sponsors

Upgrade to PRO version

Metrics

MethodBranch coverage Crap Score Cyclomatic complexity Line coverage
.ctor(...)0%620%
GetMap()100%210%
UpdateMap()0%620%

File(s)

/builds/yukaitung/lgdxrobot2-cloud/LGDXRobotCloud.API/Areas/Navigation/Controllers/MapEditorController.cs

#LineLine coverage
 1using LGDXRobotCloud.API.Authorisation;
 2using LGDXRobotCloud.API.Services.Navigation;
 3using LGDXRobotCloud.Data.Models.Business.Navigation;
 4using LGDXRobotCloud.Data.Models.DTOs.V1.Commands;
 5using LGDXRobotCloud.Data.Models.DTOs.V1.Responses;
 6using LGDXRobotCloud.Utilities.Constants;
 7using Microsoft.AspNetCore.Authentication.JwtBearer;
 8using Microsoft.AspNetCore.Authorization;
 9using Microsoft.AspNetCore.Mvc;
 10
 11namespace LGDXRobotCloud.API.Areas.Navigation.Controllers;
 12
 13[ApiController]
 14[Area("Navigation")]
 15[Route("[area]/[controller]")]
 16[Authorize(AuthenticationSchemes = LgdxRobotCloudAuthenticationSchemes.ApiKeyOrCertificateScheme)]
 17[Authorize(AuthenticationSchemes = JwtBearerDefaults.AuthenticationScheme)]
 18[ValidateLgdxUserAccess]
 019public class MapEditorController(
 020    IMapEditorService mapEditService
 021  ) : ControllerBase
 22{
 023  private readonly IMapEditorService _mapEditService = mapEditService ?? throw new ArgumentNullException(nameof(mapEditS
 24
 25  [HttpGet("{realmId}")]
 26  [ProducesResponseType(typeof(MapEditorDto), StatusCodes.Status200OK)]
 27  [ProducesResponseType(StatusCodes.Status404NotFound)]
 28  public async Task<ActionResult<MapEditorDto>> GetMap(int realmId)
 029  {
 030    var mapEdit = await _mapEditService.GetMapAsync(realmId);
 031    return Ok(mapEdit.ToDto());
 032  }
 33
 34  [HttpPost("{realmId}")]
 35  [ProducesResponseType(StatusCodes.Status204NoContent)]
 36  [ProducesResponseType(StatusCodes.Status404NotFound)]
 37  public async Task<ActionResult> UpdateMap(int realmId, MapEditorUpdateDto mapEditUpdateDto)
 038  {
 039    if (!await _mapEditService.UpdateMapAsync(realmId, mapEditUpdateDto.ToBusinessModel()))
 040    {
 041      return NotFound();
 42    }
 043    return NoContent();
 044  }
 45}