Skip to content

feat(api): Phase 4 backend — gamification, social foundation, onboarding - #261

Merged
thomasluizon merged 6 commits into
mainfrom
feature/phase-4
Jun 27, 2026
Merged

thomasluizon merged 6 commits into
mainfrom
feature/phase-4

fix(api): address PR #261 review — block-filter cheers, unblock valid…

6b3949a
Select commit
Loading
Failed to load commit list.
SonarQubeCloud / SonarCloud Code Analysis succeeded Jun 27, 2026 in 43s

Annotations

Check warning on line 134 in src/Orbit.Infrastructure/Services/StreakFreezeAutoActivationService.cs

See this annotation in the file changed.

@sonarqubecloud sonarqubecloud / SonarCloud Code Analysis

Method has 8 parameters, which is greater than the 7 authorized.

See more on https://sonarcloud.io/project/issues?id=thomasluizon_orbit-api&issues=AZ8H7n8sUniKS_RlfYxs&open=AZ8H7n8sUniKS_RlfYxs&pullRequest=261

Check warning on line 285 in tests/Orbit.Application.Tests/Commands/Habits/BulkCreateHabitsCommandHandlerTests.cs

See this annotation in the file changed.

@sonarqubecloud sonarqubecloud / SonarCloud Code Analysis

Prefer 'static readonly' fields over constant array arguments if the called method is called repeatedly and is not mutating the passed array

See more on https://sonarcloud.io/project/issues?id=thomasluizon_orbit-api&issues=AZ8H7n9fUniKS_RlfYxu&open=AZ8H7n9fUniKS_RlfYxu&pullRequest=261

Check warning on line 15 in src/Orbit.Domain/Entities/Report.cs

See this annotation in the file changed.

@sonarqubecloud sonarqubecloud / SonarCloud Code Analysis

Remove the unused private setter 'set_ReviewedAtUtc'.

See more on https://sonarcloud.io/project/issues?id=thomasluizon_orbit-api&issues=AZ8H7n2GUniKS_RlfYxf&open=AZ8H7n2GUniKS_RlfYxf&pullRequest=261

Check warning on line 126 in src/Orbit.Application/Social/Queries/GetFriendFeedQuery.cs

See this annotation in the file changed.

@sonarqubecloud sonarqubecloud / SonarCloud Code Analysis

Use 'Guid.NewGuid()' or 'Guid.Empty' or add arguments to this GUID instantiation.

See more on https://sonarcloud.io/project/issues?id=thomasluizon_orbit-api&issues=AZ8H7n8eUniKS_RlfYxr&open=AZ8H7n8eUniKS_RlfYxr&pullRequest=261

Check warning on line 26 in src/Orbit.Application/Social/Services/FriendGraphService.cs

See this annotation in the file changed.

@sonarqubecloud sonarqubecloud / SonarCloud Code Analysis

Do not use Enumerable methods on indexable collections. Instead use the collection directly.

See more on https://sonarcloud.io/project/issues?id=thomasluizon_orbit-api&issues=AZ8H7n8WUniKS_RlfYxp&open=AZ8H7n8WUniKS_RlfYxp&pullRequest=261

Check warning on line 20 in src/Orbit.Api/Controllers/FriendsController.cs

See this annotation in the file changed.

@sonarqubecloud sonarqubecloud / SonarCloud Code Analysis

Value type property used as input in a controller action should be nullable, required or annotated with the JsonRequiredAttribute to avoid under-posting.

See more on https://sonarcloud.io/project/issues?id=thomasluizon_orbit-api&issues=AZ8H7n5zUniKS_RlfYxj&open=AZ8H7n5zUniKS_RlfYxj&pullRequest=261

Check warning on line 29 in src/Orbit.Application/Profile/Commands/SetHandleCommand.cs

See this annotation in the file changed.

@sonarqubecloud sonarqubecloud / SonarCloud Code Analysis

Prefer using 'string.Equals(string, StringComparison)' to perform a case-insensitive comparison, but keep in mind that this might cause subtle changes in behavior, so make sure to conduct thorough testing after applying the suggestion, or if culturally sensitive comparison is not required, consider using 'StringComparison.OrdinalIgnoreCase'

See more on https://sonarcloud.io/project/issues?id=thomasluizon_orbit-api&issues=AZ8H7n7nUniKS_RlfYxn&open=AZ8H7n7nUniKS_RlfYxn&pullRequest=261

Check warning on line 20 in src/Orbit.Api/Controllers/FriendsController.cs

See this annotation in the file changed.

@sonarqubecloud sonarqubecloud / SonarCloud Code Analysis

Value type property used as input in a controller action should be nullable, required or annotated with the JsonRequiredAttribute to avoid under-posting.

See more on https://sonarcloud.io/project/issues?id=thomasluizon_orbit-api&issues=AZ8H7n5zUniKS_RlfYxk&open=AZ8H7n5zUniKS_RlfYxk&pullRequest=261

Check warning on line 60 in src/Orbit.Application/Habits/Commands/BulkCreateHabitsCommand.cs

See this annotation in the file changed.

@sonarqubecloud sonarqubecloud / SonarCloud Code Analysis

Constructor has 8 parameters, which is greater than the 7 authorized.

See more on https://sonarcloud.io/project/issues?id=thomasluizon_orbit-api&issues=AZ8H7n6lUniKS_RlfYxl&open=AZ8H7n6lUniKS_RlfYxl&pullRequest=261

Check warning on line 24 in src/Orbit.Application/Social/Services/FriendGraphService.cs

See this annotation in the file changed.

@sonarqubecloud sonarqubecloud / SonarCloud Code Analysis

Prefer using 'string.Equals(string, StringComparison)' to perform a case-insensitive comparison, but keep in mind that this might cause subtle changes in behavior, so make sure to conduct thorough testing after applying the suggestion, or if culturally sensitive comparison is not required, consider using 'StringComparison.OrdinalIgnoreCase'

See more on https://sonarcloud.io/project/issues?id=thomasluizon_orbit-api&issues=AZ8H7n8WUniKS_RlfYxo&open=AZ8H7n8WUniKS_RlfYxo&pullRequest=261

Check warning on line 47 in src/Orbit.Infrastructure/AI/ContentModerationService.cs

See this annotation in the file changed.

@sonarqubecloud sonarqubecloud / SonarCloud Code Analysis

Do not use Enumerable methods on indexable collections. Instead use the collection directly.

See more on https://sonarcloud.io/project/issues?id=thomasluizon_orbit-api&issues=AZ8H7n9AUniKS_RlfYxt&open=AZ8H7n9AUniKS_RlfYxt&pullRequest=261

Check failure on line 286 in src/Orbit.Application/Gamification/Services/GamificationService.cs

See this annotation in the file changed.

@sonarqubecloud sonarqubecloud / SonarCloud Code Analysis

This loop's stop incrementer updates 'attempt' but the stop condition doesn't test any variables.

See more on https://sonarcloud.io/project/issues?id=thomasluizon_orbit-api&issues=AZ8H7n7TUniKS_RlfYxm&open=AZ8H7n7TUniKS_RlfYxm&pullRequest=261

Check warning on line 35 in src/Orbit.Application/Social/Services/FriendGraphService.cs

See this annotation in the file changed.

@sonarqubecloud sonarqubecloud / SonarCloud Code Analysis

Do not use Enumerable methods on indexable collections. Instead use the collection directly.

See more on https://sonarcloud.io/project/issues?id=thomasluizon_orbit-api&issues=AZ8H7n8WUniKS_RlfYxq&open=AZ8H7n8WUniKS_RlfYxq&pullRequest=261

Check warning on line 18 in src/Orbit.Api/Controllers/FriendsController.cs

See this annotation in the file changed.

@sonarqubecloud sonarqubecloud / SonarCloud Code Analysis

Value type property used as input in a controller action should be nullable, required or annotated with the JsonRequiredAttribute to avoid under-posting.

See more on https://sonarcloud.io/project/issues?id=thomasluizon_orbit-api&issues=AZ8H7n5zUniKS_RlfYxh&open=AZ8H7n5zUniKS_RlfYxh&pullRequest=261

Check warning on line 165 in tests/Orbit.Infrastructure.Tests/Services/SystemPromptBuilderTests.cs

See this annotation in the file changed.

@sonarqubecloud sonarqubecloud / SonarCloud Code Analysis

Change type of variable 'builder' from 'Orbit.Domain.Interfaces.ISystemPromptBuilder' to 'Orbit.Infrastructure.Services.SystemPromptBuilder' for improved performance

See more on https://sonarcloud.io/project/issues?id=thomasluizon_orbit-api&issues=AZ8H7n-NUniKS_RlfYxv&open=AZ8H7n-NUniKS_RlfYxv&pullRequest=261

Check warning on line 18 in src/Orbit.Api/Controllers/FriendsController.cs

See this annotation in the file changed.

@sonarqubecloud sonarqubecloud / SonarCloud Code Analysis

Value type property used as input in a controller action should be nullable, required or annotated with the JsonRequiredAttribute to avoid under-posting.

See more on https://sonarcloud.io/project/issues?id=thomasluizon_orbit-api&issues=AZ8H7n5zUniKS_RlfYxg&open=AZ8H7n5zUniKS_RlfYxg&pullRequest=261

Check warning on line 19 in src/Orbit.Api/Controllers/FriendsController.cs

See this annotation in the file changed.

@sonarqubecloud sonarqubecloud / SonarCloud Code Analysis

Value type property used as input in a controller action should be nullable, required or annotated with the JsonRequiredAttribute to avoid under-posting.

See more on https://sonarcloud.io/project/issues?id=thomasluizon_orbit-api&issues=AZ8H7n5zUniKS_RlfYxi&open=AZ8H7n5zUniKS_RlfYxi&pullRequest=261