public IHttpActionResult PostRegisterEndpoint([FromBody]EndpointRegistration endpoint)
{
endpoint.ValidateModel();
try
{
var existed = _endpointRegistry.GetByNaturalKey(endpoint.MonitorType, endpoint.Address);
RequestContext.AuthorizeRegistration(endpoint, existed, SecurityRole.Admin);
var id = _endpointRegistry.RegisterOrUpdate(endpoint.MonitorType, endpoint.Address, endpoint.Group, endpoint.Name, endpoint.Tags, endpoint.MonitorTag, endpoint.Password);
return Created(new Uri(Request.RequestUri, $"/api/endpoints/{id}"), id);
}
catch (UnsupportedMonitorException e)
{
return BadRequest(e.Message);
}
}