CommunityPasteUpdatedPayload community.paste.updated@1

Generated at from openvibe-contracts v0.38.0 and openvibe-sdk v0.5.0.

Version
1.0.0
Owner
community
Visibility
first-party
Status
active
Compatibility
backward
Schema
https://openvibe.network/contracts/events/payloads/community.paste.updated.v1.json

community.paste.updated v1 (OpenVibe.Community server/events.js, queued in the transaction of the change). A paste changed: its title, content or language (a new revision), or its visibility, NSFW flag or pin. Names what changed, never the values of text fields. Envelope: subject { type: paste, id }, visibility public when the item is public else internal, priority low, actor the person or service:community.

Fields

FieldTypeRequiredDescriptionConstraints
paste_idstringyes
  • pattern ^[a-z0-9-]{3,64}$
changedarray of enumyes
  • minItems 1
  • unique items
  • items: one of "title", "content", "language", "visibility", "is_nsfw", "pinned"
visibilityenumyes
  • one of "public", "unlisted", "private", "hidden", "deleted"
revisionintegeryes
  • minimum 1
urlstring | nullyesThe public page, or null when the item is not public.
  • maxLength 500

Examples

From the contract's own test fixtures: valid ones validate, rejected ones must fail.

Valid: example
{
  "paste_id": "amber-fox-42",
  "changed": [
    "visibility"
  ],
  "visibility": "unlisted",
  "revision": 1,
  "url": null
}
Rejected: carries-content
{
  "paste_id": "amber-fox-42",
  "changed": [
    "visibility"
  ],
  "visibility": "unlisted",
  "revision": 1,
  "url": null,
  "body": "the content never travels"
}

Validate

const contracts = require('openvibe-contracts');
contracts.validate('community.paste.updated@1', value);   // { valid, errors: [{ path, message }] }