Firebase Push Channel#6
Merged
Merged
Conversation
Contributor
There was a problem hiding this comment.
Pull Request Overview
This pull request introduces a comprehensive authentication mechanism for messaging connectors, adds Firebase connector support, improves HTML content handling, and modernizes the project configuration.
Key changes include:
- Implementation of extensible authentication framework with providers for API Key, OAuth2 Client Credentials, and Firebase Service Account authentication
- Addition of Firebase Cloud Messaging connector with complete test coverage
- Updates to project dependencies and solution configuration for improved multi-targeting support
Reviewed Changes
Copilot reviewed 45 out of 45 changed files in this pull request and generated 1 comment.
| File | Description |
|---|---|
| Solution and project files | Updated dependency versions with conditional package references for .NET 8.0/9.0 targeting |
| Firebase connector implementation | Added complete Firebase push notification connector with service abstractions and comprehensive test suite |
| Authentication mechanism | Implemented authentication abstractions, providers, and credential management for extensible connector authentication |
| SendGrid/Twilio connectors | Enhanced with improved logging and dependency management |
Tip: Customize your code reviews with copilot-instructions.md. Create the file or learn how to get started.
You can also share your feedback on Copilot code review for a chance to win a $100 gift card. Take the survey.
| var result = new SendResult(message.Id, $"oauth-{Guid.NewGuid()}"); | ||
| result.AdditionalData["AuthHeader"] = GetAuthenticationHeader(); | ||
|
|
||
| return ConnectorResult<SendResult>. Success(result); |
There was a problem hiding this comment.
Extra space in method call. Should be 'ConnectorResult.Success(result)' without the space before 'Success'.
Suggested change
| return ConnectorResult<SendResult>. Success(result); | |
| return ConnectorResult<SendResult>.Success(result); |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
This pull request introduces a new authentication mechanism for messaging connectors, adds Firebase connector projects to the solution, and improves the handling of HTML content parts. The main focus is on extensible authentication support, including new abstractions, providers, and integration patterns. Additionally, dependencies are updated and solution/project configuration is expanded.
Authentication Mechanism Implementation:
IAuthenticationProvider,AuthenticationCredential, etc.), built-in providers (API Key, OAuth2 Client Credentials, Firebase), and integration patterns for connectors.AuthenticationCredentialclass, which encapsulates credential details (type, value, expiration, properties), and provides factory methods for creating token, API key, and basic credentials.Solution/Project Configuration:
Deveel.Messaging.Connector.Firebase,Deveel.Messaging.Connector.Firebase.XUnit).Microsoft.Extensions.Logging.Abstractionstargeting .NET 8.0 and 9.0 in the connector abstractions project.Messaging Improvements:
HtmlContentPartconstructor to default theHtmlproperty to an empty string if null, preventing potential null reference issues.