Seehttps://handlebarsjs.com/api-reference/runtime-options.html#options-to-control-prototype-access for details`))}function l(){f(h).forEach(function(y){delete h[y]})}var o=d(34).default,f=d(13).default,g=d(3).default;s.__esModule=!0,s.createProtoAccessControl=r,s.resultIsAllowed=n,s.resetLoggedProperties=l;var i=d(36),m=d(32),c=g(m),h=o(null)},function(v,s,d){v.exports={default:d(35),__esModule:!0}},function(v,s,d){var r=d(9);v.exports=function(n,u){return r.create(n,u)}},function(v,s,d){"use strict";function r(){for(var p=arguments.length,l=Array(p),o=0;o<p;o++)l[o]=arguments[o];return u.extend.apply(void 0,[n(null)].concat(l))}var n=d(34).default;s.__esModule=!0,s.createNewLookupObject=r;var u=d(5)},function(v,s){"use strict";function d(r){this.string=r}s.__esModule=!0,d.prototype.toString=d.prototype.toHTML=function(){return""+this.string},s.default=d,v.exports=s.default},function(v,s,d){"use strict";function r(R){var _=R&&R[0]||1,N=D.COMPILER_REVISION;if(!(_>=D.LAST_COMPATIBLE_COMPILER_REVISION&&_<=D.COMPILER_REVISION)){if(_<D.LAST_COMPATIBLE_COMPILER_REVISION){var B=D.REVISION_CHANGES[N],W=D.REVISION_CHANGES[_];throw new w.default("Template was precompiled with an older version of Handlebars than the current runtime. Please update your precompiler to a newer version ("+B+") or downgrade your runtime to an older version ("+W+").")}throw new w.default("Template was precompiled with a newer version of Handlebars than the current runtime. Please update your runtime to a newer version ("+R[1]+").")}}function n(R,_){function N(F,H,$){$.hash&&(H=T.extend({},H,$.hash),$.ids&&($.ids[0]=!0)),F=_.VM.resolvePartial.call(this,F,H,$);var Y=T.extend({},$,{hooks:this.hooks,protoAccessControl:this.protoAccessControl}),K=_.VM.invokePartial.call(this,F,H,Y);if(K==null&&_.compile&&($.partials[$.name]=_.compile(F,R.compilerOptions,_),K=$.partials[$.name](H,Y)),K!=null){if($.indent){for(var Q=K.split(`
Expecting`+N.join(", ")+", got '"+(this.terminals_[A]||A)+"'":"Parse error on line "+(h+1)+": Unexpected "+(A==1?"end of input":"'"+(this.terminals_[A]||A)+"'"),this.parseError(W,{text:this.lexer.match,token:this.terminals_[A]||A,line:this.lexer.yylineno,loc:x,expected:N})}}if(C[0]instanceof Array&&C.length>1)throw new Error("Parse Error: multiple actions possible at state: "+D+", token: "+A);switch(C[0]){case 1:f.push(A),g.push(this.lexer.yytext),i.push(this.lexer.yylloc),f.push(C[1]),A=null,w?(A=w,w=null):(y=this.lexer.yyleng,c=this.lexer.yytext,h=this.lexer.yylineno,x=this.lexer.yylloc,E>0&&E--);break;case 2:if(R=this.productions_[C[1]][1],B.$=g[g.length-R],B._$={first_line:i[i.length-(R||1)].first_line,last_line:i[i.length-1].last_line,first_column:i[i.length-(R||1)].first_column,last_column:i[i.length-1].last_column},T&&(B._$.range=[i[i.length-(R||1)].range[0],i[i.length-1].range[1]]),O=this.performAction.call(B,c,y,h,this.yy,C[1],g,i),typeof O!="undefined")return O;R&&(f=f.slice(0,-1*R*2),g=g.slice(0,-1*R),i=i.slice(0,-1*R)),f.push(this.productions_[C[1]][0]),g.push(B.$),i.push(B._$),_=m[f[f.length-2]][f[f.length-1]],f.push(_);break;case 3:return!0}}return!0}},u=function(){var p={EOF:1,parseError:function(l,o){if(!this.yy.parser)throw new Error(l);this.yy.parser.parseError(l,o)},setInput:function(l){return this._input=l,this._more=this._less=this.done=!1,this.yylineno=this.yyleng=0,this.yytext=this.matched=this.match="",this.conditionStack=["INITIAL"],this.yylloc={first_line:1,first_column:0,last_line:1,last_column:0},this.options.ranges&&(this.yylloc.range=[0,0]),this.offset=0,this},input:function(){var l=this._input[0];this.yytext+=l,this.yyleng++,this.offset++,this.match+=l,this.matched+=l;var o=l.match(/(?:\r\n?|\n).*/g);return o?(this.yylineno++,this.yylloc.last_line++):this.yylloc.last_column++,this.options.ranges&&this.yylloc.range[1]++,this._input=this._input.slice(1),l},unput:function(l){var o=l.length,f=l.split(/(?:\r\n?|\n)/g);this._input=l+this._input,this.yytext=this.yytext.substr(0,this.yytext.length-o-1),this.offset-=o;var g=this.match.split(/(?:\r\n?|\n)/g);this.match=this.match.substr(0,this.match.length-1),this.matched=this.matched.substr(0,this.matched.length-1),f.length-1&&(this.yylineno-=f.length-1);var i=this.yylloc.range;return this.yylloc={first_line:this.yylloc.first_line,last_line:this.yylineno+1,first_column:this.yylloc.first_column,last_column:f?(f.length===g.length?this.yylloc.first_column:0)+g[g.length-f.length].length-f[0].length:this.yylloc.first_column-o},this.options.ranges&&(this.yylloc.range=[i[0],i[0]+this.yyleng-o]),this},more:function(){return this._more=!0,this},less:function(l){this.unput(this.match.slice(l))},pastInput:function(){var l=this.matched.substr(0,this.matched.length-this.match.length);return(l.length>20?"...":"")+l.substr(-20).replace(/\n/g,"")},upcomingInput:function(){var l=this.match;return l.length<20&&(l+=this._input.substr(0,20-l.length)),(l.substr(0,20)+(l.length>20?"...":"")).replace(/\n/g,"")},showPosition:function(){var l=this.pastInput(),o=new Array(l.length+1).join("-");return l+this.upcomingInput()+`
`+o+"^"},next:function(){if(this.done)return this.EOF;this._input||(this.done=!0);var l,o,f,g,i;this._more||(this.yytext="",this.match="");for(var m=this._currentRules(),c=0;c<m.length&&(f=this._input.match(this.rules[m[c]]),!f||o&&!(f[0].length>o[0].length)||(o=f,g=c,this.options.flex));c++);return o?(i=o[0].match(/(?:\r\n?|\n).*/g),i&&(this.yylineno+=i.length),this.yylloc={first_line:this.yylloc.last_line,last_line:this.yylineno+1,first_column:this.yylloc.last_column,last_column:i?i[i.length-1].length-i[i.length-1].match(/\r?\n?/)[0].length:this.yylloc.last_column+o[0].length},this.yytext+=o[0],this.match+=o[0],this.matches=o,this.yyleng=this.yytext.length,this.options.ranges&&(this.yylloc.range=[this.offset,this.offset+=this.yyleng]),this._more=!1,this._input=this._input.slice(o[0].length),this.matched+=o[0],l=this.performAction.call(this,this.yy,this,m[g],this.conditionStack[this.conditionStack.length-1]),this.done&&this._input&&(this.done=!1),l||void 0):this._input===""?this.EOF:this.parseError("Lexical error on line "+(this.yylineno+1)+`.Unrecognizedtext.
*/var r=function(n){var u=/(?:^|\s)lang(?:uage)?-([\w-]+)(?=\s|$)/i,p=0,l={},o={manual:n.Prism&&n.Prism.manual,disableWorkerMessageHandler:n.Prism&&n.Prism.disableWorkerMessageHandler,util:{encode:functionA(w){returnwinstanceoff?newf(w.type,A(w.content),w.alias):Array.isArray(w)?w.map(A):w.replace(/&/g,"&").replace(/</g,"<").replace(/\u00a0/g," ")},type:function(A){returnObject.prototype.toString.call(A).slice(8,-1)},objId:function(A){returnA.__id||Object.defineProperty(A,"__id",{value:++p}),A.__id},clone:functionA(w,D){D=D||{};varC,O;switch(o.util.type(w)){case"Object":if(O=o.util.objId(w),D[O])returnD[O];C={},D[O]=C;for(varIinw)w.hasOwnProperty(I)&&(C[I]=A(w[I],D));returnC;case"Array":returnO=o.util.objId(w),D[O]?D[O]:(C=[],D[O]=C,w.forEach(function(R,_){C[_]=A(R,D)}),C);default:returnw}},getLanguage:function(A){for(;A;){varw=u.exec(A.className);if(w)returnw[1].toLowerCase();A=A.parentElement}return"none"},setLanguage:function(A,w){A.className=A.className.replace(RegExp(u,"gi"),""),A.classList.add("language-"+w)},currentScript:function(){if(typeofdocument=="undefined")returnnull;if("currentScript"indocument&&1<2)returndocument.currentScript;try{thrownewError}catch(C){varA=(/at [^(\r\n]*\((.*):[^:]+:[^:]+\)$/i.exec(C.stack)||[])[1];if(A){varw=document.getElementsByTagName("script");for(varDinw)if(w[D].src==A)returnw[D]}returnnull}},isActive:function(A,w,D){for(varC="no-"+w;A;){varO=A.classList;if(O.contains(w))return!0;if(O.contains(C))return!1;A=A.parentElement}return!!D}},languages:{plain:l,plaintext:l,text:l,txt:l,extend:function(A,w){varD=o.util.clone(o.languages[A]);for(varCinw)D[C]=w[C];returnD},insertBefore:function(A,w,D,C){C=C||o.languages;varO=C[A],I={};for(varRinO)if(O.hasOwnProperty(R)){if(R==w)for(var_inD)D.hasOwnProperty(_)&&(I[_]=D[_]);D.hasOwnProperty(R)||(I[R]=O[R])}varN=C[A];returnC[A]=I,o.languages.DFS(o.languages,function(B,W){W===N&&B!=A&&(this[B]=I)}),I},DFS:functionA(w,D,C,O){O=O||{};varI=o.util.objId;for(varRinw)if(w.hasOwnProperty(R)){D.call(w,R,w[R],C||R);var_=w[R],N=o.util.type(_);N==="Object"&&!O[I(_)]?(O[I(_)]=!0,A(_,D,null,O)):N==="Array"&&!O[I(_)]&&(O[I(_)]=!0,A(_,D,R,O))}}},plugins:{},highlightAll:function(A,w){o.highlightAllUnder(document,A,w)},highlightAllUnder:function(A,w,D){varC={callback:D,container:A,selector:'code[class*="language-"], [class*="language-"] code, code[class*="lang-"], [class*="lang-"] code'};o.hooks.run("before-highlightall",C),C.elements=Array.prototype.slice.apply(C.container.querySelectorAll(C.selector)),o.hooks.run("before-all-elements-highlight",C);for(varO=0,I;I=C.elements[O++];)o.highlightElement(I,w===!0,C.callback)},highlightElement:function(A,w,D){varC=o.util.getLanguage(A),O=o.languages[C];o.util.setLanguage(A,C);varI=A.parentElement;I&&I.nodeName.toLowerCase()==="pre"&&o.util.setLanguage(I,C);varR=A.textContent,_={element:A,language:C,grammar:O,code:R};functionN(W){_.highlightedCode=W,o.hooks.run("before-insert",_),_.element.innerHTML=_.highlightedCode,o.hooks.run("after-highlight",_),o.hooks.run("complete",_),D&&D.call(_.element)}if(o.hooks.run("before-sanity-check",_),I=_.element.parentElement,I&&I.nodeName.toLowerCase()==="pre"&&!I.hasAttribute("tabindex")&&I.setAttribute("tabindex","0"),!_.code){o.hooks.run("complete",_),D&&D.call(_.element);return}if(o.hooks.run("before-highlight",_),!_.grammar){N(o.util.encode(_.code));return}if(w&&n.Worker){varB=newWorker(o.filename);B.onmessage=function(W){N(W.data)},B.postMessage(JSON.stringify({language:_.language,code:_.code,immediateClose:!0}))}elseN(o.highlight(_.code,_.grammar,_.language))},highlight:function(A,w,D){varC={code:A,grammar:w,language:D};if(o.hooks.run("before-tokenize",C),!C.grammar)thrownewError('The language "'+C.language+'" has no grammar.');returnC.tokens=o.tokenize(C.code,C.grammar),o.hooks.run("after-tokenize",C),f.stringify(o.util.encode(C.tokens),C.language)},tokenize:function(A,w){varD=w.rest;if(D){for(varCinD)w[C]=D[C];deletew.rest}varO=newm;returnc(O,O.head,A),i(A,O,w,O.head,0),y(O)},hooks:{all:{},add
`),x.hasAttribute("data-start")||x.setAttribute("data-start",String(_+1))}T.textContent=O,r.highlightElement(T)},function(O){x.setAttribute(o,i),T.textContent=O})}}),r.plugins.fileHighlight={highlight:function(x){for(var T=(x||document).querySelectorAll(m),A=0,w;w=T[A++];)r.highlightElement(w)}};var y=!1;r.fileHighlight=function(){y||(console.warn("Prism.fileHighlight is deprecated. Use `Prism.plugins.fileHighlight.highlight` instead."),y=!0),r.plugins.fileHighlight.highlight.apply(this,arguments)}}()},9602:b=>{"use strict";b.exports=function(v){v.prototype[Symbol.iterator]=function*(){for(let s=this.head;s;s=s.next)yield s.value}}},4411:(b,v,s)=>{"use strict";b.exports=d,d.Node=p,d.create=d;function d(l){var o=this;if(o instanceof d||(o=new d),o.tail=null,o.head=null,o.length=0,l&&typeof l.forEach=="function")l.forEach(function(i){o.push(i)});else if(arguments.length>0)for(var f=0,g=arguments.length;f<g;f++)o.push(arguments[f]);return o}d.prototype.removeNode=function(l){if(l.list!==this)throw new Error("removing node which does not belong to this list");var o=l.next,f=l.prev;return o&&(o.prev=f),f&&(f.next=o),l===this.head&&(this.head=o),l===this.tail&&(this.tail=f),l.list.length--,l.next=null,l.prev=null,l.list=null,o},d.prototype.unshiftNode=function(l){if(l!==this.head){l.list&&l.list.removeNode(l);var o=this.head;l.list=this,l.next=o,o&&(o.prev=l),this.head=l,this.tail||(this.tail=l),this.length++}},d.prototype.pushNode=function(l){if(l!==this.tail){l.list&&l.list.removeNode(l);var o=this.tail;l.list=this,l.prev=o,o&&(o.next=l),this.tail=l,this.head||(this.head=l),this.length++}},d.prototype.push=function(){for(var l=0,o=arguments.length;l<o;l++)n(this,arguments[l]);return this.length},d.prototype.unshift=function(){for(var l=0,o=arguments.length;l<o;l++)u(this,arguments[l]);return this.length},d.prototype.pop=function(){if(this.tail){var l=this.tail.value;return this.tail=this.tail.prev,this.tail?this.tail.next=null:this.head=null,this.length--,l}},d.prototype.shift=function(){if(this.head){var l=this.head.value;return this.head=this.head.next,this.head?this.head.prev=null:this.tail=null,this.length--,l}},d.prototype.forEach=function(l,o){o=o||this;for(var f=this.head,g=0;f!==null;g++)l.call(o,f.value,g,this),f=f.next},d.prototype.forEachReverse=function(l,o){o=o||this;for(var f=this.tail,g=this.length-1;f!==null;g--)l.call(o,f.value,g,this),f=f.prev},d.prototype.get=function(l){for(var o=0,f=this.head;f!==null&&o<l;o++)f=f.next;if(o===l&&f!==null)return f.value},d.prototype.getReverse=function(l){for(var o=0,f=this.tail;f!==null&&o<l;o++)f=f.prev;if(o===l&&f!==null)return f.value},d.prototype.map=function(l,o){o=o||this;for(var f=new d,g=this.head;g!==null;)f.push(l.call(o,g.value,this)),g=g.next;return f},d.prototype.mapReverse=function(l,o){o=o||this;for(var f=new d,g=this.tail;g!==null;)f.push(l.call(o,g.value,this)),g=g.prev;return f},d.prototype.reduce=function(l,o){var f,g=this.head;if(arguments.length>1)f=o;else if(this.head)g=this.head.next,f=this.head.value;else throw new TypeError("Reduce of empty list with no initial value");for(var i=0;g!==null;i++)f=l(f,g.value,i),g=g.next;return f},d.prototype.reduceReverse=function(l,o){var f,g=this.tail;if(arguments.length>1)f=o;else if(this.tail)g=this.tail.prev,f=this.tail.value;else throw new TypeError("Reduce of empty list with no initial value");for(var i=this.length-1;g!==null;i--)f=l(f,g.value,i),g=g.prev;return f},d.prototype.toArray=function(){for(var l=new Array(this.length),o=0,f=this.head;f!==null;o++)l[o]=f.value,f=f.next;return l},d.prototype.toArrayReverse=function(){for(var l=new Array(this.length),o=0,f=this.tail;f!==null;o++)l[o]=f.value,f=f.prev;return l},d.prototype.slice=function(l,o){o=o||this.length,o<0&&(o+=this.length),l=l||0,l<0&&(l+=this.length);var f=new d;if(o<l||o<0)return f;l<0&&(l=0),o>this.length&&(o=this.length);for(var g=0,i=this.head;i!==null&&g<l;g++)i=i.next;for(;i!==null&&g<o;g++,i=i.next)f.push(i.value);return f},d.prototype.sliceReverse=function(l,o){o=o||this.length,o<0&&(o+=this.length),l=l||0,l<0&&(l+=this.length);var f
`+it),ae.find(".sample-request-response").is(":visible")&&ae.find(".sample-request-response").fadeTo(1,.1),ae.find(".sample-request-response").fadeTo(250,1),ae.find(".sample-request-response-json").text(Ye),m().highlightAll()}}function O(Oe,oe,De){const Re=v()('article[data-group="'+Oe+'"][data-name="'+oe+'"][data-version="'+De+'"]');Re.find(".sample-request-response-json").html(""),Re.find(".sample-request-response").hide(),Re.find(".sample-request-input").each((ye,ce)=>{ce.value=ce.placeholder!==ce.dataset.name?ce.placeholder:""});const ae=Re.find(".sample-request-url");ae.val(ae.prop("defaultValue"))}const I={"Allowed values:":"Valors permesos:","Compare all with predecessor":"Comparar tot amb versi\xF3 anterior","compare changes to:":"comparar canvis amb:","compared to":"comparat amb","Default value:":"Valor per defecte:",Description:"Descripci\xF3",Field:"Camp",General:"General","Generated with":"Generat amb",Name:"Nom","No response values.":"Sense valors en la resposta.",optional:"opcional",Parameter:"Par\xE0metre","Permission:":"Permisos:",Response:"Resposta",Send:"Enviar","Send a Sample Request":"Enviar una petici\xF3 d'exemple","show up to version:":"mostrar versi\xF3:","Size range:":"Tamany de rang:",Type:"Tipus",url:"url"},R={"Allowed values:":"Povolen\xE9 hodnoty:","Compare all with predecessor":"Porovnat v\u0161e s p\u0159edchoz\xEDmi verzemi","compare changes to:":"porovnat zm\u011Bny s:","compared to":"porovnat s","Default value:":"V\xFDchoz\xED hodnota:",Description:"Popis",Field:"Pole",General:"Obecn\xE9","Generated with":"Vygenerov\xE1no pomoc\xED",Name:"N\xE1zev","No response values.":"Nebyly vr\xE1ceny \u017E\xE1dn\xE9 hodnoty.",optional:"voliteln\xE9",Parameter:"Parametr","Permission:":"Opr\xE1vn\u011Bn\xED:",Response:"Odpov\u011B\u010F",Send:"Odeslat","Send a Sample Request":"Odeslat uk\xE1zkov\xFD po\u017Eadavek","show up to version:":"zobrazit po verzi:","Size range:":"Rozsah velikosti:",Type:"Typ",url:"url"},_={"Allowed values:":"Erlaubte Werte:","Compare all with predecessor":"Vergleiche alle mit ihren Vorg\xE4ngern","compare changes to:":"vergleiche \xC4nderungen mit:","compared to":"verglichen mit","Default value:":"Standardwert:",Description:"Beschreibung",Field:"Feld",General:"Allgemein","Generated with":"Erstellt mit",Name:"Name","No response values.":"Keine R\xFCckgabewerte.",optional:"optional",Parameter:"Parameter","Permission:":"Berechtigung:",Response:"Antwort",Send:"Senden","Send a Sample Request":"Eine Beispielanfrage senden","show up to version:":"zeige bis zur Version:","Size range:":"Gr\xF6\xDFenbereich:",Type:"Typ",url:"url"},N={"Allowed values:":"Valores permitidos:","Compare all with predecessor":"Comparar todo con versi\xF3n anterior","compare changes to:":"comparar cambios con:","compared to":"comparado con","Default value:":"Valor por defecto:",Description:"Descripci\xF3n",Field:"Campo",General:"General","Generated with":"Generado con",Name:"Nombre","No response values.":"Sin valores en la respuesta.",optional:"opcional",Parameter:"Par\xE1metro","Permission:":"Permisos:",Response:"Respuesta",Send:"Enviar","Send a Sample Request":"Enviar una petici\xF3n de ejemplo","show up to version:":"mostrar a versi\xF3n:","Size range:":"Tama\xF1o de rango:",Type:"Tipo",url:"url"},B={"Allowed values:":"Valeurs autoris\xE9es :",Body:"Corps","Compare all with predecessor":"Tout comparer avec ...","compare changes to:":"comparer les changements \xE0 :","compared to":"comparer \xE0","Default value:":"Valeur par d\xE9faut :",Description:"Description",Field:"Champ",General:"G\xE9n\xE9ral","Generated with":"G\xE9n\xE9r\xE9 avec",Header:"En-t\xEAte",Headers:"En-t\xEAtes",Name:"Nom","No response values.":"Aucune valeur de r\xE9ponse.","No value":"Aucune valeur",optional:"optionnel",Parameter:"Param\xE8tre",Parameters:"Param\xE8tres","Permission:":"Permission :","Query Parameter(s)":"Param\xE8tre(s) de la requ\xEAte","Query Parameters":"Param\xE8tres de la requ\xEAte","Request Body":"Corps de la requ\xEAte",required:"requis",Response:"R\xE9ponse",Send:"Envoyer","Send a Sample Request":"Envoyer une
}`,type:"json"}]},version:"0.0.0",filename:"checkHeaders.js",groupTitle:"Middlewares"},{type:"get",url:"http://header/istauthenticated",title:"- isAuthenticated",group:"Middlewares",name:"isAuthenticated",description:"<ul> <li>valid if exist xalias_xdays_xhash.substr(20,200) in town/tmp/tokens/</li> <li>if not, <ul> <li>valid if xhash signature sign xalias_xdays with alias's publickey.</li> </ul> </li> <li>if not valid => not allowed</li> <li>If valid => <ul> <li>store a xalias_xdays_xhash.substr (20,200) into /tmp/tokens with xprofils array from person.</li> <li>update header.xprofils from this token</li> </ul> </li> </ul> <p>apXtrib profils are anonymous, pagans, mayor (on a node server), druid (on a tribe like smatchit).</p> <p>pagan identity is independant of domain (tribe), by default profils are :['anonymous','pagans']. if this alias exist in a tribe domain as a person then his profils come from /tribes/{tribeId}/objects/person/itm/{alias}.json profils:['anonymous','pagans','person','seeker'] any profils allowed to act on tribe objects.</p> <p>Each profil have CRUD accessright on object managed in schema in apxaccessrights:{owner,profil:{"C":[],"R":[properties],"U":[properties],"D":[]}}, see Odmdb for details.</p> <p>A process run once each day to clean up all xhash tmp/tokens oldest than 24 hours.</p>",version:"0.0.0",filename:"isAuthenticated.js",groupTitle:"Middlewares"},{type:"put",url:"/nations/viewtown/:town",title:"- nationlist from a town major",group:"Nation",name:"nationlist",description:"<p>get list of nation from a town to help this instance to update network topology</p>",parameter:{fields:{Parameter:[{group:"Parameter",type:"string",optional:!1,field:"town",description:"<p>fromwhich the data come from</p>"}]}},success:{fields:{"Success 200":[{group:"Success 200",type:"object",optional:!1,field:"refreshnetworktopoly",description:"<ul> <li>HTTP/1.1 200 OK {status:200,ref:"Nations",msg:"updated",data:{}};</li> </ul>"}]}},version:"0.0.0",filename:"nations.js",groupTitle:"Nation"},{type:"get",url:"/notifications/:alias/:tribeId",title:"",name:"notiflist",description:"<p>Get list of notifications for an alias and a tribe</p>",group:"Notification",parameter:{fields:{Parameter:[{group:"Parameter",type:"string",optional:!1,field:"alias",description:""},{group:"Parameter",type:"string",optional:!1,field:"tribeId",description:""}]}},success:{fields:{"Success 200":[{group:"Success 200",type:"object",optional:!1,field:"notif",description:"<p>content</p>"}]},examples:[{title:"Success-Response:",content:`HTTP/1.1200OK
{status:200,ref:"Notification",msg:"Messagelist",data:{notif:[{tribeId,msg:{from(emailoruuidoralias):[{dt,msg}]}}]}`,type:"json"}]},version:"0.0.0",filename:"notifications.js",groupTitle:"Notification"},{type:"get",url:"https://wall-ants.ndda.fr/Checkjson.js",title:"- schema Checkjson.js",group:"Odmdb",name:"checkjsonjs",description:"<p>Public js lib to import in a browser by :<br> <code><script src="wall-ants.ndda.fr/nationchains/contracts/Checkjson.js"></script></code> to import in a node.js:<br> <code>const Checkjson = require(`Checkjson.js`);</code></p> <p>with functions:<br> <strong>Checkjson.schema.validation(schema)</strong> that return<br> - {status:200, ref:"Checkjson", msg:"validcheck"} => all rules are correct<br> - {status:406, multimsg:[{ref:"Checkjson",msg:"errorkey",data:{}}]}<br></p> <p><strong>Checkjson.schema.data(schema{json},data{json},withschemacheck{boolean})</strong> that return<br> - {status:200, ref:"Checkjson", msg:"validcheck"} => all data keys respect schema rules <br> - {status:417, multimsg:[{ref:"Checkjson",msg:"errorkey",data:{}}]}<br></p> <p>To identify issues, get the language errorkey list with a get https://wall-ants.ndda.fr/nationchains/models/Checkjson_lg.json</p>",version:"0.0.0",filename:"odmdb.js",groupTitle:"Odmdb"},{type:"get",url:"/odmdb/objects",title:"- objects Get",group:"Odmdb",name:"getIndex",description:"<p>Get objects available for header.xtribe</p>",success:{fields:{"Success 200":[{group:"Success 200",type:"object",optional:!1,field:"contain",description:"<p>data.indexname</p>"}]},examples:[{title:"Success-Response:",content:`HTTP/1.1200OK
{"status":200,"ref":"Odmdb","msg":"objectslist","data":{indexname,content:{indexfile}}`,type:"json"}]},version:"0.0.0",filename:"odmdb.js",groupTitle:"Odmdb"},{type:"get",url:"/odmdb/idx/:tribe/:objectname/:indexname",title:"- index Get",group:"Odmdb",name:"getIndex",description:"<p>Get index file for an object</p>",parameter:{fields:{Parameter:[{group:"Parameter",type:"string",optional:!1,field:"tribe",description:"<p>if common adminapi or tribename</p>"},{group:"Parameter",type:"string",optional:!1,field:"objectname",description:"<p>If in conf.nationObjects then object is into nationchains/ else in tribes/xtribe/objectname/idx/indexname indexname</p>"},{group:"Parameter",type:"String",optional:!1,field:"indexname",description:"<p>name of index file in /idx/indexnamme.json</p>"}]}},error:{fields:{"Error 4xx":[{group:"Error 4xx",type:"json",optional:!1,field:"objectNotfound",description:"<p>the file does not exist</p>"}]},examples:[{title:"HTTP/1.1 404 Not Found",content:`HTTP/1.1404NotFound
{"status":200,"ref":"Odmdb","msg":"indexexist","data":{indexname,content:{indexfile}}`,type:"json"}]},version:"0.0.0",filename:"odmdb.js",groupTitle:"Odmdb"},{type:"get",url:"/odmdb/itm/:objectname/:primaryindex",title:"- item Get",group:"Odmdb",name:"getItemFromId",description:"<p>Get itm for a primaryid of an object</p>",parameter:{fields:{Parameter:[{group:"Parameter",type:"String",optional:!1,field:"objectname",description:"<p>name Mandatory if in conf.nationObjects then file is into nationchains/ else in /nationchains/tribes/xtribe/objectname</p>"},{group:"Parameter",type:"String",optional:!1,field:"primaryindex",description:"<p>the unique id where item is store</p>"}]}},error:{fields:{"Error 4xx":[{group:"Error 4xx",type:"json",optional:!1,field:"objectNotfound",description:"<p>the file item does not exist</p>"}]},examples:[{title:"HTTP/1.1 404 Not Found",content:`HTTP/1.1404NotFound
{"status":200,"ref":"Odmdb","msg":"indexexist","data":{"indexname","content":{itmfile}}`,type:"json"}]},version:"0.0.0",filename:"odmdb.js",groupTitle:"Odmdb"},{type:"get",url:"https://tribedns/:tribe/schema/:objectname.json",title:"- schema Get from tribe",group:"Odmdb",name:"getPrivateSchema",description:"<p>Get a tribe schema or schema/lg/:objectname_xx.json this is served by nginx not express. tribedns is the domain name (ex:smatchit.io)</p>",parameter:{fields:{Parameter:[{group:"Parameter",type:"string",optional:!1,field:"tribe",description:"<p>where schema is stored ex;smatchit</p>"},{group:"Parameter",type:"String",optional:!1,field:"objectname",description:"<p>the json file name ex persons.json or for language /lg/persons_fr.json</p>"}]}},error:{fields:{"Error 4xx":[{group:"Error 4xx",type:"object",optional:!1,field:"ref",description:"<p>objectname note found</p>"}]},examples:[{title:"Error-response:",content:`HTTP/1.1404NotFound
"description":"A recruiter can active a jobad if a maxnumber is not reach for this siret. Maxnumber is set depending of an offer or can be set manualy",
"type":"object",
"properties":{
"siret":{
"title":"siret",
"description":"A unique string identifying a company ",
"type":"string",
"minLength":14,
"pattern":"^[0-9]*$"
},
"owner":{
"title":"Owner of this siret",
"description":"For accessright purpose this is set by the alias that pay the first time a subscription",
"title":"Number of active jobad at the same time",
"description":"Alloaw by subscription payment for a date inside the last dt_payment and offer",
"type":"integer"
},
"activejobad":{
"title":"Current number of active jobadd",
"type":"integer"
},
"frenchlocation":{
"title":"Location",
"description":"use franch gov refential to locaize",
"$ref":"nationchains/schema/frenchlocation"
},
"denomination":{
"title":"Company name",
"type":"string"
}
},
"required":["siret"],
"additionalProperties":true,
"apxid":"siret",
"apxuniquekey":["siret"],
"apxidx":[
{
"name":"lst_siret",
"keyval":"siret"
}
],
"apxaccessrights":{
"owner":{
"D":[],
"R":[
"siret",
"dt_create",
"dt_update",
"subscription",
"maxactivejobadd",
"activejobadd",
"frenchlocation",
"demomination"
],
"U":["frenchlocation","demomination"]
},
"druid":{
"C":[],
"D":[],
"R":[
"siret",
"dt_create",
"dt_update",
"subscription",
"maxactivejobadd",
"activejobadd",
"frenchlocation",
"demomination"
],
"U":[
"subscription",
"maxactivejobadd",
"activejobadd",
"frenchlocation",
"demomination"
]
},
"pagans":{"C":[]},
"adminrecruiter":{
"C":[],
"R":[
"siret",
"dt_create",
"dt_update",
"subscription",
"maxactivejobadd",
"activejobadd",
"frenchlocation",
"demomination"
],
"U":["frenchlocation","demomination"]
},
"recruiter":{
"R":[
"siret",
"dt_create",
"dt_update",
"subscription",
"maxactivejobadd",
"activejobadd",
"frenchlocation",
"demomination"
]
}
}
}}`,type:"json"}]},version:"0.0.0",filename:"odmdb.js",groupTitle:"Odmdb"},{type:"get",url:"https://wall-ants.ndda.fr/nationchains/models/:modelname_lg.json",title:"- translation notif Get public",group:"Odmdb",name:"getPublicModelmessagekey",description:"<p>Get a public json object for the ref: modelname in language lg, to get a template description with key msg</p>",parameter:{fields:{Parameter:[{group:"Parameter",type:"string",optional:!1,field:"modelname",description:"<p>Mandatory</p>"}]}},success:{fields:{"Success 200":[{group:"Success 200",type:"json",optional:!1,field:"contain",description:"<p>json file</p>"}]},examples:[{title:"Fichier direct",content:`HTTP/1.1200Success-response:
{
"alreadyexist":"Un object {{objectname}} avec la cl\xE9 {{key}} existe d\xE9j\xE0 avec {{val}}",
"doesnotexist":"L'object {{objectname}} avec la cl\xE9 {{key}} ,'existe pas avec {{val}}",
"getschema":"Schema {{{conf.name}}}",
"schemanotfound":"Schema introuvable dans {{{schemaPath}}}",
"pathnamedoesnotexist":"Le repertoire n'existe pas {{{indexpath}}}",
"objectfiledoesnotexist":"Le fichier n'existe pas {{{objectpath}}}",
"cudsuccessfull":"Mise \xE0 jour effectu\xE9e avec succ\xE9s",
"missingprimarykey":"Il manque une cl\xE9 primaire apxid pour stocker et identifier les objects",
"unconsistencyapxidx":"L'index {{name}} doit contenir en objkey au moins {{apxid}} car keyval n'est pas unique",
"profilnotallow":"Vous n'avez pas le profil de {{profils}}, cette action n'est pas authoris\xE9e",
"successreindex":"Objet reindex\xE9 \xE0 partir des items, vos index sont \xE0 jour",
"indexexist":"L'indexe existe"
}`,type:"json"}]},error:{fields:{"Error 4xx":[{group:"Error 4xx",type:"json",optional:!1,field:"contain",description:"<p>json file</p>"}]},examples:[{title:"nginx html not found message",content:`HTTP/1.1404NotFound
"description":"A numeric id in the nationchains world",
"type":"object",
"properties":{
"publickey":{
"title":"Alias's publickey",
"description":"Public key generate with openpgp.js",
"type":"string",
"format":"pgppublickey"
},
"alias":{
"title":"Alias",
"description":"text to remember easily a public key",
"type":"string",
"minLength":4,
"pattern":"^[a-z0-9]*$"
},
"dt_delete":{
"title":"Date of death",
"description":"Date of alias delete request, your will will be apply",
"type":"string",
"format":"date-time"
},
"will":{
"title":"Will script after death",
"description":"This will script will be apply on your data 30 days after your death",
"type":"string"
}
},
"required":["publickey","alias"],
"apxid":"alias",
"apxuniquekey":["publickey"],
"apxidx":[
{"name":"lst_alias","keyval":"alias"},
{"name":"alias","keyval":"alias"}
],
"apxaccessrights":{
"owner":{"R":[],"D":[]},
"anonymous":{"C":[],"R":["alias"]},
"pagan":{"R":["alias","publickey"]}
}
}`,type:"json"}]},error:{fields:{"Error 4xx":[{group:"Error 4xx",type:"json",optional:!1,field:"contain",description:"<p>json file</p>"}]},examples:[{title:"nginx html not found message",content:`HTTP/1.1404NotFound
{"status":200,"ref":"Odmdb","msg":"cudsuccessfull","data":{"itm":{}}}`,type:"json"}]},error:{fields:{"Error 4xx":[{group:"Error 4xx",type:"json",optional:!1,field:"schemanotfound",description:"<p>The objectname schema is not found</p>"},{group:"Error 4xx",type:"json",optional:!1,field:"pathnamedoesnotexist",description:"<p>The objectname does not exist for the tribe</p>"},{group:"Error 4xx",type:"json",optional:!1,field:"missingprimarykey",description:"<p>Body data must have primarykey to be created</p>"},{group:"Error 4xx",type:"json",optional:!1,field:"unconsistencyapxidx",description:"<p>some Body data get unique key that already exist</p>"},{group:"Error 4xx",type:"json",optional:!1,field:"checkjsonfalse",description:"<p>The body data are not consistent with the schema</p>"}]},examples:[{title:"HTTP/1.1 404 Not Found",content:`HTTP/1.1404NotFound
{"status":404,"ref":"Odmdb","msg":"see nationchains/model/lg/Odmdb_xx.json","data":"object to render with msg"}`,type:"json"}]},version:"0.0.0",filename:"odmdb.js",groupTitle:"Odmdb"},{type:"put",url:"https://wall-ants.ndda.fr/odmdb/schema/:tribe/:objectname",title:"- schema Put",group:"Odmdb",name:"putSchema",description:"<p>Replace a schema by another one need druid profil for a tribe</p>",parameter:{fields:{Parameter:[{group:"Parameter",type:"String",optional:!1,field:"objectname",description:""}]}},body:[{group:"Body",type:"string",optional:!1,field:"schemapath",description:"<p>where to store schema .../schema</p>"},{group:"Body",type:"string",optional:!1,field:"objectpath",description:"<p>where to store object ...objectname/idx/conf.json</p>"},{group:"Body",type:"json",optional:!1,field:"schema",description:"<p>content</p>"},{group:"Body",type:"json",optional:!1,field:"schemalang",description:"<p>content in lg</p>"},{group:"Body",type:"string",optional:!1,field:"lang",description:"<p>define which schemalg is (2 letters)</p>"}],error:{fields:{"Error 4xx":[{group:"Error 4xx",type:"object",optional:!1,field:"ref",description:"<p>objectmodel to get in the right language</p>"}]},examples:[{title:"Error-response:",content:`HTTP/1.1404NotFound
{"status":404,"ref":"Odmdb","msg":"schemanotfound","data":{"fullpath"}}`,type:"json"}]},success:{fields:{"Success 200":[{group:"Success 200",type:"object",optional:!1,field:"data",description:"<p>contains schema requested HTTP/1.1 200 Success-response: {"status":200,"data":{schema}}</p>"}]}},version:"0.0.0",filename:"odmdb.js",groupTitle:"Odmdb"},{type:"get",url:"/odmdb/rebuildidx/:objectname",title:"- index refresh all",group:"Odmdb",name:"refreshAllIndex",description:"<p>Rebuild all index for an object, this can be usefull in case crash or any data conflict.</p>",parameter:{fields:{Parameter:[{group:"Parameter",type:"string",optional:!1,field:"objectname",description:"<p>Mandatory</p>"}]}},success:{fields:{"Success 200":[{group:"Success 200",type:"object",optional:!1,field:"indexfile",description:"<p>content</p>"}]},examples:[{title:"successreindex",content:`HTTP/1.1200OK
{"status":200,"ref":"Odmdb","msg":"successreindex","data":{"indexlist":[]}}`,type:"json"}]},error:{fields:{"Error 4xx":[{group:"Error 4xx",type:"json",optional:!1,field:"objectNotfound",description:"<p>the file does not exist</p>"}]},examples:[{title:"HTTP/1.1 404 Not Found",content:`HTTP/1.1404NotFound
{"status":404,"ref":"Odmdb","msg":"see nationchains/model/lg/Odmdb_xx.json","data":"object to render with msg"}`,type:"json"}]},version:"0.0.0",filename:"odmdb.js",groupTitle:"Odmdb"},{type:"get",url:"/pagans/logout",title:"- pagan Logout",name:"Removetoken",group:"Pagans",description:"<p>Remove token</p>",success:{fields:{"Success 200":[{group:"Success 200",type:"object",optional:!1,field:"indexfile",description:"<p>content</p>"}]},examples:[{title:"Success-Response:",content:`HTTP/1.1200OK
{status:200,ref:"Pagans",msg:"logout"`,type:"json"}]},version:"0.0.0",filename:"pagans.js",groupTitle:"Pagans"},{type:"post",url:"/pagans",title:"- pagan Post",name:"addpagan",group:"Pagans",description:"<p>Create a pagan account from alias, publickey, if trusted recovery => Create a person in xtribe/person/xalias.json with profil.auth={email,privatekey, passphrase} Middleware isAuthenticated check that:</p> <ul> <li>xhash is well signed from private key linked to the publickey of alias</li> <li>check that alias does not already exist (if yes then verifiedsigne would be false) Need to wait next block chain to be sure that alias is register in the blokchain</li> </ul>",body:[{group:"Body",type:"string",optional:!1,field:"alias",description:"<p>available (that does not already exist check get /api/alias/:alias that must return 404).</p>"},{group:"Body",type:"string",optional:!1,field:"publickey",description:""},{group:"Body",type:"string",optional:!0,field:"email",description:"<p>if specified then an email is sent to it with public and privatekey</p>"},{group:"Body",type:"string",optional:!0,field:"privatekey",description:""},{group:"Body",type:"string",optional:!0,field:"passphrase",description:"<p>if not specidied => passphrase=""</p>"},{group:"Body",type:"string",optional:!0,field:"trustedtribe",description:"<p>the tribename if not specified then the process will only create a pagan identity, else an item person is create for trustedtribe (that must exist with profil 'person'). To create a person with an existing pagan identity use put /api/person/:alias after authenticated you (headers). In case a person is created then we use all valid other apiBody respecting rules https://smatchit.io/api/odmdb/schema/persons.json</p>"}],error:{fields:{"Error 4xx":[{group:"Error 4xx",type:"json",optional:!1,field:"objectNotfound",description:"<p>the file does not exist</p>"}]},examples:[{title:"HTTP/1.1 404 Not Found",content:`HTTP/1.1404NotFound
{"status":200,"ref":"Odmdb","msg":"indexexist","data":{indexname,content:{indexfile}}`,type:"json"}]},version:"0.0.0",filename:"pagans.js",groupTitle:"Pagans"},{type:"delete",url:"/pagans/alias/:alias",title:"- pagan Delete",name:"deletepagan",group:"Pagans",description:"<p>Delete an alias and his publickey, this mean that publickey disapear as well as alias. All tribe will be inform and will delete person of this alias if they have. This alias will be availlable after 1 year.</p>",version:"0.0.0",filename:"pagans.js",groupTitle:"Pagans"},{type:"delete",url:"/pagans/person/:alias",title:"- person Delete",name:"deleteperson",group:"Pagans",description:"<p>Unsubscribe a person to a tribe => remove a person item and all data link to this alias</p>",version:"0.0.0",filename:"pagans.js",groupTitle:"Pagans"},{type:"get",url:"/pagans/person/:alias",title:"- person Get",name:"getpersondata",description:"<p>Get person information from his alias for a xtribe (data and profils per apps)</p>",group:"Pagans",parameter:{fields:{Parameter:[{group:"Parameter",type:"string",optional:!1,field:"alias",description:""}]}},success:{fields:{200:[{group:"200",optional:!1,field:"personExist",description:""}]},examples:[{title:'{status:200, ref:"pagans",msg:"personexist",data: { person } }',content:'{status:200, ref:"pagans",msg:"personexist",data: { person } }',type:"json"}]},error:{fields:{404:[{group:"404",optional:!1,field:"Notfound",description:""}]},examples:[{title:'{status: 404, ref:"pagans",msg:"persondoesnotexist",data: { person } }',content:`{status:404,ref:"pagans",msg:"persondoesnotexist",data:{person}}
elseneedaccessrighttoonpersonsetatR`,type:"json"}]},version:"0.0.0",filename:"pagans.js",groupTitle:"Pagans"},{type:"get",url:"/pagans/isauth",title:"- pagan isAuthenticated?",name:"isAuth",group:"Pagans",description:"<p>Check if pagan's token is still valid</p>",error:{fields:{400:[{group:"400",optional:!1,field:"missingheaders",description:""},{group:"400",optional:!1,field:"xaliasdoesnotexist",description:""},{group:"400",optional:!1,field:"signaturefailled",description:""}],401:[{group:"401",optional:!1,field:"aliasanonymous",description:""}],404:[{group:"404",optional:!1,field:"tribedoesnotexist",description:""}]}},success:{fields:{200:[{group:"200",optional:!1,field:"valid",description:"<p>{object} data contains indexfile requested</p>"}]}},version:"0.0.0",filename:"pagans.js",groupTitle:"Pagans"},{type:"get",url:"/pagans/alias/:alias",title:"- alias Get",name:"isalias",group:"Pagans",description:"<p>If alias exist return its publickey</p> <p>@param {string} alias</p>",error:{fields:{"Error 4xx":[{group:"Error 4xx",type:"json",optional:!1,field:"aliasdoesnotexist",description:""}]},examples:[{title:"HTTP/1.1 404 Not Found",content:`HTTP/1.1404NotFound
*`,type:"json"}]},version:"0.0.0",filename:"pagans.js",groupTitle:"Pagans"},{type:"get",url:"/pagans/keyrecovery/tribe/email",title:"- recovery key by email",name:"recoveryKey",group:"Pagans",error:{fields:{400:[{group:"400",type:"object",optional:!1,field:"status",description:"<p>missingheaders / xalias does not exist / signaturefailled</p>"}],401:[{group:"401",type:"object",optional:!1,field:"alias",description:"<p>anonymous (not authenticated)</p>"}],404:[{group:"404",type:"string",optional:!1,field:"tribe",description:"<p>does not exist</p>"}]}},success:{fields:{200:[{group:"200",type:"object",optional:!1,field:"data",description:"<p>contains indexfile requested</p>"}]}},version:"0.0.0",filename:"pagans.js",groupTitle:"Pagans"},{type:"put",url:"/pagans/person",title:"- person Put",name:"updateperson",group:"Pagans",description:"<p>add or update a person = alias in a tribe. alias authenticated must have a profil with accessright into schema person.</p>",header:{fields:{Header:[{group:"Header",type:"string",optional:!1,field:"xalias",description:""}]}},parameter:{fields:{Parameter:[{group:"Parameter",type:"object",optional:!1,field:"in",description:"<p>line with schema in https://smatchit.io/api/odmdb/schema/persons</p>"}]}},version:"0.0.0",filename:"pagans.js",groupTitle:"Pagans"},{type:"get",url:"/towns/ownershipr/:alias",title:"- town owner change",name:"changeowner",group:"Towns",description:"<p>Change owner (major role) of a town (server) after a first install or just to resale it. Only the current major can run this. @param {string} alias an alias that will become owner of a town</p>",success:{fields:{object:[{group:"object",optional:!1,field:"ownerchangesuccess",description:""}]},examples:[{title:"HTTP/1.1 200 OK",content:`HTTP/1.1200OK
{status:403,ref:"towns",msg:"aliasnotallow",data:{alias}}`,type:"json"}]},version:"0.0.0",filename:"towns.js",groupTitle:"Towns"},{type:"get",url:"https://dns.xx/trk/pathtofile?",title:"- tracking system",group:"Trackings",name:"trackingsystem",description:`<p>withoutheader:<br><code>https://dns.xx/trk/pathtofile?alias=anonymous&uuid=1b506f71-1bff-416c-9057-cb8b86296f60&src=btnregister&version=1&lg=fr </code></p> <p>with header<br> <code>https://dns.xx/trk/pathtofile?srckey=btnregister&version=1</code></p> <p>where pathtofile is a ressource accessible from https://dns.xx/pathtofile html usage to track a loading page or email when a picture is load using apxwebapp in /src/ we got: <code> < img src="static/img/photo.jpg" data-trksrckey="loadpage" data-version="1" > </code></p> <p>using html + apx.js (or at least with header {xalias,xuuid,xlang}) <code>< img lazysrc="trk/static/img/photo.jpg data-trksrckey="loadpage" data-version="1" ></code></p> <p>in js action:</p> <code> <button></button> <a data-trksrckey="linktoblabla" href='https:..' onclick="apx.trackvisit("btnaction",1);actionfct();"> </a> </code> #will hit an eventlistener<br> <code> axios.get("https://dns.xx/trk/cdn/empty.json?alias=anonymous&uuid=1b506f71-1bff-416c-9057-cb8b86296f60&srckey=btnregister&version=1"); </code> <p>#or if no js available (example:email or pdf document)<br> <code> < img src="https://dns.xx/trk/static/img/photo.jpg?alias=anonymous&uuid=1b506f71-1bff-416c-9057-cb8b86296f60&srckey=loadpage&version=1"</code></p> <code> <a href="https://dns.xx/trk/redirect?alias=anonymous&uuid=1b506f71-1bff-416c-9057-cb8b86296f60&srckey=loadpage&version=1&url=http://..." </code> <p>will hit a tracker then redirect to url></a> *</p> <p><strong>if you use apx.js</strong> : in html add in < button >, < img >, < a > tag data-trksrc="srckey" <code> < img src="https://dns.xx/static/img/photo.jpg" data-trkversion="1" data-trksrckey="registerform"> < button data-trksrc="https://dns.xx/static/img/photo.jpg" data-trkversion="1" data-trksrckey="registerform"> </code></p> <p>Tracking log are store into tribe/logs/nginx/tribe_appname.trk.log Src have to be manage in tribe/api/models/lg/src_en.json <code>{"srckey":{ "app":"presentation|app|apptest", "title":"", "description":"" } } </code></p>`,parameter:{fields:{Parameter:[{group:"Parameter",type:"String",optional:!1,field:"alias",defaultValue:"anonymous",description:"<p>if authenticated we get from headers</p>"},{group:"Parameter",type:"String",optional:!1,field:"uuid",description:"<p>a uuid v4 generate the first time a web page is open on a browser</p>"},{group:"Parameter",type:"String",optional:!1,field:"srckey",description:"<p>source action that trig this get</p>"},{group:"Parameter",type:"integer",optional:!1,field:"version",defaultValue:"1",description:"<p>can be an int, date or any version of the src</p>"},{group:"Parameter",type:"integer",optional:!0,field:"tm",description:"<p>a timestamp of action when it is not immediate (for offline app)</p>"}]}},version:"0.0.0",filename:"trackings.js",groupTitle:"Trackings"},{type:"get",url:"/tribes/www/:tribeId",title:"- tribe list",name:"getlisttrib",description:"<p>Get list of www object (space web)</p>",group:"Tribes",parameter:{fields:{Parameter:[{group:"Parameter",type:"String",optional:!1,field:"tribeId",description:"<p>it identify an existing tribe*</p>"}]}},success:{fields:{object:[{group:"object",optional:!1,field:"listwww",description:"<p>contains folder name in www for tribeId</p>"}]},examples:[{title:"listwww",content:`HTTP/1.1 200 OK
{status:200,ref:"Tribes",msg:"listwww",data:{listwww}}`,type:"json"}]},version:"0.0.0",filename:"tribes.js",groupTitle:"Tribes"}];const oe={name:"apXtrib",version:"1.0.0",description:"Core api documentation",title:"apiDoc for apXtrib",url:"https://wall-ants.ndda.fr/api",urlprod:"https://wall-ants.ndda.fr/apidoc/v1",order:["Middlewares","Odmdb","Nationchains"],template:{forceLanguage:"en",showRequiredLabels:!0,withCompare:!0,withGenerator:!0,aloneDisplay:!1},header:{title:"Introduction",content:`<h2>apiusersandbackenddevelopers</h2>
Allpropertiesrespecttherules<ahref="https://json-schema.org/draft/2020-12/schema,">https://json-schema.org/draft/2020-12/schema,</a> some extra"format" can be add to mutualise recurrent regex pattern</p>
<p>Toaccessaschema<ahref="https://wall-ants.ndda.fr/nationchains/schema/nations.json">https://wall-ants.ndda.fr/nationchains/schema/nations.json</a> and language specifique <a href="https//:wall-ants.ndda.fr/nationchains/schema/lg/nations_fr.json">https//:wall-ants.ndda.fr/nationchains/schema/lg/nations_fr.json</a></p>
<p>Acheckjson.jsisavailabletomanageallspecificformat<ahref="https://wall-ants.ndda.fr/Checkjson.js">https://wall-ants.ndda.fr/Checkjson.js</a> see <strong>Odmdb - schema Checkjson</strong></p>