using System.Text.Json; using Fitness_core_BE.Exceptions; namespace Fitness_core_BE.Helpers { public static class DeserializePayload { public static Dictionary Deserialize(object payload) { ArgumentNullException.ThrowIfNull(payload); var json = JsonSerializer.Serialize(payload); return JsonSerializer.Deserialize>(json) ?? throw new BadRequestException("Failed to deserialize payload."); } public static T? DeserializeJson(string? json) where T : class { if (string.IsNullOrWhiteSpace(json)) return null; try { return JsonSerializer.Deserialize(json); } catch { return null; } } } }