66 lines
2 KiB
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}}
|
|
}
|