federation

package
v0.9.18 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Feb 20, 2024 License: AGPL-3.0 Imports: 8 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

This section is empty.

Types

type ConversionHandler

type ConversionHandler struct {
	// contains filtered or unexported fields
}

func (*ConversionHandler) FollowToAS

TODO: create an actual implementation

func (*ConversionHandler) MemberToActor

func (ch *ConversionHandler) MemberToActor(c *fiber.Ctx, memberData *member.Member) ([]byte, error)

MemberToActor converts a member to an ActivityPub actor

type Converter

type Converter interface {
	// FollowToAS converts LibRate FollowBlockRequest to ActivityPub Follow
	FollowToAS(ctx context.Context, req *member.FollowBlockRequest) (*activitypub.Follow, error)
	MemberToActor(c *fiber.Ctx, m *member.Member) ([]byte, error)
}

type FedController

type FedController struct {
	Converter
	// contains filtered or unexported fields
}

FedController holds the dependencies for the federation handler

func NewController

func NewController(log *zerolog.Logger, storage *sqlx.DB, memberStorage member.Storer) *FedController

NewFedController returns a new FedController

func (*FedController) Follow

func (fc *FedController) Follow(c *fiber.Ctx) error

Follow handles incoming follow requests

func (*FedController) In

func (fc *FedController) In(c *fiber.Ctx) error

In handles incoming messages, then routes them to the appropriate handler

func (*FedController) Unknown

func (fc *FedController) Unknown(c *fiber.Ctx) error

Unknown handles unknown activity types

type FedHandler

type FedHandler interface {
	Converter
	Follow(c *fiber.Ctx) error
	In(c *fiber.Ctx) error
	Unknown(c *fiber.Ctx) error
}

FedHandler is the interface for the federation handler

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL