Fix bad type for AlsoKnownAs

This commit is contained in:
Melody Becker 2025-04-07 15:01:40 +02:00
parent 6fa37a91b8
commit 43b1310f3e

View file

@ -3,7 +3,7 @@ package goap
import (
"time"
"github.com/datainq/xml-date-time"
xmldatetime "github.com/datainq/xml-date-time"
"gitlab.com/mstarongitlab/goutils/sliceutils"
)
@ -28,54 +28,23 @@ func ParseASActorData(raw map[string]any, next BaseApChain) (BaseApChain, error)
}
type ASAlsoKnownAsData struct {
Next BaseApChain
Urls []string
FullIdType
}
func (cc *ASAlsoKnownAsData) GetSelfOrBase() (BaseApChain, bool) {
return cc.Next, true
return cc.FullIdType.GetSelfOrBase()
}
func (cc *ASAlsoKnownAsData) MarshalToMap() map[string]any {
return appendWithKey(
cc.Next.MarshalToMap(),
KEY_ACTIVITYSTREAMS_ALSOKNOWNAS,
sliceutils.Map(cc.Urls, func(t string) map[string]any {
return map[string]any{KEY_ID: t}
}),
)
return cc.FullIdType.MarshalToMapWithName(KEY_ACTIVITYSTREAMS_ALSOKNOWNAS)
}
func ParseASAlsoKnownAsData(raw map[string]any, next BaseApChain) (BaseApChain, error) {
rawData1, ok := raw[KEY_ACTIVITYSTREAMS_ALSOKNOWNAS]
if !ok {
return nil, NoRequiredFieldError{KEY_ACTIVITYSTREAMS_ALSOKNOWNAS}
id, err := ParseIdTypeWithName(raw, next, KEY_ACTIVITYSTREAMS_ALSOKNOWNAS)
if err != nil {
return nil, err
}
data1, ok := rawData1.([]map[string]any)
if !ok {
return nil, BadFieldValueError[[]map[string]any]{
KEY_ACTIVITYSTREAMS_ALSOKNOWNAS,
rawData1,
[]map[string]any{},
}
}
urls := []string{}
for _, v := range data1 {
rawData2, ok := v[KEY_ID]
if !ok {
return nil, NoRequiredSubFieldError{KEY_ACTIVITYSTREAMS_ALSOKNOWNAS, KEY_ID}
}
data2, ok := rawData2.(string)
if !ok {
return nil, BadFieldValueError[string]{KEY_ACTIVITYSTREAMS_ALSOKNOWNAS, rawData2, ""}
}
urls = append(urls, data2)
}
delete(raw, KEY_ACTIVITYSTREAMS_ALSOKNOWNAS)
return &ASAlsoKnownAsData{
Next: next,
Urls: urls,
}, nil
return &ASAlsoKnownAsData{FullIdType: *id}, nil
}
type ASAttachmentsData struct {