@jackdbd/fastify-syndicate-endpoint

@jackdbd/fastify-syndicate-endpoint

npm version install size CodeCov badge Socket Badge

Fastify plugin that adds a syndicate endpoint to a Fastify server.

This endpoint manages the syndication (aka cross-posting) of content/media to the syndication targets supported by a Micropub server.

npm install @jackdbd/fastify-syndicate-endpoint

Options for the Fastify syndicate-endpoint plugin

Properties

Name Type Description Required
includeErrorDescription boolean Whether to include an error_description property in all error responses. This is meant to assist the client developer in understanding the error. This is NOT meant to be shown to the end user.
Default: false
no
isAccessTokenRevoked Function Predicate function that returns true if a jti (JSON Web Token ID) is revoked.
yes
logPrefix string Default: "[syndicate-endpoint] "
no
me yes
reportAllAjvErrors
(report all AJV errors)
boolean Whether to report all AJV validation errors.
Default: false
no
retrievePost
(retrieveContent)
Function Retrieves a post from the Micropub server.
yes
syndicators object[] yes
updatePost
(Update post)
Function Updates a post published at a URL.
yes
urlToLocation
(URL to location)
Function Maps a URL published on the user's website to a location on the user's store (e.g. a table in a database, a path in a git repository, a URL in a public bucket of an object storage service like AWS S3).
yes

Example

{
"includeErrorDescription": false,
"logPrefix": "[syndicate-endpoint] ",
"reportAllAjvErrors": false,
"syndicators": [
{}
]
}

Items

Item Properties

Name Type Description Required
createContentToSyndicate
(Create content to syndicate)
Function yes
name string The human readable name of the syndicator.
Minimal Length: 1
yes
jf2ToContent
(JF2 to content)
Function Generates some content from a JF2 object.
yes
retrieveContentsToSyndicate Function Retrieves all the contents to syndicate.
yes
syndicate Function Syndicate the content published at a canonical URL (i.e. content published on your me domain) to another target (e.g. a social network).
yes
uid string Unique identifier for the syndicator
Minimal Length: 1
yes

Example

[
{}
]
Package Version
@fastify/formbody ^8.0.2
@fastify/response-validation ^3.0.3
@jackdbd/canonical-url 0.2.0-canary.8
@jackdbd/fastify-hooks 0.2.0-canary.16
@jackdbd/indieauth 0.2.0-canary.14
@jackdbd/micropub 0.2.0-canary.13
@jackdbd/oauth2-error-responses 0.2.0-canary.9
@paulrobertlloyd/mf2tojf2 ^2.4.0
@sinclair/typebox ^0.34.15
ajv ^8.17.1
ajv-formats ^3.0.1
fast-xml-parser ^4.5.1
fastify-plugin ^5.0.1
Warning

This package defines 2 peer dependencies.

Peer Version range
@fastify/request-context >=6.0.0
fastify >=5.0.0

© 2024 - 2025 Giacomo Debidda // MIT License