badmfck-api-server 2.4.7 → 2.5.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (59) hide show
  1. package/dist/apiServer/APIService.js +2 -1
  2. package/dist/apiServer/APIService.js.map +1 -0
  3. package/dist/apiServer/BaseEndpoint.js +1 -0
  4. package/dist/apiServer/BaseEndpoint.js.map +1 -0
  5. package/dist/apiServer/BaseService.js +1 -0
  6. package/dist/apiServer/BaseService.js.map +1 -0
  7. package/dist/apiServer/ClusterService.d.ts +18 -5
  8. package/dist/apiServer/ClusterService.js +45 -14
  9. package/dist/apiServer/ClusterService.js.map +1 -0
  10. package/dist/apiServer/DocumentService.js +1 -0
  11. package/dist/apiServer/DocumentService.js.map +1 -0
  12. package/dist/apiServer/HUBService.d.ts +11 -4
  13. package/dist/apiServer/HUBService.js +79 -18
  14. package/dist/apiServer/HUBService.js.map +1 -0
  15. package/dist/apiServer/LocalRequest.js +1 -0
  16. package/dist/apiServer/LocalRequest.js.map +1 -0
  17. package/dist/apiServer/LogService.js +1 -0
  18. package/dist/apiServer/LogService.js.map +1 -0
  19. package/dist/apiServer/MysqlService.js +4 -3
  20. package/dist/apiServer/MysqlService.js.map +1 -0
  21. package/dist/apiServer/WSAPITransport.js +1 -0
  22. package/dist/apiServer/WSAPITransport.js.map +1 -0
  23. package/dist/apiServer/WebSocketHandler.d.ts +0 -0
  24. package/dist/apiServer/WebSocketHandler.js +2 -0
  25. package/dist/apiServer/WebSocketHandler.js.map +1 -0
  26. package/dist/apiServer/WebsocketService.js +1 -0
  27. package/dist/apiServer/WebsocketService.js.map +1 -0
  28. package/dist/apiServer/cluster/HUBConnection.d.ts +25 -25
  29. package/dist/apiServer/cluster/HUBConnection.js +107 -88
  30. package/dist/apiServer/cluster/HUBConnection.js.map +1 -0
  31. package/dist/apiServer/cluster/HUBHandlres.d.ts +0 -0
  32. package/dist/apiServer/cluster/HUBHandlres.js +2 -0
  33. package/dist/apiServer/cluster/HUBHandlres.js.map +1 -0
  34. package/dist/apiServer/deployment/Deployment.js +1 -0
  35. package/dist/apiServer/deployment/Deployment.js.map +1 -0
  36. package/dist/apiServer/helper/DataProvider.js +1 -0
  37. package/dist/apiServer/helper/DataProvider.js.map +1 -0
  38. package/dist/apiServer/helper/Sleep.d.ts +1 -0
  39. package/dist/apiServer/helper/Sleep.js +6 -0
  40. package/dist/apiServer/helper/Sleep.js.map +1 -0
  41. package/dist/apiServer/helper/UID.js +1 -0
  42. package/dist/apiServer/helper/UID.js.map +1 -0
  43. package/dist/apiServer/helper/Validator.js +1 -0
  44. package/dist/apiServer/helper/Validator.js.map +1 -0
  45. package/dist/apiServer/monitor/Monitor.js +1 -0
  46. package/dist/apiServer/monitor/Monitor.js.map +1 -0
  47. package/dist/apiServer/routes/Liveness.js +1 -0
  48. package/dist/apiServer/routes/Liveness.js.map +1 -0
  49. package/dist/apiServer/routes/Readiness.js +1 -0
  50. package/dist/apiServer/routes/Readiness.js.map +1 -0
  51. package/dist/apiServer/structures/DefaultErrors.js +1 -0
  52. package/dist/apiServer/structures/DefaultErrors.js.map +1 -0
  53. package/dist/apiServer/structures/HTTPStatus.js +1 -0
  54. package/dist/apiServer/structures/HTTPStatus.js.map +1 -0
  55. package/dist/apiServer/structures/Interfaces.js +1 -0
  56. package/dist/apiServer/structures/Interfaces.js.map +1 -0
  57. package/dist/index.js +1 -0
  58. package/dist/index.js.map +1 -0
  59. package/package.json +2 -2
@@ -0,0 +1 @@
1
+ {"version":3,"file":"HUBConnection.js","sourceRoot":"","sources":["../../../src/apiServer/cluster/HUBConnection.ts"],"names":[],"mappings":"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","sourcesContent":["import { RawData, WebSocket } from \"ws\";\nimport { logError, logInfo } from \"../LogService\";\nimport DefaultErrors, { ErrorUtils } from \"../structures/DefaultErrors\";\nimport { IError } from \"../structures/Interfaces\";\nimport { privateDecrypt } from \"crypto\";\nimport Signal, { Req } from \"badmfck-signal\";\nimport { IWebsocketPacket } from \"../HUBService\";\n\nexport interface IClusterPacket{\n method:string,\n data?:any|null,\n error?:IError,\n callbackID:number\n}\n\nexport interface IHUBConnectionOptions{\n direction:\"incoming\"|\"outgoing\",\n ws:WebSocket,\n\n hostID:string,\n hostPrivateKey:string,\n hostPublicKey:string,\n hostURL:string,\n\n targetID:string|null,\n targetPublicKey:string|null,\n targetURL:string|null,\n\n onAuthorized:()=>void,\n onClose:()=>void,\n handlers:(Req<any,any>|Signal<any>)[],\n maxTimeout?:number\n}\n\nexport class HUBConnection{\n static callbackID:number=1;\n private callbacks:Map<number,{time:number,callback:(result:any|IError)=>void}>=new Map();\n authorized:boolean = false;\n private ws:WebSocket;\n private onAuthorized:()=>void;\n options:IHUBConnectionOptions;\n \n constructor(options:IHUBConnectionOptions){\n \n logInfo(\"HUBConnection: new connection\",options.hostID,options.targetID,options.direction===\"outgoing\"?options.ws.url+\" -->\":\" <--\");\n\n this.options = options;\n this.ws = options.ws;\n this.onAuthorized = options.onAuthorized\n \n\n this.ws.on(\"close\",()=>{\n if(!this.authorized)\n return;\n logInfo(\"HUBConnection: connection closed\")\n if(options.onClose)\n options.onClose();\n })\n\n this.ws.on(\"error\",(e)=>{\n logError(\"HUBConnection: connection error\",e);\n });\n\n this.ws.on(\"open\",()=>{\n logInfo(\"HUBConnection: connection opened\",options.direction)\n if(options.direction===\"outgoing\"){\n logInfo(\"HUBConnection: send authroization\")\n this.sendAuth();\n }\n })\n\n this.ws.on(\"message\",async (msg:RawData,isBinary)=>{\n \n if(isBinary){\n logError(\"HUBConnection: invalid packet type, must be a string\");\n return;\n }\n\n let data = null;\n try{\n data = JSON.parse(msg.toString(\"utf8\"))\n }catch(e){}\n\n //logInfo(\"HUBConnection: message received\",this.options.direction,data);\n\n // check packet structure\n if(!data || !data.method || !data.callbackID){\n logError(\"HUBConnection: invalid packet structure\",data);\n return;\n }\n\n // handle packets\n if(typeof data.method !== \"string\" || typeof data.callbackID !== \"number\"){\n logError(\"HUBConnection: invalid packet structure\",data);\n return;\n }\n\n // callbackID\n const callbackID = parseInt(data.callbackID);\n \n // handle callbacks\n if(data.method===\"callback\"){\n this.handleCallback(data);\n return;\n };\n\n \n if(!this.authorized && data.method===\"auth\"){\n // do authorization \n const result = await this.authorize(data.data);\n if(ErrorUtils.isError(result)){\n logError(\"HUBConnection: authorization failed\",result);\n this.sendCallback(callbackID,result);\n return;\n }\n this.authorized = true;\n if(this.onAuthorized)\n this.onAuthorized();\n this.sendCallback(callbackID,result);\n return;\n }\n\n \n \n if(!this.authorized){\n logError(\"HUBConnection: not authorized\");\n this.sendCallback(callbackID,DefaultErrors.UNAUTHORIZED);\n return;\n }\n\n // handle methods\n for(let i of options.handlers){\n if(i.name === data.method){\n\n const requestPacket:IWebsocketPacket={\n data:data.data,\n authorized:this.authorized,\n connection:this\n }\n\n if(i.type === \"signal\"){\n (i as Signal<IWebsocketPacket>).invoke(requestPacket);\n if(data.callbackID>0)\n this.sendCallback(callbackID,{});\n return;\n }else if(i.type === \"request\"){\n const result = await (i as Req<IWebsocketPacket,any>).request(requestPacket);\n this.sendCallback(callbackID,result);\n return;\n }\n }\n }\n\n this.sendCallback(callbackID,{...DefaultErrors.NOT_IMPLEMENTED,details:\"method not found: \"+data.method});\n \n })\n\n \n setTimeout(()=>{\n if(!this.authorized){\n logError(\"HUBConnection: authorization timeout\",this.authorized)\n this.close();\n }\n },15000); // 15sec for authorization\n \n\n setInterval(()=>{\n const now = +new Date();\n for(let [key,value] of this.callbacks){\n if(now-value.time>(options.maxTimeout ?? 1000*60*15)){\n value.callback({method:\"callback\",data:null,callbackID:key,error:{...DefaultErrors.TIMEOUT}});\n this.callbacks.delete(key);\n }\n }\n },options.maxTimeout || 1000*60*15);\n\n }\n\n\n async sendAuth(){\n // logInfo(\"HUBConnection: send auth packet\")\n const response = await this.send({\n method:\"auth\",\n data:{\n hostID:this.options.targetID, // REMOTE HOST ID\n targetPublicKey:this.options.hostPublicKey, // LOCAL PUBLIC KEY\n targetURL:this.options.hostURL, // LOCAL URL\n targetID:this.options.hostID // LOCAL HOST ID\n },\n callbackID:1\n })\n\n if(ErrorUtils.isError(response)){\n logError(\"HUBConnection: auth failed\",response);\n this.close();\n return;\n }\n\n this.authorized=true;\n \n if(!response || !response.hostID || !response.hostPublicKey || !response.hostURL){\n logError(\"HUBConnection: invalid auth response\",response);\n this.close();\n return;\n }\n\n\n // store targetID, targetPublicKey, targetURL\n this.options.targetID = response.hostID;\n this.options.targetPublicKey = response.hostPublicKey;\n this.options.targetURL = response.hostURL;\n \n // logInfo(\"HUBConnection: auth success\",response);\n\n if(this.onAuthorized)\n this.onAuthorized();\n \n }\n\n /**\n * \n * @param data -> {signature:encrypted hub key,publicKey:encrypted public key, clientID:clientID}\n * @returns \n */\n async authorize(data:any):Promise<any|IError>{\n\n //logInfo(\"HUBConnection: try to authorize connection\",data);\n\n if(typeof data !== \"object\" || !data || !data.hostID || !data.targetPublicKey || !data.targetID || !data.targetURL)\n return {...DefaultErrors.BAD_REQUEST,stack:[data],details:\"expecting {hostID:string,targetPublicKey:string,targetID:string,targetURL:string}\"};\n\n if(data.hostID !== this.options.hostID)\n return {...DefaultErrors.UNAUTHORIZED,details:\"invalid targetID\"};\n\n //logInfo(\"HUBConnection: authorize success\",this.options.direction,data);\n\n //1. store target info\n this.options.targetID = data.targetID;\n this.options.targetPublicKey = data.targetPublicKey;\n this.options.targetURL = data.targetURL;\n\n //2. send local info\n return {\n hostID:this.options.hostID,\n hostPublicKey:this.options.hostPublicKey,\n hostURL:this.options.hostURL\n }\n\n }\n\n\n handleCallback(data:IClusterPacket){\n \n if(!this.callbacks.has(data.callbackID)){\n logError(\"HUBConnection: callback not found\",data);\n return;\n }\n //logInfo(\"HUBConnection: execute callback\",data);\n\n \n const cb = this.callbacks.get(data.callbackID);\n if(cb){\n cb.callback(data.data ?? data.error);\n this.callbacks.delete(data.callbackID);\n }\n }\n\n \n sendCallback(callbackID:number,data:IError|any){\n\n if(isNaN(callbackID) || callbackID<=0){\n logError(\"HUBConnection: invalid callbackID\",callbackID,data);\n return;\n }\n\n // logInfo(\"HUBConnection: send callback\",data);\n\n if(this.ws && this.ws.readyState===WebSocket.OPEN){\n this.ws.send(JSON.stringify({\n method:\"callback\",\n error:ErrorUtils.isError(data)?data:null,\n data:ErrorUtils.isError(data)?null:data,\n callbackID:callbackID\n }))\n }else{\n logError(\"HUBConnection: ws not connected, cant send callback\",this.options.direction,data)\n }\n }\n\n async send(packet:IClusterPacket):Promise<any|IError|null>{\n // logInfo(\"HUBConnection: send packet\",this.options.direction,packet);\n if(!this.ws || this.ws.readyState !== WebSocket.OPEN){\n logError(\"HUBConnection: ws not connected, cant send packet\",packet)\n return {...DefaultErrors.SERVICE_NOT_WORKING,details:\"ws not connected\"};\n }\n \n let cb=null;\n const promise = new Promise<IClusterPacket|null>((resolve)=>cb=resolve);\n\n if(packet.callbackID>0){\n const callbackID = HUBConnection.callbackID++;\n this.callbacks.set(callbackID,{time:+new Date(),callback:cb!});\n packet.callbackID = callbackID;\n }\n\n //todo - encrypt data\n\n this.ws.send(JSON.stringify(packet),err=>{\n if(err){\n logError(\"HUBConnection: cant send packet\",err);\n if(packet.callbackID>0)\n this.callbacks.delete(packet.callbackID);\n cb!(DefaultErrors.SERVICE_NOT_WORKING);\n }\n });\n\n if(packet.callbackID===0)\n return null;\n\n return promise;\n }\n\n\n close(){\n logInfo(\"HUBConnection: close connection\")\n this.callbacks.clear();\n this.authorized=false;\n\n if(this.ws){\n try{\n this.ws.removeAllListeners();\n this.ws.close();\n this.ws.terminate();\n }catch(e){}\n }\n }\n\n}\n\n"]}
File without changes
@@ -0,0 +1,2 @@
1
+ "use strict";
2
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiSFVCSGFuZGxyZXMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvYXBpU2VydmVyL2NsdXN0ZXIvSFVCSGFuZGxyZXMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiIsInNvdXJjZXNDb250ZW50IjpbIiJdfQ==
@@ -0,0 +1 @@
1
+ {"version":3,"file":"HUBHandlres.js","sourceRoot":"","sources":["../../../src/apiServer/cluster/HUBHandlres.ts"],"names":[],"mappings":"","sourcesContent":[""]}
@@ -22,3 +22,4 @@ class Deployment extends BaseEndpoint_1.BaseEndpoint {
22
22
  }
23
23
  }
24
24
  exports.Deployment = Deployment;
25
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiRGVwbG95bWVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9hcGlTZXJ2ZXIvZGVwbG95bWVudC9EZXBsb3ltZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7OztBQUNBLGtEQUErQztBQUMvQyxvREFBNEI7QUFFNUIsOENBQXdDO0FBR3hDLE1BQWEsVUFBVyxTQUFRLDJCQUFZO0lBRXhDLElBQUksQ0FBTztJQUNYLFlBQVksRUFBQyxLQUFLLEVBQUMsUUFBUSxFQUFnQztRQUN2RCxLQUFLLENBQUMsZ0JBQWdCLENBQUMsQ0FBQztRQUN4QixJQUFJLENBQUMsSUFBSSxHQUFHLGdCQUFNLENBQUMsVUFBVSxDQUFDLFFBQVEsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxLQUFLLEdBQUMsUUFBUSxDQUFDLENBQUMsTUFBTSxFQUFFLENBQUMsUUFBUSxDQUFDLEtBQUssQ0FBQyxDQUFDO1FBQ3hGLElBQUEsb0JBQU8sRUFBQyw0Q0FBNEMsR0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUE7UUFDL0QsSUFBSSxDQUFDLGlCQUFpQixDQUFDO1lBQ25CLEVBQUMsaUJBQWlCLEVBQUMsSUFBSSxFQUFDLFFBQVEsRUFBQyxJQUFJLENBQUMsSUFBSSxFQUFDLE9BQU8sRUFBQyxJQUFJLENBQUMsaUJBQWlCLEVBQUM7U0FDN0UsQ0FBQyxDQUFBO0lBQ04sQ0FBQztJQUVELEtBQUssQ0FBQyxpQkFBaUIsQ0FBQyxHQUFrQjtRQUd0QyxPQUFPLEVBQUUsQ0FBQTtJQUNiLENBQUM7Q0FDSjtBQWpCRCxnQ0FpQkMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBSZXEgfSBmcm9tIFwiYmFkbWZjay1zaWduYWxcIjtcbmltcG9ydCB7IEJhc2VFbmRwb2ludCB9IGZyb20gXCIuLi9CYXNlRW5kcG9pbnRcIjtcbmltcG9ydCBjcnlwdG8gZnJvbSBcImNyeXB0b1wiO1xuaW1wb3J0IHsgSFRUUFJlcXVlc3RWTywgVHJhbnNmZXJQYWNrZXRWTyB9IGZyb20gXCIuLi9zdHJ1Y3R1cmVzL0ludGVyZmFjZXNcIjtcbmltcG9ydCB7IGxvZ1dhcm4gfSBmcm9tIFwiLi4vTG9nU2VydmljZVwiO1xuXG5cbmV4cG9ydCBjbGFzcyBEZXBsb3ltZW50IGV4dGVuZHMgQmFzZUVuZHBvaW50e1xuXG4gICAgaGFzaDpzdHJpbmdcbiAgICBjb25zdHJ1Y3Rvcih7bG9naW4scGFzc3dvcmR9Ontsb2dpbjpzdHJpbmcscGFzc3dvcmQ6c3RyaW5nfSl7XG4gICAgICAgIHN1cGVyKFwic3lzLWRlcGxveW1lbnRcIik7XG4gICAgICAgIHRoaXMuaGFzaCA9IGNyeXB0by5jcmVhdGVIYXNoKFwic2hhMjU2XCIpLnVwZGF0ZShsb2dpbitwYXNzd29yZCkuZGlnZXN0KCkudG9TdHJpbmcoXCJoZXhcIik7XG4gICAgICAgIGxvZ1dhcm4oXCJEZXBsb3ltZW50IGluaXRpYWxpemVkIGF0OiBzeXMtZGVwbG95bWVudC9cIit0aGlzLmhhc2gpXG4gICAgICAgIHRoaXMucmVnaXN0ZXJFbmRwb2ludHMoW1xuICAgICAgICAgICAge2lnbm9yZUludGVyY2VwdG9yOnRydWUsZW5kcG9pbnQ6dGhpcy5oYXNoLGhhbmRsZXI6dGhpcy5kZXBsb3ltZW50SGlzdG9yeX0sXG4gICAgICAgIF0pXG4gICAgfVxuXG4gICAgYXN5bmMgZGVwbG95bWVudEhpc3RvcnkocmVxOiBIVFRQUmVxdWVzdFZPKTogUHJvbWlzZTxUcmFuc2ZlclBhY2tldFZPPGFueT4+IHtcbiAgICAgICAgLy9jb25zdCBlbmNyeXB0ZWRQYXNzd29yZEFuZExvZ2luZyA9IFxuICAgICAgICAvLyB0b2RvIC0gZ2V0IHByb2plY3Qgcm9vdCBkaXJlY3RvcnlcbiAgICAgICAgcmV0dXJuIHt9XG4gICAgfVxufSJdfQ==
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Deployment.js","sourceRoot":"","sources":["../../../src/apiServer/deployment/Deployment.ts"],"names":[],"mappings":";;;;;;AACA,kDAA+C;AAC/C,oDAA4B;AAE5B,8CAAwC;AAGxC,MAAa,UAAW,SAAQ,2BAAY;IAExC,IAAI,CAAO;IACX,YAAY,EAAC,KAAK,EAAC,QAAQ,EAAgC;QACvD,KAAK,CAAC,gBAAgB,CAAC,CAAC;QACxB,IAAI,CAAC,IAAI,GAAG,gBAAM,CAAC,UAAU,CAAC,QAAQ,CAAC,CAAC,MAAM,CAAC,KAAK,GAAC,QAAQ,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC;QACxF,IAAA,oBAAO,EAAC,4CAA4C,GAAC,IAAI,CAAC,IAAI,CAAC,CAAA;QAC/D,IAAI,CAAC,iBAAiB,CAAC;YACnB,EAAC,iBAAiB,EAAC,IAAI,EAAC,QAAQ,EAAC,IAAI,CAAC,IAAI,EAAC,OAAO,EAAC,IAAI,CAAC,iBAAiB,EAAC;SAC7E,CAAC,CAAA;IACN,CAAC;IAED,KAAK,CAAC,iBAAiB,CAAC,GAAkB;QAGtC,OAAO,EAAE,CAAA;IACb,CAAC;CACJ;AAjBD,gCAiBC","sourcesContent":["import { Req } from \"badmfck-signal\";\nimport { BaseEndpoint } from \"../BaseEndpoint\";\nimport crypto from \"crypto\";\nimport { HTTPRequestVO, TransferPacketVO } from \"../structures/Interfaces\";\nimport { logWarn } from \"../LogService\";\n\n\nexport class Deployment extends BaseEndpoint{\n\n hash:string\n constructor({login,password}:{login:string,password:string}){\n super(\"sys-deployment\");\n this.hash = crypto.createHash(\"sha256\").update(login+password).digest().toString(\"hex\");\n logWarn(\"Deployment initialized at: sys-deployment/\"+this.hash)\n this.registerEndpoints([\n {ignoreInterceptor:true,endpoint:this.hash,handler:this.deploymentHistory},\n ])\n }\n\n async deploymentHistory(req: HTTPRequestVO): Promise<TransferPacketVO<any>> {\n //const encryptedPasswordAndLoging = \n // todo - get project root directory\n return {}\n }\n}"]}
@@ -59,3 +59,4 @@ class DataProvider {
59
59
  }
60
60
  }
61
61
  exports.DataProvider = DataProvider;
62
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiRGF0YVByb3ZpZGVyLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL2FwaVNlcnZlci9oZWxwZXIvRGF0YVByb3ZpZGVyLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7OztBQUFBLG9FQUFvQztBQU1wQyxNQUFhLFlBQVk7SUFDYixNQUFNLENBQUMsTUFBTSxHQUFDLENBQUMsQ0FBQztJQUNoQixJQUFJLENBQVM7SUFDYixJQUFJLEdBQUMsS0FBSyxDQUFDO0lBQ1gsZUFBZSxHQUFDLENBQUMsQ0FBQztJQUNsQixTQUFTLEdBQUMsSUFBSSxHQUFDLEVBQUUsR0FBQyxDQUFDLENBQUE7SUFDbkIsSUFBSSxDQUFrQjtJQUN0QixTQUFTLEdBQUMsSUFBSSx3QkFBTSxFQUFPLENBQUE7SUFDM0IsUUFBUSxHQUFTLEtBQUssQ0FBQztJQUV2QixRQUFRLENBQW9EO0lBUXBFLFlBQVksUUFBNEQsRUFBQyxTQUFpQixFQUFDLElBQVk7UUFDbkcsSUFBSSxDQUFDLFFBQVEsR0FBQyxRQUFRLENBQUM7UUFDdkIsSUFBRyxTQUFTLEtBQUcsU0FBUztZQUNwQixJQUFJLENBQUMsU0FBUyxHQUFDLENBQUMsU0FBUyxDQUFDO1FBQzlCLElBQUcsS0FBSyxDQUFDLElBQUksQ0FBQyxTQUFTLENBQUM7WUFDcEIsSUFBSSxDQUFDLFNBQVMsR0FBQyxDQUFDLENBQUM7UUFDckIsSUFBRyxDQUFDLElBQUksQ0FBQyxJQUFJO1lBQ1QsSUFBSSxDQUFDLElBQUksR0FBQyxlQUFlLEdBQUMsQ0FBQyxZQUFZLENBQUMsTUFBTSxFQUFFLENBQUMsQ0FBQTtJQUN6RCxDQUFDO0lBRUQsS0FBSyxDQUFDLFdBQVc7UUFDYixJQUFHLElBQUksQ0FBQyxJQUFJO1lBQ1IsT0FBTztRQUNYLElBQUksQ0FBQyxRQUFRLEdBQUMsS0FBSyxDQUFDO1FBQ3BCLElBQUksQ0FBQyxlQUFlLEdBQUMsQ0FBQyxDQUFDO1FBQ3ZCLE1BQU0sSUFBSSxDQUFDLE9BQU8sRUFBRSxDQUFBO0lBQ3hCLENBQUM7SUFFRCxXQUFXLENBQUMsSUFBTTtRQUNkLElBQUcsSUFBSSxDQUFDLElBQUk7WUFDUixPQUFPO1FBQ1gsSUFBSSxDQUFDLFFBQVEsR0FBQyxLQUFLLENBQUM7UUFDcEIsSUFBSSxDQUFDLGVBQWUsR0FBQyxDQUFDLElBQUksSUFBSSxFQUFFLENBQUM7UUFDakMsSUFBSSxDQUFDLElBQUksR0FBRyxJQUFJLENBQUE7SUFDcEIsQ0FBQztJQUVELEtBQUssQ0FBQyxPQUFPO1FBRVQsSUFBRyxJQUFJLENBQUMsSUFBSTtZQUNSLE9BQU8sSUFBSSxPQUFPLENBQUMsQ0FBQyxPQUFPLEVBQUMsTUFBTSxFQUFDLEVBQUUsQ0FBQSxJQUFJLENBQUMsU0FBUyxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsRUFBQyxFQUFFLENBQUEsT0FBTyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQTtRQUVuRixJQUFHLElBQUksQ0FBQyxlQUFlLEdBQUMsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLFFBQVEsRUFBQztZQUV4QyxNQUFNLElBQUksR0FBRyxDQUFDLENBQUMsSUFBSSxJQUFJLEVBQUUsQ0FBQyxHQUFHLElBQUksQ0FBQyxlQUFlLENBQUM7WUFDbEQsSUFBRyxJQUFJLEdBQUMsSUFBSSxDQUFDLFNBQVM7Z0JBQ2xCLE9BQU8sSUFBSSxDQUFDLElBQUksQ0FBQztTQUN4QjtRQUVELElBQUksQ0FBQyxJQUFJLEdBQUMsSUFBSSxDQUFDO1FBQ2YsSUFBSSxDQUFDLFFBQVEsR0FBQyxLQUFLLENBQUM7UUFDcEIsTUFBTSxHQUFHLEdBQUcsTUFBTSxJQUFJLENBQUMsUUFBUSxFQUFFLENBQUM7UUFDbEMsSUFBSSxDQUFDLElBQUksR0FBQyxLQUFLLENBQUM7UUFDaEIsSUFBSSxDQUFDLFFBQVEsR0FBQyxHQUFHLENBQUMsS0FBSyxJQUFJLEtBQUssQ0FBQztRQUNqQyxJQUFJLENBQUMsSUFBSSxHQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUE7UUFDbEIsSUFBSSxDQUFDLGVBQWUsR0FBQyxDQUFDLElBQUksSUFBSSxFQUFFLENBQUM7UUFDakMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDO1FBQ2pDLElBQUksQ0FBQyxTQUFTLENBQUMsU0FBUyxFQUFFLENBQUM7UUFDM0IsT0FBTyxJQUFJLENBQUMsSUFBSSxDQUFDO0lBQ3JCLENBQUM7O0FBbEVMLG9DQW9FQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCBTaWduYWwgZnJvbSBcImJhZG1mY2stc2lnbmFsXCI7XG5cbi8qKlxuICogRGF0YVByb3ZpZGVyIFxuICogZ2F0aGVyaW5nIGRhdGEgdGhyb3VnaHQgZXhlY3V0b3IgYW5kIGhhbmRsZSBkdXBsaWNhdGUgcmVxdWVzdHNcbiAqL1xuZXhwb3J0IGNsYXNzIERhdGFQcm92aWRlcjxUPntcbiAgICBwcml2YXRlIHN0YXRpYyBuZXh0SUQ9MTtcbiAgICBwcml2YXRlIG5hbWU/OnN0cmluZztcbiAgICBwcml2YXRlIGJ1c3k9ZmFsc2U7XG4gICAgcHJpdmF0ZSBsYXN0UmVxdWVzdFRpbWU9MDtcbiAgICBwcml2YXRlIGNhY2hlVGltZT0xMDAwKjYwKjVcbiAgICBwcml2YXRlIGRhdGE6VHx1bmRlZmluZWR8bnVsbDtcbiAgICBwcml2YXRlIGNhbGxiYWNrcz1uZXcgU2lnbmFsPGFueT4oKVxuICAgIHByaXZhdGUgd2FzRXJyb3I6Ym9vbGVhbj1mYWxzZTtcblxuICAgIHByaXZhdGUgZXhlY3V0b3I6KCk9PlByb21pc2U8e2RhdGE6VHxudWxsfHVuZGVmaW5lZCxlcnJvcj86Ym9vbGVhbn0+XG5cbiAgICAvKipcbiAgICAgKiBcbiAgICAgKiBAcGFyYW0gZXhlY3V0b3IgRXhlY3V0ZSBwcm9jZWR1cmUgc3RvcmVkIGluIGV4ZWN1dG9yLCB3aGVuIG5lZWQgdG8gZ2V0IGRhdGFcbiAgICAgKiBAcGFyYW0gY2FjaGVUaW1lIGNhY2hlIGludGVydmFsXG4gICAgICogQHBhcmFtIG5hbWUgRGF0YVByb3ZpZGVyIG5hbWUgKGRlYnVnZ2luZylcbiAgICAgKi9cbiAgICBjb25zdHJ1Y3RvcihleGVjdXRvcjooKT0+UHJvbWlzZTx7ZGF0YTpUfG51bGx8dW5kZWZpbmVkLGVycm9yPzpib29sZWFufT4sY2FjaGVUaW1lPzpudW1iZXIsbmFtZT86c3RyaW5nKXtcbiAgICAgICAgdGhpcy5leGVjdXRvcj1leGVjdXRvcjtcbiAgICAgICAgaWYoY2FjaGVUaW1lIT09dW5kZWZpbmVkKVxuICAgICAgICAgICAgdGhpcy5jYWNoZVRpbWU9K2NhY2hlVGltZTtcbiAgICAgICAgaWYoaXNOYU4odGhpcy5jYWNoZVRpbWUpKVxuICAgICAgICAgICAgdGhpcy5jYWNoZVRpbWU9MDtcbiAgICAgICAgaWYoIXRoaXMubmFtZSlcbiAgICAgICAgICAgIHRoaXMubmFtZT1cIkRhdGFQcm92aWRlciBcIisoRGF0YVByb3ZpZGVyLm5leHRJRCsrKVxuICAgIH1cblxuICAgIGFzeW5jIGZvcmNlVXBkYXRlKCl7XG4gICAgICAgIGlmKHRoaXMuYnVzeSlcbiAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgdGhpcy53YXNFcnJvcj1mYWxzZTtcbiAgICAgICAgdGhpcy5sYXN0UmVxdWVzdFRpbWU9MDtcbiAgICAgICAgYXdhaXQgdGhpcy5nZXREYXRhKClcbiAgICB9XG5cbiAgICBsb2NhbFVwZGF0ZShkYXRhOlQpe1xuICAgICAgICBpZih0aGlzLmJ1c3kpXG4gICAgICAgICAgICByZXR1cm47XG4gICAgICAgIHRoaXMud2FzRXJyb3I9ZmFsc2U7XG4gICAgICAgIHRoaXMubGFzdFJlcXVlc3RUaW1lPStuZXcgRGF0ZSgpO1xuICAgICAgICB0aGlzLmRhdGEgPSBkYXRhXG4gICAgfVxuXG4gICAgYXN5bmMgZ2V0RGF0YSgpOlByb21pc2U8VHxudWxsfHVuZGVmaW5lZD57XG5cbiAgICAgICAgaWYodGhpcy5idXN5KVxuICAgICAgICAgICAgcmV0dXJuIG5ldyBQcm9taXNlKChyZXNvbHZlLHJlamVjdCk9PnRoaXMuY2FsbGJhY2tzLnN1YnNjcmliZSgoZCk9PnJlc29sdmUoZCkpKVxuICAgICAgICBcbiAgICAgICAgaWYodGhpcy5sYXN0UmVxdWVzdFRpbWU+MCAmJiAhdGhpcy53YXNFcnJvcil7XG4gICAgICAgICAgICAvLyBjaGVjayBjYWNoZXRpbWVcbiAgICAgICAgICAgIGNvbnN0IGRpZmYgPSAoK25ldyBEYXRlKCkpIC0gdGhpcy5sYXN0UmVxdWVzdFRpbWU7XG4gICAgICAgICAgICBpZihkaWZmPHRoaXMuY2FjaGVUaW1lKVxuICAgICAgICAgICAgICAgIHJldHVybiB0aGlzLmRhdGE7IC8vIHJldHVybiBjYWNoZWQgdmFsdWVcbiAgICAgICAgfVxuXG4gICAgICAgIHRoaXMuYnVzeT10cnVlO1xuICAgICAgICB0aGlzLndhc0Vycm9yPWZhbHNlO1xuICAgICAgICBjb25zdCByZXMgPSBhd2FpdCB0aGlzLmV4ZWN1dG9yKCk7XG4gICAgICAgIHRoaXMuYnVzeT1mYWxzZTtcbiAgICAgICAgdGhpcy53YXNFcnJvcj1yZXMuZXJyb3IgPz8gZmFsc2U7XG4gICAgICAgIHRoaXMuZGF0YT1yZXMuZGF0YVxuICAgICAgICB0aGlzLmxhc3RSZXF1ZXN0VGltZT0rbmV3IERhdGUoKTtcbiAgICAgICAgdGhpcy5jYWxsYmFja3MuaW52b2tlKHRoaXMuZGF0YSk7XG4gICAgICAgIHRoaXMuY2FsbGJhY2tzLnJlbW92ZUFsbCgpO1xuICAgICAgICByZXR1cm4gdGhpcy5kYXRhO1xuICAgIH1cbiAgICBcbn0iXX0=
@@ -0,0 +1 @@
1
+ {"version":3,"file":"DataProvider.js","sourceRoot":"","sources":["../../../src/apiServer/helper/DataProvider.ts"],"names":[],"mappings":";;;;;;AAAA,oEAAoC;AAMpC,MAAa,YAAY;IACb,MAAM,CAAC,MAAM,GAAC,CAAC,CAAC;IAChB,IAAI,CAAS;IACb,IAAI,GAAC,KAAK,CAAC;IACX,eAAe,GAAC,CAAC,CAAC;IAClB,SAAS,GAAC,IAAI,GAAC,EAAE,GAAC,CAAC,CAAA;IACnB,IAAI,CAAkB;IACtB,SAAS,GAAC,IAAI,wBAAM,EAAO,CAAA;IAC3B,QAAQ,GAAS,KAAK,CAAC;IAEvB,QAAQ,CAAoD;IAQpE,YAAY,QAA4D,EAAC,SAAiB,EAAC,IAAY;QACnG,IAAI,CAAC,QAAQ,GAAC,QAAQ,CAAC;QACvB,IAAG,SAAS,KAAG,SAAS;YACpB,IAAI,CAAC,SAAS,GAAC,CAAC,SAAS,CAAC;QAC9B,IAAG,KAAK,CAAC,IAAI,CAAC,SAAS,CAAC;YACpB,IAAI,CAAC,SAAS,GAAC,CAAC,CAAC;QACrB,IAAG,CAAC,IAAI,CAAC,IAAI;YACT,IAAI,CAAC,IAAI,GAAC,eAAe,GAAC,CAAC,YAAY,CAAC,MAAM,EAAE,CAAC,CAAA;IACzD,CAAC;IAED,KAAK,CAAC,WAAW;QACb,IAAG,IAAI,CAAC,IAAI;YACR,OAAO;QACX,IAAI,CAAC,QAAQ,GAAC,KAAK,CAAC;QACpB,IAAI,CAAC,eAAe,GAAC,CAAC,CAAC;QACvB,MAAM,IAAI,CAAC,OAAO,EAAE,CAAA;IACxB,CAAC;IAED,WAAW,CAAC,IAAM;QACd,IAAG,IAAI,CAAC,IAAI;YACR,OAAO;QACX,IAAI,CAAC,QAAQ,GAAC,KAAK,CAAC;QACpB,IAAI,CAAC,eAAe,GAAC,CAAC,IAAI,IAAI,EAAE,CAAC;QACjC,IAAI,CAAC,IAAI,GAAG,IAAI,CAAA;IACpB,CAAC;IAED,KAAK,CAAC,OAAO;QAET,IAAG,IAAI,CAAC,IAAI;YACR,OAAO,IAAI,OAAO,CAAC,CAAC,OAAO,EAAC,MAAM,EAAC,EAAE,CAAA,IAAI,CAAC,SAAS,CAAC,SAAS,CAAC,CAAC,CAAC,EAAC,EAAE,CAAA,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,CAAA;QAEnF,IAAG,IAAI,CAAC,eAAe,GAAC,CAAC,IAAI,CAAC,IAAI,CAAC,QAAQ,EAAC;YAExC,MAAM,IAAI,GAAG,CAAC,CAAC,IAAI,IAAI,EAAE,CAAC,GAAG,IAAI,CAAC,eAAe,CAAC;YAClD,IAAG,IAAI,GAAC,IAAI,CAAC,SAAS;gBAClB,OAAO,IAAI,CAAC,IAAI,CAAC;SACxB;QAED,IAAI,CAAC,IAAI,GAAC,IAAI,CAAC;QACf,IAAI,CAAC,QAAQ,GAAC,KAAK,CAAC;QACpB,MAAM,GAAG,GAAG,MAAM,IAAI,CAAC,QAAQ,EAAE,CAAC;QAClC,IAAI,CAAC,IAAI,GAAC,KAAK,CAAC;QAChB,IAAI,CAAC,QAAQ,GAAC,GAAG,CAAC,KAAK,IAAI,KAAK,CAAC;QACjC,IAAI,CAAC,IAAI,GAAC,GAAG,CAAC,IAAI,CAAA;QAClB,IAAI,CAAC,eAAe,GAAC,CAAC,IAAI,IAAI,EAAE,CAAC;QACjC,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QACjC,IAAI,CAAC,SAAS,CAAC,SAAS,EAAE,CAAC;QAC3B,OAAO,IAAI,CAAC,IAAI,CAAC;IACrB,CAAC;;AAlEL,oCAoEC","sourcesContent":["import Signal from \"badmfck-signal\";\n\n/**\n * DataProvider \n * gathering data throught executor and handle duplicate requests\n */\nexport class DataProvider<T>{\n private static nextID=1;\n private name?:string;\n private busy=false;\n private lastRequestTime=0;\n private cacheTime=1000*60*5\n private data:T|undefined|null;\n private callbacks=new Signal<any>()\n private wasError:boolean=false;\n\n private executor:()=>Promise<{data:T|null|undefined,error?:boolean}>\n\n /**\n * \n * @param executor Execute procedure stored in executor, when need to get data\n * @param cacheTime cache interval\n * @param name DataProvider name (debugging)\n */\n constructor(executor:()=>Promise<{data:T|null|undefined,error?:boolean}>,cacheTime?:number,name?:string){\n this.executor=executor;\n if(cacheTime!==undefined)\n this.cacheTime=+cacheTime;\n if(isNaN(this.cacheTime))\n this.cacheTime=0;\n if(!this.name)\n this.name=\"DataProvider \"+(DataProvider.nextID++)\n }\n\n async forceUpdate(){\n if(this.busy)\n return;\n this.wasError=false;\n this.lastRequestTime=0;\n await this.getData()\n }\n\n localUpdate(data:T){\n if(this.busy)\n return;\n this.wasError=false;\n this.lastRequestTime=+new Date();\n this.data = data\n }\n\n async getData():Promise<T|null|undefined>{\n\n if(this.busy)\n return new Promise((resolve,reject)=>this.callbacks.subscribe((d)=>resolve(d)))\n \n if(this.lastRequestTime>0 && !this.wasError){\n // check cachetime\n const diff = (+new Date()) - this.lastRequestTime;\n if(diff<this.cacheTime)\n return this.data; // return cached value\n }\n\n this.busy=true;\n this.wasError=false;\n const res = await this.executor();\n this.busy=false;\n this.wasError=res.error ?? false;\n this.data=res.data\n this.lastRequestTime=+new Date();\n this.callbacks.invoke(this.data);\n this.callbacks.removeAll();\n return this.data;\n }\n \n}"]}
@@ -0,0 +1 @@
1
+ export declare const Sleep: (ms: number) => Promise<unknown>;
@@ -0,0 +1,6 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.Sleep = void 0;
4
+ const Sleep = (ms) => new Promise(resolve => setTimeout(resolve, ms));
5
+ exports.Sleep = Sleep;
6
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiU2xlZXAuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvYXBpU2VydmVyL2hlbHBlci9TbGVlcC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7QUFBTyxNQUFNLEtBQUssR0FBRyxDQUFDLEVBQVUsRUFBRSxFQUFFLENBQUMsSUFBSSxPQUFPLENBQUMsT0FBTyxDQUFDLEVBQUUsQ0FBQyxVQUFVLENBQUMsT0FBTyxFQUFFLEVBQUUsQ0FBQyxDQUFDLENBQUM7QUFBeEUsUUFBQSxLQUFLLFNBQW1FIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0IGNvbnN0IFNsZWVwID0gKG1zOiBudW1iZXIpID0+IG5ldyBQcm9taXNlKHJlc29sdmUgPT4gc2V0VGltZW91dChyZXNvbHZlLCBtcykpOyJdfQ==
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Sleep.js","sourceRoot":"","sources":["../../../src/apiServer/helper/Sleep.ts"],"names":[],"mappings":";;;AAAO,MAAM,KAAK,GAAG,CAAC,EAAU,EAAE,EAAE,CAAC,IAAI,OAAO,CAAC,OAAO,CAAC,EAAE,CAAC,UAAU,CAAC,OAAO,EAAE,EAAE,CAAC,CAAC,CAAC;AAAxE,QAAA,KAAK,SAAmE","sourcesContent":["export const Sleep = (ms: number) => new Promise(resolve => setTimeout(resolve, ms));"]}
@@ -71,3 +71,4 @@ class UID {
71
71
  }
72
72
  }
73
73
  exports.UID = UID;
74
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiVUlELmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL2FwaVNlcnZlci9oZWxwZXIvVUlELnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7OztBQUFBLG9EQUEyQjtBQUMzQixNQUFhLEdBQUc7SUFDSixNQUFNLENBQVUsS0FBSyxHQUFHLGFBQWEsQ0FBQztJQUN0QyxNQUFNLENBQUMsWUFBWSxHQUFDLENBQUMsQ0FBQztJQUN0QixNQUFNLENBQUMsZUFBZSxHQUFDLENBQUMsQ0FBQztJQUNqQyxNQUFNLENBQUMsUUFBUTtRQUNYLElBQUksR0FBRyxHQUFHLE1BQU0sQ0FBQyxJQUFJLENBQ3BCLFFBQVEsQ0FDTCxDQUFDLENBQUMsQ0FBQyxJQUFJLElBQUksRUFBRSxDQUFDLEdBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQztjQUN6QixFQUFFO2NBQ0YsSUFBSSxDQUFDLEtBQUssQ0FBQyxJQUFJLENBQUMsTUFBTSxFQUFFLEdBQUMsSUFBSSxDQUFDLENBQ2xDLENBQUMsUUFBUSxDQUFDLEVBQUUsQ0FBQyxFQUFDLEtBQUssQ0FBQyxDQUFDLFFBQVEsQ0FBQyxRQUFRLENBQUMsQ0FBQztRQUV6QyxHQUFHLEdBQUMsR0FBRyxDQUFDLFVBQVUsQ0FBQyxHQUFHLEVBQUMsRUFBRSxDQUFDLENBQUE7UUFDMUIsR0FBRyxHQUFDLEdBQUcsQ0FBQyxVQUFVLENBQUMsR0FBRyxFQUFDLEdBQUcsQ0FBQyxDQUFBO1FBQzNCLEdBQUcsR0FBQyxHQUFHLENBQUMsVUFBVSxDQUFDLEdBQUcsRUFBQyxHQUFHLENBQUMsQ0FBQTtRQUUzQixPQUFPLEdBQUcsQ0FBQztJQUNmLENBQUM7SUFFRCxNQUFNLENBQUMsd0JBQXdCLENBQUMsS0FBWTtRQUN4QyxJQUFJLElBQUksR0FBQyxFQUFFLENBQUM7UUFDWixLQUFJLElBQUksQ0FBQyxHQUFDLENBQUMsRUFBQyxDQUFDLEdBQUMsS0FBSyxFQUFDLENBQUMsRUFBRTtZQUNuQixJQUFJLElBQUUsSUFB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QUE7UUFDMUIsR0FBRyxHQUFDLEdBQUcsQ0FBQyxVQUFVLENBQUMsR0FBRyxFQUFDLEdBQUcsQ0FBQyxDQUFBO1FBQzNCLEdBQUcsR0FBQyxHQUFHLENBQUMsVUFBVSxDQUFDLEdBQUcsRUFBQyxHQUFHLENBQUMsQ0FBQTtRQUMzQixPQUFPLEdBQUcsQ0FBQztJQUNmLENBQUM7SUFFRCxNQUFNLENBQUMsUUFBUSxDQUFDLENBQVE7UUFDcEIsT0FBTyxDQUFDLENBQUMsR0FBQyxFQUFFLENBQUMsQ0FBQyxRQUFRLENBQUMsQ0FBQyxFQUFDLEdBQUcsQ0FBQyxDQUFBO0lBQ2pDLENBQUM7O0FBcEZMLGtCQXFGQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCBjcnlwdG8gZnJvbSBcImNyeXB0b1wiXG5leHBvcnQgY2xhc3MgVUlEe1xuICAgIHByaXZhdGUgc3RhdGljIHJlYWRvbmx5IGVwb2NoID0gMTY5NzAzNzkyMjY2ODtcbiAgICBwcml2YXRlIHN0YXRpYyBuZXh0VW5pcXVlSUQ9MTtcbiAgICBwcml2YXRlIHN0YXRpYyBuZXh0VW5pcXVlVFJYSUQ9MTtcbiAgICBzdGF0aWMgZ2VuZXJhdGUoKTpzdHJpbmd7XG4gICAgICAgIGxldCB1aWQgPSBCdWZmZXIuZnJvbShcbiAgICAgICAgIHBhcnNlSW50KFxuICAgICAgICAgICAgKCgrbmV3IERhdGUoKSktdGhpcy5lcG9jaClcbiAgICAgICAgICAgICtcIlwiXG4gICAgICAgICAgICArTWF0aC5yb3VuZChNYXRoLnJhbmRvbSgpKjEwMDApXG4gICAgICAgICkudG9TdHJpbmcoMTYpLCdoZXgnKS50b1N0cmluZygnYmFzZTY0Jyk7XG5cbiAgICAgICAgdWlkPXVpZC5yZXBsYWNlQWxsKFwiPVwiLFwiXCIpXG4gICAgICAgIHVpZD11aWQucmVwbGFjZUFsbChcIitcIixcIi5cIilcbiAgICAgICAgdWlkPXVpZC5yZXBsYWNlQWxsKFwiL1wiLFwiX1wiKVxuICAgICAgICBcbiAgICAgICAgcmV0dXJuIHVpZDtcbiAgICB9XG5cbiAgICBzdGF0aWMgZ2VuZXJhdGVSYW5kb21OdW1iZXJCYXNlKGNvdW50Om51bWJlcik6c3RyaW5ne1xuICAgICAgICBsZXQgYmFzZT1cIlwiO1xuICAgICAgICBmb3IobGV0IGk9MDtpPGNvdW50O2krKylcbiAgICAgICAgICAgIGJhc2UrPU1hdGgucm91bmQoTWF0aC5yYW5kb20oKSo5KTtcbiAgICAgICAgcmV0dXJuIGJhc2U7XG4gICAgfVxuXG4gICAgc3RhdGljIGdlbmVyYXRlTnVtYmVyaWMoeWVhcj86c3RyaW5nKTpudW1iZXJ7XG4gICAgICAgIGlmKCF5ZWFyKVxuICAgICAgICAgICAgeWVhciA9IG5ldyBEYXRlKCkuZ2V0RnVsbFllYXIoKStcIlwiO1xuICAgICAgICBjb25zdCBuZXh0SUQ9VUlELm5leHRVbmlxdWVJRCsrO1xuICAgICAgICBpZihVSUQubmV4dFVuaXF1ZUlEPjk5KVxuICAgICAgICAgICAgVUlELm5leHRVbmlxdWVJRCA9IDFcbiAgICAgICAgcmV0dXJuIHBhcnNlSW50KHllYXIuc3Vic3RyaW5nKDIpK1wiXCIrKCtuZXcgRGF0ZSgpIC0gdGhpcy5lcG9jaCkrXCJcIisobmV4dElEK1wiXCIpLnBhZFN0YXJ0KDIsXCIwXCIpKTtcbiAgICB9XG5cbiAgICBzdGF0aWMgZ2V0TmV4dERlc2NlbmRpbmdJbmRleCgpOm51bWJlcntcbiAgICAgICAgcmV0dXJuIE51bWJlci5NQVhfU0FGRV9JTlRFR0VSIC0gKCtuZXcgRGF0ZSgpKTtcbiAgICB9XG5cbiAgICBzdGF0aWMgZ2V0TmV4dCgpOnN0cmluZ3tcbiAgICAgICAgY29uc3QgbmV4dElEPVVJRC5uZXh0VW5pcXVlSUQrKztcbiAgICAgICAgaWYoVUlELm5leHRVbmlxdWVJRD45OSlcbiAgICAgICAgICAgIFVJRC5uZXh0VW5pcXVlSUQgPSAxXG4gICAgICAgIHJldHVybiB0aGlzLmxlYWRaZXJvKG5leHRJRClcbiAgICB9XG4gICAgXG4gICAgc3RhdGljIGdldE5leHRUUlgoKTpzdHJpbmd7XG4gICAgICAgIGNvbnN0IG5leHRJRD1VSUQubmV4dFVuaXF1ZVRSWElEKys7XG4gICAgICAgIGlmKFVJRC5uZXh0VW5pcXVlVFJYSUQ+OTkpXG4gICAgICAgICAgICBVSUQubmV4dFVuaXF1ZVRSWElEID0gMVxuICAgICAgICByZXR1cm4gdGhpcy5sZWFkWmVybyhuZXh0SUQpXG4gICAgfVxuXG4gIFxuXG4gICAgc3RhdGljIGdlbmVyYXRlVHJ4VUlEKGRhdGU/OkRhdGUpe1xuICAgICAgICBcbiAgICAgICAgaWYoIWRhdGUpXG4gICAgICAgICAgICBkYXRlPW5ldyBEYXRlKCk7XG5cbiAgICAgICAgY29uc3QgeWVhciA9IChuZXcgRGF0ZSgpLmdldEZ1bGxZZWFyKCkrXCJcIikuc3Vic3RyaW5nKDIpO1xuICAgICAgICBjb25zdCBzZWNvbmRzID0gKGRhdGUuZ2V0SG91cnMoKSAqIDM2MDAgKyBkYXRlLmdldE1pbnV0ZXMoKSAqIDYwICsgZGF0ZS5nZXRTZWNvbmRzKCkpK1wiXCI7XG5cbiAgICAgICAgY29uc3Qgc3RyPXllYXJcbiAgICAgICAgICAgICt0aGlzLmxlYWRaZXJvKGRhdGUuZ2V0TW9udGgoKSsxKVxuICAgICAgICAgICAgK3RoaXMubGVhZFplcm8oZGF0ZS5nZXREYXRlKCkpXG4gICAgICAgICAgICArc2Vjb25kcy5wYWRTdGFydCg1LFwiMFwiKVxuICAgICAgICAgICAgK3RoaXMuZ2V0TmV4dFRSWCgpXG5cbiAgICAgICAgcmV0dXJuIHBhcnNlSW50KHN0cik7XG4gICAgICAgICAgICBcbiAgICB9XG5cblxuICAgIHN0YXRpYyBzaGEyNTYoc3RyOnN0cmluZyk6c3RyaW5ne1xuICAgICAgICBsZXQgdWlkID0gY3J5cHRvLmNyZWF0ZUhhc2goXCJzaGEyNTZcIikudXBkYXRlKHN0cikuZGlnZXN0KFwiYmFzZTY0XCIpO1xuICAgICAgICB1aWQ9dWlkLnJlcGxhY2VBbGwoXCI9XCIsXCJcIilcbiAgICAgICAgdWlkPXVpZC5yZXBsYWNlQWxsKFwiK1wiLFwiLlwiKVxuICAgICAgICB1aWQ9dWlkLnJlcGxhY2VBbGwoXCIvXCIsXCItXCIpXG4gICAgICAgIHJldHVybiB1aWQ7XG4gICAgfVxuXG4gICAgc3RhdGljIGxlYWRaZXJvKGk6bnVtYmVyKTpzdHJpbmd7XG4gICAgICAgIHJldHVybiAoaStcIlwiKS5wYWRTdGFydCgyLFwiMFwiKVxuICAgIH1cbn0iXX0=
@@ -0,0 +1 @@
1
+ {"version":3,"file":"UID.js","sourceRoot":"","sources":["../../../src/apiServer/helper/UID.ts"],"names":[],"mappings":"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","sourcesContent":["import crypto from \"crypto\"\nexport class UID{\n private static readonly epoch = 1697037922668;\n private static nextUniqueID=1;\n private static nextUniqueTRXID=1;\n static generate():string{\n let uid = Buffer.from(\n parseInt(\n ((+new Date())-this.epoch)\n +\"\"\n +Math.round(Math.random()*1000)\n ).toString(16),'hex').toString('base64');\n\n uid=uid.replaceAll(\"=\",\"\")\n uid=uid.replaceAll(\"+\",\".\")\n uid=uid.replaceAll(\"/\",\"_\")\n \n return uid;\n }\n\n static generateRandomNumberBase(count:number):string{\n let base=\"\";\n for(let i=0;i<count;i++)\n base+=Math.round(Math.random()*9);\n return base;\n }\n\n static generateNumberic(year?:string):number{\n if(!year)\n year = new Date().getFullYear()+\"\";\n const nextID=UID.nextUniqueID++;\n if(UID.nextUniqueID>99)\n UID.nextUniqueID = 1\n return parseInt(year.substring(2)+\"\"+(+new Date() - this.epoch)+\"\"+(nextID+\"\").padStart(2,\"0\"));\n }\n\n static getNextDescendingIndex():number{\n return Number.MAX_SAFE_INTEGER - (+new Date());\n }\n\n static getNext():string{\n const nextID=UID.nextUniqueID++;\n if(UID.nextUniqueID>99)\n UID.nextUniqueID = 1\n return this.leadZero(nextID)\n }\n \n static getNextTRX():string{\n const nextID=UID.nextUniqueTRXID++;\n if(UID.nextUniqueTRXID>99)\n UID.nextUniqueTRXID = 1\n return this.leadZero(nextID)\n }\n\n \n\n static generateTrxUID(date?:Date){\n \n if(!date)\n date=new Date();\n\n const year = (new Date().getFullYear()+\"\").substring(2);\n const seconds = (date.getHours() * 3600 + date.getMinutes() * 60 + date.getSeconds())+\"\";\n\n const str=year\n +this.leadZero(date.getMonth()+1)\n +this.leadZero(date.getDate())\n +seconds.padStart(5,\"0\")\n +this.getNextTRX()\n\n return parseInt(str);\n \n }\n\n\n static sha256(str:string):string{\n let uid = crypto.createHash(\"sha256\").update(str).digest(\"base64\");\n uid=uid.replaceAll(\"=\",\"\")\n uid=uid.replaceAll(\"+\",\".\")\n uid=uid.replaceAll(\"/\",\"-\")\n return uid;\n }\n\n static leadZero(i:number):string{\n return (i+\"\").padStart(2,\"0\")\n }\n}"]}
@@ -99,3 +99,4 @@ class Validator {
99
99
  }
100
100
  }
101
101
  exports.Validator = Validator;
102
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiVmFsaWRhdG9yLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL2FwaVNlcnZlci9oZWxwZXIvVmFsaWRhdG9yLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7OztBQWdCQSxJQUFZLGdCQU9YO0FBUEQsV0FBWSxnQkFBZ0I7SUFDeEIsbURBQUksQ0FBQTtJQUNKLHlFQUFlLENBQUE7SUFDZiwyRUFBZ0IsQ0FBQTtJQUNoQix5RUFBZSxDQUFBO0lBQ2YsNkVBQWlCLENBQUE7SUFDakIsNkVBQWlCLENBQUE7QUFDckIsQ0FBQyxFQVBXLGdCQUFnQixnQ0FBaEIsZ0JBQWdCLFFBTzNCO0FBRUQsTUFBYSxTQUFTO0lBRWxCLE1BQU0sQ0FBQyxjQUFjLENBQUMsTUFBZSxFQUFDLE1BQVU7UUFDNUMsSUFBRyxDQUFDLE1BQU0sSUFBSSxPQUFPLE1BQU0sS0FBRyxRQUFRO1lBQ2xDLE9BQU8sS0FBSyxDQUFBO1FBQ2hCLEtBQUksSUFBSSxDQUFDLElBQUksTUFBTSxFQUFDO1lBQ2hCLElBQUcsQ0FBQyxDQUFDLENBQUMsSUFBSSxNQUFNLENBQUMsSUFBSSxNQUFNLENBQUMsQ0FBQyxDQUFDLEtBQUcsU0FBUztnQkFDdEMsT0FBTyxLQUFLLENBQUM7U0FDcEI7UUFDRCxPQUFPLElBQUksQ0FBQztJQUNoQixDQUFDO0lBRUQsTUFBTSxDQUFDLGFBQWEsQ0FBSSxLQUFTLEVBQUMsSUFBdUM7UUFDckUsSUFBRyxLQUFLLEtBQUcsSUFBSSxJQUFJLEtBQUssS0FBSyxTQUFTO1lBQ2xDLE9BQU8sSUFBSSxDQUFDO1FBRWhCLElBQUcsSUFBSSxLQUFHLFFBQVEsRUFBQztZQUNmLElBQUcsT0FBTyxLQUFLLEtBQUksUUFBUSxFQUFDO2dCQUN4QixJQUFJLE1BQU0sR0FBRyxJQUFJLENBQUE7Z0JBQ2pCLElBQUc7b0JBQUUsTUFBTSxHQUFHLElBQUksQ0FBQyxTQUFTLENBQUMsS0FBSyxDQUFDLENBQUM7aUJBQUM7Z0JBQUEsT0FBTSxDQUFDLEVBQUMsR0FBRTtnQkFDL0MsSUFBRyxNQUFNLEtBQUcsSUFBSTtvQkFDWixPQUFPLE1BQVcsQ0FBQTthQUN6QjtZQUNELE9BQU8sS0FBSyxHQUFDLEVBQU8sQ0FBQTtTQUN2QjtRQUVELElBQUcsSUFBSSxLQUFHLFNBQVMsRUFBQztZQUNoQixJQUFHLE9BQU8sS0FBSyxLQUFHLFNBQVM7Z0JBQ3ZCLE9BQU8sS0FBVSxDQUFBO1lBQ3JCLElBQUcsT0FBTyxLQUFLLEtBQUcsUUFBUTtnQkFDdEIsT0FBTyxLQUFLLEdBQUMsQ0FBTSxDQUFBO1lBQ3ZCLElBQUcsT0FBTyxLQUFLLEtBQUcsUUFBUTtnQkFDdEIsT0FBTyxLQUFVLENBQUE7WUFDckIsSUFBRyxPQUFPLEtBQUssS0FBSyxRQUFRO2dCQUN4QixPQUFPLENBQUMsS0FBSyxDQUFDLFdBQVcsRUFBRSxLQUFHLE1BQU0sQ0FBTSxDQUFBO1NBQ2pEO1FBRUQsSUFBRyxJQUFJLEtBQUcsTUFBTSxFQUFDO1lBQ2IsSUFBRyxPQUFPLEtBQUssS0FBRyxRQUFRLElBQUksT0FBTyxLQUFLLEtBQUcsUUFBUTtnQkFDakQsT0FBTyxJQUFJLElBQUksQ0FBQyxLQUFLLENBQU0sQ0FBQTtZQUMvQixPQUFPLElBQUksQ0FBQztTQUNmO1FBR0QsSUFBRyxPQUFPLEtBQUssS0FBRyxRQUFRO1lBQ3RCLE9BQU8sS0FBVSxDQUFBO1FBRXJCLElBQUcsT0FBTyxLQUFLLEtBQUcsUUFBUTtZQUN0QixPQUFPLENBQU0sQ0FBQTtRQUVqQixNQUFNLEdBQUcsR0FBRyxRQUFRLENBQUMsS0FBSyxHQUFDLEVBQUUsQ0FBQyxDQUFDO1FBQy9CLE9BQU8sR0FBUSxDQUFBO0lBQ25CLENBQUM7SUFFRCxNQUFNLENBQUMsYUFBYSxDQUFDLEtBQTJCLEVBQUMsR0FBc0I7UUFDbkUsSUFBRyxLQUFLLEtBQUcsU0FBUyxJQUFJLEtBQUssS0FBSyxJQUFJO1lBQ2xDLE9BQU8sZ0JBQWdCLENBQUMsYUFBYSxDQUFDO1FBQzFDLElBQUcsQ0FBQyxHQUFHO1lBQ0gsT0FBTyxnQkFBZ0IsQ0FBQyxFQUFFLENBQUM7UUFHL0IsSUFBRyxDQUFDLEdBQUcsQ0FBQyxJQUFJO1lBQ1IsR0FBRyxDQUFDLElBQUksR0FBQyxRQUFRLENBQUM7UUFFdEIsSUFBRyxHQUFHLENBQUMsSUFBSSxLQUFHLFNBQVMsRUFBQztZQUNwQixJQUFHLE9BQU8sS0FBSyxLQUFHLFNBQVM7Z0JBQ3ZCLE9BQU8sZ0JBQWdCLENBQUMsRUFBRSxDQUFDO1lBQy9CLElBQUcsT0FBTyxLQUFLLEtBQUksUUFBUSxJQUFJLENBQUMsS0FBSyxLQUFLLENBQUMsSUFBSSxLQUFLLEtBQUssQ0FBQyxDQUFDO2dCQUN2RCxPQUFPLGdCQUFnQixDQUFDLEVBQUUsQ0FBQTtZQUM5QixPQUFPLGdCQUFnQixDQUFDLGNBQWMsQ0FBQTtTQUN6QztRQUVELElBQUcsR0FBRyxDQUFDLElBQUksS0FBSyxRQUFRLEVBQUM7WUFDckIsSUFBRyxPQUFPLEtBQUssS0FBSyxRQUFRO2dCQUN4QixPQUFPLGdCQUFnQixDQUFDLGNBQWMsQ0FBQTtZQUMxQyxJQUFHLEdBQUcsQ0FBQyxHQUFHLElBQUksS0FBSyxHQUFDLEdBQUcsQ0FBQyxHQUFHO2dCQUN2QixPQUFPLGdCQUFnQixDQUFDLGFBQWEsQ0FBQTtZQUN6QyxJQUFHLEdBQUcsQ0FBQyxHQUFHLElBQUksS0FBSyxHQUFDLEdBQUcsQ0FBQyxHQUFHO2dCQUN2QixPQUFPLGdCQUFnQixDQUFDLGFBQWEsQ0FBQTtZQUN6QyxPQUFPLGdCQUFnQixDQUFDLEVBQUUsQ0FBQztTQUM5QjtRQUVELElBQUcsT0FBTyxLQUFLLEtBQUssUUFBUTtZQUN4QixPQUFPLGdCQUFnQixDQUFDLGNBQWMsQ0FBQTtRQUUxQyxJQUFHLEdBQUcsQ0FBQyxHQUFHLElBQUksS0FBSyxDQUFDLE1BQU0sR0FBQyxHQUFHLENBQUMsR0FBRztZQUM5QixPQUFPLGdCQUFnQixDQUFDLGFBQWEsQ0FBQTtRQUV6QyxJQUFHLEdBQUcsQ0FBQyxHQUFHLElBQUksS0FBSyxDQUFDLE1BQU0sR0FBQyxHQUFHLENBQUMsR0FBRztZQUM5QixPQUFPLGdCQUFnQixDQUFDLGVBQWUsQ0FBQTtRQUUzQyxJQUFHLEdBQUcsQ0FBQyxJQUFJLEtBQUcsT0FBTyxJQUFJLENBQUMsR0FBRyxDQUFDLEtBQUssRUFBQztZQUNoQyxHQUFHLENBQUMsS0FBSyxHQUFHLG1DQUFtQyxDQUFDO1NBQ25EO1FBRUQsSUFBRyxHQUFHLENBQUMsS0FBSyxFQUFDO1lBQ1QsTUFBTSxXQUFXLEdBQUcsSUFBSSxNQUFNLENBQUMsR0FBRyxDQUFDLEtBQUssQ0FBQyxNQUFNLEVBQUUsR0FBRyxDQUFDLEtBQUssQ0FBQyxLQUFLLENBQUMsUUFBUSxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsS0FBSyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLEtBQUssQ0FBQyxLQUFLLEdBQUcsR0FBRyxDQUFDLENBQUM7WUFDMUgsTUFBTSxHQUFHLEdBQUcsS0FBSyxDQUFDLFVBQVUsQ0FBQyxXQUFXLEVBQUMsRUFBRSxDQUFDLENBQUM7WUFDN0MsSUFBRyxHQUFHLENBQUMsTUFBTSxLQUFHLENBQUM7Z0JBQ2IsT0FBTyxnQkFBZ0IsQ0FBQyxlQUFlLENBQUE7U0FDOUM7UUFJRCxPQUFPLGdCQUFnQixDQUFDLEVBQUUsQ0FBQztJQUMvQixDQUFDO0NBQ0o7QUExR0QsOEJBMEdDIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0IHR5cGUgVFZhbGlkYXRvclR5cGU9XCJzdHJpbmdcInxcIm51bWJlclwifFwiYm9vbGVhblwifFwiZGF0ZVwifFwiYXJyYXlcInxcIm9iamVjdFwifFwiZW1haWxcInxcInBob25lXCJcblxuZXhwb3J0IGludGVyZmFjZSBJVmFsaWRhdG9yT3B0aW9uc3tcbiAgICBtaW4/Om51bWJlcixcbiAgICBtYXg/Om51bWJlcixcbiAgICB0eXBlPzpUVmFsaWRhdG9yVHlwZSxcbiAgICByZWdleD86UmVnRXhwXG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgSVZhbGlkYW90clR5cGV7XG4gICAgbmFtZTpzdHJpbmcsXG4gICAgdHlwZTpUVmFsaWRhdG9yVHlwZVxuICAgIG9wdGlvbmFsPzpib29sZWFuLFxuICAgIGFycmF5VHlwZT86SVZhbGlkYW90clR5cGUsXG59XG5cbmV4cG9ydCBlbnVtIFZhbGlkYXRpb25SZXBvcnR7XG4gICAgT0s9MSxcbiAgICBWQUxVRV9JU19OVUxMPTIsXG4gICAgVFlQRV9NSVNTTUFUQ0g9MyxcbiAgICBWQUxVRV9UT09fQklHPTQsXG4gICAgVkFMVUVfVE9PX1NIT1JUPTUsXG4gICAgVkFMVUVfSU5DT1JSRUNUPTZcbn1cblxuZXhwb3J0IGNsYXNzIFZhbGlkYXRvcntcblxuICAgIHN0YXRpYyB2YWxpZGF0ZU9iamVjdChmaWVsZHM6c3RyaW5nW10sb2JqZWN0OmFueSk6Ym9vbGVhbntcbiAgICAgICAgaWYoIW9iamVjdCB8fCB0eXBlb2Ygb2JqZWN0IT09XCJvYmplY3RcIilcbiAgICAgICAgICAgIHJldHVybiBmYWxzZVxuICAgICAgICBmb3IobGV0IGkgb2YgZmllbGRzKXtcbiAgICAgICAgICAgIGlmKCEoaSBpbiBvYmplY3QpIHx8IG9iamVjdFtpXT09PXVuZGVmaW5lZClcbiAgICAgICAgICAgICAgICByZXR1cm4gZmFsc2U7XG4gICAgICAgIH1cbiAgICAgICAgcmV0dXJuIHRydWU7XG4gICAgfVxuXG4gICAgc3RhdGljIGNvbnZlcnRUb1R5cGU8VD4odmFsdWU6YW55LHR5cGU6XCJzdHJpbmdcInxcIm51bWJlclwifFwiYm9vbGVhblwifFwiZGF0ZVwiKTpUfG51bGx7XG4gICAgICAgIGlmKHZhbHVlPT09bnVsbCB8fCB2YWx1ZSA9PT0gdW5kZWZpbmVkKVxuICAgICAgICAgICAgcmV0dXJuIG51bGw7XG5cbiAgICAgICAgaWYodHlwZT09PVwic3RyaW5nXCIpe1xuICAgICAgICAgICAgaWYodHlwZW9mIHZhbHVlID09PVwib2JqZWN0XCIpe1xuICAgICAgICAgICAgICAgIGxldCByZXN1bHQgPSBudWxsXG4gICAgICAgICAgICAgICAgdHJ5eyByZXN1bHQgPSBKU09OLnN0cmluZ2lmeSh2YWx1ZSk7fWNhdGNoKGUpe31cbiAgICAgICAgICAgICAgICBpZihyZXN1bHQhPT1udWxsKVxuICAgICAgICAgICAgICAgICAgICByZXR1cm4gcmVzdWx0IGFzIFRcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIHJldHVybiB2YWx1ZStcIlwiIGFzIFRcbiAgICAgICAgfVxuXG4gICAgICAgIGlmKHR5cGU9PT1cImJvb2xlYW5cIil7XG4gICAgICAgICAgICBpZih0eXBlb2YgdmFsdWU9PT1cImJvb2xlYW5cIilcbiAgICAgICAgICAgICAgICByZXR1cm4gdmFsdWUgYXMgVFxuICAgICAgICAgICAgaWYodHlwZW9mIHZhbHVlPT09XCJudW1iZXJcIilcbiAgICAgICAgICAgICAgICByZXR1cm4gdmFsdWU+MCBhcyBUXG4gICAgICAgICAgICBpZih0eXBlb2YgdmFsdWU9PT1cIm9iamVjdFwiKVxuICAgICAgICAgICAgICAgIHJldHVybiBmYWxzZSBhcyBUXG4gICAgICAgICAgICBpZih0eXBlb2YgdmFsdWUgPT09IFwic3RyaW5nXCIpXG4gICAgICAgICAgICAgICAgcmV0dXJuICh2YWx1ZS50b0xvd2VyQ2FzZSgpPT09XCJ0cnVlXCIpIGFzIFRcbiAgICAgICAgfVxuXG4gICAgICAgIGlmKHR5cGU9PT1cImRhdGVcIil7XG4gICAgICAgICAgICBpZih0eXBlb2YgdmFsdWU9PT1cInN0cmluZ1wiIHx8IHR5cGVvZiB2YWx1ZT09PVwibnVtYmVyXCIpXG4gICAgICAgICAgICAgICAgcmV0dXJuIG5ldyBEYXRlKHZhbHVlKSBhcyBUXG4gICAgICAgICAgICByZXR1cm4gbnVsbDtcbiAgICAgICAgfVxuXG4gICAgICAgIC8vIG51bWJlclxuICAgICAgICBpZih0eXBlb2YgdmFsdWU9PT1cIm51bWJlclwiKVxuICAgICAgICAgICAgcmV0dXJuIHZhbHVlIGFzIFRcblxuICAgICAgICBpZih0eXBlb2YgdmFsdWU9PT1cIm9iamVjdFwiKVxuICAgICAgICAgICAgcmV0dXJuIDAgYXMgVFxuXG4gICAgICAgIGNvbnN0IG51bSA9IHBhcnNlSW50KHZhbHVlK1wiXCIpO1xuICAgICAgICByZXR1cm4gbnVtIGFzIFRcbiAgICB9XG5cbiAgICBzdGF0aWMgdmFsaWRhdGVWYWx1ZSh2YWx1ZTpzdHJpbmd8bnVtYmVyfGJvb2xlYW4sb3B0PzpJVmFsaWRhdG9yT3B0aW9ucyk6VmFsaWRhdGlvblJlcG9ydHtcbiAgICAgICAgaWYodmFsdWU9PT11bmRlZmluZWQgfHwgdmFsdWUgPT09IG51bGwpXG4gICAgICAgICAgICByZXR1cm4gVmFsaWRhdGlvblJlcG9ydC5WQUxVRV9JU19OVUxMO1xuICAgICAgICBpZighb3B0KVxuICAgICAgICAgICAgcmV0dXJuIFZhbGlkYXRpb25SZXBvcnQuT0s7XG4gICAgICAgIFxuXG4gICAgICAgIGlmKCFvcHQudHlwZSlcbiAgICAgICAgICAgIG9wdC50eXBlPVwic3RyaW5nXCI7XG5cbiAgICAgICAgaWYob3B0LnR5cGU9PT1cImJvb2xlYW5cIil7XG4gICAgICAgICAgICBpZih0eXBlb2YgdmFsdWU9PT1cImJvb2xlYW5cIilcbiAgICAgICAgICAgICAgICByZXR1cm4gVmFsaWRhdGlvblJlcG9ydC5PSztcbiAgICAgICAgICAgIGlmKHR5cGVvZiB2YWx1ZSA9PT1cIm51bWJlclwiICYmICh2YWx1ZSA9PT0gMSB8fCB2YWx1ZSA9PT0gMCkpXG4gICAgICAgICAgICAgICAgcmV0dXJuIFZhbGlkYXRpb25SZXBvcnQuT0tcbiAgICAgICAgICAgIHJldHVybiBWYWxpZGF0aW9uUmVwb3J0LlRZUEVfTUlTU01BVENIXG4gICAgICAgIH1cblxuICAgICAgICBpZihvcHQudHlwZSA9PT0gXCJudW1iZXJcIil7XG4gICAgICAgICAgICBpZih0eXBlb2YgdmFsdWUgIT09IFwibnVtYmVyXCIpXG4gICAgICAgICAgICAgICAgcmV0dXJuIFZhbGlkYXRpb25SZXBvcnQuVFlQRV9NSVNTTUFUQ0hcbiAgICAgICAgICAgIGlmKG9wdC5tYXggJiYgdmFsdWU+b3B0Lm1heClcbiAgICAgICAgICAgICAgICByZXR1cm4gVmFsaWRhdGlvblJlcG9ydC5WQUxVRV9UT09fQklHXG4gICAgICAgICAgICBpZihvcHQubWluICYmIHZhbHVlPG9wdC5taW4pXG4gICAgICAgICAgICAgICAgcmV0dXJuIFZhbGlkYXRpb25SZXBvcnQuVkFMVUVfVE9PX0JJR1xuICAgICAgICAgICAgcmV0dXJuIFZhbGlkYXRpb25SZXBvcnQuT0s7XG4gICAgICAgIH1cblxuICAgICAgICBpZih0eXBlb2YgdmFsdWUgIT09IFwic3RyaW5nXCIpXG4gICAgICAgICAgICByZXR1cm4gVmFsaWRhdGlvblJlcG9ydC5UWVBFX01JU1NNQVRDSFxuXG4gICAgICAgIGlmKG9wdC5tYXggJiYgdmFsdWUubGVuZ3RoPm9wdC5tYXgpXG4gICAgICAgICAgICByZXR1cm4gVmFsaWRhdGlvblJlcG9ydC5WQUxVRV9UT09fQklHXG5cbiAgICAgICAgaWYob3B0Lm1pbiAmJiB2YWx1ZS5sZW5ndGg8b3B0Lm1pbilcbiAgICAgICAgICAgIHJldHVybiBWYWxpZGF0aW9uUmVwb3J0LlZBTFVFX1RPT19TSE9SVFxuXG4gICAgICAgIGlmKG9wdC50eXBlPT09XCJlbWFpbFwiICYmICFvcHQucmVnZXgpe1xuICAgICAgICAgICAgb3B0LnJlZ2V4ID0gL15bXFx3LVxcLl0rQChbXFx3LV0rXFwuKStbXFx3LV17Miw2fSQvZztcbiAgICAgICAgfVxuXG4gICAgICAgIGlmKG9wdC5yZWdleCl7XG4gICAgICAgICAgICBjb25zdCBnbG9iYWxSZWdleCA9IG5ldyBSZWdFeHAob3B0LnJlZ2V4LnNvdXJjZSwgb3B0LnJlZ2V4LmZsYWdzLmluY2x1ZGVzKCdnJykgPyBvcHQucmVnZXguZmxhZ3MgOiBvcHQucmVnZXguZmxhZ3MgKyAnZycpO1xuICAgICAgICAgICAgY29uc3QgdG1wID0gdmFsdWUucmVwbGFjZUFsbChnbG9iYWxSZWdleCxcIlwiKTtcbiAgICAgICAgICAgIGlmKHRtcC5sZW5ndGghPT0wKVxuICAgICAgICAgICAgICAgIHJldHVybiBWYWxpZGF0aW9uUmVwb3J0LlZBTFVFX0lOQ09SUkVDVFxuICAgICAgICB9XG5cbiAgICAgICAgXG4gICAgICAgIFxuICAgICAgICByZXR1cm4gVmFsaWRhdGlvblJlcG9ydC5PSztcbiAgICB9XG59Il19
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Validator.js","sourceRoot":"","sources":["../../../src/apiServer/helper/Validator.ts"],"names":[],"mappings":"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","sourcesContent":["export type TValidatorType=\"string\"|\"number\"|\"boolean\"|\"date\"|\"array\"|\"object\"|\"email\"|\"phone\"\n\nexport interface IValidatorOptions{\n min?:number,\n max?:number,\n type?:TValidatorType,\n regex?:RegExp\n}\n\nexport interface IValidaotrType{\n name:string,\n type:TValidatorType\n optional?:boolean,\n arrayType?:IValidaotrType,\n}\n\nexport enum ValidationReport{\n OK=1,\n VALUE_IS_NULL=2,\n TYPE_MISSMATCH=3,\n VALUE_TOO_BIG=4,\n VALUE_TOO_SHORT=5,\n VALUE_INCORRECT=6\n}\n\nexport class Validator{\n\n static validateObject(fields:string[],object:any):boolean{\n if(!object || typeof object!==\"object\")\n return false\n for(let i of fields){\n if(!(i in object) || object[i]===undefined)\n return false;\n }\n return true;\n }\n\n static convertToType<T>(value:any,type:\"string\"|\"number\"|\"boolean\"|\"date\"):T|null{\n if(value===null || value === undefined)\n return null;\n\n if(type===\"string\"){\n if(typeof value ===\"object\"){\n let result = null\n try{ result = JSON.stringify(value);}catch(e){}\n if(result!==null)\n return result as T\n }\n return value+\"\" as T\n }\n\n if(type===\"boolean\"){\n if(typeof value===\"boolean\")\n return value as T\n if(typeof value===\"number\")\n return value>0 as T\n if(typeof value===\"object\")\n return false as T\n if(typeof value === \"string\")\n return (value.toLowerCase()===\"true\") as T\n }\n\n if(type===\"date\"){\n if(typeof value===\"string\" || typeof value===\"number\")\n return new Date(value) as T\n return null;\n }\n\n // number\n if(typeof value===\"number\")\n return value as T\n\n if(typeof value===\"object\")\n return 0 as T\n\n const num = parseInt(value+\"\");\n return num as T\n }\n\n static validateValue(value:string|number|boolean,opt?:IValidatorOptions):ValidationReport{\n if(value===undefined || value === null)\n return ValidationReport.VALUE_IS_NULL;\n if(!opt)\n return ValidationReport.OK;\n \n\n if(!opt.type)\n opt.type=\"string\";\n\n if(opt.type===\"boolean\"){\n if(typeof value===\"boolean\")\n return ValidationReport.OK;\n if(typeof value ===\"number\" && (value === 1 || value === 0))\n return ValidationReport.OK\n return ValidationReport.TYPE_MISSMATCH\n }\n\n if(opt.type === \"number\"){\n if(typeof value !== \"number\")\n return ValidationReport.TYPE_MISSMATCH\n if(opt.max && value>opt.max)\n return ValidationReport.VALUE_TOO_BIG\n if(opt.min && value<opt.min)\n return ValidationReport.VALUE_TOO_BIG\n return ValidationReport.OK;\n }\n\n if(typeof value !== \"string\")\n return ValidationReport.TYPE_MISSMATCH\n\n if(opt.max && value.length>opt.max)\n return ValidationReport.VALUE_TOO_BIG\n\n if(opt.min && value.length<opt.min)\n return ValidationReport.VALUE_TOO_SHORT\n\n if(opt.type===\"email\" && !opt.regex){\n opt.regex = /^[\\w-\\.]+@([\\w-]+\\.)+[\\w-]{2,6}$/g;\n }\n\n if(opt.regex){\n const globalRegex = new RegExp(opt.regex.source, opt.regex.flags.includes('g') ? opt.regex.flags : opt.regex.flags + 'g');\n const tmp = value.replaceAll(globalRegex,\"\");\n if(tmp.length!==0)\n return ValidationReport.VALUE_INCORRECT\n }\n\n \n \n return ValidationReport.OK;\n }\n}"]}
@@ -261,3 +261,4 @@ class Monitor extends BaseEndpoint_1.BaseEndpoint {
261
261
  }
262
262
  }
263
263
  exports.Monitor = Monitor;
264
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiTW9uaXRvci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9hcGlTZXJ2ZXIvbW9uaXRvci9Nb25pdG9yLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7OztBQUFBLG1EQUF3QztBQUN4Qyw4Q0FBNkM7QUFDN0Msa0RBQStDO0FBQy9DLDhDQUF3QztBQUV4QyxvREFBNEI7QUFDNUIsNENBQW1CO0FBb0JOLFFBQUEsMkJBQTJCLEdBQUMsSUFBSSx1QkFBTSxFQUFlLENBQUE7QUFFbEUsTUFBYSxPQUFRLFNBQVEsMkJBQVk7SUFFckMsaUJBQWlCLEdBQUMsSUFBSSxDQUFBO0lBRWQsWUFBWSxHQUFDLElBQUksR0FBRyxFQUFrQyxDQUFDO0lBQ3ZELFVBQVUsR0FBQyxJQUFJLEdBQUcsRUFBa0MsQ0FBQztJQUNyRCxXQUFXLEdBQUMsSUFBSSxHQUFHLEVBQXlDLENBQUM7SUFDN0QsaUJBQWlCLEdBQUMsQ0FBQyxDQUFDO0lBRTVCO1FBQ0ksS0FBSyxDQUFDLGFBQWEsQ0FBQyxDQUFDO1FBRXJCLG1DQUEyQixDQUFDLFNBQVMsQ0FBQyxJQUFJLENBQUEsRUFBRSxDQUFBLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFBO1FBRXhFLElBQUksQ0FBQyxpQkFBaUIsQ0FBQztZQUNuQixFQUFDLGlCQUFpQixFQUFDLElBQUksRUFBQyxRQUFRLEVBQUMsS0FBSyxFQUFDLE9BQU8sRUFBQyxJQUFJLENBQUMsSUFBSSxFQUFDO1lBQ3pELEVBQUMsaUJBQWlCLEVBQUMsSUFBSSxFQUFDLFFBQVEsRUFBQyxRQUFRLEVBQUMsT0FBTyxFQUFDLElBQUksQ0FBQyxNQUFNLEVBQUM7WUFDOUQsRUFBQyxpQkFBaUIsRUFBQyxJQUFJLEVBQUMsUUFBUSxFQUFDLFNBQVMsRUFBQyxPQUFPLEVBQUMsSUFBSSxDQUFDLE9BQU8sRUFBQztZQUNoRSxFQUFDLGlCQUFpQixFQUFDLElBQUksRUFBQyxRQUFRLEVBQUMsYUFBYSxF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LENBQUMsaUJBQWlCO2dCQUN4QyxNQUFNLEVBQUMsT0FBTyxDQUFDLE1BQU0sRUFBRTtnQkFDdkIsUUFBUSxFQUFDLFlBQUUsQ0FBQyxNQUFNLEVBQUU7Z0JBQ3BCLElBQUksRUFBQyxNQUFNO2FBQ2QsRUFBQyxDQUFBO0lBQ04sQ0FBQztJQUVELGFBQWEsQ0FBQyxHQUE2QjtRQUN2QyxNQUFNLEdBQUcsR0FBQyxFQUFFLENBQUE7UUFDWixLQUFJLElBQUksQ0FBQyxJQUFJLEdBQUc7WUFDWixHQUFHLENBQUMsSUFBSSxDQUFDLEVBQUMsSUFBSSxFQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBQyxLQUFLLEVBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQTtRQUNwQyxPQUFPLEdBQUcsQ0FBQztJQUNmLENBQUM7Q0FDSjtBQWpURCwwQkFpVEMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBTaWduYWwgfSBmcm9tIFwiYmFkbWZjay1zaWduYWxcIjtcbmltcG9ydCB7IFJFUV9IVFRQX0xPRyB9IGZyb20gXCIuLi9BUElTZXJ2aWNlXCI7XG5pbXBvcnQgeyBCYXNlRW5kcG9pbnQgfSBmcm9tIFwiLi4vQmFzZUVuZHBvaW50XCI7XG5pbXBvcnQgeyBSRVFfTE9HIH0gZnJvbSBcIi4uL0xvZ1NlcnZpY2VcIjtcbmltcG9ydCB7IEhUVFBSZXF1ZXN0Vk8sIFRyYW5zZmVyUGFja2V0Vk8gfSBmcm9tIFwiLi4vc3RydWN0dXJlcy9JbnRlcmZhY2VzXCI7XG5pbXBvcnQgY3J5cHRvIGZyb20gXCJjcnlwdG9cIjtcbmltcG9ydCBvcyBmcm9tIFwib3NcIlxuXG5cbmV4cG9ydCBpbnRlcmZhY2UgSVVzZXJBY3Rpb257XG4gICAgYWN0aW9uOnN0cmluZztcbn1cblxuaW50ZXJmYWNlIElTdGF0T2JqZWN0e1xuICAgIHJlcXVlc3RzOk1hcDxzdHJpbmcsbnVtYmVyPiwgLy9lcCwgY291bnRcbiAgICBlcnJvcnM6TWFwPHN0cmluZyxudW1iZXI+LCAvLyBlcCwgY291bnRcbiAgICBmYXRhbEVycm9yczpNYXA8c3RyaW5nLG51bWJlcj4sIC8vIGVwLCBjb3VudFxuICAgIGFwaUVycm9yczpNYXA8c3RyaW5nLG51bWJlcj4gLy8gZXAsY291bnRcbn1cblxuaW50ZXJmYWNlIElTeXN0ZW1TdGF0e1xuICAgIGNwdVVzYWdlOmFueSxcbiAgICBtZW1vcnlUb3RhbDpudW1iZXIsXG4gICAgbWVtb3J5VXNhZ2U6YW55LFxufVxuXG5leHBvcnQgY29uc3QgU19NT05JVE9SX1JFR0lTVFJBVEVfQUNUSU9OPW5ldyBTaWduYWw8SVVzZXJBY3Rpb24+KClcblxuZXhwb3J0IGNsYXNzIE1vbml0b3IgZXh0ZW5kcyBCYXNlRW5kcG9pbnR7XG5cbiAgICBpZ25vcmVIdHRwTG9nZ2luZz10cnVlXG4gICAgXG4gICAgcHJpdmF0ZSBodHRwUmVxdWVzdHM9bmV3IE1hcDxudW1iZXIsTWFwPHN0cmluZyxJU3RhdE9iamVjdD4+KCk7IC8vIGRheSBvZiB5ZWFyLGhvdXIsbWludXRlLCBjb3VudFxuICAgIHByaXZhdGUgc3lzdGVtU3RhdD1uZXcgTWFwPG51bWJlcixNYXA8c3RyaW5nLElTeXN0ZW1TdGF0Pj4oKTsgLy8gZGF5IG9mIHllYXIsaG91cixtaW51dGUsIGNvdW50XG4gICAgcHJpdmF0ZSB1c2VyQWN0aW9ucz1uZXcgTWFwPG51bWJlcixNYXA8c3RyaW5nLE1hcDxzdHJpbmcsbnVtYmVyPj4+KCk7IC8vIGRheSBvZiB5ZWFyLCBob3VyK21pbnV0ZSwgYWN0aW9uICwgY291bnRcbiAgICBwcml2YXRlIHJlZ2lzdGVyZWRBY3Rpb25zPTA7XG4gICAgXG4gICAgY29uc3RydWN0b3IoKXtcbiAgICAgICAgc3VwZXIoXCJzeXMtbW9uaXRvclwiKTtcblxuICAgICAgICBTX01PTklUT1JfUkVHSVNUUkFURV9BQ1RJT04uc3Vic2NyaWJlKGRhdGE9PnRoaXMucmVnaXN0cmF0ZUFjdGlvbihkYXRhKSlcblxuICAgICAgICB0aGlzLnJlZ2lzdGVyRW5kcG9pbnRzKFtcbiAgICAgICAgICAgIHtpZ25vcmVJbnRlcmNlcHRvcjp0cnVlLGVuZHBvaW50OlwibG9nXCIsaGFuZGxlcjp0aGlzLmxvZ3N9LFxuICAgICAgICAgICAge2lnbm9yZUludGVyY2VwdG9yOnRydWUsZW5kcG9pbnQ6XCJuZXRsb2dcIixoYW5kbGVyOnRoaXMubmV0bG9nfSxcbiAgICAgICAgICAgIHtpZ25vcmVJbnRlcmNlcHRvcjp0cnVlLGVuZHBvaW50OlwibWV0cmljc1wiLGhhbmRsZXI6dGhpcy5tZXRyaWNzfSxcbiAgICAgICAgICAgIHtpZ25vcmVJbnRlcmNlcHRvcjp0cnVlLGVuZHBvaW50Olwic2VydmVyL3N0YXRcIixoYW5kbGVyOnRoaXMuc2VydmVyU3RhdH1cbiAgICAgICAgXSlcblxuICAgICAgICBzZXRJbnRlcnZhbCgoKT0+e1xuICAgICAgICAgICAgdGhpcy5hZGRTeXN0ZW1TdGF0KCk7XG4gICAgICAgIH0sMTAwMCo2MCoxMCk7XG4gICAgICAgIHRoaXMuYWRkU3lzdGVtU3RhdCgpO1xuICAgIH1cblxuICAgIHJlZ2lzdHJhdGVBY3Rpb24oZGF0YTpJVXNlckFjdGlvbil7XG4gICAgICAgIGlmKCFkYXRhLmFjdGlvbilcbiAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgaWYodHlwZW9mIGRhdGEuYWN0aW9uIT09XCJzdHJpbmdcIilcbiAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgaWYoZGF0YS5hY3Rpb24ubGVuZ3RoPjIwKVxuICAgICAgICAgICAgZGF0YS5hY3Rpb249ZGF0YS5hY3Rpb24uc3Vic3RyaW5nKDAsMjApO1xuXG4gICAgICAgIGNvbnN0IGQ9bmV3IERhdGUoKTtcbiAgICAgICAgY29uc3QgZG95PXRoaXMuZ2V0RGF0ZUluZGV4KGQpO1xuICAgICAgICBsZXQgZGF5PXRoaXMudXNlckFjdGlvbnMuZ2V0KGRveSk7XG4gICAgICAgIFxuICAgICAgICBpZighZGF5KXtcbiAgICAgICAgICAgIGRheT1uZXcgTWFwKCk7IC8vIHN0cmluZyxudW1iZXJcbiAgICAgICAgICAgIHRoaXMudXNlckFjdGlvbnMuc2V0KGRveSxkYXkpO1xuICAgICAgICAgICAgaWYodGhpcy51c2VyQWN0aW9ucy5zaXplPjcpe1xuICAgICAgICAgICAgICAgIGZvcihsZXQgaSBvZiB0aGlzLnVzZXJBY3Rpb25zKXtcbiAgICAgICAgICAgICAgICAgICAgdGhpcy51c2VyQWN0aW9ucy5kZWxldGUoaVswXSlcbiAgICAgICAgICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgY29uc3QgbWludXRlPXRoaXMuZ2V0SG91ck1pbnV0ZUluZGV4KGQpO1xuICAgICAgICBsZXQgbSA9IGRheS5nZXQobWludXRlKTtcbiAgICAgICAgaWYoIW0pe1xuICAgICAgICAgICAgbT1uZXcgTWFwKCk7XG4gICAgICAgICAgICBkYXkuc2V0KG1pbnV0ZSxtKTtcbiAgICAgICAgfVxuXG5cbiAgICAgICAgbGV0IGNudCA9IG0uZ2V0KGRhdGEuYWN0aW9uKTtcbiAgICAgICAgaWYoIWNudClcbiAgICAgICAgICAgIGNudD0wO1xuICAgICAgICBjbnQrKztcbiAgICAgICAgbS5zZXQoZGF0YS5hY3Rpb24sY250KTtcblxuICAgIH1cblxuICAgIGFkZFN5c3RlbVN0YXQoKXtcbiAgICAgICAgY29uc3Qgc28gPSB0aGlzLmNyZWF0ZVN5c3RlbVN0YXRPYmooKTtcbiAgICAgICAgc28ubWVtb3J5VXNhZ2U9cHJvY2Vzcy5tZW1vcnlVc2FnZSgpXG4gICAgICAgIHNvLm1lbW9yeVRvdGFsPW9zLnRvdGFsbWVtKClcbiAgICB9XG4gICAgXG5cbiAgICAvLyBNRVRSSUMhXG4gICAgcmVnaXN0cmF0ZUVycm9yKGVuZHBvaW50OnN0cmluZyl7XG4gICAgICAgIGNvbnN0IHNvID0gdGhpcy5jcmVhdGVTdGF0T2JqKCk7XG4gICAgICAgIHRoaXMuaW5jcmVhc2VTdGF0KHNvLmVycm9ycyxlbmRwb2ludClcbiAgICB9XG5cbiAgICByZWdpc3RyYXRlRmF0YWxFcnJvcihlbmRwb2ludDpzdHJpbmcpe1xuICAgICAgICBjb25zdCBzbyA9IHRoaXMuY3JlYXRlU3RhdE9iaigpO1xuICAgICAgICB0aGlzLmluY3JlYXNlU3RhdChzby5mYXRhbEVycm9ycyxlbmRwb2ludClcbiAgICB9XG5cbiAgICByZWdpc3RyYXRlQVBJRXJyb3IoZW5kcG9pbnQ6c3RyaW5nKXtcbiAgICAgICAgY29uc3Qgc28gPSB0aGlzLmNyZWF0ZVN0YXRPYmooKTtcbiAgICAgICAgdGhpcy5pbmNyZWFzZVN0YXQoc28uYXBpRXJyb3JzLGVuZHBvaW50KVxuICAgIH1cblxuICAgIHJlZ2lzdHJhdGVSZXNwb25zZShlbmRwb2ludDpzdHJpbmcscmVzcG9uc2VUaW1lOm51bWJlcil7XG4gICAgICAgIGNvbnN0IHNvID0gdGhpcy5jcmVhdGVTdGF0T2JqKCk7XG4gICAgICAgIHRoaXMuaW5jcmVhc2VTdGF0KHNvLnJlcXVlc3RzLGVuZHBvaW50KVxuICAgIH1cblxuICAgIGluY3JlYXNlU3RhdChzdGF0T2JqZWN0Ok1hcDxzdHJpbmcsbnVtYmVyPixlbmRwb2ludDpzdHJpbmcpOnZvaWR7XG4gICAgICAgIGxldCByZXFlcCA9IHN0YXRPYmplY3QuZ2V0KGVuZHBvaW50KTtcbiAgICAgICAgaWYoIXJlcWVwKVxuICAgICAgICAgICAgcmVxZXA9MCAgICBcbiAgICAgICAgcmVxZXArPTE7XG4gICAgICAgIHN0YXRPYmplY3Quc2V0KGVuZHBvaW50LHJlcWVwKVxuICAgICAgICB0aGlzLnJlZ2lzdGVyZWRBY3Rpb25zKytcbiAgICB9XG5cbiAgICBjcmVhdGVTdGF0T2JqKCk6SVN0YXRPYmplY3R7XG4gICAgICAgIGNvbnN0IGQ9bmV3IERhdGUoKTtcbiAgICAgICAgY29uc3QgZHRtID0gdGhpcy5nZXREYXRlSW5kZXgoZCk7XG4gICAgICAgIGxldCBkYXk9dGhpcy5odHRwUmVxdWVzdHMuZ2V0KGR0bSk7XG4gICAgICAgIGlmKCFkYXkpe1xuICAgICAgICAgICAgZGF5ID0gbmV3IE1hcCgpO1xuICAgICAgICAgICAgdGhpcy5odHRwUmVxdWVzdHMuc2V0KGR0bSxkYXkpO1xuICAgICAgICAgICAgaWYodGhpcy5odHRwUmVxdWVzdHMuc2l6ZT43KXtcbiAgICAgICAgICAgICAgICBmb3IobGV0IGkgb2YgdGhpcy5odHRwUmVxdWVzdHMpe1xuICAgICAgICAgICAgICAgICAgICB0aGlzLmh0dHBSZXF1ZXN0cy5kZWxldGUoaVswXSlcbiAgICAgICAgICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIGNvbnN0IGhvdXJNaW51dGUgPSB0aGlzLmdldEhvdXJNaW51dGVJbmRleChkKTtcbiAgICAgICAgbGV0IGhtID0gZGF5LmdldChob3VyTWludXRlKTtcbiAgICAgICAgaWYoIWhtKXtcbiAgICAgICAgICAgIGhtID0ge1xuICAgICAgICAgICAgICAgIGVycm9yczpuZXcgTWFwKCksXG4gICAgICAgICAgICAgICAgcmVxdWVzdHM6bmV3IE1hcCgpLFxuICAgICAgICAgICAgICAgIGZhdGFsRXJyb3JzOm5ldyBNYXAoKSxcbiAgICAgICAgICAgICAgICBhcGlFcnJvcnM6bmV3IE1hcCgpXG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBkYXkuc2V0KGhvdXJNaW51dGUsaG0pXG4gICAgICAgIH1cbiAgICAgICAgcmV0dXJuIGhtO1xuICAgIH1cblxuICAgIGNyZWF0ZVN5c3RlbVN0YXRPYmooKTpJU3lzdGVtU3RhdHtcbiAgICAgICAgY29uc3QgZD1uZXcgRGF0ZSgpO1xuICAgICAgICBjb25zdCBkdG0gPSB0aGlzLmdldERhdGVJbmRleChkKTtcbiAgICAgICAgbGV0IGRheT10aGlzLnN5c3RlbVN0YXQuZ2V0KGR0bSk7XG4gICAgICAgIGlmKCFkYXkpe1xuICAgICAgICAgICAgZGF5ID0gbmV3IE1hcCgpO1xuICAgICAgICAgICAgdGhpcy5zeXN0ZW1TdGF0LnNldChkdG0sZGF5KTtcbiAgICAgICAgICAgIGlmKHRoaXMuc3lzdGVtU3RhdC5zaXplPjcpe1xuICAgICAgICAgICAgICAgIGZvcihsZXQgaSBvZiB0aGlzLnN5c3RlbVN0YXQpe1xuICAgICAgICAgICAgICAgICAgICB0aGlzLnN5c3RlbVN0YXQuZGVsZXRlKGlbMF0pXG4gICAgICAgICAgICAgICAgICAgIGJyZWFrO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICBjb25zdCBob3VyTWludXRlID0gdGhpcy5nZXRIb3VyTWludXRlSW5kZXgoZCk7XG4gICAgICAgIGxldCBobSA9IGRheS5nZXQoaG91ck1pbnV0ZSk7XG4gICAgICAgIGlmKCFobSl7XG4gICAgICAgICAgICBobSA9IHtcbiAgICAgICAgICAgICAgICBjcHVVc2FnZTowLFxuICAgICAgICAgICAgICAgIG1lbW9yeVRvdGFsOjAsXG4gICAgICAgICAgICAgICAgbWVtb3J5VXNhZ2U6e31cbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIGRheS5zZXQoaG91ck1pbnV0ZSxobSlcbiAgICAgICAgfVxuICAgICAgICByZXR1cm4gaG07XG4gICAgfVxuXG4gICAgZ2V0RGF0ZUluZGV4KGQ6RGF0ZSk6bnVtYmVye1xuICAgICAgICBjb25zdCBkdG0gPSBkO1xuICAgICAgICByZXR1cm4gcGFyc2VJbnQoZHRtLmdldEZ1bGxZZWFyKCkudG9TdHJpbmcoKS5zdWJzdHJpbmcoMikrdGhpcy5sZWFkWmVybyhkdG0uZ2V0TW9udGgoKSsxKSt0aGlzLmxlYWRaZXJvKGR0bS5nZXREYXRlKCkpKVxuICAgIH1cblxuICAgIGdldEhvdXJNaW51dGVJbmRleChkOkRhdGUpOnN0cmluZ3tcbiAgICAgICAgY29uc3QgZHRtID0gZDtcbiAgICAgICAgcmV0dXJuIHRoaXMubGVhZFplcm8oZHRtLmdldEhvdXJzKCkpK3RoaXMubGVhZFplcm8oZHRtLmdldE1pbnV0ZXMoKSlcbiAgICB9XG5cbiAgICBsZWFkWmVybyhpOm51bWJlcik6c3RyaW5ne1xuICAgICAgICBpZihpPjkpXG4gICAgICAgICAgICByZXR1cm4gaStcIlwiXG4gICAgICAgIHJldHVybiBcIjBcIitpO1xuICAgIH1cblxuICAgIC8vIFBSRUNIRUNLIEJFRk9SRSBBTlkgRVhFQ1VUSU9OXG4gICAgYXN5bmMgcHJlY2hlY2socmVxOiBIVFRQUmVxdWVzdFZPKTogUHJvbWlzZTxUcmFuc2ZlclBhY2tldFZPPGFueT4gfCBudWxsPiB7XG4gICAgICAgIFxuICAgICAgICBpZighcmVxLmhlYWRlcnMpXG4gICAgICAgICAgICByZXR1cm4ge2Vycm9yOntjb2RlOjEwMDAxLG1lc3NhZ2U6XCJObyBhdXRob3JpemF0aW9uXCIsaHR0cFN0YXR1czo0MDB9fVxuICAgICAgICBcbiAgICAgICAgaWYoIXJlcS5oZWFkZXJzWydhdXRob3JpemF0aW9uJ10pXG4gICAgICAgICAgICByZXR1cm4ge2Vycm9yOntjb2RlOjEwMDAyLG1lc3NhZ2U6XCJObyBhdXRob3JpemF0aW9uIGZvdW5kXCIsaHR0cFN0YXR1czo0MDB9fVxuXG4gICAgICAgIGNvbnN0IGF1dGggPSByZXEuaGVhZGVyc1snYXV0aG9yaXphdGlvbiddO1xuICAgICAgICBcbiAgICAgICAgaWYoIXJlcS5wcmVjaGVjayB8fCAhQXJyYXkuaXNBcnJheShyZXEucHJlY2hlY2suZGF0YSkpe1xuICAgICAgICAgICAgcmV0dXJuIHtlcnJvcjp7Y29kZToxMDAwMyxtZXNzYWdlOlwiTm8gYXV0aG9yaXphdGlvbiByZWNvcmRzIGZvdW5kXCIsaHR0cFN0YXR1czo0MDB9fVxuICAgICAgICB9XG4gICAgICAgIFxuXG4gICAgICAgIGxldCBhdXRob3JpemVkPWZhbHNlO1xuICAgICAgICBmb3IobGV0IGkgb2YgcmVxLnByZWNoZWNrLmRhdGEpe1xuICAgICAgICAgICAgbGV0IGV4cGVjdGF0aW9uU3RyID0gXCJcIlxuICAgICAgICAgICAgZXhwZWN0YXRpb25TdHIrPXJlcS5lbmRwb2ludFxuICAgICAgICAgICAgZXhwZWN0YXRpb25TdHIrPUpTT04uc3RyaW5naWZ5KGkpXG4gICAgICAgICAgICBleHBlY3RhdGlvblN0cis9SlNPTi5zdHJpbmdpZnkocmVxLm1ldGhvZClcbiAgICAgICAgICAgIGV4cGVjdGF0aW9uU3RyKz1KU09OLnN0cmluZ2lmeShyZXEuZGF0YSlcbiAgICAgICAgICAgIGV4cGVjdGF0aW9uU3RyKz1KU09OLnN0cmluZ2lmeShyZXEucGFyYW1zKVxuICAgICAgICAgICAgXG4gICAgICAgICAgICBjb25zdCBleHBlY3RhdGlvbiA9IFwic2hhMjU2IFwiK2NyeXB0by5jcmVhdGVIYXNoKFwic2hhMjU2XCIpLnVwZGF0ZShleHBlY3RhdGlvblN0cikuZGlnZXN0KCkudG9TdHJpbmcoXCJoZXhcIik7XG4gICAgICAgICAgICBcbiAgICAgICAgICAgIGlmKGF1dGggPT09IGV4cGVjdGF0aW9uKXtcbiAgICAgICAgICAgICAgICBhdXRob3JpemVkPXRydWU7XG4gICAgICAgICAgICAgICAgYnJlYWtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIGlmKCFhdXRob3JpemVkKXtcbiAgICAgICAgICAgIGNvbnNvbGUuZXJyb3IoXCJXcm9uZyB0b2tlbjogXCIrYXV0aClcbiAgICAgICAgICAgIHJldHVybiB7ZXJyb3I6e2NvZGU6MTAwMDQsbWVzc2FnZTpcIlVuYXV0aG9yaXplZCBhY2Nlc3NcIixodHRwU3RhdHVzOjQwMX19XG4gICAgICAgIH1cblxuICAgICAgICByZXR1cm4gbnVsbDtcbiAgICB9XG5cbiAgICBhc3luYyBsb2dzKHJlcTpIVFRQUmVxdWVzdFZPKTpQcm9taXNlPFRyYW5zZmVyUGFja2V0Vk88YW55Pj57XG4gICAgICAgIGNvbnN0IGxvZyA9IGF3YWl0IFJFUV9MT0cucmVxdWVzdChudWxsKVxuICAgICAgICByZXR1cm4ge2RhdGE6bG9nfVxuICAgIH1cblxuICAgIGFzeW5jIG5ldGxvZyhyZXE6SFRUUFJlcXVlc3RWTyk6UHJvbWlzZTxUcmFuc2ZlclBhY2tldFZPPGFueT4+e1xuICAgICAgICBjb25zdCBsb2cgPSBhd2FpdCBSRVFfSFRUUF9MT0cucmVxdWVzdCgpXG4gICAgICAgIHJldHVybiB7ZGF0YTpsb2d9XG4gICAgfVxuXG4gICAgYXN5bmMgbWV0cmljcyhyZXE6SFRUUFJlcXVlc3RWTyk6UHJvbWlzZTxUcmFuc2ZlclBhY2tldFZPPGFueT4+e1xuICAgICAgICBcbiAgICAgICAgLy8gZ2V0IG1ldHJpYyBmb3IgY3VycmVudCBkYXRlXG4gICAgICAgIGNvbnN0IGRhdGUgPSBuZXcgRGF0ZSgpO1xuICAgICAgICBjb25zdCBkaSA9IHRoaXMuZ2V0RGF0ZUluZGV4KGRhdGUpO1xuICAgICAgICBjb25zdCBzdGF0ID0gdGhpcy5odHRwUmVxdWVzdHMuZ2V0KGRpKVxuICAgICAgICBcblxuICAgICAgICAvLyBwcmVwYXJlIHRvIHBsYWluIGFycmF5IChtYXAgd2l0aCBtaW51dGVzKVxuICAgICAgICBcbiAgICAgICAgbGV0IHJlc3VsdD1bXVxuICAgICAgICBpZihzdGF0KXtcbiAgICAgICAgICAgIGZvcihsZXQgbWludXRlcyBvZiBzdGF0KXtcbiAgICAgICAgICAgICAgICByZXN1bHQucHVzaCh7XG4gICAgICAgICAgICAgICAgICAgIG06bWludXRlc1swXSxcbiAgICAgICAgICAgICAgICAgICAgYWU6dGhpcy5tYXBUb0tleVZhbHVlKG1pbnV0ZXNbMV0uYXBpRXJyb3JzKSxcbiAgICAgICAgICAgICAgICAgICAgZTp0aGlzLm1hcFRvS2V5VmFsdWUobWludXRlc1sxXS5lcnJvcnMpLFxuICAgICAgICAgICAgICAgICAgICByOnRoaXMubWFwVG9LZXlWYWx1ZShtaW51dGVzWzFdLnJlcXVlc3RzKSxcbiAgICAgICAgICAgICAgICAgICAgZmU6dGhpcy5tYXBUb0tleVZhbHVlKG1pbnV0ZXNbMV0uZmF0YWxFcnJvcnMpLFxuICAgICAgICAgICAgICAgIH0pXG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgXG4gICAgICAgIGNvbnN0IHVhID0gdGhpcy51c2VyQWN0aW9ucy5nZXQoZGkpO1xuICAgICAgICBsZXQgdWFSZXN1bHQ6YW55W109W11cbiAgICAgICAgaWYodWEpe1xuICAgICAgICAgICAgZm9yKGxldCBpIG9mIHVhKXtcbiAgICAgICAgICAgICAgICBjb25zdCBtaW51dGVzID0gaVsxXTtcbiAgICAgICAgICAgICAgICBjb25zdCBtQXJyYXk6YW55W109W11cbiAgICAgICAgICAgICAgICBmb3IobGV0IGogb2YgaVswXSl7XG4gICAgICAgICAgICAgICAgICAgIG1BcnJheS5wdXNoKHtcbiAgICAgICAgICAgICAgICAgICAgICAgIGFjdGlvbjpqWzBdLFxuICAgICAgICAgICAgICAgICAgICAgICAgY291bnQ6alsxXVxuICAgICAgICAgICAgICAgICAgICB9KVxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICByZXN1bHQucHVzaCh7XG4gICAgICAgICAgICAgICAgICAgIG06aVswXSxcbiAgICAgICAgICAgICAgICAgICAgZGF0YTptQXJyYXlcbiAgICAgICAgICAgICAgICB9KVxuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgcmV0dXJuIHtkYXRhOntzdGF0OnJlc3VsdCxkYXRlOitkYXRlLHVzZXJBY3Rpb25zOnVhUmVzdWx0fX07XG4gICAgfVxuXG4gICAgYXN5bmMgc2VydmVyU3RhdChyZXE6SFRUUFJlcXVlc3RWTyk6UHJvbWlzZTxUcmFuc2ZlclBhY2tldFZPPGFueT4+e1xuXG4gICAgICAgIC8vIGdldCBtZXRyaWMgZm9yIGN1cnJlbnQgZGF0ZVxuICAgICAgICBjb25zdCBkYXRlID0gbmV3IERhdGUoKTtcbiAgICAgICAgY29uc3QgZGkgPSB0aGlzLmdldERhdGVJbmRleChkYXRlKTtcbiAgICAgICAgY29uc3Qgc3RhdCA9IHRoaXMuc3lzdGVtU3RhdC5nZXQoZGkpXG4gICAgICAgIGlmKCFzdGF0KVxuICAgICAgICAgICAgcmV0dXJuIHtkYXRhOltdfVxuXG4gICAgICAgIC8vIHByZXBhcmUgdG8gcGxhaW4gYXJyYXkgKG1hcCB3aXRoIG1pbnV0ZXMpXG4gICAgICAgIGxldCByZXN1bHQ9W11cbiAgICAgICAgZm9yKGxldCBtaW51dGVzIG9mIHN0YXQpe1xuICAgICAgICAgICAgcmVzdWx0LnB1c2goe1xuICAgICAgICAgICAgICAgIG06bWludXRlc1swXSxcbiAgICAgICAgICAgICAgICBtdDptaW51dGVzWzFdLm1lbW9yeVRvdGFsLFxuICAgICAgICAgICAgICAgIG11Om1pbnV0ZXNbMV0ubWVtb3J5VXNhZ2UsXG4gICAgICAgICAgICAgICAgY3U6bWludXRlc1sxXS5jcHVVc2FnZSxcbiAgICAgICAgICAgIH0pXG4gICAgICAgIH1cblxuXG4gICAgICAgIHJldHVybiB7ZGF0YTp7XG4gICAgICAgICAgICByZWdpc3RlcmVkQWN0aW9uczp0aGlzLnJlZ2lzdGVyZWRBY3Rpb25zLFxuICAgICAgICAgICAgdXB0aW1lOnByb2Nlc3MudXB0aW1lKCksXG4gICAgICAgICAgICBvc1VwdGltZTpvcy51cHRpbWUoKSxcbiAgICAgICAgICAgIHN0YXQ6cmVzdWx0XG4gICAgICAgIH19XG4gICAgfVxuXG4gICAgbWFwVG9LZXlWYWx1ZShtYXA6TWFwPHN0cmluZyxzdHJpbmd8bnVtYmVyPik6e25hbWU6c3RyaW5nLHZhbHVlOnN0cmluZ3xudW1iZXJ9W117XG4gICAgICAgIGNvbnN0IHJlcz1bXVxuICAgICAgICBmb3IobGV0IGkgb2YgbWFwKVxuICAgICAgICAgICAgcmVzLnB1c2goe25hbWU6aVswXSx2YWx1ZTppWzFdfSlcbiAgICAgICAgcmV0dXJuIHJlcztcbiAgICB9XG59XG5cbi8qZnVuY3Rpb24gZ2V0Q1BVVXNhZ2UoY2FsbGJhY2ssIGZyZWUpeyBcblx0XG4gICAgdmFyIHN0YXRzMSA9IGdldENQVUluZm8oKTtcbiAgICB2YXIgc3RhcnRJZGxlID0gc3RhdHMxLmlkbGU7XG4gICAgdmFyIHN0YXJ0VG90YWwgPSBzdGF0czEudG90YWw7XG5cdFxuICAgIHNldFRpbWVvdXQoZnVuY3Rpb24oKSB7XG4gICAgICAgIHZhciBzdGF0czIgPSBnZXRDUFVJbmZvKCk7XG4gICAgICAgIHZhciBlbmRJZGxlID0gc3RhdHMyLmlkbGU7XG4gICAgICAgIHZhciBlbmRUb3RhbCA9IHN0YXRzMi50b3RhbDtcblx0XHRcbiAgICAgICAgdmFyIGlkbGUgXHQ9IGVuZElkbGUgLSBzdGFydElkbGU7XG4gICAgICAgIHZhciB0b3RhbCBcdD0gZW5kVG90YWwgLSBzdGFydFRvdGFsO1xuICAgICAgICB2YXIgcGVyY1x0PSBpZGxlIC8gdG90YWw7XG5cdCAgXHRcbiAgICAgICAgaWYoZnJlZSA9PT0gdHJ1ZSlcbiAgICAgICAgICAgIGNhbGxiYWNrKCBwZXJjICk7XG4gICAgICAgIGVsc2VcbiAgICAgICAgICAgIGNhbGxiYWNrKCAoMSAtIHBlcmMpICk7XG5cdCAgXHRcdFxuICAgIH0sIDEwMDAgKTtcbn1cblxuZnVuY3Rpb24gZ2V0Q1BVSW5mbyhjYWxsYmFjayl7IFxuICAgIHZhciBjcHVzID0gX29zLmNwdXMoKTtcblx0XG4gICAgdmFyIHVzZXIgPSAwO1xuICAgIHZhciBuaWNlID0gMDtcbiAgICB2YXIgc3lzID0gMDtcbiAgICB2YXIgaWRsZSA9IDA7XG4gICAgdmFyIGlycSA9IDA7XG4gICAgdmFyIHRvdGFsID0gMDtcblx0XG4gICAgZm9yKHZhciBjcHUgaW4gY3B1cyl7XG4gICAgICAgIGlmICghY3B1cy5oYXNPd25Qcm9wZXJ0eShjcHUpKSBjb250aW51ZTtcdFxuICAgICAgICB1c2VyICs9IGNwdXNbY3B1XS50aW1lcy51c2VyO1xuICAgICAgICBuaWNlICs9IGNwdXNbY3B1XS50aW1lcy5uaWNlO1xuICAgICAgICBzeXMgKz0gY3B1c1tjcHVdLnRpbWVzLnN5cztcbiAgICAgICAgaXJxICs9IGNwdXNbY3B1XS50aW1lcy5pcnE7XG4gICAgICAgIGlkbGUgKz0gY3B1c1tjcHVdLnRpbWVzLmlkbGU7XG4gICAgfVxuXHRcbiAgICB2YXIgdG90YWwgPSB1c2VyICsgbmljZSArIHN5cyArIGlkbGUgKyBpcnE7XG5cdFxuICAgIHJldHVybiB7XG4gICAgICAgICdpZGxlJzogaWRsZSwgXG4gICAgICAgICd0b3RhbCc6IHRvdGFsXG4gICAgfTtcbn0qLyJdfQ==
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Monitor.js","sourceRoot":"","sources":["../../../src/apiServer/monitor/Monitor.ts"],"names":[],"mappings":"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","sourcesContent":["import { Signal } from \"badmfck-signal\";\nimport { REQ_HTTP_LOG } from \"../APIService\";\nimport { BaseEndpoint } from \"../BaseEndpoint\";\nimport { REQ_LOG } from \"../LogService\";\nimport { HTTPRequestVO, TransferPacketVO } from \"../structures/Interfaces\";\nimport crypto from \"crypto\";\nimport os from \"os\"\n\n\nexport interface IUserAction{\n action:string;\n}\n\ninterface IStatObject{\n requests:Map<string,number>, //ep, count\n errors:Map<string,number>, // ep, count\n fatalErrors:Map<string,number>, // ep, count\n apiErrors:Map<string,number> // ep,count\n}\n\ninterface ISystemStat{\n cpuUsage:any,\n memoryTotal:number,\n memoryUsage:any,\n}\n\nexport const S_MONITOR_REGISTRATE_ACTION=new Signal<IUserAction>()\n\nexport class Monitor extends BaseEndpoint{\n\n ignoreHttpLogging=true\n \n private httpRequests=new Map<number,Map<string,IStatObject>>(); // day of year,hour,minute, count\n private systemStat=new Map<number,Map<string,ISystemStat>>(); // day of year,hour,minute, count\n private userActions=new Map<number,Map<string,Map<string,number>>>(); // day of year, hour+minute, action , count\n private registeredActions=0;\n \n constructor(){\n super(\"sys-monitor\");\n\n S_MONITOR_REGISTRATE_ACTION.subscribe(data=>this.registrateAction(data))\n\n this.registerEndpoints([\n {ignoreInterceptor:true,endpoint:\"log\",handler:this.logs},\n {ignoreInterceptor:true,endpoint:\"netlog\",handler:this.netlog},\n {ignoreInterceptor:true,endpoint:\"metrics\",handler:this.metrics},\n {ignoreInterceptor:true,endpoint:\"server/stat\",handler:this.serverStat}\n ])\n\n setInterval(()=>{\n this.addSystemStat();\n },1000*60*10);\n this.addSystemStat();\n }\n\n registrateAction(data:IUserAction){\n if(!data.action)\n return;\n if(typeof data.action!==\"string\")\n return;\n if(data.action.length>20)\n data.action=data.action.substring(0,20);\n\n const d=new Date();\n const doy=this.getDateIndex(d);\n let day=this.userActions.get(doy);\n \n if(!day){\n day=new Map(); // string,number\n this.userActions.set(doy,day);\n if(this.userActions.size>7){\n for(let i of this.userActions){\n this.userActions.delete(i[0])\n break;\n }\n }\n }\n\n const minute=this.getHourMinuteIndex(d);\n let m = day.get(minute);\n if(!m){\n m=new Map();\n day.set(minute,m);\n }\n\n\n let cnt = m.get(data.action);\n if(!cnt)\n cnt=0;\n cnt++;\n m.set(data.action,cnt);\n\n }\n\n addSystemStat(){\n const so = this.createSystemStatObj();\n so.memoryUsage=process.memoryUsage()\n so.memoryTotal=os.totalmem()\n }\n \n\n // METRIC!\n registrateError(endpoint:string){\n const so = this.createStatObj();\n this.increaseStat(so.errors,endpoint)\n }\n\n registrateFatalError(endpoint:string){\n const so = this.createStatObj();\n this.increaseStat(so.fatalErrors,endpoint)\n }\n\n registrateAPIError(endpoint:string){\n const so = this.createStatObj();\n this.increaseStat(so.apiErrors,endpoint)\n }\n\n registrateResponse(endpoint:string,responseTime:number){\n const so = this.createStatObj();\n this.increaseStat(so.requests,endpoint)\n }\n\n increaseStat(statObject:Map<string,number>,endpoint:string):void{\n let reqep = statObject.get(endpoint);\n if(!reqep)\n reqep=0 \n reqep+=1;\n statObject.set(endpoint,reqep)\n this.registeredActions++\n }\n\n createStatObj():IStatObject{\n const d=new Date();\n const dtm = this.getDateIndex(d);\n let day=this.httpRequests.get(dtm);\n if(!day){\n day = new Map();\n this.httpRequests.set(dtm,day);\n if(this.httpRequests.size>7){\n for(let i of this.httpRequests){\n this.httpRequests.delete(i[0])\n break;\n }\n }\n }\n const hourMinute = this.getHourMinuteIndex(d);\n let hm = day.get(hourMinute);\n if(!hm){\n hm = {\n errors:new Map(),\n requests:new Map(),\n fatalErrors:new Map(),\n apiErrors:new Map()\n }\n day.set(hourMinute,hm)\n }\n return hm;\n }\n\n createSystemStatObj():ISystemStat{\n const d=new Date();\n const dtm = this.getDateIndex(d);\n let day=this.systemStat.get(dtm);\n if(!day){\n day = new Map();\n this.systemStat.set(dtm,day);\n if(this.systemStat.size>7){\n for(let i of this.systemStat){\n this.systemStat.delete(i[0])\n break;\n }\n }\n }\n const hourMinute = this.getHourMinuteIndex(d);\n let hm = day.get(hourMinute);\n if(!hm){\n hm = {\n cpuUsage:0,\n memoryTotal:0,\n memoryUsage:{}\n }\n day.set(hourMinute,hm)\n }\n return hm;\n }\n\n getDateIndex(d:Date):number{\n const dtm = d;\n return parseInt(dtm.getFullYear().toString().substring(2)+this.leadZero(dtm.getMonth()+1)+this.leadZero(dtm.getDate()))\n }\n\n getHourMinuteIndex(d:Date):string{\n const dtm = d;\n return this.leadZero(dtm.getHours())+this.leadZero(dtm.getMinutes())\n }\n\n leadZero(i:number):string{\n if(i>9)\n return i+\"\"\n return \"0\"+i;\n }\n\n // PRECHECK BEFORE ANY EXECUTION\n async precheck(req: HTTPRequestVO): Promise<TransferPacketVO<any> | null> {\n \n if(!req.headers)\n return {error:{code:10001,message:\"No authorization\",httpStatus:400}}\n \n if(!req.headers['authorization'])\n return {error:{code:10002,message:\"No authorization found\",httpStatus:400}}\n\n const auth = req.headers['authorization'];\n \n if(!req.precheck || !Array.isArray(req.precheck.data)){\n return {error:{code:10003,message:\"No authorization records found\",httpStatus:400}}\n }\n \n\n let authorized=false;\n for(let i of req.precheck.data){\n let expectationStr = \"\"\n expectationStr+=req.endpoint\n expectationStr+=JSON.stringify(i)\n expectationStr+=JSON.stringify(req.method)\n expectationStr+=JSON.stringify(req.data)\n expectationStr+=JSON.stringify(req.params)\n \n const expectation = \"sha256 \"+crypto.createHash(\"sha256\").update(expectationStr).digest().toString(\"hex\");\n \n if(auth === expectation){\n authorized=true;\n break\n }\n }\n\n if(!authorized){\n console.error(\"Wrong token: \"+auth)\n return {error:{code:10004,message:\"Unauthorized access\",httpStatus:401}}\n }\n\n return null;\n }\n\n async logs(req:HTTPRequestVO):Promise<TransferPacketVO<any>>{\n const log = await REQ_LOG.request(null)\n return {data:log}\n }\n\n async netlog(req:HTTPRequestVO):Promise<TransferPacketVO<any>>{\n const log = await REQ_HTTP_LOG.request()\n return {data:log}\n }\n\n async metrics(req:HTTPRequestVO):Promise<TransferPacketVO<any>>{\n \n // get metric for current date\n const date = new Date();\n const di = this.getDateIndex(date);\n const stat = this.httpRequests.get(di)\n \n\n // prepare to plain array (map with minutes)\n \n let result=[]\n if(stat){\n for(let minutes of stat){\n result.push({\n m:minutes[0],\n ae:this.mapToKeyValue(minutes[1].apiErrors),\n e:this.mapToKeyValue(minutes[1].errors),\n r:this.mapToKeyValue(minutes[1].requests),\n fe:this.mapToKeyValue(minutes[1].fatalErrors),\n })\n }\n }\n \n const ua = this.userActions.get(di);\n let uaResult:any[]=[]\n if(ua){\n for(let i of ua){\n const minutes = i[1];\n const mArray:any[]=[]\n for(let j of i[0]){\n mArray.push({\n action:j[0],\n count:j[1]\n })\n }\n result.push({\n m:i[0],\n data:mArray\n })\n }\n }\n\n return {data:{stat:result,date:+date,userActions:uaResult}};\n }\n\n async serverStat(req:HTTPRequestVO):Promise<TransferPacketVO<any>>{\n\n // get metric for current date\n const date = new Date();\n const di = this.getDateIndex(date);\n const stat = this.systemStat.get(di)\n if(!stat)\n return {data:[]}\n\n // prepare to plain array (map with minutes)\n let result=[]\n for(let minutes of stat){\n result.push({\n m:minutes[0],\n mt:minutes[1].memoryTotal,\n mu:minutes[1].memoryUsage,\n cu:minutes[1].cpuUsage,\n })\n }\n\n\n return {data:{\n registeredActions:this.registeredActions,\n uptime:process.uptime(),\n osUptime:os.uptime(),\n stat:result\n }}\n }\n\n mapToKeyValue(map:Map<string,string|number>):{name:string,value:string|number}[]{\n const res=[]\n for(let i of map)\n res.push({name:i[0],value:i[1]})\n return res;\n }\n}\n\n/*function getCPUUsage(callback, free){ \n\t\n var stats1 = getCPUInfo();\n var startIdle = stats1.idle;\n var startTotal = stats1.total;\n\t\n setTimeout(function() {\n var stats2 = getCPUInfo();\n var endIdle = stats2.idle;\n var endTotal = stats2.total;\n\t\t\n var idle \t= endIdle - startIdle;\n var total \t= endTotal - startTotal;\n var perc\t= idle / total;\n\t \t\n if(free === true)\n callback( perc );\n else\n callback( (1 - perc) );\n\t \t\t\n }, 1000 );\n}\n\nfunction getCPUInfo(callback){ \n var cpus = _os.cpus();\n\t\n var user = 0;\n var nice = 0;\n var sys = 0;\n var idle = 0;\n var irq = 0;\n var total = 0;\n\t\n for(var cpu in cpus){\n if (!cpus.hasOwnProperty(cpu)) continue;\t\n user += cpus[cpu].times.user;\n nice += cpus[cpu].times.nice;\n sys += cpus[cpu].times.sys;\n irq += cpus[cpu].times.irq;\n idle += cpus[cpu].times.idle;\n }\n\t\n var total = user + nice + sys + idle + irq;\n\t\n return {\n 'idle': idle, \n 'total': total\n };\n}*/"]}
@@ -23,3 +23,4 @@ class Liveness extends BaseEndpoint_1.BaseEndpoint {
23
23
  }
24
24
  }
25
25
  exports.Liveness = Liveness;
26
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiTGl2ZW5lc3MuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvYXBpU2VydmVyL3JvdXRlcy9MaXZlbmVzcy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7QUFBQSw4Q0FBd0Q7QUFDeEQsa0RBQStDO0FBRy9DLE1BQWEsUUFBUyxTQUFRLDJCQUFZO0lBQ3RDLE9BQU8sQ0FBTTtJQUNiLFlBQVksTUFBVztRQUNuQixLQUFLLENBQUMsVUFBVSxDQUFDLENBQUE7UUFDakIsSUFBSSxDQUFDLE9BQU8sR0FBQyxNQUFNLENBQUM7UUFDcEIsSUFBSSxDQUFDLGlCQUFpQixDQUFDLENBQUMsRUFBQyxRQUFRLEVBQUMsRUFBRSxFQUFDLE9BQU8sRUFBQyxJQUFJLENBQUMsYUFBYSxFQUFDLGlCQUFpQixFQUFDLElBQUksRUFBQyxDQUFDLENBQUMsQ0FBQTtJQUM3RixDQUFDO0lBRUQsS0FBSyxDQUFDLGFBQWEsQ0FBRSxHQUFpQjtRQUVsQyxNQUFNLE9BQU8sR0FBRyxvQ0FBdUIsQ0FBQyxPQUFPLEVBQUUsQ0FBQTtRQUNqRCxNQUFNLElBQUksR0FBRyxFQUFDLElBQUksRUFBQyxFQUFDLFFBQVEsRUFBQyxJQUFJLEVBQUMsUUFBUSxFQUFDLENBQUMsQ0FBQyxJQUFJLElBQUksRUFBRSxDQUFDLEdBQUcsQ0FBQyxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsRUFBQyxPQUFPLEVBQUMsT0FBTyxFQUFDLEVBQUMsQ0FBQTtRQUM1RixJQUFJLEVBQUUsR0FBK0MsSUFBSSxDQUFDO1FBQzFELE1BQU0sQ0FBQyxHQUFHLElBQUksT0FBTyxDQUF3QixDQUFDLE9BQU8sRUFBQyxNQUFNLEVBQUMsRUFBRSxHQUFDLEVBQUUsR0FBRyxPQUFPLENBQUEsQ0FBQSxDQUFDLENBQUMsQ0FBQTtRQUM5RSxVQUFVLENBQUMsR0FBRSxFQUFFO1lBQ1gsSUFBRyxFQUFFO2dCQUNELEVBQUUsQ0FBQyxJQUFJLENBQUMsQ0FBQztRQUNqQixDQUFDLEVBQUMsSUFBSSxHQUFDLEVBQUUsQ0FBQyxDQUFBO1FBQ1YsT0FBTyxDQUFDLENBQUM7SUFDYixDQUFDO0NBQ0o7QUFwQkQsNEJBb0JDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgUkVRX0hUVFBfUkVRVUVTVFNfQ09VTlQgfSBmcm9tIFwiLi4vQVBJU2VydmljZVwiO1xuaW1wb3J0IHsgQmFzZUVuZHBvaW50IH0gZnJvbSBcIi4uL0Jhc2VFbmRwb2ludFwiO1xuaW1wb3J0IHsgSFRUUFJlcXVlc3RWTywgVHJhbnNmZXJQYWNrZXRWTyB9IGZyb20gXCIuLi9zdHJ1Y3R1cmVzL0ludGVyZmFjZXNcIjtcblxuZXhwb3J0IGNsYXNzIExpdmVuZXNzIGV4dGVuZHMgQmFzZUVuZHBvaW50e1xuICAgIHN0YXJ0ZWQ6RGF0ZTtcbiAgICBjb25zdHJ1Y3RvcihzdGF0ZWQ6RGF0ZSl7XG4gICAgICAgIHN1cGVyKFwibGl2ZW5lc3NcIilcbiAgICAgICAgdGhpcy5zdGFydGVkPXN0YXRlZDtcbiAgICAgICAgdGhpcy5yZWdpc3RlckVuZHBvaW50cyhbe2VuZHBvaW50OlwiXCIsaGFuZGxlcjp0aGlzLmNoZWNrTGl2ZW5lc3MsaWdub3JlSW50ZXJjZXB0b3I6dHJ1ZX1dKVxuICAgIH1cblxuICAgIGFzeW5jIGNoZWNrTGl2ZW5lc3MgKHJlcTpIVFRQUmVxdWVzdFZPKXtcbiAgICAgICAgLy8gbGl2ZW5lc3MgcHJvYmUgLSBjaGVjayBpZiBzZXJ2ZXIgaXMgYWxpdmUgKHdhaXQgZm9yIDEwIHNlYyBhbmQgc2VuZCByZXNwb25zZSlcbiAgICAgICAgY29uc3QgcmVxdWVzdCA9IFJFUV9IVFRQX1JFUVVFU1RTX0NPVU5ULnJlcXVlc3QoKVxuICAgICAgICBjb25zdCBkYXRhID0ge2RhdGE6e2xpdmVuZXNzOnRydWUsd2FrZVRpbWU6KCtuZXcgRGF0ZSgpKSAtICgrdGhpcy5zdGFydGVkKSxyZXF1ZXN0OnJlcXVlc3R9fVxuICAgICAgICBsZXQgY2I6KChkYXRhOlRyYW5zZmVyUGFja2V0Vk88YW55Pik9PnZvaWQpIHwgbnVsbCA9IG51bGw7XG4gICAgICAgIGNvbnN0IHAgPSBuZXcgUHJvbWlzZTxUcmFuc2ZlclBhY2tldFZPPGFueT4+KChyZXNvbHZlLHJlamVjdCk9PntjYiA9IHJlc29sdmV9KVxuICAgICAgICBzZXRUaW1lb3V0KCgpPT57XG4gICAgICAgICAgICBpZihjYilcbiAgICAgICAgICAgICAgICBjYihkYXRhKTtcbiAgICAgICAgfSwxMDAwKjEwKVxuICAgICAgICByZXR1cm4gcDtcbiAgICB9XG59Il19
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Liveness.js","sourceRoot":"","sources":["../../../src/apiServer/routes/Liveness.ts"],"names":[],"mappings":";;;AAAA,8CAAwD;AACxD,kDAA+C;AAG/C,MAAa,QAAS,SAAQ,2BAAY;IACtC,OAAO,CAAM;IACb,YAAY,MAAW;QACnB,KAAK,CAAC,UAAU,CAAC,CAAA;QACjB,IAAI,CAAC,OAAO,GAAC,MAAM,CAAC;QACpB,IAAI,CAAC,iBAAiB,CAAC,CAAC,EAAC,QAAQ,EAAC,EAAE,EAAC,OAAO,EAAC,IAAI,CAAC,aAAa,EAAC,iBAAiB,EAAC,IAAI,EAAC,CAAC,CAAC,CAAA;IAC7F,CAAC;IAED,KAAK,CAAC,aAAa,CAAE,GAAiB;QAElC,MAAM,OAAO,GAAG,oCAAuB,CAAC,OAAO,EAAE,CAAA;QACjD,MAAM,IAAI,GAAG,EAAC,IAAI,EAAC,EAAC,QAAQ,EAAC,IAAI,EAAC,QAAQ,EAAC,CAAC,CAAC,IAAI,IAAI,EAAE,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,EAAC,OAAO,EAAC,OAAO,EAAC,EAAC,CAAA;QAC5F,IAAI,EAAE,GAA+C,IAAI,CAAC;QAC1D,MAAM,CAAC,GAAG,IAAI,OAAO,CAAwB,CAAC,OAAO,EAAC,MAAM,EAAC,EAAE,GAAC,EAAE,GAAG,OAAO,CAAA,CAAA,CAAC,CAAC,CAAA;QAC9E,UAAU,CAAC,GAAE,EAAE;YACX,IAAG,EAAE;gBACD,EAAE,CAAC,IAAI,CAAC,CAAC;QACjB,CAAC,EAAC,IAAI,GAAC,EAAE,CAAC,CAAA;QACV,OAAO,CAAC,CAAC;IACb,CAAC;CACJ;AApBD,4BAoBC","sourcesContent":["import { REQ_HTTP_REQUESTS_COUNT } from \"../APIService\";\nimport { BaseEndpoint } from \"../BaseEndpoint\";\nimport { HTTPRequestVO, TransferPacketVO } from \"../structures/Interfaces\";\n\nexport class Liveness extends BaseEndpoint{\n started:Date;\n constructor(stated:Date){\n super(\"liveness\")\n this.started=stated;\n this.registerEndpoints([{endpoint:\"\",handler:this.checkLiveness,ignoreInterceptor:true}])\n }\n\n async checkLiveness (req:HTTPRequestVO){\n // liveness probe - check if server is alive (wait for 10 sec and send response)\n const request = REQ_HTTP_REQUESTS_COUNT.request()\n const data = {data:{liveness:true,wakeTime:(+new Date()) - (+this.started),request:request}}\n let cb:((data:TransferPacketVO<any>)=>void) | null = null;\n const p = new Promise<TransferPacketVO<any>>((resolve,reject)=>{cb = resolve})\n setTimeout(()=>{\n if(cb)\n cb(data);\n },1000*10)\n return p;\n }\n}"]}
@@ -16,3 +16,4 @@ class Readiness extends BaseEndpoint_1.BaseEndpoint {
16
16
  }
17
17
  }
18
18
  exports.Readiness = Readiness;
19
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiUmVhZGluZXNzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL2FwaVNlcnZlci9yb3V0ZXMvUmVhZGluZXNzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7OztBQUFBLDhDQUF3RDtBQUN4RCxrREFBOEM7QUFHOUMsTUFBYSxTQUFVLFNBQVEsMkJBQVk7SUFDdkMsT0FBTyxDQUFNO0lBQ2IsWUFBWSxNQUFXO1FBQ25CLEtBQUssQ0FBQyxXQUFXLENBQUMsQ0FBQTtRQUNsQixJQUFJLENBQUMsT0FBTyxHQUFDLE1BQU0sQ0FBQztRQUNwQixJQUFJLENBQUMsaUJBQWlCLENBQUMsQ0FBQyxFQUFDLFFBQVEsRUFBQyxFQUFFLEVBQUMsT0FBTyxFQUFDLElBQUksQ0FBQyxjQUFjLEVBQUMsaUJBQWlCLEVBQUMsSUFBSSxFQUFDLENBQUMsQ0FBQyxDQUFBO0lBQzlGLENBQUM7SUFFRCxLQUFLLENBQUMsY0FBYyxDQUFFLEdBQWlCO1FBQ25DLE1BQU0sT0FBTyxHQUFHLG9DQUF1QixDQUFDLE9BQU8sRUFBRSxDQUFBO1FBQ2pELE9BQU8sRUFBQyxJQUFJLEVBQUMsRUFBQyxRQUFRLEVBQUMsSUFBSSxFQUFDLFFBQVEsRUFBQyxDQUFDLENBQUMsSUFBSSxJQUFJLEVBQUUsQ0FBQyxHQUFHLENBQUMsQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLEVBQUMsT0FBTyxFQUFDLE9BQU8sRUFBQyxFQUFDLENBQUE7SUFDMUYsQ0FBQztDQUNKO0FBWkQsOEJBWUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBSRVFfSFRUUF9SRVFVRVNUU19DT1VOVCB9IGZyb20gXCIuLi9BUElTZXJ2aWNlXCI7XG5pbXBvcnQgeyBCYXNlRW5kcG9pbnQgfSBmcm9tIFwiLi4vQmFzZUVuZHBvaW50XCJcbmltcG9ydCB7IEhUVFBSZXF1ZXN0Vk8gfSBmcm9tIFwiLi4vc3RydWN0dXJlcy9JbnRlcmZhY2VzXCJcblxuZXhwb3J0IGNsYXNzIFJlYWRpbmVzcyBleHRlbmRzIEJhc2VFbmRwb2ludHtcbiAgICBzdGFydGVkOkRhdGU7XG4gICAgY29uc3RydWN0b3Ioc3RhdGVkOkRhdGUpe1xuICAgICAgICBzdXBlcihcInJlYWRpbmVzc1wiKVxuICAgICAgICB0aGlzLnN0YXJ0ZWQ9c3RhdGVkO1xuICAgICAgICB0aGlzLnJlZ2lzdGVyRW5kcG9pbnRzKFt7ZW5kcG9pbnQ6XCJcIixoYW5kbGVyOnRoaXMuY2hlY2tSZWFkaW5lc3MsaWdub3JlSW50ZXJjZXB0b3I6dHJ1ZX1dKVxuICAgIH1cblxuICAgIGFzeW5jIGNoZWNrUmVhZGluZXNzIChyZXE6SFRUUFJlcXVlc3RWTyl7XG4gICAgICAgIGNvbnN0IHJlcXVlc3QgPSBSRVFfSFRUUF9SRVFVRVNUU19DT1VOVC5yZXF1ZXN0KClcbiAgICAgICAgcmV0dXJuIHtkYXRhOntsaXZlbmVzczp0cnVlLHdha2VUaW1lOigrbmV3IERhdGUoKSkgLSAoK3RoaXMuc3RhcnRlZCkscmVxdWVzdDpyZXF1ZXN0fX1cbiAgICB9XG59Il19
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Readiness.js","sourceRoot":"","sources":["../../../src/apiServer/routes/Readiness.ts"],"names":[],"mappings":";;;AAAA,8CAAwD;AACxD,kDAA8C;AAG9C,MAAa,SAAU,SAAQ,2BAAY;IACvC,OAAO,CAAM;IACb,YAAY,MAAW;QACnB,KAAK,CAAC,WAAW,CAAC,CAAA;QAClB,IAAI,CAAC,OAAO,GAAC,MAAM,CAAC;QACpB,IAAI,CAAC,iBAAiB,CAAC,CAAC,EAAC,QAAQ,EAAC,EAAE,EAAC,OAAO,EAAC,IAAI,CAAC,cAAc,EAAC,iBAAiB,EAAC,IAAI,EAAC,CAAC,CAAC,CAAA;IAC9F,CAAC;IAED,KAAK,CAAC,cAAc,CAAE,GAAiB;QACnC,MAAM,OAAO,GAAG,oCAAuB,CAAC,OAAO,EAAE,CAAA;QACjD,OAAO,EAAC,IAAI,EAAC,EAAC,QAAQ,EAAC,IAAI,EAAC,QAAQ,EAAC,CAAC,CAAC,IAAI,IAAI,EAAE,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,EAAC,OAAO,EAAC,OAAO,EAAC,EAAC,CAAA;IAC1F,CAAC;CACJ;AAZD,8BAYC","sourcesContent":["import { REQ_HTTP_REQUESTS_COUNT } from \"../APIService\";\nimport { BaseEndpoint } from \"../BaseEndpoint\"\nimport { HTTPRequestVO } from \"../structures/Interfaces\"\n\nexport class Readiness extends BaseEndpoint{\n started:Date;\n constructor(stated:Date){\n super(\"readiness\")\n this.started=stated;\n this.registerEndpoints([{endpoint:\"\",handler:this.checkReadiness,ignoreInterceptor:true}])\n }\n\n async checkReadiness (req:HTTPRequestVO){\n const request = REQ_HTTP_REQUESTS_COUNT.request()\n return {data:{liveness:true,wakeTime:(+new Date()) - (+this.started),request:request}}\n }\n}"]}
@@ -32,3 +32,4 @@ class ErrorUtils {
32
32
  }
33
33
  exports.ErrorUtils = ErrorUtils;
34
34
  exports.default = DefaultErrors;
35
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiRGVmYXVsdEVycm9ycy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9hcGlTZXJ2ZXIvc3RydWN0dXJlcy9EZWZhdWx0RXJyb3JzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7OztBQUFBLG1EQUFpRTtBQUdqRSxNQUFNLGFBQWE7SUFDZixNQUFNLENBQUMsZUFBZSxHQUFRLEVBQUMsSUFBSSxFQUFDLENBQUMsRUFBQyxPQUFPLEVBQUMsaUJBQWlCLEVBQUMsQ0FBQTtJQUNoRSxNQUFNLENBQUMsZUFBZSxHQUFRLEVBQUMsSUFBSSxFQUFDLENBQUMsRUFBQyxPQUFPLEVBQUMsaUJBQWlCLEVBQUMsQ0FBQTtJQUNoRSxNQUFNLENBQUMsY0FBYyxHQUFRLEVBQUMsSUFBSSxFQUFDLENBQUMsRUFBQyxPQUFPLEVBQUMsZ0JBQWdCLEVBQUMsQ0FBQTtJQUM5RCxNQUFNLENBQUMsY0FBYyxHQUFRLEVBQUMsSUFBSSxFQUFDLENBQUMsRUFBQyxPQUFPLEVBQUMsbUJBQW1CLEVBQUMsQ0FBQTtJQUNqRSxNQUFNLENBQUMsY0FBYyxHQUFRLEVBQUMsSUFBSSxFQUFDLENBQUMsRUFBQyxPQUFPLEVBQUMsaUJBQWlCLEVBQUMsQ0FBQTtJQUMvRCxNQUFNLENBQUMsZUFBZSxHQUFRLEVBQUMsSUFBSSxFQUFDLENBQUMsRUFBQyxPQUFPLEVBQUMsaUJBQWlCLEVBQUMsQ0FBQTtJQUNoRSxNQUFNLENBQUMsWUFBWSxHQUFRLEVBQUMsSUFBSSxFQUFDLENBQUMsRUFBQyxPQUFPLEVBQUMsY0FBYyxFQUFDLENBQUE7SUFDMUQsTUFBTSxDQUFDLFdBQVcsR0FBUSxFQUFDLElBQUksRUFBQyxDQUFDLEVBQUMsT0FBTyxFQUFDLGFBQWEsRUFBQyxVQUFVLEVBQUMsR0FBRyxFQUFDLENBQUE7SUFDdkUsTUFBTSxDQUFDLG1CQUFtQixHQUFRLEVBQUMsSUFBSSxFQUFDLENBQUMsRUFBQyxPQUFPLEVBQUMscUJBQXFCLEVBQUMsQ0FBQTtJQUN4RSxNQUFNLENBQUMsT0FBTyxHQUFRLEVBQUMsSUFBSSxFQUFDLENBQUMsRUFBQyxPQUFPLEVBQUMsU0FBUyxFQUFDLENBQUE7O0FBR3BELE1BQWEsVUFBVTtJQUVuQixNQUFNLENBQUMsT0FBTyxDQUFDLEdBQU87UUFDbEIsTUFBTSxjQUFjLEdBQUcscUJBQVMsQ0FBQyxjQUFjLENBQUMsQ0FBQyxNQUFNLEVBQUMsU0FBUyxDQUFDLEVBQUMsR0FBRyxDQUFDLENBQUE7UUFFdkUsSUFBRyxDQUFDLGNBQWM7WUFDZCxPQUFPLEtBQUssQ0FBQztRQUVqQixJQUFHLHFCQUFTLENBQUMsYUFBYSxDQUFDLEdBQUcsQ0FBQyxJQUFJLEVBQUMsRUFBQyxJQUFJLEVBQUMsUUFBUSxFQUFDLENBQUMsS0FBRyw0QkFBZ0IsQ0FBQyxFQUFFO1lBQ3RFLE9BQU8sS0FBSyxDQUFDO1FBRWpCLElBQUcscUJBQVMsQ0FBQyxhQUFhLENBQUMsR0FBRyxDQUFDLE9BQU8sRUFBQyxFQUFDLElBQUksRUFBQyxRQUFRLEVBQUMsQ0FBQyxLQUFHLDRCQUFnQixDQUFDLEVBQUU7WUFDekUsT0FBTyxLQUFLLENBQUM7UUFFakIsT0FBTyxJQUFJLENBQUM7SUFDaEIsQ0FBQztJQUVELE1BQU0sQ0FBQyxXQUFXLENBQUMsS0FBWSxFQUFDLEtBQWU7UUFDM0MsS0FBSyxDQUFDLEtBQUssR0FBRyxLQUFLLENBQUM7UUFDcEIsT0FBTyxLQUFLLENBQUM7SUFDakIsQ0FBQztDQUNKO0FBckJELGdDQXFCQztBQUVELGtCQUFlLGFBQWEsQ0FBQSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IFZhbGlkYXRpb25SZXBvcnQsIFZhbGlkYXRvciB9IGZyb20gXCIuLi9oZWxwZXIvVmFsaWRhdG9yXCJcbmltcG9ydCB7IElFcnJvciB9IGZyb20gXCIuL0ludGVyZmFjZXNcIlxuXG5jbGFzcyBEZWZhdWx0RXJyb3Jze1xuICAgIHN0YXRpYyBOT1RfSU1QTEVNRU5URUQ6SUVycm9yPXtjb2RlOjEsbWVzc2FnZTpcIk5vdCBpbXBsZW1lbnRlZFwifVxuICAgIHN0YXRpYyBVTktOT1dOX1JFUVVFU1Q6SUVycm9yPXtjb2RlOjIsbWVzc2FnZTpcIlVua25vd24gcmVxdWVzdFwifVxuICAgIHN0YXRpYyBKU09OX01BTEZPUk1FRDpJRXJyb3I9e2NvZGU6MyxtZXNzYWdlOlwiSlNPTiBtYWxmb3JtZWRcIn1cbiAgICBzdGF0aWMgRklMRV9UT09fTEFSR0U6SUVycm9yPXtjb2RlOjQsbWVzc2FnZTpcIkZpbGUgaXMgdG9vIGxhcmdlXCJ9XG4gICAgc3RhdGljIENBTlRfU0VORF9GSUxFOklFcnJvcj17Y29kZTo1LG1lc3NhZ2U6XCJDYW4ndCBzZW5kIGZpbGVcIn1cbiAgICBzdGF0aWMgRklMRV9OT1RfRVhJU1RTOklFcnJvcj17Y29kZTo1LG1lc3NhZ2U6XCJGaWxlIG5vdCBleGlzdHNcIn1cbiAgICBzdGF0aWMgVU5BVVRIT1JJWkVEOklFcnJvcj17Y29kZTo2LG1lc3NhZ2U6XCJVbmF1dGhvcml6ZWRcIn1cbiAgICBzdGF0aWMgQkFEX1JFUVVFU1Q6SUVycm9yPXtjb2RlOjcsbWVzc2FnZTpcIkJhZCByZXF1ZXN0XCIsaHR0cFN0YXR1czo0MDB9XG4gICAgc3RhdGljIFNFUlZJQ0VfTk9UX1dPUktJTkc6SUVycm9yPXtjb2RlOjgsbWVzc2FnZTpcIlNlcnZpY2Ugbm90IHdvcmtpbmdcIn1cbiAgICBzdGF0aWMgVElNRU9VVDpJRXJyb3I9e2NvZGU6OSxtZXNzYWdlOlwiVGltZW91dFwifVxufVxuXG5leHBvcnQgY2xhc3MgRXJyb3JVdGlsc3tcblxuICAgIHN0YXRpYyBpc0Vycm9yKG9iajphbnkpOmJvb2xlYW57XG4gICAgICAgIGNvbnN0IGlzRmllbGRzRXhpc3RzID0gVmFsaWRhdG9yLnZhbGlkYXRlT2JqZWN0KFsnY29kZScsJ21lc3NhZ2UnXSxvYmopXG4gICAgXG4gICAgICAgIGlmKCFpc0ZpZWxkc0V4aXN0cylcbiAgICAgICAgICAgIHJldHVybiBmYWxzZTtcbiAgICBcbiAgICAgICAgaWYoVmFsaWRhdG9yLnZhbGlkYXRlVmFsdWUob2JqLmNvZGUse3R5cGU6XCJudW1iZXJcIn0pIT09VmFsaWRhdGlvblJlcG9ydC5PSylcbiAgICAgICAgICAgIHJldHVybiBmYWxzZTtcbiAgICBcbiAgICAgICAgaWYoVmFsaWRhdG9yLnZhbGlkYXRlVmFsdWUob2JqLm1lc3NhZ2Use3R5cGU6XCJzdHJpbmdcIn0pIT09VmFsaWRhdGlvblJlcG9ydC5PSylcbiAgICAgICAgICAgIHJldHVybiBmYWxzZTtcbiAgICBcbiAgICAgICAgcmV0dXJuIHRydWU7XG4gICAgfVxuXG4gICAgc3RhdGljIGFwcGVuZFN0YWNrKGVycm9yOklFcnJvcixzdGFjaz86SUVycm9yW10pOklFcnJvcntcbiAgICAgICAgZXJyb3Iuc3RhY2sgPSBzdGFjaztcbiAgICAgICAgcmV0dXJuIGVycm9yO1xuICAgIH1cbn1cblxuZXhwb3J0IGRlZmF1bHQgRGVmYXVsdEVycm9ycyJdfQ==
@@ -0,0 +1 @@
1
+ {"version":3,"file":"DefaultErrors.js","sourceRoot":"","sources":["../../../src/apiServer/structures/DefaultErrors.ts"],"names":[],"mappings":";;;AAAA,mDAAiE;AAGjE,MAAM,aAAa;IACf,MAAM,CAAC,eAAe,GAAQ,EAAC,IAAI,EAAC,CAAC,EAAC,OAAO,EAAC,iBAAiB,EAAC,CAAA;IAChE,MAAM,CAAC,eAAe,GAAQ,EAAC,IAAI,EAAC,CAAC,EAAC,OAAO,EAAC,iBAAiB,EAAC,CAAA;IAChE,MAAM,CAAC,cAAc,GAAQ,EAAC,IAAI,EAAC,CAAC,EAAC,OAAO,EAAC,gBAAgB,EAAC,CAAA;IAC9D,MAAM,CAAC,cAAc,GAAQ,EAAC,IAAI,EAAC,CAAC,EAAC,OAAO,EAAC,mBAAmB,EAAC,CAAA;IACjE,MAAM,CAAC,cAAc,GAAQ,EAAC,IAAI,EAAC,CAAC,EAAC,OAAO,EAAC,iBAAiB,EAAC,CAAA;IAC/D,MAAM,CAAC,eAAe,GAAQ,EAAC,IAAI,EAAC,CAAC,EAAC,OAAO,EAAC,iBAAiB,EAAC,CAAA;IAChE,MAAM,CAAC,YAAY,GAAQ,EAAC,IAAI,EAAC,CAAC,EAAC,OAAO,EAAC,cAAc,EAAC,CAAA;IAC1D,MAAM,CAAC,WAAW,GAAQ,EAAC,IAAI,EAAC,CAAC,EAAC,OAAO,EAAC,aAAa,EAAC,UAAU,EAAC,GAAG,EAAC,CAAA;IACvE,MAAM,CAAC,mBAAmB,GAAQ,EAAC,IAAI,EAAC,CAAC,EAAC,OAAO,EAAC,qBAAqB,EAAC,CAAA;IACxE,MAAM,CAAC,OAAO,GAAQ,EAAC,IAAI,EAAC,CAAC,EAAC,OAAO,EAAC,SAAS,EAAC,CAAA;;AAGpD,MAAa,UAAU;IAEnB,MAAM,CAAC,OAAO,CAAC,GAAO;QAClB,MAAM,cAAc,GAAG,qBAAS,CAAC,cAAc,CAAC,CAAC,MAAM,EAAC,SAAS,CAAC,EAAC,GAAG,CAAC,CAAA;QAEvE,IAAG,CAAC,cAAc;YACd,OAAO,KAAK,CAAC;QAEjB,IAAG,qBAAS,CAAC,aAAa,CAAC,GAAG,CAAC,IAAI,EAAC,EAAC,IAAI,EAAC,QAAQ,EAAC,CAAC,KAAG,4BAAgB,CAAC,EAAE;YACtE,OAAO,KAAK,CAAC;QAEjB,IAAG,qBAAS,CAAC,aAAa,CAAC,GAAG,CAAC,OAAO,EAAC,EAAC,IAAI,EAAC,QAAQ,EAAC,CAAC,KAAG,4BAAgB,CAAC,EAAE;YACzE,OAAO,KAAK,CAAC;QAEjB,OAAO,IAAI,CAAC;IAChB,CAAC;IAED,MAAM,CAAC,WAAW,CAAC,KAAY,EAAC,KAAe;QAC3C,KAAK,CAAC,KAAK,GAAG,KAAK,CAAC;QACpB,OAAO,KAAK,CAAC;IACjB,CAAC;CACJ;AArBD,gCAqBC;AAED,kBAAe,aAAa,CAAA","sourcesContent":["import { ValidationReport, Validator } from \"../helper/Validator\"\nimport { IError } from \"./Interfaces\"\n\nclass DefaultErrors{\n static NOT_IMPLEMENTED:IError={code:1,message:\"Not implemented\"}\n static UNKNOWN_REQUEST:IError={code:2,message:\"Unknown request\"}\n static JSON_MALFORMED:IError={code:3,message:\"JSON malformed\"}\n static FILE_TOO_LARGE:IError={code:4,message:\"File is too large\"}\n static CANT_SEND_FILE:IError={code:5,message:\"Can't send file\"}\n static FILE_NOT_EXISTS:IError={code:5,message:\"File not exists\"}\n static UNAUTHORIZED:IError={code:6,message:\"Unauthorized\"}\n static BAD_REQUEST:IError={code:7,message:\"Bad request\",httpStatus:400}\n static SERVICE_NOT_WORKING:IError={code:8,message:\"Service not working\"}\n static TIMEOUT:IError={code:9,message:\"Timeout\"}\n}\n\nexport class ErrorUtils{\n\n static isError(obj:any):boolean{\n const isFieldsExists = Validator.validateObject(['code','message'],obj)\n \n if(!isFieldsExists)\n return false;\n \n if(Validator.validateValue(obj.code,{type:\"number\"})!==ValidationReport.OK)\n return false;\n \n if(Validator.validateValue(obj.message,{type:\"string\"})!==ValidationReport.OK)\n return false;\n \n return true;\n }\n\n static appendStack(error:IError,stack?:IError[]):IError{\n error.stack = stack;\n return error;\n }\n}\n\nexport default DefaultErrors"]}
@@ -9,3 +9,4 @@ var HTTP_STATUS;
9
9
  HTTP_STATUS[HTTP_STATUS["BAD_REQUEST"] = 400] = "BAD_REQUEST";
10
10
  HTTP_STATUS[HTTP_STATUS["SERVER_ERROR"] = 500] = "SERVER_ERROR";
11
11
  })(HTTP_STATUS || (exports.HTTP_STATUS = HTTP_STATUS = {}));
12
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiSFRUUFN0YXR1cy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9hcGlTZXJ2ZXIvc3RydWN0dXJlcy9IVFRQU3RhdHVzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7OztBQUFBLElBQVksV0FNWDtBQU5ELFdBQVksV0FBVztJQUNuQiwyQ0FBTSxDQUFBO0lBQ04seURBQWEsQ0FBQTtJQUNiLCtEQUFnQixDQUFBO0lBQ2hCLDZEQUFlLENBQUE7SUFDZiwrREFBZ0IsQ0FBQTtBQUNwQixDQUFDLEVBTlcsV0FBVywyQkFBWCxXQUFXLFFBTXRCIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0IGVudW0gSFRUUF9TVEFUVVN7XG4gICAgT0s9MjAwLFxuICAgIE5PVF9GT1VORD00MDQsXG4gICAgVU5BVVRIT1JJWkVEPTQwMSxcbiAgICBCQURfUkVRVUVTVD00MDAsXG4gICAgU0VSVkVSX0VSUk9SPTUwMFxufSJdfQ==
@@ -0,0 +1 @@
1
+ {"version":3,"file":"HTTPStatus.js","sourceRoot":"","sources":["../../../src/apiServer/structures/HTTPStatus.ts"],"names":[],"mappings":";;;AAAA,IAAY,WAMX;AAND,WAAY,WAAW;IACnB,2CAAM,CAAA;IACN,yDAAa,CAAA;IACb,+DAAgB,CAAA;IAChB,6DAAe,CAAA;IACf,+DAAgB,CAAA;AACpB,CAAC,EANW,WAAW,2BAAX,WAAW,QAMtB","sourcesContent":["export enum HTTP_STATUS{\n OK=200,\n NOT_FOUND=404,\n UNAUTHORIZED=401,\n BAD_REQUEST=400,\n SERVER_ERROR=500\n}"]}
@@ -1,2 +1,3 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiSW50ZXJmYWNlcy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9hcGlTZXJ2ZXIvc3RydWN0dXJlcy9JbnRlcmZhY2VzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBGaWxlQXJyYXksIFVwbG9hZGVkRmlsZSB9IGZyb20gXCJleHByZXNzLWZpbGV1cGxvYWRcIlxuXG5leHBvcnQgaW50ZXJmYWNlIFRyYW5zZmVyUGFja2V0Vk88VD1hbnk+e1xuICAgIGRhdGE/OlR8bnVsbCxcbiAgICBlcnJvcj86SUVycm9yfG51bGwsXG4gICAgcmVzcG9uc2VUaW1lPzpudW1iZXJcbiAgICB2ZXJzaW9uPzpzdHJpbmcsXG4gICAgY29yZT86c3RyaW5nLFxuICAgIGVuZHBvaW50PzpzdHJpbmdcbiAgICBodHRwU3RhdHVzPzpudW1iZXIsXG4gICAgcmVkaXJlY3Q/OnN0cmluZ1xuICAgIHJhd1Jlc3BvbnNlPzpib29sZWFuXG4gICAgaGVhZGVycz86e1trZXk6c3RyaW5nXTpzdHJpbmd9XG4gICAgZmlsZT86c3RyaW5nXG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgSFRUUFJlcXVlc3RWTzxUPWFueT57XG4gICAgcmF3OmFueSxcbiAgICBtZXRob2Q6c3RyaW5nLFxuICAgIGRhdGE6VCxcbiAgICBwYXJhbXM6e1trZXk6c3RyaW5nXTpzdHJpbmd9LFxuICAgIGhlYWRlcnM6e1trZXk6c3RyaW5nXTpzdHJpbmd9LFxuICAgIGVuZHBvaW50OnN0cmluZ1xuICAgIGludGVyY2VwdG9yUmVzdWx0PzpUcmFuc2ZlclBhY2tldFZPPGFueT5cbiAgICBwcmVwcm9kdWNlclJlc3VsdD86YW55XG4gICAgcHJlY2hlY2s/OlRyYW5zZmVyUGFja2V0Vk88YW55PnxudWxsXG4gICAgZmlsZXM6RmlsZUFycmF5IHwgbnVsbCB8IHVuZGVmaW5lZFxuICAgIHJlZmVyZXI/OnN0cmluZ1xuICAgIHVubG9ja2VkPzpib29sZWFuXG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgSUVycm9ye1xuICAgIGNvZGU6bnVtYmVyLFxuICAgIG1lc3NhZ2U6c3RyaW5nLFxuICAgIGRldGFpbHM/OnN0cmluZyxcbiAgICBodHRwU3RhdHVzPzpudW1iZXJcbiAgICBzdGFjaz86SUVycm9yW11cbn0iXX0=
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Interfaces.js","sourceRoot":"","sources":["../../../src/apiServer/structures/Interfaces.ts"],"names":[],"mappings":"","sourcesContent":["import { FileArray, UploadedFile } from \"express-fileupload\"\n\nexport interface TransferPacketVO<T=any>{\n data?:T|null,\n error?:IError|null,\n responseTime?:number\n version?:string,\n core?:string,\n endpoint?:string\n httpStatus?:number,\n redirect?:string\n rawResponse?:boolean\n headers?:{[key:string]:string}\n file?:string\n}\n\nexport interface HTTPRequestVO<T=any>{\n raw:any,\n method:string,\n data:T,\n params:{[key:string]:string},\n headers:{[key:string]:string},\n endpoint:string\n interceptorResult?:TransferPacketVO<any>\n preproducerResult?:any\n precheck?:TransferPacketVO<any>|null\n files:FileArray | null | undefined\n referer?:string\n unlocked?:boolean\n}\n\nexport interface IError{\n code:number,\n message:string,\n details?:string,\n httpStatus?:number\n stack?:IError[]\n}"]}
package/dist/index.js CHANGED
@@ -26,3 +26,4 @@ const HUBConnection_1 = require("./apiServer/cluster/HUBConnection");
26
26
  Object.defineProperty(exports, "HUBConnection", { enumerable: true, get: function () { return HUBConnection_1.HUBConnection; } });
27
27
  const ClusterService_1 = require("./apiServer/ClusterService");
28
28
  Object.defineProperty(exports, "ClusterService", { enumerable: true, get: function () { return ClusterService_1.ClusterService; } });
29
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi9zcmMvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7O0FBQUEsdURBQWdFO0FBZTVELDJGQWZLLHVCQUFVLE9BZUw7QUFDViw0RkFoQmdCLHdCQUFXLE9BZ0JoQjtBQWZmLDJEQUF3RDtBQWdCcEQsNkZBaEJLLDJCQUFZLE9BZ0JMO0FBZmhCLDJEQUFxRDtBQWdCakQsNkZBaEJJLDJCQUFZLE9BZ0JKO0FBZmhCLDREQUF5RDtBQWdCckQsMEZBaEJLLHFCQUFTLE9BZ0JMO0FBZmIsdURBQW9EO0FBZ0JoRCwyRkFoQkssdUJBQVUsT0FnQkw7QUFmZCx3RUFBa0U7QUFpQjlELDJGQWpCSywwQkFBVSxPQWlCTDtBQWhCZCx5REFBMEU7QUFvQnRFLDRHQXBCSyxxQ0FBMkIsT0FvQkw7QUFuQi9CLGtFQUErRDtBQWMzRCw2RkFkSywyQkFBWSxPQWNMO0FBYmhCLGdEQUE2QztBQU16QyxvRkFOSyxTQUFHLE9BTUw7QUFMUCx1REFBb0Q7QUFjaEQsMkZBZEssdUJBQVUsT0FjTDtBQWJkLHFFQUFrRTtBQWU5RCw4RkFmSyw2QkFBYSxPQWVMO0FBZGpCLCtEQUE0RDtBQWF4RCwrRkFiSywrQkFBYyxPQWFMIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQVBJU2VydmljZSxJbml0aWFsaXplciB9IGZyb20gXCIuL2FwaVNlcnZlci9BUElTZXJ2aWNlXCI7XG5pbXBvcnQgeyBMb2NhbFJlcXVlc3QgfSBmcm9tIFwiLi9hcGlTZXJ2ZXIvTG9jYWxSZXF1ZXN0XCI7XG5pbXBvcnQge015c3FsU2VydmljZX0gZnJvbSBcIi4vYXBpU2VydmVyL015c3FsU2VydmljZVwiXG5pbXBvcnQgeyBWYWxpZGF0b3IgfSBmcm9tIFwiLi9hcGlTZXJ2ZXIvaGVscGVyL1ZhbGlkYXRvclwiO1xuaW1wb3J0IHsgTG9nU2VydmljZSB9IGZyb20gXCIuL2FwaVNlcnZlci9Mb2dTZXJ2aWNlXCI7XG5pbXBvcnQgeyBFcnJvclV0aWxzIH0gZnJvbSBcIi4vYXBpU2VydmVyL3N0cnVjdHVyZXMvRGVmYXVsdEVycm9yc1wiO1xuaW1wb3J0IHsgU19NT05JVE9SX1JFR0lTVFJBVEVfQUNUSU9OIH0gZnJvbSBcIi4vYXBpU2VydmVyL21vbml0b3IvTW9uaXRvclwiO1xuaW1wb3J0IHsgRGF0YVByb3ZpZGVyIH0gZnJvbSBcIi4vYXBpU2VydmVyL2hlbHBlci9EYXRhUHJvdmlkZXJcIjtcbmltcG9ydCB7IFVJRCB9IGZyb20gXCIuL2FwaVNlcnZlci9oZWxwZXIvVUlEXCI7XG5pbXBvcnQgeyBIVUJTZXJ2aWNlIH0gZnJvbSBcIi4vYXBpU2VydmVyL0hVQlNlcnZpY2VcIjtcbmltcG9ydCB7IEhVQkNvbm5lY3Rpb24gfSBmcm9tIFwiLi9hcGlTZXJ2ZXIvY2x1c3Rlci9IVUJDb25uZWN0aW9uXCI7XG5pbXBvcnQgeyBDbHVzdGVyU2VydmljZSB9IGZyb20gXCIuL2FwaVNlcnZlci9DbHVzdGVyU2VydmljZVwiO1xuXG5leHBvcnQge1xuICAgIFVJRCxcbiAgICBBUElTZXJ2aWNlLFxuICAgIEluaXRpYWxpemVyLFxuICAgIExvY2FsUmVxdWVzdCxcbiAgICBNeXNxbFNlcnZpY2UsXG4gICAgVmFsaWRhdG9yLFxuICAgIExvZ1NlcnZpY2UsXG4gICAgRGF0YVByb3ZpZGVyLFxuICAgIEVycm9yVXRpbHMsXG4gICAgSFVCU2VydmljZSxcbiAgICBDbHVzdGVyU2VydmljZSxcbiAgICBIVUJDb25uZWN0aW9uLFxuICAgIFNfTU9OSVRPUl9SRUdJU1RSQVRFX0FDVElPTlxufSJdfQ==
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";;;AAAA,uDAAgE;AAe5D,2FAfK,uBAAU,OAeL;AACV,4FAhBgB,wBAAW,OAgBhB;AAff,2DAAwD;AAgBpD,6FAhBK,2BAAY,OAgBL;AAfhB,2DAAqD;AAgBjD,6FAhBI,2BAAY,OAgBJ;AAfhB,4DAAyD;AAgBrD,0FAhBK,qBAAS,OAgBL;AAfb,uDAAoD;AAgBhD,2FAhBK,uBAAU,OAgBL;AAfd,wEAAkE;AAiB9D,2FAjBK,0BAAU,OAiBL;AAhBd,yDAA0E;AAoBtE,4GApBK,qCAA2B,OAoBL;AAnB/B,kEAA+D;AAc3D,6FAdK,2BAAY,OAcL;AAbhB,gDAA6C;AAMzC,oFANK,SAAG,OAML;AALP,uDAAoD;AAchD,2FAdK,uBAAU,OAcL;AAbd,qEAAkE;AAe9D,8FAfK,6BAAa,OAeL;AAdjB,+DAA4D;AAaxD,+FAbK,+BAAc,OAaL","sourcesContent":["import { APIService,Initializer } from \"./apiServer/APIService\";\nimport { LocalRequest } from \"./apiServer/LocalRequest\";\nimport {MysqlService} from \"./apiServer/MysqlService\"\nimport { Validator } from \"./apiServer/helper/Validator\";\nimport { LogService } from \"./apiServer/LogService\";\nimport { ErrorUtils } from \"./apiServer/structures/DefaultErrors\";\nimport { S_MONITOR_REGISTRATE_ACTION } from \"./apiServer/monitor/Monitor\";\nimport { DataProvider } from \"./apiServer/helper/DataProvider\";\nimport { UID } from \"./apiServer/helper/UID\";\nimport { HUBService } from \"./apiServer/HUBService\";\nimport { HUBConnection } from \"./apiServer/cluster/HUBConnection\";\nimport { ClusterService } from \"./apiServer/ClusterService\";\n\nexport {\n UID,\n APIService,\n Initializer,\n LocalRequest,\n MysqlService,\n Validator,\n LogService,\n DataProvider,\n ErrorUtils,\n HUBService,\n ClusterService,\n HUBConnection,\n S_MONITOR_REGISTRATE_ACTION\n}"]}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "badmfck-api-server",
3
- "version": "2.4.7",
3
+ "version": "2.5.0",
4
4
  "description": "Simple API http server based on express",
5
5
  "main": "dist/index.js",
6
6
  "types": "dist/index.d.ts",
@@ -21,7 +21,7 @@
21
21
  "@types/mysql": "^2.15.21",
22
22
  "@types/ws": "^8.5.9",
23
23
  "axios": "^1.7.7",
24
- "badmfck-signal": "^1.4.7",
24
+ "badmfck-signal": "^1.4.8",
25
25
  "comment-parser": "^1.4.1",
26
26
  "cors": "^2.8.5",
27
27
  "express": "^4.21.1",