From 6ffec8f58af34e2ce7a86f56be60f9fba4bd2d45 Mon Sep 17 00:00:00 2001 From: Ted Unangst Date: Mon, 24 May 2021 18:28:37 -0400 Subject: [PATCH] allow object type field to be an array --- activity.go | 15 ++++++++++++++- 1 file changed, 14 insertions(+), 1 deletion(-) diff --git a/activity.go b/activity.go index 2cf347f..e9b42b4 100644 --- a/activity.go +++ b/activity.go @@ -451,6 +451,19 @@ func extractattrto(obj junk.Junk) string { return "" } +func firstofmany(obj junk.Junk, key string) string { + if val, _ := obj.GetString(key); val != "" { + return val + } + if arr, _ := obj.GetArray(key); len(arr) > 0 { + val, ok := arr[0].(string) + if ok { + return val + } + } + return "" +} + func xonksaver(user *WhatAbout, item junk.Junk, origin string) *Honk { depth := 0 maxdepth := 10 @@ -476,7 +489,7 @@ func xonksaver(user *WhatAbout, item junk.Junk, origin string) *Honk { xonkxonkfn = func(item junk.Junk, origin string, isUpdate bool) *Honk { id, _ := item.GetString("id") - what, _ := item.GetString("type") + what := firstofmany(item, "type") dt, ok := item.GetString("published") if !ok { dt = time.Now().Format(time.RFC3339)