From b3f22c698739bdd57dab77af45a0b8a43da72ca4 Mon Sep 17 00:00:00 2001 From: Julio Capote Date: Sun, 1 Jan 2023 16:48:37 -0500 Subject: working ids and activity lookups --- registry/registry.go | 22 ++++++++++++++++++++++ 1 file changed, 22 insertions(+) (limited to 'registry') diff --git a/registry/registry.go b/registry/registry.go index 2518d55..4a1329a 100644 --- a/registry/registry.go +++ b/registry/registry.go @@ -14,6 +14,7 @@ type Handler struct { handlerCfg config.Handler } +// TODO rename to controller and controller.go type Registry struct { cfg config.Config persister *models.Persister @@ -74,6 +75,27 @@ func (r *Registry) OutboxCollection(name string) (map[string]interface{}, error) return views.RenderOutboxCollection(handler.handlerCfg.Name, r.cfg.Domain, outboxItems) } +func (r *Registry) Activity(name, id string) (map[string]interface{}, error) { + handler := r.findByName(name) + if handler == nil { + return nil, nil + } + lookup := models.NewOutboxItem(handler.handlerCfg) + lookup.Id = []byte(id) + result, err := r.persister.Find(lookup) + if err != nil { + return nil, err + } + buf := bytes.NewBuffer(result) + dec := gob.NewDecoder(buf) + var outboxItem models.OutboxItem + err = dec.Decode(&outboxItem) + if err != nil { + return nil, err + } + return views.RenderActivity(handler.handlerCfg.Name, r.cfg.Domain, outboxItem) +} + func (r *Registry) WebfingerResource(fqn string) (*views.WebfingerResource, error) { handler := r.findByFQN(fqn) if handler == nil { -- cgit v1.2.3