A Seneca.js plugin for generic membership relations between entities.
seneca-member
NOTE: requires underlying entity store to support "value array" queries.
Install
$ npm install seneca-promisify seneca-member
Quick Example
const Seneca = require('seneca')
Seneca()
.use('member')
.act({
role: 'member',
cmd: 'add',
parent:'p001',
child:'c001',
kind:'group',
code:'admin',
tags:['foo','bar']
},
function(err, out) {
console.log(out)
})
Usage
- For message validation, load seneca-doc and seneca-joi
Action Patterns
- add:kinds,role:member
- add:member,role:member
- get:kinds,role:member
- is:member,role:member
- list:children,role:member
- list:parents,role:member
- list:all,role:member
- remove:member,role:member
- role:member,update:member
Action Descriptions
add:kinds,role:member
»
« Add parent and child entity types.
Parameters
- kinds : object
add:member,role:member
»
« Add child (id) to parent (id) under relationship kind
(idempotent).
Parameters
- parent : string {presence:required} : Parent entity identifier.
- child : string : Child entity identifier.
- kind : string {presence:required}
- code : string
- tags : array
- children : array : Child entity identifiers (optional).
get:kinds,role:member
»
« No description provided.
is:member,role:member
»
« No description provided.
list:children,role:member
»
« No description provided.
Parameters
- parent : string
- child : string
- kind : string
- code : string
- tags : array
list:parents,role:member
»
« No description provided.
Parameters
- parent : string
- child : string
- kind : string
- code : string
- tags : array
list:all,role:member
»
« No description provided.
remove:member,role:member
»
« No description provided.
role:member,update:member
»
« No description provided.
Parameters
- parent : string : Parent entity identifier.
- child : string : Child entity identifier.
- kind : string
- code : string
- tags : array
- id : string {presence:required}
License
Copyright (c) 2019-2020, Richard Rodger and other contributors. Licensed under MIT.