public async Task <IActionResult> Register(DeviceRegistrationRequest registration) { if (!ModelState.IsValid) { return(BadRequest()); } if (TryExtractPlatform(out MobilePlatform platform)) { var registrationId = await _pushNotificationService.CreateRegistrationId(registration.Handle); await _pushNotificationService.Register(platform, registration.Handle, registrationId, new[] { registration.Tag }); return(Ok(new DeviceRegistrationResult { RegistrationId = registrationId })); } return(BadRequest("Unknown device platform or missing user-agent.")); }