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-endpointSyndicate 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
9 months ago
0.2.0-canary.17
9 months ago
0.2.0-canary.16
9 months ago
0.2.0-canary.15
9 months ago
0.2.0-canary.14
9 months ago
0.2.0-canary.13
9 months ago
0.2.0-canary.12
9 months ago
0.2.0-canary.11
9 months ago
0.2.0-canary.10
9 months ago
0.2.0-canary.9
9 months ago
0.2.0-canary.8
9 months ago
0.2.0-canary.7
9 months ago
0.2.0-canary.6
9 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