goap/nsLitepub.go
Melody 7a8579bc0e All parsers for the different elements done
Now to make a parser to combine all of them into one for a giant chain
2024-08-26 14:01:19 +02:00

58 lines
1.7 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
}
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
}