Skip to content

[Feature] Create Adaptors for other messaging integration#3634

Merged
lillo42 merged 26 commits into
BrighterCommand:masterfrom
lillo42:add.messaging.adaptors
Jul 18, 2025
Merged

[Feature] Create Adaptors for other messaging integration#3634
lillo42 merged 26 commits into
BrighterCommand:masterfrom
lillo42:add.messaging.adaptors

Conversation

@lillo42

@lillo42 lillo42 commented Jun 20, 2025

Copy link
Copy Markdown
Contributor

Add support for integration for other messaging framework/lib (see #3616)

  • JustSaying
  • Masstransit with envelop payload (basic scenario)

I also following the same approach as on AWS SNS/SQS in case a message doesn't have Brighter headers, I'm going to set a default value

  • MessageId => Id.Empty
  • MessageType => MT_EVENT
  • TimeStamp => DateTimeOffset.UtcNow

@codescene-delta-analysis codescene-delta-analysis Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Gates Failed
New code is healthy (2 new files with code health below 9.00)
Enforce critical code health rules (1 file with Bumpy Road Ahead)
Enforce advisory code health rules (2 files with Code Duplication, Complex Conditional, Complex Method)

Gates Passed
1 Quality Gates Passed

See analysis details in CodeScene

Reason for failure
New code is healthy Violations Code Health Impact
JustSayingTransform.cs 3 rules 10.00 → 6.69 Suppress
JustSayingMessageMapper.cs 2 rules 10.00 → 7.33 Suppress
Enforce critical code health rules Violations Code Health Impact
MassTransitTransform.cs 1 critical rule 10.00 → 9.84 Suppress
Enforce advisory code health rules Violations Code Health Impact
JustSayingTransform.cs 3 advisory rules 10.00 → 6.69 Suppress
JustSayingMessageMapper.cs 2 advisory rules 10.00 → 7.33 Suppress

Quality Gate Profile: Clean Code Collective
Want more control? Customize Code Health rules or catch issues early with our IDE extension and CLI tool.

@iancooper iancooper added 2 - In Progress feature request .NET Pull requests that update .net code V10.X labels Jun 21, 2025

@codescene-delta-analysis codescene-delta-analysis Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Gates Failed
New code is healthy (2 new files with code health below 9.00)
Enforce critical code health rules (1 file with Bumpy Road Ahead)
Enforce advisory code health rules (2 files with Code Duplication, Complex Conditional, Complex Method)

Gates Passed
1 Quality Gates Passed

See analysis details in CodeScene

Reason for failure
New code is healthy Violations Code Health Impact
JustSayingTransform.cs 3 rules 10.00 → 6.69 Suppress
JustSayingMessageMapper.cs 2 rules 10.00 → 7.33 Suppress
Enforce critical code health rules Violations Code Health Impact
MassTransitTransform.cs 1 critical rule 10.00 → 9.84 Suppress
Enforce advisory code health rules Violations Code Health Impact
JustSayingTransform.cs 3 advisory rules 10.00 → 6.69 Suppress
JustSayingMessageMapper.cs 2 advisory rules 10.00 → 7.33 Suppress

Quality Gate Profile: Clean Code Collective
Want more control? Customize Code Health rules or catch issues early with our IDE extension and CLI tool.

@codescene-delta-analysis codescene-delta-analysis Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Gates Failed
New code is healthy (2 new files with code health below 9.00)
Enforce critical code health rules (1 file with Bumpy Road Ahead)
Enforce advisory code health rules (2 files with Code Duplication, Complex Conditional, Complex Method)

Gates Passed
1 Quality Gates Passed

See analysis details in CodeScene

Reason for failure
New code is healthy Violations Code Health Impact
JustSayingTransform.cs 3 rules 10.00 → 6.69 Suppress
JustSayingMessageMapper.cs 2 rules 10.00 → 7.33 Suppress
Enforce critical code health rules Violations Code Health Impact
MassTransitTransform.cs 1 critical rule 10.00 → 9.84 Suppress
Enforce advisory code health rules Violations Code Health Impact
JustSayingTransform.cs 3 advisory rules 10.00 → 6.69 Suppress
JustSayingMessageMapper.cs 2 advisory rules 10.00 → 7.33 Suppress

Quality Gate Profile: Clean Code Collective
Want more control? Customize Code Health rules or catch issues early with our IDE extension and CLI tool.

@codescene-delta-analysis codescene-delta-analysis Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Gates Failed
New code is healthy (2 new files with code health below 9.00)
Enforce critical code health rules (1 file with Bumpy Road Ahead)
Enforce advisory code health rules (2 files with Code Duplication, Complex Conditional, Complex Method)

Gates Passed
1 Quality Gates Passed

See analysis details in CodeScene

Reason for failure
New code is healthy Violations Code Health Impact
JustSayingTransform.cs 3 rules 10.00 → 6.69 Suppress
JustSayingMessageMapper.cs 2 rules 10.00 → 7.33 Suppress
Enforce critical code health rules Violations Code Health Impact
MassTransitTransform.cs 1 critical rule 10.00 → 9.84 Suppress
Enforce advisory code health rules Violations Code Health Impact
JustSayingTransform.cs 3 advisory rules 10.00 → 6.69 Suppress
JustSayingMessageMapper.cs 2 advisory rules 10.00 → 7.33 Suppress

Quality Gate Profile: Clean Code Collective
Want more control? Customize Code Health rules or catch issues early with our IDE extension and CLI tool.

@codescene-delta-analysis codescene-delta-analysis Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Gates Failed
New code is healthy (2 new files with code health below 9.00)
Enforce critical code health rules (1 file with Bumpy Road Ahead)
Enforce advisory code health rules (2 files with Code Duplication, Complex Conditional, Complex Method)

Gates Passed
1 Quality Gates Passed

See analysis details in CodeScene

Reason for failure
New code is healthy Violations Code Health Impact
JustSayingTransform.cs 3 rules 10.00 → 6.69 Suppress
JustSayingMessageMapper.cs 2 rules 10.00 → 7.33 Suppress
Enforce critical code health rules Violations Code Health Impact
MassTransitTransform.cs 1 critical rule 10.00 → 9.84 Suppress
Enforce advisory code health rules Violations Code Health Impact
JustSayingTransform.cs 3 advisory rules 10.00 → 6.69 Suppress
JustSayingMessageMapper.cs 2 advisory rules 10.00 → 7.33 Suppress

Quality Gate Profile: Clean Code Collective
Want more control? Customize Code Health rules or catch issues early with our IDE extension and CLI tool.

@codescene-delta-analysis codescene-delta-analysis Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Gates Failed
New code is healthy (2 new files with code health below 9.00)
Enforce critical code health rules (1 file with Bumpy Road Ahead)
Enforce advisory code health rules (2 files with Code Duplication, Complex Conditional, Complex Method)

Gates Passed
1 Quality Gates Passed

See analysis details in CodeScene

Reason for failure
New code is healthy Violations Code Health Impact
JustSayingTransform.cs 3 rules 10.00 → 6.69 Suppress
JustSayingMessageMapper.cs 2 rules 10.00 → 7.33 Suppress
Enforce critical code health rules Violations Code Health Impact
MassTransitTransform.cs 1 critical rule 10.00 → 9.84 Suppress
Enforce advisory code health rules Violations Code Health Impact
JustSayingTransform.cs 3 advisory rules 10.00 → 6.69 Suppress
JustSayingMessageMapper.cs 2 advisory rules 10.00 → 7.33 Suppress

Quality Gate Profile: Clean Code Collective
Want more control? Customize Code Health rules or catch issues early with our IDE extension and CLI tool.

@codescene-delta-analysis codescene-delta-analysis Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Code Health Improved (1 files improve in Code Health)

Gates Failed
New code is healthy (2 new files with code health below 9.00)
Enforce critical code health rules (1 file with Bumpy Road Ahead)
Enforce advisory code health rules (2 files with Code Duplication, Complex Conditional, Complex Method)

Gates Passed
1 Quality Gates Passed

See analysis details in CodeScene

Reason for failure
New code is healthy Violations Code Health Impact
JustSayingTransform.cs 3 rules 10.00 → 6.69 Suppress
JustSayingMessageMapper.cs 2 rules 10.00 → 7.33 Suppress
Enforce critical code health rules Violations Code Health Impact
MassTransitTransform.cs 1 critical rule 10.00 → 9.84 Suppress
Enforce advisory code health rules Violations Code Health Impact
JustSayingTransform.cs 3 advisory rules 10.00 → 6.69 Suppress
JustSayingMessageMapper.cs 2 advisory rules 10.00 → 7.33 Suppress
View Improvements
File Code Health Impact Categories Improved
RedisMessageCreator.cs 8.75 → 8.77 Complex Method

Quality Gate Profile: Clean Code Collective
Want more control? Customize Code Health rules or catch issues early with our IDE extension and CLI tool.

@codescene-delta-analysis codescene-delta-analysis Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Code Health Improved (1 files improve in Code Health)

Gates Failed
New code is healthy (2 new files with code health below 9.00)
Enforce critical code health rules (1 file with Bumpy Road Ahead)
Enforce advisory code health rules (2 files with Code Duplication, Complex Conditional, Complex Method)

Gates Passed
1 Quality Gates Passed

See analysis details in CodeScene

Reason for failure
New code is healthy Violations Code Health Impact
JustSayingTransform.cs 3 rules 10.00 → 6.69 Suppress
JustSayingMessageMapper.cs 2 rules 10.00 → 7.33 Suppress
Enforce critical code health rules Violations Code Health Impact
MassTransitTransform.cs 1 critical rule 10.00 → 9.84 Suppress
Enforce advisory code health rules Violations Code Health Impact
JustSayingTransform.cs 3 advisory rules 10.00 → 6.69 Suppress
JustSayingMessageMapper.cs 2 advisory rules 10.00 → 7.33 Suppress
View Improvements
File Code Health Impact Categories Improved
RedisMessageCreator.cs 8.75 → 8.77 Complex Method

Quality Gate Profile: Clean Code Collective
Want more control? Customize Code Health rules or catch issues early with our IDE extension and CLI tool.

@lillo42 lillo42 marked this pull request as ready for review July 3, 2025 09:39
@iancooper iancooper requested a review from Copilot July 12, 2025 14:44

Copilot AI left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull Request Overview

This PR introduces adapter support for additional messaging frameworks (JustSaying and MassTransit) by providing transforms and mappers that wrap/unwrap Brighter messages into framework-specific envelope formats. It also establishes default header values when Brighter headers are missing and updates CI and solution files to include the new projects.

  • Added JustSaying and MassTransit transform implementations with corresponding attributes and header-name constants.
  • Created strongly-typed mappers (MassTransitMessageMapper, JustSayingMessageMapper) and JSON-based transforms (MassTransitTransform, JustSayingTransform).
  • Included comprehensive tests and updated CI workflow, solution, and package references.

Reviewed Changes

Copilot reviewed 36 out of 36 changed files in this pull request and generated 5 comments.

Show a summary per file
File Description
tests/Paramore.Brighter.Transforms.Adaptors.Tests/Paramore.Brighter.Transforms.Adaptors.Tests.csproj Added test project file for adaptor tests
tests/Paramore.Brighter.Transforms.Adaptors.Tests/MassTransit/MassTransitTransformTest.cs Tests for MassTransitTransform wrap/unwarp behavior
tests/Paramore.Brighter.Transforms.Adaptors.Tests/MassTransit/MassTransitMessageMapperTest.cs Tests for MassTransitMessageMapper mapping logic
tests/Paramore.Brighter.Transforms.Adaptors.Tests/JustSaying/JustSayingTransformTest.cs Tests for JustSayingTransform wrap behavior
tests/Paramore.Brighter.Transforms.Adaptors.Tests/JustSaying/JustSayingMessageMapperTest.cs Tests for JustSayingMessageMapper mapping behavior
src/Paramore.Brighter.Transformers.MassTransit/Paramore.Brighter.Transformers.MassTransit.csproj Added MassTransit transformer project
src/Paramore.Brighter.Transformers.MassTransit/MassTransitHeaderNames.cs Defined header-name constants for MassTransit integration
src/Paramore.Brighter.Transformers.MassTransit/MassTransitTransform.cs Implemented MassTransitTransform wrap/unwrap logic
src/Paramore.Brighter.Transformers.JustSaying/JustSayingAttributesName.cs Defined attribute-name constants for JustSaying integration
src/Paramore.Brighter.Transformers.JustSaying/JustSayingTransform.cs Implemented JustSayingTransform wrap logic
Directory.Packages.props Added package references for JustSaying and MassTransit versions
.github/workflows/ci.yml Updated CI to run new adaptor tests
Comments suppressed due to low confidence (2)

src/Paramore.Brighter.Transformers.JustSaying/JustSayingAttribute.cs:56

  • [nitpick] The Type property is misleading (it maps to the message subject). Consider renaming it to Subject to match other parts of the transform and improve clarity.
    public string? Type { get; set; }

tests/Paramore.Brighter.Transforms.Adaptors.Tests/MassTransit/MassTransitTransformTest.cs:226

  • The class declaration syntax with parentheses and constructor arguments is invalid C#. It should declare the class without parameters (e.g., public class SomeEvent : Event) and provide a proper constructor inside the class body.
    public class SomeEvent() : Event(Guid.NewGuid())

Comment thread src/Paramore.Brighter.Transformers.JustSaying/JustSayingAttributesName.cs Outdated
Comment thread src/Paramore.Brighter.Transformers.MassTransit/MassTransitHeaderNames.cs Outdated
Comment thread src/Paramore.Brighter.MessagingGateway.Redis/RedisMessageCreator.cs
Comment thread src/Paramore.Brighter.Transformers.JustSaying/JustSayingTransform.cs Outdated
Comment thread src/Paramore.Brighter.Transformers.MassTransit/MassTransitMessageMapper.cs Outdated

@codescene-delta-analysis codescene-delta-analysis Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Code Health Improved (1 files improve in Code Health)

Gates Failed
New code is healthy (2 new files with code health below 9.00)
Enforce critical code health rules (1 file with Bumpy Road Ahead)
Enforce advisory code health rules (2 files with Code Duplication, Complex Conditional, Complex Method)

Gates Passed
1 Quality Gates Passed

See analysis details in CodeScene

Reason for failure
New code is healthy Violations Code Health Impact
JustSayingTransform.cs 3 rules 10.00 → 6.69 Suppress
JustSayingMessageMapper.cs 2 rules 10.00 → 7.33 Suppress
Enforce critical code health rules Violations Code Health Impact
MassTransitTransform.cs 1 critical rule 10.00 → 9.84 Suppress
Enforce advisory code health rules Violations Code Health Impact
JustSayingTransform.cs 3 advisory rules 10.00 → 6.69 Suppress
JustSayingMessageMapper.cs 2 advisory rules 10.00 → 7.33 Suppress
View Improvements
File Code Health Impact Categories Improved
RedisMessageCreator.cs 8.75 → 8.77 Complex Method

Quality Gate Profile: Clean Code Collective
Want more control? Customize Code Health rules or catch issues early with our IDE extension and CLI tool.

@codescene-delta-analysis codescene-delta-analysis Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Code Health Improved (1 files improve in Code Health)

Gates Failed
New code is healthy (2 new files with code health below 9.00)
Enforce critical code health rules (1 file with Bumpy Road Ahead)
Enforce advisory code health rules (2 files with Code Duplication, Complex Conditional, Complex Method)

Gates Passed
1 Quality Gates Passed

See analysis details in CodeScene

Reason for failure
New code is healthy Violations Code Health Impact
JustSayingTransform.cs 3 rules 10.00 → 6.69 Suppress
JustSayingMessageMapper.cs 2 rules 10.00 → 7.33 Suppress
Enforce critical code health rules Violations Code Health Impact
MassTransitTransform.cs 1 critical rule 10.00 → 9.84 Suppress
Enforce advisory code health rules Violations Code Health Impact
JustSayingTransform.cs 3 advisory rules 10.00 → 6.69 Suppress
JustSayingMessageMapper.cs 2 advisory rules 10.00 → 7.33 Suppress
View Improvements
File Code Health Impact Categories Improved
RedisMessageCreator.cs 8.75 → 8.77 Complex Method

Quality Gate Profile: Clean Code Collective
Want more control? Customize Code Health rules or catch issues early with our IDE extension and CLI tool.

Comment on lines +268 to +326
public Message Unwrap(Message message)
{
var envelop = JsonSerializer.Deserialize<MassTransitMessageEnvelop<JsonElement>>(message.Body.Bytes, JsonSerialisationOptions.Options);

if (envelop != null)
{
var messageId = Id.Random;
if (!Id.IsNullOrEmpty(envelop.MessageId))
{
messageId = envelop.MessageId!;
}

var timestamp = DateTimeOffset.UtcNow;
if (envelop.SentTime != null)
{
timestamp = envelop.SentTime.Value;
}

if (!Id.IsNullOrEmpty(envelop.CorrelationId))
{
message.Header.CorrelationId = envelop.CorrelationId!;
}

var bag = message.Header.Bag;
if (envelop.Headers is { Count: > 0 })
{
bag = new Dictionary<string, object>(bag);
foreach (KeyValuePair<string, object?> obj in envelop.Headers)
{
bag[obj.Key] = obj.Value!;
}
}

return new Message(
new MessageHeader(
messageId,
message.Header.Topic,
message.Header.MessageType,
source: message.Header.Source,
type: message.Header.Type,
timeStamp: timestamp!,
correlationId: message.Header.CorrelationId,
partitionKey: message.Header.PartitionKey,
dataSchema: message.Header.DataSchema,
subject: message.Header.Subject,
handledCount: message.Header.HandledCount,
delayed: message.Header.Delayed,
traceParent: message.Header.TraceParent,
traceState: message.Header.TraceState,
baggage: message.Header.Baggage)
{
Bag = bag
},
new MessageBody(JsonSerializer.SerializeToUtf8Bytes(envelop.Message, JsonSerialisationOptions.Options))
);
}

return message;
}

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

❌ New issue: Bumpy Road Ahead
Unwrap has 2 blocks with nested conditional logic. Any nesting of 2 or deeper is considered. Threshold is one single, nested block per function

Suppress

@iancooper iancooper left a comment

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This is great, thanks. I would like pick up on some of the primitive types, as we always regret those, before we merge.

Comment thread src/Paramore.Brighter.MessagingGateway.Kafka/KafkaMessageCreator.cs Outdated
Comment thread src/Paramore.Brighter.Transformers.JustSaying/JustSayingEvent.cs Outdated
Comment thread src/Paramore.Brighter.Transformers.JustSaying/JustSayingMessageMapper.cs Outdated
Comment thread src/Paramore.Brighter.Transformers.JustSaying/JustSayingTransform.cs Outdated
Comment thread src/Paramore.Brighter.Transformers.MassTransit/MassTransitMessageEnvelop.cs Outdated

@codescene-delta-analysis codescene-delta-analysis Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Code Health Improved (1 files improve in Code Health)

Gates Failed
Enforce critical code health rules (1 file with Bumpy Road Ahead)
Enforce advisory code health rules (4 files with Code Duplication, Complex Conditional)

Gates Passed
2 Quality Gates Passed

See analysis details in CodeScene

Reason for failure
Enforce critical code health rules Violations Code Health Impact
MassTransitTransform.cs 1 critical rule 10.00 → 9.84 Suppress
Enforce advisory code health rules Violations Code Health Impact
JustSayingTransform.cs 1 advisory rule 10.00 → 9.39 Suppress
MassTransitMessageMapper.cs 1 advisory rule 10.00 → 9.39 Suppress
RequestContextExtensions.cs 1 advisory rule 10.00 → 9.39 Suppress
RequestContextExtensions.cs 1 advisory rule 10.00 → 9.69 Suppress
View Improvements
File Code Health Impact Categories Improved
RedisMessageCreator.cs 8.75 → 8.77 Complex Method

Quality Gate Profile: Clean Code Collective
Want more control? Customize Code Health rules or catch issues early with our IDE extension and CLI tool.

Comment on lines +225 to +238
private string? GetTenant(string? tenant)
{
if (!string.IsNullOrEmpty(tenant))
{
return tenant;
}

if (!string.IsNullOrEmpty(_tenant))
{
return _tenant;
}

return Context.GetFromBag<string>(JustSayingAttributesName.Tenant);
}

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

❌ New issue: Code Duplication
The module contains 2 functions with similar structure: GetTenant,GetVersion

Suppress

Comment on lines +125 to +135
private Uri? GetDestinationAddress()
{
var response = Context.GetUriFromBag(MassTransitHeaderNames.DestinationAddress);
if (response != null)
{
return response;
}

var address = GetMassTransitAttribute()?.DestinationAddress;
return string.IsNullOrEmpty(address) ? null : new Uri(address, UriKind.RelativeOrAbsolute);
}

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

❌ New issue: Code Duplication
The module contains 4 functions with similar structure: GetDestinationAddress,GetFaultAddress,GetResponseAddress,GetSourceAddress

Suppress


public static T? GetFromBag<T>(this IRequestContext? context, string key, T? defaultValue = default)
{
if (context != null && context.Bag.TryGetValue(key, out var val) && val is T)

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

❌ New issue: Complex Conditional
GetFromBag has 1 complex conditionals with 2 branches, threshold = 2

Suppress

return null;
}

if (val is Uri uri || val is string uriString && Uri.TryCreate(uriString, UriKind.RelativeOrAbsolute, out uri!))

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

❌ New issue: Complex Conditional
GetUriFromBag has 1 complex conditionals with 2 branches, threshold = 2

Suppress

return null;
}

if (val is Uri uri || val is string uriString && Uri.TryCreate(uriString, UriKind.RelativeOrAbsolute, out uri!))

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

❌ New issue: Complex Conditional
GetUriFromBag has 1 complex conditionals with 2 branches, threshold = 2

Suppress

@codescene-delta-analysis codescene-delta-analysis Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Code Health Improved (1 files improve in Code Health)

Gates Failed
Enforce critical code health rules (1 file with Bumpy Road Ahead)
Enforce advisory code health rules (4 files with Code Duplication, Complex Conditional)

Gates Passed
2 Quality Gates Passed

See analysis details in CodeScene

Reason for failure
Enforce critical code health rules Violations Code Health Impact
MassTransitTransform.cs 1 critical rule 10.00 → 9.84 Suppress
Enforce advisory code health rules Violations Code Health Impact
JustSayingTransform.cs 1 advisory rule 10.00 → 9.39 Suppress
MassTransitMessageMapper.cs 1 advisory rule 10.00 → 9.39 Suppress
RequestContextExtensions.cs 1 advisory rule 10.00 → 9.39 Suppress
RequestContextExtensions.cs 1 advisory rule 10.00 → 9.69 Suppress
View Improvements
File Code Health Impact Categories Improved
RedisMessageCreator.cs 8.75 → 8.77 Complex Method

Quality Gate Profile: Clean Code Collective
Want more control? Customize Code Health rules or catch issues early with our IDE extension and CLI tool.

@codescene-delta-analysis codescene-delta-analysis Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Code Health Improved (1 files improve in Code Health)

Gates Failed
Enforce critical code health rules (1 file with Bumpy Road Ahead)
Enforce advisory code health rules (4 files with Code Duplication, Complex Conditional)

Gates Passed
2 Quality Gates Passed

See analysis details in CodeScene

Reason for failure
Enforce critical code health rules Violations Code Health Impact
MassTransitTransform.cs 1 critical rule 10.00 → 9.84 Suppress
Enforce advisory code health rules Violations Code Health Impact
JustSayingTransform.cs 1 advisory rule 10.00 → 9.39 Suppress
MassTransitMessageMapper.cs 1 advisory rule 10.00 → 9.39 Suppress
RequestContextExtensions.cs 1 advisory rule 10.00 → 9.39 Suppress
RequestContextExtensions.cs 1 advisory rule 10.00 → 9.69 Suppress
View Improvements
File Code Health Impact Categories Improved
RedisMessageCreator.cs 8.75 → 8.77 Complex Method

Quality Gate Profile: Clean Code Collective
Want more control? Customize Code Health rules or catch issues early with our IDE extension and CLI tool.

@codescene-delta-analysis codescene-delta-analysis Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Code Health Improved (1 files improve in Code Health)

Gates Failed
Enforce critical code health rules (1 file with Bumpy Road Ahead)
Enforce advisory code health rules (4 files with Code Duplication, Complex Conditional)

Gates Passed
2 Quality Gates Passed

See analysis details in CodeScene

Reason for failure
Enforce critical code health rules Violations Code Health Impact
MassTransitTransform.cs 1 critical rule 10.00 → 9.84 Suppress
Enforce advisory code health rules Violations Code Health Impact
JustSayingTransform.cs 1 advisory rule 10.00 → 9.39 Suppress
MassTransitMessageMapper.cs 1 advisory rule 10.00 → 9.39 Suppress
RequestContextExtensions.cs 1 advisory rule 10.00 → 9.39 Suppress
RequestContextExtensions.cs 1 advisory rule 10.00 → 9.69 Suppress
View Improvements
File Code Health Impact Categories Improved
RedisMessageCreator.cs 8.75 → 8.77 Complex Method

Quality Gate Profile: Clean Code Collective
Want more control? Customize Code Health rules or catch issues early with our IDE extension and CLI tool.

@codescene-delta-analysis codescene-delta-analysis Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Code Health Improved (1 files improve in Code Health)

Gates Failed
Enforce critical code health rules (1 file with Bumpy Road Ahead)
Enforce advisory code health rules (4 files with Code Duplication, Complex Conditional)

Gates Passed
2 Quality Gates Passed

See analysis details in CodeScene

Reason for failure
Enforce critical code health rules Violations Code Health Impact
MassTransitTransform.cs 1 critical rule 10.00 → 9.84 Suppress
Enforce advisory code health rules Violations Code Health Impact
JustSayingTransform.cs 1 advisory rule 10.00 → 9.39 Suppress
MassTransitMessageMapper.cs 1 advisory rule 10.00 → 9.39 Suppress
RequestContextExtensions.cs 1 advisory rule 10.00 → 9.39 Suppress
RequestContextExtensions.cs 1 advisory rule 10.00 → 9.69 Suppress
View Improvements
File Code Health Impact Categories Improved
RedisMessageCreator.cs 8.75 → 8.77 Complex Method

Quality Gate Profile: Clean Code Collective
Want more control? Customize Code Health rules or catch issues early with our IDE extension and CLI tool.

@iancooper iancooper left a comment

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Looks good. Let's merge it.

@lillo42 lillo42 merged commit 005c44f into BrighterCommand:master Jul 18, 2025
22 of 24 checks passed
@lillo42 lillo42 deleted the add.messaging.adaptors branch July 18, 2025 20:18
DevJonny pushed a commit to DevJonny/Brighter that referenced this pull request Feb 28, 2026
…mmand#3634)

* Add JustSaying adaptor

* feat: Add sample

* fix: fixes bug during messaging serialize

* Add JustSaying adaptors

* add CI for adaptors

* Add masstransit test

* fix: CI

* feat: Set default value for Brighter header for Kafka/RMQ/Redis

* fix: Integration with Brighter

* fix: fix project build

* fix: Code review

* fix: Code review and general improvments

* feat: Use Uri for address and improve code reuse in MT

* fix some test and remove some primetive type

* feat: enforce Id as random

* fix build

* fix message id in Redis
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

3 - Done feature request .NET Pull requests that update .net code V10.X

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants