goap/nsLitepub.go

66 lines
2 KiB
Go

package goap
type LitepubCapabilitiesData struct {
Next BaseApChain
Capabilities []map[string]any // I have no idea what the data inside there looks like
}
func (capabilitiesdata *LitepubCapabilitiesData) GetSelfOrBase() (BaseApChain, bool) {
return capabilitiesdata.Next, true
}
func (capabilitiesdata *LitepubCapabilitiesData) MarshalToMap() map[string]any {
return appendWithKey(
capabilitiesdata.Next.MarshalToMap(),
KEY_LITEPUB_CAPABILITIES,
capabilitiesdata.Capabilities,
)
}
func ParseLitepubCapabilitiesData(raw map[string]any, next BaseApChain) (BaseApChain, error) {
rawData, ok := raw[KEY_LITEPUB_CAPABILITIES]
if !ok {
return nil, NoRequiredFieldError{KEY_LITEPUB_CAPABILITIES}
}
data, ok := rawData.([]map[string]any)
if !ok {
return nil, BadFieldValueError[[]map[string]any]{KEY_LITEPUB_CAPABILITIES, rawData, data}
}
return &LitepubCapabilitiesData{
Next: next,
Capabilities: data,
}, nil
}
func AppendLitepubCapabilitiesData(base BaseApChain, rawData ...map[string]any) BaseApChain {
return &LitepubCapabilitiesData{base, rawData}
}
type LitepubOauthRegistrationEndpointData struct {
FullIdType
}
func (oauthregistrationendpointdata *LitepubOauthRegistrationEndpointData) GetSelfOrBase() (BaseApChain, bool) {
return oauthregistrationendpointdata.FullIdType.GetSelfOrBase()
}
func (oauthregistrationendpointdata *LitepubOauthRegistrationEndpointData) MarshalToMap() map[string]any {
return oauthregistrationendpointdata.FullIdType.MarshalToMapWithName(
KEY_ACTIVITYSTREAMS_OAUTHAUTHORIZATION,
)
}
func ParseLitepubOauthRegistrationEndpointData(
raw map[string]any,
next BaseApChain,
) (BaseApChain, error) {
id, err := ParseIdTypeWithName(raw, next, KEY_LITEPUB_OAUTHREGISTRATION)
if err != nil {
return nil, err
}
return &LitepubOauthRegistrationEndpointData{FullIdType: *id}, nil
}
func AppendLitepubOauthRegistrationEndpointsData(base BaseApChain, id string) BaseApChain {
return &LitepubOauthRegistrationEndpointData{FullIdType{base, id}}
}