Skip to main content
Glama

Storyden

by Southclaws
revalidate_job.go1.86 kB
package node_cache import ( "context" "github.com/rs/xid" "github.com/Southclaws/storyden/app/resources/mark" "github.com/Southclaws/storyden/app/resources/message" "github.com/Southclaws/storyden/internal/infrastructure/pubsub" ) func (c *Cache) subscribe(ctx context.Context, bus *pubsub.Bus) error { if _, err := pubsub.Subscribe(ctx, bus, "node_cache.touch_created", func(ctx context.Context, evt *message.EventNodeCreated) error { return c.touch(ctx, eventKey(evt.Slug, xid.ID(evt.ID))) }); err != nil { return err } if _, err := pubsub.Subscribe(ctx, bus, "node_cache.touch_updated", func(ctx context.Context, evt *message.EventNodeUpdated) error { return c.touch(ctx, eventKey(evt.Slug, xid.ID(evt.ID))) }); err != nil { return err } if _, err := pubsub.Subscribe(ctx, bus, "node_cache.touch_published", func(ctx context.Context, evt *message.EventNodePublished) error { return c.touch(ctx, eventKey(evt.Slug, xid.ID(evt.ID))) }); err != nil { return err } if _, err := pubsub.Subscribe(ctx, bus, "node_cache.touch_submitted", func(ctx context.Context, evt *message.EventNodeSubmittedForReview) error { return c.touch(ctx, eventKey(evt.Slug, xid.ID(evt.ID))) }); err != nil { return err } if _, err := pubsub.Subscribe(ctx, bus, "node_cache.touch_unpublished", func(ctx context.Context, evt *message.EventNodeUnpublished) error { return c.touch(ctx, eventKey(evt.Slug, xid.ID(evt.ID))) }); err != nil { return err } if _, err := pubsub.Subscribe(ctx, bus, "node_cache.invalidate_deleted", func(ctx context.Context, evt *message.EventNodeDeleted) error { return c.invalidate(ctx, eventKey(evt.Slug, xid.ID(evt.ID))) }); err != nil { return err } return nil } func eventKey(markValue string, id xid.ID) string { if markValue != "" { return markValue } return mark.NewQueryKeyID(id).String() }

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