0.2.0-canary.19 • Published 8 months ago
@jackdbd/fastify-syndicate-endpoint v0.2.0-canary.19
@jackdbd/fastify-syndicate-endpoint
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
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": [
{}
]
}
syndicators[]: array
Items
Item Properties
Name | Type | Description | Required |
---|---|---|---|
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 |
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 syndicatorMinimal Length: 1 | yes |
Example
[
{}
]
Dependencies
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 |
References
License
© 2024 - 2025 Giacomo Debidda // MIT License
0.2.0-canary.19
8 months ago
0.2.0-canary.18
8 months ago
0.2.0-canary.17
8 months ago
0.2.0-canary.16
8 months ago
0.2.0-canary.15
8 months ago
0.2.0-canary.14
8 months ago
0.2.0-canary.13
8 months ago
0.2.0-canary.12
8 months ago
0.2.0-canary.11
8 months ago
0.2.0-canary.10
8 months ago
0.2.0-canary.9
8 months ago
0.2.0-canary.8
8 months ago
0.2.0-canary.7
8 months ago
0.2.0-canary.6
8 months ago
0.2.0-canary.5
9 months ago
0.2.0-canary.4
9 months ago
0.2.0-canary.3
9 months ago
0.2.0-canary.2
9 months ago
0.2.0-canary.0
9 months ago