CommunityPulseContributeRequest community.pulse-contribute-request@1

Generated at from openvibe-contracts v0.419.0 and openvibe-sdk v0.161.0.

Version
1.0.0
Owner
community
Visibility
public
Status
active
Compatibility
backward
Schema
https://openvibe.network/contracts/community/pulse-contribute-request.v1.json

An app with a person's community.pulse.contribute grant posts an item about that person. The app token supplies the person and app identity; the body cannot choose either.

Fields

FieldTypeRequiredDescriptionConstraints
idstringyes
  • pattern ^[A-Za-z0-9_-]{1,80}$
textstringyes
  • pattern \S
  • minLength 1
  • maxLength 300
urlstringyes
  • pattern ^https://
  • maxLength 2000
picture_urlstring
  • pattern ^https://openvibe\.media/(t|o)/
  • maxLength 2000

Examples

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

Valid: picture
{
  "id": "demo-2",
  "text": "A new demo",
  "url": "https://example.test/demo",
  "picture_url": "https://openvibe.media/t/demo.jpg"
}
Valid: text
{
  "id": "launch-1",
  "text": "A new demo",
  "url": "https://example.test/demo"
}
Rejected: external-picture
{
  "id": "demo-2",
  "text": "A new demo",
  "url": "https://example.test/demo",
  "picture_url": "https://example.test/demo.jpg"
}
Rejected: http
{
  "id": "launch-1",
  "text": "A new demo",
  "url": "http://example.test/demo"
}

Validate

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