InventoryDefinitionPublishedPayload inventory.definition.published@1

Generated at from openvibe-contracts v0.127.0 and openvibe-sdk v0.37.0.

Version
1.0.0
Owner
inventory
Visibility
first-party
Status
active
Compatibility
backward
Decision
ADR-054
Schema
https://openvibe.network/contracts/events/payloads/inventory.definition.published.v1.json

inventory.definition.published v1 (OpenVibe.Inventory, ADR-054). A definition became grantable (a service's on request, a creator's after review). Envelope: subject { type: item_definition, id }, visibility public.

Fields

FieldTypeRequiredDescriptionConstraints
definition_idstringyes
  • pattern ^itd_[0-9A-HJKMNP-TV-Z]{26}$
kindstringyes
  • pattern ^[a-z][a-z0-9_]*(\.[a-z][a-z0-9_]*)+$
namestringyes
  • minLength 1
  • maxLength 200
rarityenumyes
  • one of "common", "uncommon", "rare", "epic", "legendary"
issuerstringyes
  • pattern ^(service:[a-z][a-z0-9-]*|app:app_[0-9A-HJKMNP-TV-Z]{26}|user:usr_[0-9A-HJKMNP-TV-Z]{26})$

Examples

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

Valid: example
{
  "definition_id": "itd_01JZ00000000000000000001T2",
  "kind": "network.profile_frame",
  "name": "Aurora frame",
  "rarity": "rare",
  "issuer": "user:usr_01JZ0000000000000000000AAA"
}
Rejected: missing-field
{
  "kind": "network.profile_frame",
  "name": "Aurora frame",
  "rarity": "rare",
  "issuer": "user:usr_01JZ0000000000000000000AAA"
}

Validate

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