go-fed/apcore

support user Preferences in general (& specifically for OnFollow)

cjslep opened this issue · 2 comments

This entails:

  • Framework allowing app.Application to add and modify arbitrary payloads
  • Framework allowing app.Application to modify existing payloads (ex: pub.OnFollow behavior)
  • Using OnFollow for the S2S behavior

I'm thinking of having the arbitrary payload internally just be handled as a json.RawMessage and letting the app.Application supply an arbitrary struct which will be serialized-from/deserialized-into as necessary, so clients can just supply a concrete struct instance. This has the added benefit of delaying handling most of the JSON serialization/deserialization overhead during AP request handling.