cloutier--bird.makeup/src/BirdsiteLive.ActivityPub/ApDeserializer.cs

30 lines
883 B
C#
Raw Normal View History

2020-06-06 01:29:13 -04:00
using Newtonsoft.Json;
namespace BirdsiteLive.ActivityPub
{
public class ApDeserializer
{
public static Activity ProcessActivity(string json)
{
var activity = JsonConvert.DeserializeObject<Activity>(json);
switch (activity.type)
{
case "Follow":
return JsonConvert.DeserializeObject<ActivityFollow>(json);
case "Undo":
var a = JsonConvert.DeserializeObject<ActivityUndo>(json);
if(a.apObject.type == "Follow")
return JsonConvert.DeserializeObject<ActivityUndoFollow>(json);
break;
}
return null;
}
private class Ac : Activity
{
[JsonProperty("object")]
public Activity apObject { get; set; }
}
}
}