Skip to main content
Glama
Southclaws

Storyden

by Southclaws
revalidate_job.go2.74 kB
package thread_cache import ( "context" "github.com/Southclaws/storyden/app/resources/message" "github.com/Southclaws/storyden/internal/infrastructure/pubsub" "github.com/rs/xid" ) func (c *Cache) subscribe(ctx context.Context, bus *pubsub.Bus) error { if bus == nil { return nil } if _, err := pubsub.Subscribe(ctx, bus, "thread_cache.touch_published", func(ctx context.Context, evt *message.EventThreadPublished) error { return c.Invalidate(ctx, xid.ID(evt.ID)) }); err != nil { return err } if _, err := pubsub.Subscribe(ctx, bus, "thread_cache.touch_updated", func(ctx context.Context, evt *message.EventThreadUpdated) error { return c.Invalidate(ctx, xid.ID(evt.ID)) }); err != nil { return err } if _, err := pubsub.Subscribe(ctx, bus, "thread_cache.touch_unpublished", func(ctx context.Context, evt *message.EventThreadUnpublished) error { return c.Invalidate(ctx, xid.ID(evt.ID)) }); err != nil { return err } if _, err := pubsub.Subscribe(ctx, bus, "thread_cache.drop_deleted", func(ctx context.Context, evt *message.EventThreadDeleted) error { return c.delete(ctx, xid.ID(evt.ID)) }); err != nil { return err } if _, err := pubsub.Subscribe(ctx, bus, "thread_cache.reply_created", func(ctx context.Context, evt *message.EventThreadReplyCreated) error { return c.Invalidate(ctx, xid.ID(evt.ThreadID)) }); err != nil { return err } if _, err := pubsub.Subscribe(ctx, bus, "thread_cache.reply_updated", func(ctx context.Context, evt *message.EventThreadReplyUpdated) error { return c.Invalidate(ctx, xid.ID(evt.ThreadID)) }); err != nil { return err } if _, err := pubsub.Subscribe(ctx, bus, "thread_cache.reply_deleted", func(ctx context.Context, evt *message.EventThreadReplyDeleted) error { return c.Invalidate(ctx, xid.ID(evt.ThreadID)) }); err != nil { return err } if _, err := pubsub.Subscribe(ctx, bus, "thread_cache.post_reacted", func(ctx context.Context, evt *message.EventPostReacted) error { return c.touchForReply(ctx, xid.ID(evt.PostID)) }); err != nil { return err } if _, err := pubsub.Subscribe(ctx, bus, "thread_cache.post_unreacted", func(ctx context.Context, evt *message.EventPostUnreacted) error { return c.touchForReply(ctx, xid.ID(evt.PostID)) }); err != nil { return err } if _, err := pubsub.Subscribe(ctx, bus, "thread_cache.post_liked", func(ctx context.Context, evt *message.EventPostLiked) error { return c.touchForReply(ctx, xid.ID(evt.PostID)) }); err != nil { return err } if _, err := pubsub.Subscribe(ctx, bus, "thread_cache.post_unliked", func(ctx context.Context, evt *message.EventPostUnliked) error { return c.touchForReply(ctx, xid.ID(evt.PostID)) }); err != nil { return err } return nil }

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/Southclaws/storyden'

If you have feedback or need assistance with the MCP directory API, please join our Discord server