public async Task Run()

in src/Services/Notification/Notification.FnApp/Functions/NotificationTrigger.cs [70:107]


        public async Task Run(
            [ServiceBusTrigger("%NotificationsTopicName%", "%StatusNotificationSubscription%", Connection = "NotificationsTopicListenConnection")]Message message,
            MessageReceiver messageReceiver)
        {
            logger.LogInformation($"C# ServiceBus topic trigger function processed message: {message}");

            try
            {
                message.UserProperties.TryGetValue(MessageHeaders.UserToken, out object userTokenHeader);
                var contactToken = userTokenHeader?.ToString();

                var pushNotification = MessageHelper.GetMessageBody<PushNotification>(message);

                if (pushNotification == null || !pushNotification.IsValid())
                {
                    throw new BadMessageException("Invalid message received.");
                }

                logger.LogInformation("ContactToken: {contactToken}. Sending notification...", contactToken);
                await notificationsService.PushMessageAsync(pushNotification);

                await messageReceiver.CompleteAsync(message.SystemProperties.LockToken);
            }
            catch (Exception ex)
            {
                // Manage retries using our message retry handler
                if (!await RetryHandler.RetryMessageAsync(
                         message,
                         ex,
                         messageReceiver,
                         policyOptions,
                         logger))
                {
                    logger.LogError(ex, $"Unhandled exception: {ex.Message}");
                    throw;
                }
            }
        }