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."));
        }