feat: Enhance API endpoints and add new features

- Added support for v3 gift generation in AvatarGiftsController.
- Updated club report messages to include club IDs for better tracking in CompatibilityFeatureController.
- Introduced new endpoints for voice moderation and whitelisted emojis in ConfigController.
- Modified image retrieval logic to support single image lookups by name in ImagesController.
- Adjusted incentivized referrals to return an empty array when no rewards are available in IncentivizedReferralsController.
- Implemented trial invention functionality in InventionsController.
- Added top creators today endpoint in PlayerSubscriptionsController.
- Expanded room earnings distribution functionality in RoomEarningsDistributionsController.
- Enhanced room search capabilities with pagination in RoomsController.
- Improved account name generation options in AccountsController.
- Added party invite privacy settings in PlayerSettingsController.
- Created CommentsController for handling unread comment counts.
- Established PurchaseCampaignController for handling purchase campaign telemetry.
This commit is contained in:
Alexa
2026-07-12 22:18:58 +03:00
parent 5fcef3ffe7
commit 3d7d7ebdf1
14 changed files with 617 additions and 96 deletions
@@ -117,6 +117,27 @@ public class ConfigController(ConfigService configService) : ControllerBase
});
}
/// <summary>GET <c>/voice/requiresModeration</c> — bare Boolean the
/// client reads to decide whether voice needs moderation. ToxMod is
/// disabled server-side, so no moderation is required.</summary>
[HttpGet("/voice/requiresModeration")]
[Microsoft.AspNetCore.Authorization.AllowAnonymous]
public IActionResult VoiceRequiresModeration() => Content("false", "application/json");
/// <summary>GET <c>/emojiConfig/whitelistedEmojis</c> — the allow-list of
/// emoji permitted in text chat (RRUI.EmojiPicker, IReadOnlyList&lt;string&gt;).
/// Returns a broad default set so the picker is populated.</summary>
[HttpGet("/emojiConfig/whitelistedEmojis")]
[Microsoft.AspNetCore.Authorization.AllowAnonymous]
public IActionResult WhitelistedEmojis() => Ok(new[]
{
"😀", "😁", "😂", "🤣", "😊", "😇", "🙂", "😉", "😍", "😘",
"😜", "🤪", "😎", "🤩", "🥳", "😏", "😢", "😭", "😡", "🤯",
"😱", "😴", "🤔", "🤗", "🙄", "😬", "👍", "👎", "👏", "🙌",
"🙏", "💪", "✌️", "🤞", "👋", "🤝", "❤️", "🔥", "⭐", "✨",
"🎉", "🎊", "💯", "😈", "👻", "🤖", "🎮", "🏆",
});
/// <summary>GET <c>api/config/v1/freegiftbutton</c> — the
/// 2020.12 client deserializes this endpoint as a raw Boolean.
/// This server does not run the timed free-gift campaign, so the