mirror of
https://github.com/DorkSquadRR/DorkNet.git
synced 2026-10-27 07:58:45 -07:00
Refactor AvatarGiftsController: change ToWire method to public for external access; update AdminController to use ToWire for gift notifications
This commit is contained in:
@@ -262,7 +262,7 @@ public class AvatarGiftsController(
|
|||||||
// GiftRarity, GiftContext. Missing any one → KeyNotFoundException
|
// GiftRarity, GiftContext. Missing any one → KeyNotFoundException
|
||||||
// surfaces as "Failed to download gifts: Malformed Response" from
|
// surfaces as "Failed to download gifts: Malformed Response" from
|
||||||
// BootSequence and BLOCKS LOGIN.
|
// BootSequence and BLOCKS LOGIN.
|
||||||
private static object ToWire(GiftPackageEntity g) => new
|
public static object ToWire(GiftPackageEntity g) => new
|
||||||
{
|
{
|
||||||
g.Id,
|
g.Id,
|
||||||
g.FromPlayerId,
|
g.FromPlayerId,
|
||||||
|
|||||||
@@ -2318,31 +2318,7 @@ public class AdminController(
|
|||||||
// one that ends up invoking the GiftManager popup path.
|
// one that ends up invoking the GiftManager popup path.
|
||||||
await notifications.NotifyAsync(id,
|
await notifications.NotifyAsync(id,
|
||||||
PushNotificationId.GiftPackageReceivedImmediate,
|
PushNotificationId.GiftPackageReceivedImmediate,
|
||||||
new
|
DorkNet.Server.Controllers.API.Avatar.V2.AvatarGiftsController.ToWire(gift));
|
||||||
{
|
|
||||||
gift.Id,
|
|
||||||
gift.FromPlayerId,
|
|
||||||
gift.AvatarItemType,
|
|
||||||
AvatarItemDesc = gift.AvatarItemDescOrHairDyeDesc,
|
|
||||||
gift.AvatarItemDescOrHairDyeDesc,
|
|
||||||
gift.EquipmentPrefabName,
|
|
||||||
gift.EquipmentModificationGuid,
|
|
||||||
gift.CurrencyType,
|
|
||||||
gift.Currency,
|
|
||||||
gift.Xp,
|
|
||||||
gift.Level,
|
|
||||||
gift.GiftContext,
|
|
||||||
gift.GiftRarity,
|
|
||||||
gift.Message,
|
|
||||||
gift.Platform,
|
|
||||||
gift.PackageMaterial,
|
|
||||||
gift.PackageVariant,
|
|
||||||
gift.Consumed,
|
|
||||||
gift.IsValid,
|
|
||||||
gift.ErrorMessage,
|
|
||||||
gift.SupportsCurrentPlatform,
|
|
||||||
gift.IsGifted,
|
|
||||||
});
|
|
||||||
|
|
||||||
return Ok(new { gift.Id, gift.RecipientPlayerId });
|
return Ok(new { gift.Id, gift.RecipientPlayerId });
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -39,8 +39,19 @@ export interface PlayerDetail extends Player {
|
|||||||
// matches the host's signing key id).
|
// matches the host's signing key id).
|
||||||
export function profileImageUrl(name: string | null | undefined, width = 96): string | null {
|
export function profileImageUrl(name: string | null | undefined, width = 96): string | null {
|
||||||
if (!name) return null;
|
if (!name) return null;
|
||||||
const apex = typeof window !== 'undefined' && window.location.host.endsWith('localhost') ? 'localhost' : 'rec.net';
|
const apex = adminApex();
|
||||||
return `https://img.${apex}/${encodeURIComponent(name)}?width=${width}&cropSquare=1&sig=p1`;
|
const scheme = apex === 'localhost' ? 'http' : 'https';
|
||||||
|
return `${scheme}://img.${apex}/${encodeURIComponent(name)}?width=${width}&cropSquare=1&sig=p1`;
|
||||||
|
}
|
||||||
|
|
||||||
|
function adminApex(): string {
|
||||||
|
if (typeof window === 'undefined') return 'rec.net';
|
||||||
|
|
||||||
|
const host = window.location.hostname.toLowerCase();
|
||||||
|
if (host === 'localhost' || host.endsWith('.localhost')) return 'localhost';
|
||||||
|
|
||||||
|
const parts = host.split('.');
|
||||||
|
return parts.length > 2 ? parts.slice(1).join('.') : host;
|
||||||
}
|
}
|
||||||
|
|
||||||
export interface Room {
|
export interface Room {
|
||||||
|
|||||||
Reference in New Issue
Block a user