openvibers/openvibe.contracts index.js
index.js
| 1 | ; |
| 2 | /** |
| 3 | * openvibe-contracts — machine-readable contracts for the OpenVibe network. |
| 4 | * |
| 5 | * const contracts = require('openvibe-contracts'); |
| 6 | * contracts.validate('identity.subject-ref@1', { type: 'user', id: 'usr_01J...' }); |
| 7 | * contracts.ids.newId('user'); // 'usr_01J...' |
| 8 | * contracts.http.problem(403, 'capability.denied'); // RFC 9457 body |
| 9 | * contracts.capabilities.check(tokenClaims, 'media.object.read', { namespace: 'live' }); |
| 10 | * contracts.staff.can(userTokenClaims, 'staff.moderation.chat'); // staff roles → staff capabilities |
| 11 | * contracts.resources.parse('ovrn:media:prj_…:object/med_…'); // { service, project_id, type, id } |
| 12 | */ |
| 13 | const registry = require('./lib/registry'); |
| 14 | |
| 15 | module.exports = { |
| 16 | levels: require('./lib/levels'), |
| 17 | catalog: registry.catalog, |
| 18 | resolve: registry.resolve, |
| 19 | validate: registry.validate, |
| 20 | assertValid: registry.assertValid, |
| 21 | schema: registry.schema, |
| 22 | ids: require('./lib/ids'), |
| 23 | http: require('./lib/http'), |
| 24 | capabilities: require('./lib/capabilities'), |
| 25 | services: require('./lib/services'), |
| 26 | products: require('./lib/products'), |
| 27 | serviceAuth: require('./lib/service-auth'), |
| 28 | modules: require('./lib/modules'), |
| 29 | tools: require('./lib/tools'), |
| 30 | zones: require('./lib/zones'), |
| 31 | usage: require('./lib/usage'), |
| 32 | resources: require('./lib/resources'), |
| 33 | staff: require('./lib/staff'), |
| 34 | labels: require('./lib/labels'), |
| 35 | moneyReasons: require('./lib/money-reasons'), |
| 36 | openapi: require('./lib/openapi'), |
| 37 | }; |
| 38 |