/**
* @param {string} domain: anchoring domain. defaults to 'default'
* @param {STRATEGY} strategy
* @typedef Service
* @function ParticipantService
* @memberOf Services
*/
function ParticipantService(domain, strategy){
const strategies = require('./strategy');
let isSimple = strategies.SIMPLE === (strategy || strategies.SIMPLE);
domain = domain || "default";
/**
* Creates an Participant's DSU, including the const and MQ.
* @param {Participant} participant
* @param {function(err, participantKeySSI)} callback
* @memberOf ParticipantService
*/
this.create = function(participant, callback){
if (typeof callback != "function")
throw new Error("callback must be a function!");
if (isSimple){
createSimple(participant, inbox, callback);
} else {
throw new Error("Not implemented"); // createAuthorized(order, callback);
}
}
/**
*
* @param participant
* @param inbox
* @param callback\
* @memberOf ParticipantService
*/
let createSimple = function (participant, inbox, callback) {
};
/**
* Locate the const DSU of a participant, given the id.
* @param {string} id - a Participant.id
* @param {function(err, participantConstDsu)} callback
* @memberOf ParticipantService
*/
this.locateConstDSU = function(id, callback) {
const opendsu = require("opendsu");
const resolver = opendsu.loadApi("resolver");
const participantConstKeyGenFunction = require('../commands/setParticipantConstSSI').createParticipantConstSSI;
const participantConstKeySSI = participantConstKeyGenFunction({id: id}, domain);
resolver.loadDSU(participantConstKeySSI, (err, participantConstDsu) => {
if (err)
return callback(err);
callback(undefined, participantConstDsu);
});
};
}
module.exports = ParticipantService;
Source