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 (
|
import (
|
||||||
"time"
|
"time"
|
||||||
|
|
||||||
"github.com/datainq/xml-date-time"
|
xmldatetime "github.com/datainq/xml-date-time"
|
||||||
"gitlab.com/mstarongitlab/goutils/sliceutils"
|
"gitlab.com/mstarongitlab/goutils/sliceutils"
|
||||||
)
|
)
|
||||||
|
|
||||||
|
@ -28,54 +28,23 @@ func ParseASActorData(raw map[string]any, next BaseApChain) (BaseApChain, error)
|
||||||
}
|
}
|
||||||
|
|
||||||
type ASAlsoKnownAsData struct {
|
type ASAlsoKnownAsData struct {
|
||||||
Next BaseApChain
|
FullIdType
|
||||||
Urls []string
|
|
||||||
}
|
}
|
||||||
|
|
||||||
func (cc *ASAlsoKnownAsData) GetSelfOrBase() (BaseApChain, bool) {
|
func (cc *ASAlsoKnownAsData) GetSelfOrBase() (BaseApChain, bool) {
|
||||||
return cc.Next, true
|
return cc.FullIdType.GetSelfOrBase()
|
||||||
}
|
}
|
||||||
|
|
||||||
func (cc *ASAlsoKnownAsData) MarshalToMap() map[string]any {
|
func (cc *ASAlsoKnownAsData) MarshalToMap() map[string]any {
|
||||||
return appendWithKey(
|
return cc.FullIdType.MarshalToMapWithName(KEY_ACTIVITYSTREAMS_ALSOKNOWNAS)
|
||||||
cc.Next.MarshalToMap(),
|
|
||||||
KEY_ACTIVITYSTREAMS_ALSOKNOWNAS,
|
|
||||||
sliceutils.Map(cc.Urls, func(t string) map[string]any {
|
|
||||||
return map[string]any{KEY_ID: t}
|
|
||||||
}),
|
|
||||||
)
|
|
||||||
}
|
}
|
||||||
|
|
||||||
func ParseASAlsoKnownAsData(raw map[string]any, next BaseApChain) (BaseApChain, error) {
|
func ParseASAlsoKnownAsData(raw map[string]any, next BaseApChain) (BaseApChain, error) {
|
||||||
rawData1, ok := raw[KEY_ACTIVITYSTREAMS_ALSOKNOWNAS]
|
id, err := ParseIdTypeWithName(raw, next, KEY_ACTIVITYSTREAMS_ALSOKNOWNAS)
|
||||||
if !ok {
|
if err != nil {
|
||||||
return nil, NoRequiredFieldError{KEY_ACTIVITYSTREAMS_ALSOKNOWNAS}
|
return nil, err
|
||||||
}
|
}
|
||||||
data1, ok := rawData1.([]map[string]any)
|
return &ASAlsoKnownAsData{FullIdType: *id}, nil
|
||||||
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
|
|
||||||
}
|
}
|
||||||
|
|
||||||
type ASAttachmentsData struct {
|
type ASAttachmentsData struct {
|
||||||
|
|
Loading…
Reference in a new issue