0.2.0-canary.19 • Published 8 months ago

@jackdbd/fastify-syndicate-endpoint v0.2.0-canary.19

Weekly downloads
-
License
MIT
Repository
-
Last release
8 months ago

@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.

Installation

npm install @jackdbd/fastify-syndicate-endpoint

Syndicate Endpoint Options

Options for the Fastify syndicate-endpoint plugin

Properties

NameTypeDescriptionRequired
includeErrorDescriptionbooleanWhether 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: falseno
isAccessTokenRevokedFunctionPredicate function that returns true if a jti (JSON Web Token ID) is revoked.yes
logPrefixstringDefault: "[syndicate-endpoint] "no
meyes
reportAllAjvErrors(report all AJV errors)booleanWhether to report all AJV validation errors.Default: falseno
retrievePost(retrieveContent)FunctionRetrieves a post from the Micropub server.yes
syndicatorsobject[]yes
updatePost(Update post)FunctionUpdates a post published at a URL.yes
urlToLocation(URL to location)FunctionMaps 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": [
        {}
    ]
}

syndicators[]: array

Items

Item Properties

NameTypeDescriptionRequired
namestringThe human readable name of the syndicator.Minimal Length: 1yes
jf2ToContent(JF2 to content)FunctionGenerates some content from a JF2 object.yes
syndicateFunctionSyndicate the content published at a canonical URL (i.e. content published on your me domain) to another target (e.g. a social network).yes
uidstringUnique identifier for the syndicatorMinimal Length: 1yes

Example

[
    {}
]

Dependencies

PackageVersion
@fastify/formbody^8.0.2
@fastify/response-validation^3.0.3
@jackdbd/canonical-url0.2.0-canary.8
@jackdbd/fastify-hooks0.2.0-canary.16
@jackdbd/indieauth0.2.0-canary.14
@jackdbd/micropub0.2.0-canary.13
@jackdbd/oauth2-error-responses0.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.

PeerVersion range
@fastify/request-context>=6.0.0
fastify>=5.0.0

References

License

© 2024 - 2025 Giacomo Debidda // MIT License