CommunityPasteCreatedPayload community.paste.created@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.created.v1.json
community.paste.created v1 (OpenVibe.Community server/events.js, queued in the transaction of the change). A paste (text or screenshot) was created. Never the content or title. Envelope: subject { type: paste, id }, visibility public when the item is public else internal, priority low, actor the person or service:community.
Fields
| Field | Type | Required | Description | Constraints |
|---|---|---|---|---|
paste_id | string | yes | The paste's slug. |
|
type | enum | yes |
| |
origin | enum | yes | ai: written by OpenVibe's AI (Moments); never shown as a person's work. |
|
visibility | enum | yes |
| |
owner | one of | yes | ||
url | string | null | yes | The public page, or null when the item is not public. |
|
Examples
From the contract's own test fixtures: valid ones validate, rejected ones must fail.
Valid: example
{
"paste_id": "amber-fox-42",
"type": "paste",
"origin": "user",
"visibility": "public",
"owner": {
"type": "user",
"id": "usr_01JAB2C3D4E5F6G7H8J9K0MNPQ"
},
"url": "https://openvibe.community/p/amber-fox-42"
}Rejected: carries-content
{
"paste_id": "amber-fox-42",
"type": "paste",
"origin": "user",
"visibility": "public",
"owner": {
"type": "user",
"id": "usr_01JAB2C3D4E5F6G7H8J9K0MNPQ"
},
"url": "https://openvibe.community/p/amber-fox-42",
"body": "the content never travels"
}Validate
const contracts = require('openvibe-contracts');
contracts.validate('community.paste.created@1', value); // { valid, errors: [{ path, message }] }