Fix bad type for AlsoKnownAs
This commit is contained in:
parent
6fa37a91b8
commit
43b1310f3e
1 changed files with 8 additions and 39 deletions
|
@ -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 {
|
||||
|
|
Loading…
Reference in a new issue