@captureid/datatypes 1.0.4 → 1.0.5

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -465,4 +465,31 @@ export var TicketSenderType;
465
465
  }
466
466
  TicketSenderType.values = values;
467
467
  })(TicketSenderType || (TicketSenderType = {}));
468
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZW51bXMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9wcm9qZWN0cy9jYXB0dXJlaWQtZGF0YXR5cGVzL3NyYy9saWIvZW51bXMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBRUEsTUFBTSxDQUFOLElBQVksUUFvRlg7QUFwRkQsV0FBWSxRQUFRO0lBQ2hCLDZDQUFXLENBQUE7SUFDWCxtREFBYyxDQUFBO0lBQ2QsMkNBQVUsQ0FBQTtJQUNWLHlDQUFTLENBQUE7SUFDVCw2Q0FBVyxDQUFBO0lBQ1gsK0NBQVksQ0FBQTtJQUNaLDZDQUFXLENBQUE7SUFDWCw2Q0FBVyxDQUFBO0lBQ1gseUNBQVMsQ0FBQTtJQUNULHlDQUFTLENBQUE7SUFDVCxvREFBZSxDQUFBO0lBQ2Ysa0VBQXNCLENBQUE7SUFDdEIsd0NBQVMsQ0FBQTtJQUNULDREQUFtQixDQUFBO0lBQ25CLHdEQUFpQixDQUFBO0lBQ2pCLDRDQUFXLENBQUE7SUFDWCxnRUFBcUIsQ0FBQTtJQUNyQixzRUFBd0IsQ0FBQTtJQUN4Qix3Q0FBUyxDQUFBO0lBQ1QsOENBQVksQ0FBQTtJQUNaLGdEQUFhLENBQUE7SUFDYixzREFBZ0IsQ0FBQTtJQUNoQixvREFBZSxDQUFBO0lBQ2YsNENBQVcsQ0FBQTtJQUNYLDhEQUFvQixDQUFBO0lBQ3BCLDhDQUFZLENBQUE7SUFDWixrRUFBc0IsQ0FBQTtJQUN0QixzREFBZ0IsQ0FBQTtJQUNoQiw0Q0FBVyxDQUFBO0lBQ1gsOENBQVksQ0FBQTtJQUNaLDBDQUFVLENBQUE7SUFDVix3REFBaUIsQ0FBQTtJQUNqQiw0Q0FBVyxDQUFBO0lBQ1gsa0RBQWMsQ0FBQTtJQUNkLGdEQUFhLENBQUE7SUFDYiw0REFBbUIsQ0FBQTtJQUNuQiwwQ0FBVSxDQUFBO0lBQ1Ysa0RBQWMsQ0FBQTtJQUNkLDhDQUFZLENBQUE7SUFDWixnREFBYSxDQUFBO0lBQ2IsOENBQVksQ0FBQTtJQUNaLHdEQUFpQixDQUFBO0lBQ2pCLGtEQUFjLENBQUE7SUFD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QUMsTUFBTSxDQUFDLGdCQUFnQixDQUFDLEVBQUUsQ0FBQztZQUNsRCxJQUFJLEtBQUssQ0FBQyxNQUFNLENBQUMsTUFBTSxDQUFDLGdCQUFnQixDQUFDLENBQUMsS0FBSyxDQUFRLENBQUMsSUFBSSxPQUFPLE1BQU0sQ0FBQyxNQUFNLENBQUMsZ0JBQWdCLENBQUMsQ0FBQyxLQUFLLENBQUMsS0FBSyxVQUFVLEVBQUUsQ0FBQztnQkFDdkgsR0FBRyxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsTUFBTSxDQUFDLGdCQUFnQixDQUFDLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQztZQUNyRCxDQUFDO1FBQ0wsQ0FBQztRQUNELE9BQU8sR0FBRyxDQUFDO0lBQ2YsQ0FBQztJQVJlLHVCQUFNLFNBUXJCLENBQUE7QUFDTCxDQUFDLEVBYmdCLGdCQUFnQixLQUFoQixnQkFBZ0IsUUFhaEMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDYXB0dXJlaWREYXRhdHlwZXNDb21wb25lbnQgfSBmcm9tICcuL2NhcHR1cmVpZC1kYXRhdHlwZXMuY29tcG9uZW50JztcbmltcG9ydCB7IFZBVCB9IGZyb20gJy4vbW9kZWwvY29tbW9uL3RheGVzJztcbmV4cG9ydCBlbnVtIERhdGFUeXBlIHtcbiAgICBVTktOT1dOID0gMCxcbiAgICBOQVZJR0FUSU9OID0gMSxcbiAgICBTWVNURU0gPSAyLFxuICAgIExBQkVMID0gMyxcbiAgICBORVRXT1JLID0gNCxcbiAgICBESVNDT1ZFUiA9IDUsXG4gICAgUFJJTlRFUiA9IDYsXG4gICAgUFJPRklMRSA9IDcsXG4gICAgQ0hBUlQgPSA4LFxuICAgIFFVRVVFID0gOSxcbiAgICBMQUJFTFBSSU5UID0gMTAsXG4gICAgUFJPRklMRTJDT05UQUlORVIgPSAxMSxcbiAgICBVU0VSID0gMTIsXG4gICAgQVVUSEVOVElDQVRJT04gPSAxMyxcbiAgICBVU0VSRVhURU5ERUQgPSAxNCxcbiAgICBNT0RVTEUgPSAxNSxcbiAgICBQUk9EVUNUX0NBVEVHT1JZID0gMTYsXG4gICAgUFJPRFVDVF9TVUJDQVRFR09SWSA9IDE3LFxuICAgIElURU0gPSAxOCxcbiAgICBBRERSRVNTID0gMTksXG4gICAgTE9DQVRJT04gPSAyMCxcbiAgICBBQ0NFU1NQT0lOVCA9IDIxLFxuICAgIFNIRUxGTEFCRUwgPSAyMixcbiAgICBWRU5ET1IgPSAyMyxcbiAgICBQQVlNRU5UVEVSTUlOQUwgPSAyNCxcbiAgICBFU0xQT09MID0gMjUsXG4gICAgVkVSSUZJQ0FUSU9OVE9LRU4gPSAyNixcbiAgICBVU0VSUFJPRklMRSA9IDI3LFxuICAgIENMSUVOVCA9IDI4LFxuICAgIExJQ0VOU0UgPSAyOSxcbiAgICBJTUFHRSA9IDMwLFxuICAgIE1BTlVGQUNUVVJFUiA9IDMxLFxuICAgIFJBVElORyA9IDMyLFxuICAgIFBBQ0tBR0lORyA9IDMzLFxuICAgIENVUlJFTkNZID0gMzQsXG4gICAgSVRFTVBST1BFUlRJRVMgPSAzNSxcbiAgICBTVE9DSyA9IDM2LFxuICAgIElOVkVOVE9SWSA9IDM3LFxuICAgIENPVU5UUlkgPSAzOCxcbiAgICBCVUlMRElORyA9IDM5LFxuICAgIENPTVBBTlkgPSA0MCxcbiAgICBJVEVNUFJPUEVSVFkgPSA0MSxcbiAgICBESU1FTlNJT04gPSA0MixcbiAgICBTSEVMRiA9IDQzLFxuICAgIFBVUkNIQVNFUFJJQ0UgPSA0NCxcbiAgICBTRUxMSU5HUFJJQ0UgPSA0NSxcbiAgICBGTE9PUiA9IDQ2LFxuICAgIFJPT00gPSA0NyxcbiAgICBMRVZFTCA9IDQ4LFxuICAgIFNQQUNFID0gNDksXG4gICAgQk9PS0lORyA9IDUwLFxuICAgIEdQSU8gPSA1MSxcbiAgICBJVEVNREVUQUlMID0gNTIsXG4gICAgRVNMQVNTT0NJQVRJT04gPSA1MyxcbiAgICBFU0xVUERBVEUgPSA1NCxcbiAgICBNRVNTQUdFID0gNTUsXG4gICAgRVNMVEVNUExBVEUgPSA1NixcbiAgICBJVEVNU0hPUlQgPSA1NyxcbiAgICBDQVJUID0gNTgsXG4gICAgUEFZTUVOVCA9IDU5LFxuICAgIExPR0VOVFJZID0gNjAsXG4gICAgU1RBVElTVElDID0gNjEsXG4gICAgUk9MRSA9IDYyLFxuICAgIFVTRVJBQ0NFU1MgPSA2MyxcbiAgICBSRVNPVVJDRSA9IDY0LFxuICAgIE1FTlUgPSA2NSxcbiAgICBDT1VQT04gPSA2NixcbiAgICBCT04gPSA2NyxcbiAgICBFTkRPRkRBWUJPTiA9IDY4LFxuICAgIFBST1BFUlRZTkFNRVMgPSA2OSxcbiAgICBDQVRFR09SWU5BTUVTID0gNzAsXG4gICAgSVRFTUdST1VQID0gNzEsXG4gICAgVkFUID0gNzIsXG4gICAgSU1QT1JUID0gNzMsXG4gICAgU1VQUExJRVIgPSA3NCxcbiAgICBGQVEgPSA3NSxcbiAgICBDSEFUID0gNzYsXG4gICAgRkFSTUlOR01FVEhPRCA9IDc3LFxuICAgIFRJQ0tFVCA9IDc4LFxuICAgIFRJQ0tFVE1FU1NBR0UgPSA3OSxcbiAgICBXRUJURU1QTEFURSA9IDgwLFxuICAgIEVNQUlMVEVNUExBVEUgPSA4MSxcbiAgICBKT1VSTkFMID0gODIsXG59XG5cbmV4cG9ydCBlbnVtIEJvb2tpbmdUeXBlIHtcbiAgICBVTktOT1dOID0gMCxcbiAgICBJTkNPTUlORyA9IDEsICAgICAgICAgICAvL1dhcmVuZWluZ2FuZ1xuICAgIE9VVEdPSU5HID0gMiwgICAgICAgICAgIC8vV2FyZW5hdXNnYW5nXG5cbiAgICBTVE9SRUFDQ0VTUyA9IDgsICAgICAgICAvL1p1Z2FuZyB6dW0gVmVya2F1ZiAoVMO8csO2ZmZuZXIpXG4gICAgU1RPUkVFWElUID0gOSwgICAgICAgICAgLy9WZXJsYXNzZW4gZGVzIEdlc2Now6RmdHMgKFTDvHLDtmZmbmVyKVxuXG4gICAgUFJPTU9USU9OID0gMTEsICAgICAgICAgLy9XZXJiZWFrdGlvblxuXG4gICAgTUFSS0RPV04gPSAyMSwgICAgICAgICAgLy9QcmVpc3JlZHV6aWVydW5nXG4gICAgTUFSS1VQID0gMjIsICAgICAgICAgICAgLy9QcmVpc2VyaMO2aHVuZ1xuXG4gICAgU1RPQ0tNT1ZFID0gMzEsICAgICAgICAgLy9MYWdlcmJld2VndW5nXG4gICAgU1RPQ0tBREQgPSAzMiwgICAgICAgICAgLy9MYWdlcnp1Z2FuZ1xuICAgIFNUT0NLUkVNT1ZFID0gMzMsICAgICAgIC8vTGFnZXJhYmdhbmdcblxuICAgIFNFTExJTkdBREQgPSA0MSwgICAgICAgIC8vVmVya2F1ZlxuICAgIFNFTExJTkdSRU1PVkUgPSA0MiwgICAgIC8vU3Rvcm5vXG4gICAgU0VMTElOR1VQREFURSA9IDQzLCAgICAgLy/DhG5kZXJ1bmdcblxuICAgIFNUT1JFVFJBTlNGRVIgPSA1MSwgICAgIC8vTGFnZXJ0cmFuc2ZlclxuICAgIFJFU0VSVkFUSU9OID0gNTIsICAgICAgIC8vUmVzZXJ2aWVydW5nXG4gICAgT1JERVIgPSA1MywgICAgICAgICAgICAgLy9CZXN0ZWxsdW5nXG4gICAgUkVUVVJOID0gNTQsICAgICAgICAgICAgLy9Sw7xja3NlbmR1bmdcblxuICAgIFNUT0NLVEFLRSA9IDYxLCAgICAgICAgIC8vSW52ZW50dXJcbiAgICBTVE9DS0NPUlJFQ1RJT04gPSA2MiwgICAvL0Jlc3RhbmRza29ycmVrdHVyXG4gICAgU1RPQ0tBREpVU1RNRU5UID0gNjMsICAgLy9CZXN0YW5kc2FucGFzc3VuZ1xuICAgIFNUT0NLQ0hFQ0sgPSA2NCwgICAgICAgIC8vQmVzdGFuZHNwcsO8ZnVuZ1xuXG4gICAgREFNQUdFRCA9IDcxLCAgICAgICAgICAgLy9CZXNjaMOkZGlndW5nXG4gICAgTE9TVCA9IDcyLCAgICAgICAgICAgICAgLy9WZXJsdXN0XG4gICAgRVhQSVJFRCA9IDczLCAgICAgICAgICAgLy9WZXJmYWxsXG5cbiAgICBERUxJVkVSWSA9IDgxLCAgICAgICAgICAvL0xpZWZlcnVuZ1xuICAgIFBJQ0tVUCA9IDgyLCAgICAgICAgICAgIC8vQWJob2x1bmdcbiAgICBTSElQUElORyA9IDgzLCAgICAgICAgICAvL1ZlcnNhbmRcblxuICAgIFNVQlNDUklQVElPTiA9IDkxLCAgICAgIC8vQWJvbm5lbWVudFxuICAgIElOVk9JQ0UgPSA5MiwgICAgICAgICAgIC8vUmVjaG51bmdcbiAgICBQQVlNRU5UID0gOTMsICAgICAgICAgICAvL1phaGx1bmdcbiAgICBSRUZVTkQgPSA5NCwgICAgICAgICAgICAvL1LDvGNrZXJzdGF0dHVuZ1xuXG4gICAgRE9OQVRJT04gPSAxMDEsICAgICAgICAgLy9TcGVuZGVcblxuICAgIEdJRlQgPSAxMTEsICAgICAgICAgICAgIC8vR2VzY2hlbmtcbiAgICBHSUZUQ0FSRCA9IDExMiwgICAgICAgICAvL0dlc2NoZW5ra2FydGVcbiAgICBHSUZUVk9VQ0hFUiA9IDExMywgICAgICAvL0d1dHNjaGVpblxufVxuXG5leHBvcnQgZW51bSBPcGVyYXRvcnMge1xuICAgIFVOS05PV04gPSAwLFxuICAgIEFORCA9IDEsXG4gICAgT1IgPSAyLFxufVxuXG5leHBvcnQgZW51bSBEYXRhYmFzZUV2ZW50VHlwZSB7XG4gICAgRVZFTlRfVU5LTk9XTiA9IDAsXG4gICAgRVZFTlRfQURERUQgPSAxLFxuICAgIEVWRU5UX1VQREFURUQgPSAyLFxuICAgIEVWRU5UX0RFTEVURUQgPSAzXG59XG5cbmV4cG9ydCBlbnVtIEVNYWlsVGVtcGxhdGVUeXBlIHtcbiAgICBXRUxDT01FID0gMCxcbiAgICBSRUdDT05GSVJNID0gMSxcbiAgICBSRVNFVFBBU1NXT1JEID0gMlxufVxuXG5leHBvcnQgZW51bSBXZWJUZW1wbGF0ZVR5cGUge1xuICAgIEhPTUVQQUdFID0gMCxcbiAgICBXRUxDT01FUEFHRSA9IDEsXG4gICAgQ09ORklSTVBBR0UgPSAyXG59XG5cbmV4cG9ydCBlbnVtIFBpblN0YXRlIHtcbiAgICBVTktOT1dOID0gMCxcbiAgICBMT1cgPSAxLFxuICAgIEhJR0ggPSAyXG59XG5leHBvcnQgbmFtZXNwYWNlIFBpblN0YXRlIHtcbiAgICBleHBvcnQgZnVuY3Rpb24gdmFsdWVPZihzdHI6IHN0cmluZyk6IG51bWJlciB7XG4gICAgICAgIHJldHVybiBQaW5TdGF0ZVtzdHIgYXMga2V5b2YgdHlwZW9mIFBpblN0YXRlXSBhcyBudW1iZXI7XG4gICAgfVxuICAgIGV4cG9ydCBmdW5jdGlvbiB2YWx1ZXMoKSB7XG4gICAgICAgIGxldCByZXM6IGFueVtdID0gW107XG4gICAgICAgIGZvcihjb25zdCB2YWx1ZSBpbiBPYmplY3QudmFsdWVzKFBpblN0YXRlKSkge1xuICAgICAgICAgICAgaWYoaXNOYU4oT2JqZWN0LnZhbHVlcyhQaW5TdGF0ZSlbdmFsdWVdIGFzIGFueSkgJiYgdHlwZW9mKE9iamVjdC52YWx1ZXMoUGluU3RhdGUpW3ZhbHVlXSkgIT09ICdmdW5jdGlvbicpIHtcbiAgICAgICAgICAgICAgICByZXMucHVzaChPYmplY3QudmFsdWVzKFBpblN0YXRlKVt2YWx1ZV0pO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIHJldHVybiByZXM7XG4gICAgfVxufVxuXG5leHBvcnQgZW51bSBNb2R1bGVUeXBlIHtcbiAgICBVTktOT1dOID0gMCxcbiAgICBBSV9NT0RVTEUgPSAxLFxuICAgIFBBWU1FTlRfTU9EVUxFID0gMixcbiAgICBSRklEX01PRFVMRSA9IDMsXG4gICAgRVNMX01PRFVMRSA9IDQsXG4gICAgREIyX01PRFVMRSA9IDUsXG4gICAgTU9OR09EQl9NT0RVTEUgPSA2LFxuICAgIFBPU1RHUkVTX01PRFVMRSA9IDcsXG4gICAgQVVUSEVOVElDQVRJT05fTU9EVUxFID0gOCxcbiAgICBHQVRFV0FZX01PRFVMRSA9IDksXG4gICAgUFJJTlRfTU9EVUxFID0gMTAsXG4gICAgUkVHSVNUUllfTU9EVUxFID0gMTEsXG59XG5cbmV4cG9ydCBuYW1lc3BhY2UgTW9kdWxlVHlwZSB7XG4gICAgZXhwb3J0IGZ1bmN0aW9uIHZhbHVlT2Yoc3RyOiBzdHJpbmcpOiBudW1iZXIge1xuICAgICAgICByZXR1cm4gTW9kdWxlVHlwZVtzdHIgYXMga2V5b2YgdHlwZW9mIE1vZHVsZVR5cGVdIGFzIG51bWJlcjtcbiAgICB9XG4gICAgZXhwb3J0IGZ1bmN0aW9uIHZhbHVlcygpIHtcbiAgICAgICAgbGV0IHJlczogYW55W10gPSBbXTtcbiAgICAgICAgZm9yKGNvbnN0IHZhbHVlIGluIE9iamVjdC52YWx1ZXMoTW9kdWxlVHlwZSkpIHtcbiAgICAgICAgICAgIGlmKGlzTmFOKE9iamVjdC52YWx1ZXMoTW9kdWxlVHlwZSlbdmFsdWVdIGFzIGFueSkgJiYgdHlwZW9mKE9iamVjdC52YWx1ZXMoTW9kdWxlVHlwZSlbdmFsdWVdKSAhPT0gJ2Z1bmN0aW9uJykge1xuICAgICAgICAgICAgICAgIHJlcy5wdXNoKE9iamVjdC52YWx1ZXMoTW9kdWxlVHlwZSlbdmFsdWVdKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICByZXR1cm4gcmVzO1xuICAgIH1cbn1cblxuZXhwb3J0IGVudW0gUmVnaXN0cmF0aW9uU3RhdGUge1xuICAgIFVOS05PV04gPSAwLFxuICAgIFJFUVVFU1RFRCA9IDEsXG4gICAgT1RQQ09NUExFVEUgPSAyLFxuICAgIENPTkZJUk1FRCA9IDMsXG4gICAgQVNTT0NJQVRFRCA9IDQsXG4gICAgQ09NUExFVEVEID0gNVxufVxuXG5leHBvcnQgbmFtZXNwYWNlIFJlZ2lzdHJhdGlvblN0YXRlIHtcbiAgICBleHBvcnQgZnVuY3Rpb24gdmFsdWVPZihzdHI6IHN0cmluZyk6IG51bWJlciB7XG4gICAgICAgIHJldHVybiBSZWdpc3RyYXRpb25TdGF0ZVtzdHIgYXMga2V5b2YgdHlwZW9mIFJlZ2lzdHJhdGlvblN0YXRlXSBhcyBudW1iZXI7XG4gICAgfVxuICAgIGV4cG9ydCBmdW5jdGlvbiB2YWx1ZXMoKSB7XG4gICAgICAgIGxldCByZXM6IGFueVtdID0gW107XG4gICAgICAgIGZvcihjb25zdCB2YWx1ZSBpbiBPYmplY3QudmFsdWVzKFJlZ2lzdHJhdGlvblN0YXRlKSkge1xuICAgICAgICAgICAgaWYoaXNOYU4oT2JqZWN0LnZhbHVlcyhSZWdpc3RyYXRpb25TdGF0ZSlbdmFsdWVdIGFzIGFueSkgJiYgdHlwZW9mKE9iamVjdC52YWx1ZXMoUmVnaXN0cmF0aW9uU3RhdGUpW3ZhbHVlXSkgIT09ICdmdW5jdGlvbicpIHtcbiAgICAgICAgICAgICAgICByZXMucHVzaChPYmplY3QudmFsdWVzKFJlZ2lzdHJhdGlvblN0YXRlKVt2YWx1ZV0pO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIHJldHVybiByZXM7XG4gICAgfVxufVxuXG5leHBvcnQgZW51bSBQcmludGVyTGFuZ3VhZ2Uge1xuICAgIFVOS05PV04gPSAwLFxuICAgIFNCUEwgPSAxLFxuICAgIFNQT1MgPSAyLFxuICAgIFNDUENMID0gMyxcbiAgICBTWlBMID0gNCxcbiAgICBTRFBMID0gNSxcbiAgICBTSVBMID0gNixcbiAgICBTVFBDTCA9IDcsXG4gICAgWlBMID0gOCxcbiAgICBDWlBMID0gOSxcbiAgICBGSU5HRVJQUklOVCA9IDEwLFxuICAgIERQID0gMTEsXG4gICAgU0xDUyA9IDEyXG59XG5cbmV4cG9ydCBuYW1lc3BhY2UgUHJpbnRlckxhbmd1YWdlIHtcbiAgICBleHBvcnQgZnVuY3Rpb24gdmFsdWVPZihzdHI6IHN0cmluZyk6IG51bWJlciB7XG4gICAgICAgIHJldHVybiBQcmludGVyTGFuZ3VhZ2Vbc3RyIGFzIGtleW9mIHR5cGVvZiBQcmludGVyTGFuZ3VhZ2VdIGFzIG51bWJlcjtcbiAgICB9XG4gICAgZXhwb3J0IGZ1bmN0aW9uIHZhbHVlcygpIHtcbiAgICAgICAgbGV0IHJlczogYW55W10gPSBbXTtcbiAgICAgICAgZm9yKGNvbnN0IHZhbHVlIGluIE9iamVjdC52YWx1ZXMoUHJpbnRlckxhbmd1YWdlKSkge1xuICAgICAgICAgICAgaWYoaXNOYU4oT2JqZWN0LnZhbHVlcyhQcmludGVyTGFuZ3VhZ2UpW3ZhbHVlXSBhcyBhbnkpICYmIHR5cGVvZihPYmplY3QudmFsdWVzKFByaW50ZXJMYW5ndWFnZSlbdmFsdWVdKSAhPT0gJ2Z1bmN0aW9uJykge1xuICAgICAgICAgICAgICAgIHJlcy5wdXNoKE9iamVjdC52YWx1ZXMoUHJpbnRlckxhbmd1YWdlKVt2YWx1ZV0pO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIHJldHVybiByZXM7XG4gICAgfVxufVxuXG5leHBvcnQgZW51bSBQcmludGVyTWFudWZhY3R1cmVyIHtcbiAgICBVTktOT1dOID0gMCxcbiAgICBDSVRJWkVOID0gMSxcbiAgICBCSVhPTE9OID0gMixcbiAgICBCUk9USEVSID0gMyxcbiAgICBFU0NQT1MgPSA0LFxuICAgIEdPT0pQUlQgPSA1LFxuICAgIEhPTkVZV0VMTCA9IDYsXG4gICAgU0FUTyA9IDcsXG4gICAgWkVCUkEgPSA4ICAgIFxufVxuXG5leHBvcnQgbmFtZXNwYWNlIFByaW50ZXJNYW51ZmFjdHVyZXIge1xuICAgIGV4cG9ydCBmdW5jdGlvbiB2YWx1ZU9mKHN0cjogc3RyaW5nKTogbnVtYmVyIHtcbiAgICAgICAgcmV0dXJuIFByaW50ZXJNYW51ZmFjdHVyZXJbc3RyIGFzIGtleW9mIHR5cGVvZiBQcmludGVyTWFudWZhY3R1cmVyXSBhcyBudW1iZXI7XG4gICAgfVxuICAgIGV4cG9ydCBmdW5jdGlvbiB2YWx1ZXMoKSB7XG4gICAgICAgIGxldCByZXM6IGFueVtdID0gW107XG4gICAgICAgIGZvcihjb25zdCB2YWx1ZSBpbiBPYmplY3QudmFsdWVzKFByaW50ZXJNYW51ZmFjdHVyZXIpKSB7XG4gICAgICAgICAgICBpZihpc05hTihPYmplY3QudmFsdWVzKFByaW50ZXJNYW51ZmFjdHVyZXIpW3ZhbHVlXSBhcyBhbnkpICYmIHR5cGVvZihPYmplY3QudmFsdWVzKFByaW50ZXJNYW51ZmFjdHVyZXIpW3ZhbHVlXSkgIT09ICdmdW5jdGlvbicpIHtcbiAgICAgICAgICAgICAgICByZXMucHVzaChPYmplY3QudmFsdWVzKFByaW50ZXJNYW51ZmFjdHVyZXIpW3ZhbHVlXSk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgcmV0dXJuIHJlcztcbiAgICB9XG59XG5cbmV4cG9ydCBlbnVtIFVuaXQge1xuICAgIFVOS05PV04gPSAwLFxuICAgIE1NID0gMSxcbiAgICBDTSA9IDIsXG4gICAgTSA9IDMsXG4gICAgSU5DSCA9IDQsXG4gICAgRk9PVCA9IDUsXG4gICAgUElFQ0UgPSA2LFxuICAgIEtHID0gNyxcbiAgICBHUkFNTSA9IDgsXG4gICAgTUlMTElHUkFNTSA9IDksIFxufVxuZXhwb3J0IG5hbWVzcGFjZSBVbml0IHtcbiAgICBleHBvcnQgZnVuY3Rpb24gdmFsdWVPZihzdHI6IHN0cmluZyk6IG51bWJlciB7XG4gICAgICAgIHJldHVybiBVbml0W3N0ciBhcyBrZXlvZiB0eXBlb2YgVW5pdF0gYXMgbnVtYmVyO1xuICAgIH1cbiAgICBleHBvcnQgZnVuY3Rpb24gdmFsdWVzKCkge1xuICAgICAgICBsZXQgcmVzOiBhbnlbXSA9IFtdO1xuICAgICAgICBmb3IoY29uc3QgdmFsdWUgaW4gT2JqZWN0LnZhbHVlcyhVbml0KSkge1xuICAgICAgICAgICAgaWYoaXNOYU4oT2JqZWN0LnZhbHVlcyhVbml0KVt2YWx1ZV0gYXMgYW55KSAmJiB0eXBlb2YoT2JqZWN0LnZhbHVlcyhVbml0KVt2YWx1ZV0pICE9PSAnZnVuY3Rpb24nKSB7XG4gICAgICAgICAgICAgICAgcmVzLnB1c2goT2JqZWN0LnZhbHVlcyhVbml0KVt2YWx1ZV0pO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIHJldHVybiByZXM7XG4gICAgfVxufVxuXG5leHBvcnQgZW51bSBTZXZlcml0eSB7XG5cdFVOS05PV04gPSAwLFxuXHRFTUVSR0VOQ1kgPSAxLFxuXHRBTEVSVCA9IDIsXG5cdENSSVRJQ0FMID0gMyxcblx0RVJST1IgPSA0LFxuXHRXQVJOSU5HID0gNSxcblx0Tk9USUNFID0gNixcblx0SU5GT1JNQVRJT04gPSA3LFxuXHRERUJVRyA9IDgsXG59XG5leHBvcnQgbmFtZXNwYWNlIFNldmVyaXR5IHtcbiAgICBleHBvcnQgZnVuY3Rpb24gdmFsdWVPZihzdHI6IHN0cmluZyk6IG51bWJlciB7XG4gICAgICAgIHJldHVybiBTZXZlcml0eVtzdHIgYXMga2V5b2YgdHlwZW9mIFNldmVyaXR5XSBhcyBudW1iZXI7XG4gICAgfVxuICAgIGV4cG9ydCBmdW5jdGlvbiB2YWx1ZXMoKSB7XG4gICAgICAgIGxldCByZXM6IGFueVtdID0gW107XG4gICAgICAgIGZvcihjb25zdCB2YWx1ZSBpbiBPYmplY3QudmFsdWVzKFNldmVyaXR5KSkge1xuICAgICAgICAgICAgaWYoaXNOYU4oT2JqZWN0LnZhbHVlcyhTZXZlcml0eSlbdmFsdWVdIGFzIGFueSkgJiYgdHlwZW9mKE9iamVjdC52YWx1ZXMoU2V2ZXJpdHkpW3ZhbHVlXSkgIT09ICdmdW5jdGlvbicpIHtcbiAgICAgICAgICAgICAgICByZXMucHVzaChPYmplY3QudmFsdWVzKFNldmVyaXR5KVt2YWx1ZV0pO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIHJldHVybiByZXM7XG4gICAgfVxufVxuXG5leHBvcnQgZW51bSBNZXNzYWdlVHlwZSB7XG4gICAgVU5LTk9XTiA9IDAsXG4gICAgRVJST1IgPSAxLFxuICAgIE5PVElGSUNBVElPTiA9IDIsXG4gICAgRVhDRVBUSU9OID0gMyxcbn1cbmV4cG9ydCBuYW1lc3BhY2UgTWVzc2FnZVR5cGUge1xuICAgIGV4cG9ydCBmdW5jdGlvbiB2YWx1ZU9mKHN0cjogc3RyaW5nKTogbnVtYmVyIHtcbiAgICAgICAgcmV0dXJuIE1lc3NhZ2VUeXBlW3N0ciBhcyBrZXlvZiB0eXBlb2YgTWVzc2FnZVR5cGVdIGFzIG51bWJlcjtcbiAgICB9XG4gICAgZXhwb3J0IGZ1bmN0aW9uIHZhbHVlcygpIHtcbiAgICAgICAgbGV0IHJlczogYW55W10gPSBbXTtcbiAgICAgICAgZm9yKGNvbnN0IHZhbHVlIGluIE9iamVjdC52YWx1ZXMoTWVzc2FnZVR5cGUpKSB7XG4gICAgICAgICAgICBpZihpc05hTihPYmplY3QudmFsdWVzKE1lc3NhZ2VUeXBlKVt2YWx1ZV0gYXMgYW55KSAmJiB0eXBlb2YoT2JqZWN0LnZhbHVlcyhNZXNzYWdlVHlwZSlbdmFsdWVdKSAhPT0gJ2Z1bmN0aW9uJykge1xuICAgICAgICAgICAgICAgIHJlcy5wdXNoKE9iamVjdC52YWx1ZXMoTWVzc2FnZVR5cGUpW3ZhbHVlXSk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgcmV0dXJuIHJlcztcbiAgICB9XG59XG5cbmV4cG9ydCBlbnVtIEF0dGFjaG1lbnRUeXBlIHtcbiAgVU5LTk9XTiA9IDAsXG4gIERBVEFGSUxFID0gMSxcbiAgVEVYVEZJTEUgPSAyLFxuICBJTUFHRUZJTEUgPSAzLFxuICBBVURJT0ZJTEUgPSA0LFxuICBWSURFT0ZJTEUgPSA1LFxuICBQREZGSUxFID0gNixcbn1cbmV4cG9ydCBuYW1lc3BhY2UgQXR0YWNobWVudFR5cGUge1xuICBleHBvcnQgZnVuY3Rpb24gdmFsdWVPZihzdHI6IHN0cmluZyk6IG51bWJlciB7XG4gICAgcmV0dXJuIEF0dGFjaG1lbnRUeXBlW3N0ciBhcyBrZXlvZiB0eXBlb2YgQXR0YWNobWVudFR5cGVdIGFzIG51bWJlcjtcbiAgfVxuICBleHBvcnQgZnVuY3Rpb24gdmFsdWVzKCkge1xuICAgIGxldCByZXM6IGFueVtdID0gW107XG4gICAgZm9yIChjb25zdCB2YWx1ZSBpbiBPYmplY3QudmFsdWVzKEF0dGFjaG1lbnRUeXBlKSkge1xuICAgICAgaWYgKFxuICAgICAgICBpc05hTihPYmplY3QudmFsdWVzKEF0dGFjaG1lbnRUeXBlKVt2YWx1ZV0gYXMgYW55KSAmJlxuICAgICAgICB0eXBlb2YgT2JqZWN0LnZhbHVlcyhBdHRhY2htZW50VHlwZSlbdmFsdWVdICE9PSAnZnVuY3Rpb24nXG4gICAgICApIHtcbiAgICAgICAgcmVzLnB1c2goT2JqZWN0LnZhbHVlcyhBdHRhY2htZW50VHlwZSlbdmFsdWVdKTtcbiAgICAgIH1cbiAgICB9XG4gICAgcmV0dXJuIHJlcztcbiAgfVxufVxuXG5leHBvcnQgZW51bSBTdGF0dXMge1xuICAgIFNVQ0NFU1MgPSAwLFxuICAgIEVSUk9SID0gMSxcbiAgICBJTkFDVElWRSA9IDIsXG4gICAgREVMRVRFRCA9IDMsXG4gICAgTE9DS0VEID0gNCxcbiAgICBVTkxPQ0tFRCA9IDUsXG4gICAgUEVORElORyA9IDYsXG4gICAgVU5LTk9XTiA9IDk5XG59XG5leHBvcnQgbmFtZXNwYWNlIFN0YXR1cyB7XG4gICAgZXhwb3J0IGZ1bmN0aW9uIHZhbHVlT2Yoc3RyOiBzdHJpbmcpOiBudW1iZXIge1xuICAgICAgICByZXR1cm4gU3RhdHVzW3N0ciBhcyBrZXlvZiB0eXBlb2YgU3RhdHVzXSBhcyBudW1iZXI7XG4gICAgfVxuICAgIGV4cG9ydCBmdW5jdGlvbiB2YWx1ZXMoKSB7XG4gICAgICAgIGxldCByZXM6IGFueVtdID0gW107XG4gICAgICAgIGZvcihjb25zdCB2YWx1ZSBpbiBPYmplY3QudmFsdWVzKFN0YXR1cykpIHtcbiAgICAgICAgICAgIGlmKGlzTmFOKE9iamVjdC52YWx1ZXMoU3RhdHVzKVt2YWx1ZV0gYXMgYW55KSAmJiB0eXBlb2YoT2JqZWN0LnZhbHVlcyhTdGF0dXMpW3ZhbHVlXSkgIT09ICdmdW5jdGlvbicpIHtcbiAgICAgICAgICAgIHJlcy5wdXNoKE9iamVjdC52YWx1ZXMoU3RhdHVzKVt2YWx1ZV0pO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIHJldHVybiByZXM7XG4gICAgfVxufVxuXG5leHBvcnQgZW51bSBUaWNrZXRTdGF0dXMge1xuICBPUEVOID0gMSxcbiAgQ0xPU0UgPSAyLFxuICBJTldPUksgPSAzLFxufVxuZXhwb3J0IG5hbWVzcGFjZSBUaWNrZXRTdGF0dXMge1xuICBleHBvcnQgZnVuY3Rpb24gdmFsdWVPZihzdHI6IHN0cmluZyk6IG51bWJlciB7XG4gICAgcmV0dXJuIFRpY2tldFN0YXR1c1tzdHIgYXMga2V5b2YgdHlwZW9mIFRpY2tldFN0YXR1c10gYXMgbnVtYmVyO1xuICB9XG4gIGV4cG9ydCBmdW5jdGlvbiB2YWx1ZXMoKSB7XG4gICAgbGV0IHJlczogYW55W10gPSBbXTtcbiAgICBmb3IgKGNvbnN0IHZhbHVlIGluIE9iamVjdC52YWx1ZXMoVGlja2V0U3RhdHVzKSkge1xuICAgICAgaWYgKFxuICAgICAgICBpc05hTihPYmplY3QudmFsdWVzKFRpY2tldFN0YXR1cylbdmFsdWVdIGFzIGFueSkgJiZcbiAgICAgICAgdHlwZW9mIE9iamVjdC52YWx1ZXMoVGlja2V0U3RhdHVzKVt2YWx1ZV0gIT09ICdmdW5jdGlvbidcbiAgICAgICkge1xuICAgICAgICByZXMucHVzaChPYmplY3QudmFsdWVzKFRpY2tldFN0YXR1cylbdmFsdWVdKTtcbiAgICAgIH1cbiAgICB9XG4gICAgcmV0dXJuIHJlcztcbiAgfVxufVxuXG5leHBvcnQgZW51bSBUaWNrZXRTZW5kZXJUeXBlIHtcbiAgICBVTktOT1dOID0gMCxcbiAgICBVU0VSID0gMSxcbiAgICBBRE1JTiA9IDIsXG59XG5leHBvcnQgbmFtZXNwYWNlIFRpY2tldFNlbmRlclR5cGUge1xuICAgIGV4cG9ydCBmdW5jdGlvbiB2YWx1ZU9mKHN0cjogc3RyaW5nKTogbnVtYmVyIHtcbiAgICAgICAgcmV0dXJuIFRpY2tldFNlbmRlclR5cGVbc3RyIGFzIGtleW9mIHR5cGVvZiBUaWNrZXRTZW5kZXJUeXBlXSBhcyBudW1iZXI7XG4gICAgfVxuICAgIGV4cG9ydCBmdW5jdGlvbiB2YWx1ZXMoKSB7XG4gICAgICAgIGxldCByZXM6IGFueVtdID0gW107XG4gICAgICAgIGZvciAoY29uc3QgdmFsdWUgaW4gT2JqZWN0LnZhbHVlcyhUaWNrZXRTZW5kZXJUeXBlKSkge1xuICAgICAgICAgICAgaWYgKGlzTmFOKE9iamVjdC52YWx1ZXMoVGlja2V0U2VuZGVyVHlwZSlbdmFsdWVdIGFzIGFueSkgJiYgdHlwZW9mIE9iamVjdC52YWx1ZXMoVGlja2V0U2VuZGVyVHlwZSlbdmFsdWVdICE9PSAnZnVuY3Rpb24nKSB7XG4gICAgICAgICAgICAgICAgcmVzLnB1c2goT2JqZWN0LnZhbHVlcyhUaWNrZXRTZW5kZXJUeXBlKVt2YWx1ZV0pO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIHJldHVybiByZXM7XG4gICAgfVxufVxuIl19
468
+ export var CouponType;
469
+ (function (CouponType) {
470
+ CouponType[CouponType["UNKNOWN"] = 0] = "UNKNOWN";
471
+ CouponType[CouponType["COUPON"] = 1] = "COUPON";
472
+ CouponType[CouponType["VOUCHER"] = 2] = "VOUCHER";
473
+ CouponType[CouponType["GIFT"] = 3] = "GIFT";
474
+ CouponType[CouponType["GIFT_CARD"] = 4] = "GIFT_CARD";
475
+ CouponType[CouponType["GIFT_VOUCHER"] = 5] = "GIFT_VOUCHER";
476
+ CouponType[CouponType["DISCOUNT"] = 6] = "DISCOUNT";
477
+ })(CouponType || (CouponType = {}));
478
+ (function (CouponType) {
479
+ function valueOf(str) {
480
+ return CouponType[str];
481
+ }
482
+ CouponType.valueOf = valueOf;
483
+ function values() {
484
+ let res = [];
485
+ for (const value in Object.values(CouponType)) {
486
+ if (isNaN(Object.values(CouponType)[value]) &&
487
+ typeof Object.values(CouponType)[value] !== 'function') {
488
+ res.push(Object.values(CouponType)[value]);
489
+ }
490
+ }
491
+ return res;
492
+ }
493
+ CouponType.values = values;
494
+ })(CouponType || (CouponType = {}));
495
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZW51bXMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9wcm9qZWN0cy9jYXB0dXJlaWQtZGF0YXR5cGVzL3NyYy9saWIvZW51bXMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBRUEsTUFBTSxDQUFOLElBQVksUUFvRlg7QUFwRkQsV0FBWSxRQUFRO0lBQ2hCLDZDQUFXLENBQUE7SUFDWCxtREFBYyxDQUFBO0lBQ2QsMkNBQVUsQ0FBQTtJQUNWLHlDQUFTLENBQUE7SUFDVCw2Q0FBVyxDQUFBO0lBQ1gsK0NBQVksQ0FBQTtJQUNaLDZDQUFXLENBQUE7SUFDWCw2Q0FBVyxDQUFBO0lBQ1gseUNBQVMsQ0FBQTtJQUNULHlDQUFTLENBQUE7SUFDVCxvREFBZSxDQUFBO0lBQ2Ysa0VBQXNCLENBQUE7SUFDdEIsd0NBQVMsQ0FBQTtJQUNULDREQUFtQixDQUFBO0lBQ25CLHdEQUFpQixDQUFBO0lBQ2pCLDRDQUFXLENBQUE7SUFDWCxnRUFBcUIsQ0FBQTtJQUNyQixzRUFBd0IsQ0FBQTtJQUN4Qix3Q0FBUyxDQUFBO0lBQ1QsOENBQVksQ0FBQTtJQUNaLGdEQUFhLENBQUE7SUFDYixzREFBZ0IsQ0FBQTtJQUNoQixvREFBZSxDQUFBO0lBQ2YsNENBQVcsQ0FBQTtJQUNYLDhEQUFvQixDQUFBO0lBQ3BCLDhDQUFZLENBQUE7SUFDWixrRUFBc0IsQ0FBQTtJQUN0QixzREFBZ0IsQ0FBQTtJQUNoQiw0Q0FBVyxDQUFBO0lBQ1gsOENBQVksQ0FBQTtJQUNaLDBDQUFVLENBQUE7SUFDVix3REFBaUIsQ0FBQTtJQUNqQiw0Q0FBVyxDQUFBO0lBQ1gsa0RBQWMsQ0FBQTtJQUNkLGdEQUFhLENBQUE7SUFDYiw0REFBbUIsQ0FBQTtJQUNuQiwwQ0FBVSxDQUFBO0lBQ1Ysa0RBQWMsQ0FBQTtJQUNkLDhDQUFZLENBQUE7SUFDWixnREFBYSxDQUFBO0lBQ2IsOENBQVksQ0FBQTtJQUNaLHdEQUFpQixDQUFBO0lBQ2pCLGtEQUFjLENBQUE7SUFD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Q0FBQyxVQUFVLENBQUMsQ0FBQyxLQUFLLENBQUMsS0FBSyxVQUFVLEVBQ3RELENBQUM7Z0JBQ0QsR0FBRyxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsTUFBTSxDQUFDLFVBQVUsQ0FBQyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUM7WUFDN0MsQ0FBQztRQUNILENBQUM7UUFDRCxPQUFPLEdBQUcsQ0FBQztJQUNiLENBQUM7SUFYZSxpQkFBTSxTQVdyQixDQUFBO0FBQ0gsQ0FBQyxFQWhCZ0IsVUFBVSxLQUFWLFVBQVUsUUFnQjFCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ2FwdHVyZWlkRGF0YXR5cGVzQ29tcG9uZW50IH0gZnJvbSAnLi9jYXB0dXJlaWQtZGF0YXR5cGVzLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBWQVQgfSBmcm9tICcuL21vZGVsL2NvbW1vbi90YXhlcyc7XG5leHBvcnQgZW51bSBEYXRhVHlwZSB7XG4gICAgVU5LTk9XTiA9IDAsXG4gICAgTkFWSUdBVElPTiA9IDEsXG4gICAgU1lTVEVNID0gMixcbiAgICBMQUJFTCA9IDMsXG4gICAgTkVUV09SSyA9IDQsXG4gICAgRElTQ09WRVIgPSA1LFxuICAgIFBSSU5URVIgPSA2LFxuICAgIFBST0ZJTEUgPSA3LFxuICAgIENIQVJUID0gOCxcbiAgICBRVUVVRSA9IDksXG4gICAgTEFCRUxQUklOVCA9IDEwLFxuICAgIFBST0ZJTEUyQ09OVEFJTkVSID0gMTEsXG4gICAgVVNFUiA9IDEyLFxuICAgIEFVVEhFTlRJQ0FUSU9OID0gMTMsXG4gICAgVVNFUkVYVEVOREVEID0gMTQsXG4gICAgTU9EVUxFID0gMTUsXG4gICAgUFJPRFVDVF9DQVRFR09SWSA9IDE2LFxuICAgIFBST0RVQ1RfU1VCQ0FURUdPUlkgPSAxNyxcbiAgICBJVEVNID0gMTgsXG4gICAgQUREUkVTUyA9IDE5LFxuICAgIExPQ0FUSU9OID0gMjAsXG4gICAgQUNDRVNTUE9JTlQgPSAyMSxcbiAgICBTSEVMRkxBQkVMID0gMjIsXG4gICAgVkVORE9SID0gMjMsXG4gICAgUEFZTUVOVFRFUk1JTkFMID0gMjQsXG4gICAgRVNMUE9PTCA9IDI1LFxuICAgIFZFUklGSUNBVElPTlRPS0VOID0gMjYsXG4gICAgVVNFUlBST0ZJTEUgPSAyNyxcbiAgICBDTElFTlQgPSAyOCxcbiAgICBMSUNFTlNFID0gMjksXG4gICAgSU1BR0UgPSAzMCxcbiAgICBNQU5VRkFDVFVSRVIgPSAzMSxcbiAgICBSQVRJTkcgPSAzMixcbiAgICBQQUNLQUdJTkcgPSAzMyxcbiAgICBDVVJSRU5DWSA9IDM0LFxuICAgIElURU1QUk9QRVJUSUVTID0gMzUsXG4gICAgU1RPQ0sgPSAzNixcbiAgICBJTlZFTlRPUlkgPSAzNyxcbiAgICBDT1VOVFJZID0gMzgsXG4gICAgQlVJTERJTkcgPSAzOSxcbiAgICBDT01QQU5ZID0gNDAsXG4gICAgSVRFTVBST1BFUlRZID0gNDEsXG4gICAgRElNRU5TSU9OID0gNDIsXG4gICAgU0hFTEYgPSA0MyxcbiAgICBQVVJDSEFTRVBSSUNFID0gNDQsXG4gICAgU0VMTElOR1BSSUNFID0gNDUsXG4gICAgRkxPT1IgPSA0NixcbiAgICBST09NID0gNDcsXG4gICAgTEVWRUwgPSA0OCxcbiAgICBTUEFDRSA9IDQ5LFxuICAgIEJPT0tJTkcgPSA1MCxcbiAgICBHUElPID0gNTEsXG4gICAgSVRFTURFVEFJTCA9IDUyLFxuICAgIEVTTEFTU09DSUFUSU9OID0gNTMsXG4gICAgRVNMVVBEQVRFID0gNTQsXG4gICAgTUVTU0FHRSA9IDU1LFxuICAgIEVTTFRFTVBMQVRFID0gNTYsXG4gICAgSVRFTVNIT1JUID0gNTcsXG4gICAgQ0FSVCA9IDU4LFxuICAgIFBBWU1FTlQgPSA1OSxcbiAgICBMT0dFTlRSWSA9IDYwLFxuICAgIFNUQVRJU1RJQyA9IDYxLFxuICAgIFJPTEUgPSA2MixcbiAgICBVU0VSQUNDRVNTID0gNjMsXG4gICAgUkVTT1VSQ0UgPSA2NCxcbiAgICBNRU5VID0gNjUsXG4gICAgQ09VUE9OID0gNjYsXG4gICAgQk9OID0gNjcsXG4gICAgRU5ET0ZEQVlCT04gPSA2OCxcbiAgICBQUk9QRVJUWU5BTUVTID0gNjksXG4gICAgQ0FURUdPUllOQU1FUyA9IDcwLFxuICAgIElURU1HUk9VUCA9IDcxLFxuICAgIFZBVCA9IDcyLFxuICAgIElNUE9SVCA9IDczLFxuICAgIFNVUFBMSUVSID0gNzQsXG4gICAgRkFRID0gNzUsXG4gICAgQ0hBVCA9IDc2LFxuICAgIEZBUk1JTkdNRVRIT0QgPSA3NyxcbiAgICBUSUNLRVQgPSA3OCxcbiAgICBUSUNLRVRNRVNTQUdFID0gNzksXG4gICAgV0VCVEVNUExBVEUgPSA4MCxcbiAgICBFTUFJTFRFTVBMQVRFID0gODEsXG4gICAgSk9VUk5BTCA9IDgyLFxufVxuXG5leHBvcnQgZW51bSBCb29raW5nVHlwZSB7XG4gICAgVU5LTk9XTiA9IDAsXG4gICAgSU5DT01JTkcgPSAxLCAgICAgICAgICAgLy9XYXJlbmVpbmdhbmdcbiAgICBPVVRHT0lORyA9IDIsICAgICAgICAgICAvL1dhcmVuYXVzZ2FuZ1xuXG4gICAgU1RPUkVBQ0NFU1MgPSA4LCAgICAgICAgLy9adWdhbmcgenVtIFZlcmthdWYgKFTDvHLDtmZmbmVyKVxuICAgIFNUT1JFRVhJVCA9IDksICAgICAgICAgIC8vVmVybGFzc2VuIGRlcyBHZXNjaMOkZnRzIChUw7xyw7ZmZm5lcilcblxuICAgIFBST01PVElPTiA9IDExLCAgICAgICAgIC8vV2VyYmVha3Rpb25cblxuICAgIE1BUktET1dOID0gMjEsICAgICAgICAgIC8vUHJlaXNyZWR1emllcnVuZ1xuICAgIE1BUktVUCA9IDIyLCAgICAgICAgICAgIC8vUHJlaXNlcmjDtmh1bmdcblxuICAgIFNUT0NLTU9WRSA9IDMxLCAgICAgICAgIC8vTGFnZXJiZXdlZ3VuZ1xuICAgIFNUT0NLQUREID0gMzIsICAgICAgICAgIC8vTGFnZXJ6dWdhbmdcbiAgICBTVE9DS1JFTU9WRSA9IDMzLCAgICAgICAvL0xhZ2VyYWJnYW5nXG5cbiAgICBTRUxMSU5HQUREID0gNDEsICAgICAgICAvL1ZlcmthdWZcbiAgICBTRUxMSU5HUkVNT1ZFID0gNDIsICAgICAvL1N0b3Jub1xuICAgIFNFTExJTkdVUERBVEUgPSA0MywgICAgIC8vw4RuZGVydW5nXG5cbiAgICBTVE9SRVRSQU5TRkVSID0gNTEsICAgICAvL0xhZ2VydHJhbnNmZXJcbiAgICBSRVNFUlZBVElPTiA9IDUyLCAgICAgICAvL1Jlc2VydmllcnVuZ1xuICAgIE9SREVSID0gNTMsICAgICAgICAgICAgIC8vQmVzdGVsbHVuZ1xuICAgIFJFVFVSTiA9IDU0LCAgICAgICAgICAgIC8vUsO8Y2tzZW5kdW5nXG5cbiAgICBTVE9DS1RBS0UgPSA2MSwgICAgICAgICAvL0ludmVudHVyXG4gICAgU1RPQ0tDT1JSRUNUSU9OID0gNjIsICAgLy9CZXN0YW5kc2tvcnJla3R1clxuICAgIFNUT0NLQURKVVNUTUVOVCA9IDYzLCAgIC8vQmVzdGFuZHNhbnBhc3N1bmdcbiAgICBTVE9DS0NIRUNLID0gNjQsICAgICAgICAvL0Jlc3RhbmRzcHLDvGZ1bmdcblxuICAgIERBTUFHRUQgPSA3MSwgICAgICAgICAgIC8vQmVzY2jDpGRpZ3VuZ1xuICAgIExPU1QgPSA3MiwgICAgICAgICAgICAgIC8vVmVybHVzdFxuICAgIEVYUElSRUQgPSA3MywgICAgICAgICAgIC8vVmVyZmFsbFxuXG4gICAgREVMSVZFUlkgPSA4MSwgICAgICAgICAgLy9MaWVmZXJ1bmdcbiAgICBQSUNLVVAgPSA4MiwgICAgICAgICAgICAvL0FiaG9sdW5nXG4gICAgU0hJUFBJTkcgPSA4MywgICAgICAgICAgLy9WZXJzYW5kXG5cbiAgICBTVUJTQ1JJUFRJT04gPSA5MSwgICAgICAvL0Fib25uZW1lbnRcbiAgICBJTlZPSUNFID0gOTIsICAgICAgICAgICAvL1JlY2hudW5nXG4gICAgUEFZTUVOVCA9IDkzLCAgICAgICAgICAgLy9aYWhsdW5nXG4gICAgUkVGVU5EID0gOTQsICAgICAgICAgICAgLy9Sw7xja2Vyc3RhdHR1bmdcblxuICAgIERPTkFUSU9OID0gMTAxLCAgICAgICAgIC8vU3BlbmRlXG5cbiAgICBHSUZUID0gMTExLCAgICAgICAgICAgICAvL0dlc2NoZW5rXG4gICAgR0lGVENBUkQgPSAxMTIsICAgICAgICAgLy9HZXNjaGVua2thcnRlXG4gICAgR0lGVFZPVUNIRVIgPSAxMTMsICAgICAgLy9HdXRzY2hlaW5cbn1cblxuZXhwb3J0IGVudW0gT3BlcmF0b3JzIHtcbiAgICBVTktOT1dOID0gMCxcbiAgICBBTkQgPSAxLFxuICAgIE9SID0gMixcbn1cblxuZXhwb3J0IGVudW0gRGF0YWJhc2VFdmVudFR5cGUge1xuICAgIEVWRU5UX1VOS05PV04gPSAwLFxuICAgIEVWRU5UX0FEREVEID0gMSxcbiAgICBFVkVOVF9VUERBVEVEID0gMixcbiAgICBFVkVOVF9ERUxFVEVEID0gM1xufVxuXG5leHBvcnQgZW51bSBFTWFpbFRlbXBsYXRlVHlwZSB7XG4gICAgV0VMQ09NRSA9IDAsXG4gICAgUkVHQ09ORklSTSA9IDEsXG4gICAgUkVTRVRQQVNTV09SRCA9IDJcbn1cblxuZXhwb3J0IGVudW0gV2ViVGVtcGxhdGVUeXBlIHtcbiAgICBIT01FUEFHRSA9IDAsXG4gICAgV0VMQ09NRVBBR0UgPSAxLFxuICAgIENPTkZJUk1QQUdFID0gMlxufVxuXG5leHBvcnQgZW51bSBQaW5TdGF0ZSB7XG4gICAgVU5LTk9XTiA9IDAsXG4gICAgTE9XID0gMSxcbiAgICBISUdIID0gMlxufVxuZXhwb3J0IG5hbWVzcGFjZSBQaW5TdGF0ZSB7XG4gICAgZXhwb3J0IGZ1bmN0aW9uIHZhbHVlT2Yoc3RyOiBzdHJpbmcpOiBudW1iZXIge1xuICAgICAgICByZXR1cm4gUGluU3RhdGVbc3RyIGFzIGtleW9mIHR5cGVvZiBQaW5TdGF0ZV0gYXMgbnVtYmVyO1xuICAgIH1cbiAgICBleHBvcnQgZnVuY3Rpb24gdmFsdWVzKCkge1xuICAgICAgICBsZXQgcmVzOiBhbnlbXSA9IFtdO1xuICAgICAgICBmb3IoY29uc3QgdmFsdWUgaW4gT2JqZWN0LnZhbHVlcyhQaW5TdGF0ZSkpIHtcbiAgICAgICAgICAgIGlmKGlzTmFOKE9iamVjdC52YWx1ZXMoUGluU3RhdGUpW3ZhbHVlXSBhcyBhbnkpICYmIHR5cGVvZihPYmplY3QudmFsdWVzKFBpblN0YXRlKVt2YWx1ZV0pICE9PSAnZnVuY3Rpb24nKSB7XG4gICAgICAgICAgICAgICAgcmVzLnB1c2goT2JqZWN0LnZhbHVlcyhQaW5TdGF0ZSlbdmFsdWVdKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICByZXR1cm4gcmVzO1xuICAgIH1cbn1cblxuZXhwb3J0IGVudW0gTW9kdWxlVHlwZSB7XG4gICAgVU5LTk9XTiA9IDAsXG4gICAgQUlfTU9EVUxFID0gMSxcbiAgICBQQVlNRU5UX01PRFVMRSA9IDIsXG4gICAgUkZJRF9NT0RVTEUgPSAzLFxuICAgIEVTTF9NT0RVTEUgPSA0LFxuICAgIERCMl9NT0RVTEUgPSA1LFxuICAgIE1PTkdPREJfTU9EVUxFID0gNixcbiAgICBQT1NUR1JFU19NT0RVTEUgPSA3LFxuICAgIEFVVEhFTlRJQ0FUSU9OX01PRFVMRSA9IDgsXG4gICAgR0FURVdBWV9NT0RVTEUgPSA5LFxuICAgIFBSSU5UX01PRFVMRSA9IDEwLFxuICAgIFJFR0lTVFJZX01PRFVMRSA9IDExLFxufVxuXG5leHBvcnQgbmFtZXNwYWNlIE1vZHVsZVR5cGUge1xuICAgIGV4cG9ydCBmdW5jdGlvbiB2YWx1ZU9mKHN0cjogc3RyaW5nKTogbnVtYmVyIHtcbiAgICAgICAgcmV0dXJuIE1vZHVsZVR5cGVbc3RyIGFzIGtleW9mIHR5cGVvZiBNb2R1bGVUeXBlXSBhcyBudW1iZXI7XG4gICAgfVxuICAgIGV4cG9ydCBmdW5jdGlvbiB2YWx1ZXMoKSB7XG4gICAgICAgIGxldCByZXM6IGFueVtdID0gW107XG4gICAgICAgIGZvcihjb25zdCB2YWx1ZSBpbiBPYmplY3QudmFsdWVzKE1vZHVsZVR5cGUpKSB7XG4gICAgICAgICAgICBpZihpc05hTihPYmplY3QudmFsdWVzKE1vZHVsZVR5cGUpW3ZhbHVlXSBhcyBhbnkpICYmIHR5cGVvZihPYmplY3QudmFsdWVzKE1vZHVsZVR5cGUpW3ZhbHVlXSkgIT09ICdmdW5jdGlvbicpIHtcbiAgICAgICAgICAgICAgICByZXMucHVzaChPYmplY3QudmFsdWVzKE1vZHVsZVR5cGUpW3ZhbHVlXSk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgcmV0dXJuIHJlcztcbiAgICB9XG59XG5cbmV4cG9ydCBlbnVtIFJlZ2lzdHJhdGlvblN0YXRlIHtcbiAgICBVTktOT1dOID0gMCxcbiAgICBSRVFVRVNURUQgPSAxLFxuICAgIE9UUENPTVBMRVRFID0gMixcbiAgICBDT05GSVJNRUQgPSAzLFxuICAgIEFTU09DSUFURUQgPSA0LFxuICAgIENPTVBMRVRFRCA9IDVcbn1cblxuZXhwb3J0IG5hbWVzcGFjZSBSZWdpc3RyYXRpb25TdGF0ZSB7XG4gICAgZXhwb3J0IGZ1bmN0aW9uIHZhbHVlT2Yoc3RyOiBzdHJpbmcpOiBudW1iZXIge1xuICAgICAgICByZXR1cm4gUmVnaXN0cmF0aW9uU3RhdGVbc3RyIGFzIGtleW9mIHR5cGVvZiBSZWdpc3RyYXRpb25TdGF0ZV0gYXMgbnVtYmVyO1xuICAgIH1cbiAgICBleHBvcnQgZnVuY3Rpb24gdmFsdWVzKCkge1xuICAgICAgICBsZXQgcmVzOiBhbnlbXSA9IFtdO1xuICAgICAgICBmb3IoY29uc3QgdmFsdWUgaW4gT2JqZWN0LnZhbHVlcyhSZWdpc3RyYXRpb25TdGF0ZSkpIHtcbiAgICAgICAgICAgIGlmKGlzTmFOKE9iamVjdC52YWx1ZXMoUmVnaXN0cmF0aW9uU3RhdGUpW3ZhbHVlXSBhcyBhbnkpICYmIHR5cGVvZihPYmplY3QudmFsdWVzKFJlZ2lzdHJhdGlvblN0YXRlKVt2YWx1ZV0pICE9PSAnZnVuY3Rpb24nKSB7XG4gICAgICAgICAgICAgICAgcmVzLnB1c2goT2JqZWN0LnZhbHVlcyhSZWdpc3RyYXRpb25TdGF0ZSlbdmFsdWVdKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICByZXR1cm4gcmVzO1xuICAgIH1cbn1cblxuZXhwb3J0IGVudW0gUHJpbnRlckxhbmd1YWdlIHtcbiAgICBVTktOT1dOID0gMCxcbiAgICBTQlBMID0gMSxcbiAgICBTUE9TID0gMixcbiAgICBTQ1BDTCA9IDMsXG4gICAgU1pQTCA9IDQsXG4gICAgU0RQTCA9IDUsXG4gICAgU0lQTCA9IDYsXG4gICAgU1RQQ0wgPSA3LFxuICAgIFpQTCA9IDgsXG4gICAgQ1pQTCA9IDksXG4gICAgRklOR0VSUFJJTlQgPSAxMCxcbiAgICBEUCA9IDExLFxuICAgIFNMQ1MgPSAxMlxufVxuXG5leHBvcnQgbmFtZXNwYWNlIFByaW50ZXJMYW5ndWFnZSB7XG4gICAgZXhwb3J0IGZ1bmN0aW9uIHZhbHVlT2Yoc3RyOiBzdHJpbmcpOiBudW1iZXIge1xuICAgICAgICByZXR1cm4gUHJpbnRlckxhbmd1YWdlW3N0ciBhcyBrZXlvZiB0eXBlb2YgUHJpbnRlckxhbmd1YWdlXSBhcyBudW1iZXI7XG4gICAgfVxuICAgIGV4cG9ydCBmdW5jdGlvbiB2YWx1ZXMoKSB7XG4gICAgICAgIGxldCByZXM6IGFueVtdID0gW107XG4gICAgICAgIGZvcihjb25zdCB2YWx1ZSBpbiBPYmplY3QudmFsdWVzKFByaW50ZXJMYW5ndWFnZSkpIHtcbiAgICAgICAgICAgIGlmKGlzTmFOKE9iamVjdC52YWx1ZXMoUHJpbnRlckxhbmd1YWdlKVt2YWx1ZV0gYXMgYW55KSAmJiB0eXBlb2YoT2JqZWN0LnZhbHVlcyhQcmludGVyTGFuZ3VhZ2UpW3ZhbHVlXSkgIT09ICdmdW5jdGlvbicpIHtcbiAgICAgICAgICAgICAgICByZXMucHVzaChPYmplY3QudmFsdWVzKFByaW50ZXJMYW5ndWFnZSlbdmFsdWVdKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICByZXR1cm4gcmVzO1xuICAgIH1cbn1cblxuZXhwb3J0IGVudW0gUHJpbnRlck1hbnVmYWN0dXJlciB7XG4gICAgVU5LTk9XTiA9IDAsXG4gICAgQ0lUSVpFTiA9IDEsXG4gICAgQklYT0xPTiA9IDIsXG4gICAgQlJPVEhFUiA9IDMsXG4gICAgRVNDUE9TID0gNCxcbiAgICBHT09KUFJUID0gNSxcbiAgICBIT05FWVdFTEwgPSA2LFxuICAgIFNBVE8gPSA3LFxuICAgIFpFQlJBID0gOCAgICBcbn1cblxuZXhwb3J0IG5hbWVzcGFjZSBQcmludGVyTWFudWZhY3R1cmVyIHtcbiAgICBleHBvcnQgZnVuY3Rpb24gdmFsdWVPZihzdHI6IHN0cmluZyk6IG51bWJlciB7XG4gICAgICAgIHJldHVybiBQcmludGVyTWFudWZhY3R1cmVyW3N0ciBhcyBrZXlvZiB0eXBlb2YgUHJpbnRlck1hbnVmYWN0dXJlcl0gYXMgbnVtYmVyO1xuICAgIH1cbiAgICBleHBvcnQgZnVuY3Rpb24gdmFsdWVzKCkge1xuICAgICAgICBsZXQgcmVzOiBhbnlbXSA9IFtdO1xuICAgICAgICBmb3IoY29uc3QgdmFsdWUgaW4gT2JqZWN0LnZhbHVlcyhQcmludGVyTWFudWZhY3R1cmVyKSkge1xuICAgICAgICAgICAgaWYoaXNOYU4oT2JqZWN0LnZhbHVlcyhQcmludGVyTWFudWZhY3R1cmVyKVt2YWx1ZV0gYXMgYW55KSAmJiB0eXBlb2YoT2JqZWN0LnZhbHVlcyhQcmludGVyTWFudWZhY3R1cmVyKVt2YWx1ZV0pICE9PSAnZnVuY3Rpb24nKSB7XG4gICAgICAgICAgICAgICAgcmVzLnB1c2goT2JqZWN0LnZhbHVlcyhQcmludGVyTWFudWZhY3R1cmVyKVt2YWx1ZV0pO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIHJldHVybiByZXM7XG4gICAgfVxufVxuXG5leHBvcnQgZW51bSBVbml0IHtcbiAgICBVTktOT1dOID0gMCxcbiAgICBNTSA9IDEsXG4gICAgQ00gPSAyLFxuICAgIE0gPSAzLFxuICAgIElOQ0ggPSA0LFxuICAgIEZPT1QgPSA1LFxuICAgIFBJRUNFID0gNixcbiAgICBLRyA9IDcsXG4gICAgR1JBTU0gPSA4LFxuICAgIE1JTExJR1JBTU0gPSA5LCBcbn1cbmV4cG9ydCBuYW1lc3BhY2UgVW5pdCB7XG4gICAgZXhwb3J0IGZ1bmN0aW9uIHZhbHVlT2Yoc3RyOiBzdHJpbmcpOiBudW1iZXIge1xuICAgICAgICByZXR1cm4gVW5pdFtzdHIgYXMga2V5b2YgdHlwZW9mIFVuaXRdIGFzIG51bWJlcjtcbiAgICB9XG4gICAgZXhwb3J0IGZ1bmN0aW9uIHZhbHVlcygpIHtcbiAgICAgICAgbGV0IHJlczogYW55W10gPSBbXTtcbiAgICAgICAgZm9yKGNvbnN0IHZhbHVlIGluIE9iamVjdC52YWx1ZXMoVW5pdCkpIHtcbiAgICAgICAgICAgIGlmKGlzTmFOKE9iamVjdC52YWx1ZXMoVW5pdClbdmFsdWVdIGFzIGFueSkgJiYgdHlwZW9mKE9iamVjdC52YWx1ZXMoVW5pdClbdmFsdWVdKSAhPT0gJ2Z1bmN0aW9uJykge1xuICAgICAgICAgICAgICAgIHJlcy5wdXNoKE9iamVjdC52YWx1ZXMoVW5pdClbdmFsdWVdKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICByZXR1cm4gcmVzO1xuICAgIH1cbn1cblxuZXhwb3J0IGVudW0gU2V2ZXJpdHkge1xuXHRVTktOT1dOID0gMCxcblx0RU1FUkdFTkNZID0gMSxcblx0QUxFUlQgPSAyLFxuXHRDUklUSUNBTCA9IDMsXG5cdEVSUk9SID0gNCxcblx0V0FSTklORyA9IDUsXG5cdE5PVElDRSA9IDYsXG5cdElORk9STUFUSU9OID0gNyxcblx0REVCVUcgPSA4LFxufVxuZXhwb3J0IG5hbWVzcGFjZSBTZXZlcml0eSB7XG4gICAgZXhwb3J0IGZ1bmN0aW9uIHZhbHVlT2Yoc3RyOiBzdHJpbmcpOiBudW1iZXIge1xuICAgICAgICByZXR1cm4gU2V2ZXJpdHlbc3RyIGFzIGtleW9mIHR5cGVvZiBTZXZlcml0eV0gYXMgbnVtYmVyO1xuICAgIH1cbiAgICBleHBvcnQgZnVuY3Rpb24gdmFsdWVzKCkge1xuICAgICAgICBsZXQgcmVzOiBhbnlbXSA9IFtdO1xuICAgICAgICBmb3IoY29uc3QgdmFsdWUgaW4gT2JqZWN0LnZhbHVlcyhTZXZlcml0eSkpIHtcbiAgICAgICAgICAgIGlmKGlzTmFOKE9iamVjdC52YWx1ZXMoU2V2ZXJpdHkpW3ZhbHVlXSBhcyBhbnkpICYmIHR5cGVvZihPYmplY3QudmFsdWVzKFNldmVyaXR5KVt2YWx1ZV0pICE9PSAnZnVuY3Rpb24nKSB7XG4gICAgICAgICAgICAgICAgcmVzLnB1c2goT2JqZWN0LnZhbHVlcyhTZXZlcml0eSlbdmFsdWVdKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICByZXR1cm4gcmVzO1xuICAgIH1cbn1cblxuZXhwb3J0IGVudW0gTWVzc2FnZVR5cGUge1xuICAgIFVOS05PV04gPSAwLFxuICAgIEVSUk9SID0gMSxcbiAgICBOT1RJRklDQVRJT04gPSAyLFxuICAgIEVYQ0VQVElPTiA9IDMsXG59XG5leHBvcnQgbmFtZXNwYWNlIE1lc3NhZ2VUeXBlIHtcbiAgICBleHBvcnQgZnVuY3Rpb24gdmFsdWVPZihzdHI6IHN0cmluZyk6IG51bWJlciB7XG4gICAgICAgIHJldHVybiBNZXNzYWdlVHlwZVtzdHIgYXMga2V5b2YgdHlwZW9mIE1lc3NhZ2VUeXBlXSBhcyBudW1iZXI7XG4gICAgfVxuICAgIGV4cG9ydCBmdW5jdGlvbiB2YWx1ZXMoKSB7XG4gICAgICAgIGxldCByZXM6IGFueVtdID0gW107XG4gICAgICAgIGZvcihjb25zdCB2YWx1ZSBpbiBPYmplY3QudmFsdWVzKE1lc3NhZ2VUeXBlKSkge1xuICAgICAgICAgICAgaWYoaXNOYU4oT2JqZWN0LnZhbHVlcyhNZXNzYWdlVHlwZSlbdmFsdWVdIGFzIGFueSkgJiYgdHlwZW9mKE9iamVjdC52YWx1ZXMoTWVzc2FnZVR5cGUpW3ZhbHVlXSkgIT09ICdmdW5jdGlvbicpIHtcbiAgICAgICAgICAgICAgICByZXMucHVzaChPYmplY3QudmFsdWVzKE1lc3NhZ2VUeXBlKVt2YWx1ZV0pO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIHJldHVybiByZXM7XG4gICAgfVxufVxuXG5leHBvcnQgZW51bSBBdHRhY2htZW50VHlwZSB7XG4gIFVOS05PV04gPSAwLFxuICBEQVRBRklMRSA9IDEsXG4gIFRFWFRGSUxFID0gMixcbiAgSU1BR0VGSUxFID0gMyxcbiAgQVVESU9GSUxFID0gNCxcbiAgVklERU9GSUxFID0gNSxcbiAgUERGRklMRSA9IDYsXG59XG5leHBvcnQgbmFtZXNwYWNlIEF0dGFjaG1lbnRUeXBlIHtcbiAgZXhwb3J0IGZ1bmN0aW9uIHZhbHVlT2Yoc3RyOiBzdHJpbmcpOiBudW1iZXIge1xuICAgIHJldHVybiBBdHRhY2htZW50VHlwZVtzdHIgYXMga2V5b2YgdHlwZW9mIEF0dGFjaG1lbnRUeXBlXSBhcyBudW1iZXI7XG4gIH1cbiAgZXhwb3J0IGZ1bmN0aW9uIHZhbHVlcygpIHtcbiAgICBsZXQgcmVzOiBhbnlbXSA9IFtdO1xuICAgIGZvciAoY29uc3QgdmFsdWUgaW4gT2JqZWN0LnZhbHVlcyhBdHRhY2htZW50VHlwZSkpIHtcbiAgICAgIGlmIChcbiAgICAgICAgaXNOYU4oT2JqZWN0LnZhbHVlcyhBdHRhY2htZW50VHlwZSlbdmFsdWVdIGFzIGFueSkgJiZcbiAgICAgICAgdHlwZW9mIE9iamVjdC52YWx1ZXMoQXR0YWNobWVudFR5cGUpW3ZhbHVlXSAhPT0gJ2Z1bmN0aW9uJ1xuICAgICAgKSB7XG4gICAgICAgIHJlcy5wdXNoKE9iamVjdC52YWx1ZXMoQXR0YWNobWVudFR5cGUpW3ZhbHVlXSk7XG4gICAgICB9XG4gICAgfVxuICAgIHJldHVybiByZXM7XG4gIH1cbn1cblxuZXhwb3J0IGVudW0gU3RhdHVzIHtcbiAgICBTVUNDRVNTID0gMCxcbiAgICBFUlJPUiA9IDEsXG4gICAgSU5BQ1RJVkUgPSAyLFxuICAgIERFTEVURUQgPSAzLFxuICAgIExPQ0tFRCA9IDQsXG4gICAgVU5MT0NLRUQgPSA1LFxuICAgIFBFTkRJTkcgPSA2LFxuICAgIFVOS05PV04gPSA5OVxufVxuZXhwb3J0IG5hbWVzcGFjZSBTdGF0dXMge1xuICAgIGV4cG9ydCBmdW5jdGlvbiB2YWx1ZU9mKHN0cjogc3RyaW5nKTogbnVtYmVyIHtcbiAgICAgICAgcmV0dXJuIFN0YXR1c1tzdHIgYXMga2V5b2YgdHlwZW9mIFN0YXR1c10gYXMgbnVtYmVyO1xuICAgIH1cbiAgICBleHBvcnQgZnVuY3Rpb24gdmFsdWVzKCkge1xuICAgICAgICBsZXQgcmVzOiBhbnlbXSA9IFtdO1xuICAgICAgICBmb3IoY29uc3QgdmFsdWUgaW4gT2JqZWN0LnZhbHVlcyhTdGF0dXMpKSB7XG4gICAgICAgICAgICBpZihpc05hTihPYmplY3QudmFsdWVzKFN0YXR1cylbdmFsdWVdIGFzIGFueSkgJiYgdHlwZW9mKE9iamVjdC52YWx1ZXMoU3RhdHVzKVt2YWx1ZV0pICE9PSAnZnVuY3Rpb24nKSB7XG4gICAgICAgICAgICByZXMucHVzaChPYmplY3QudmFsdWVzKFN0YXR1cylbdmFsdWVdKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICByZXR1cm4gcmVzO1xuICAgIH1cbn1cblxuZXhwb3J0IGVudW0gVGlja2V0U3RhdHVzIHtcbiAgT1BFTiA9IDEsXG4gIENMT1NFID0gMixcbiAgSU5XT1JLID0gMyxcbn1cbmV4cG9ydCBuYW1lc3BhY2UgVGlja2V0U3RhdHVzIHtcbiAgZXhwb3J0IGZ1bmN0aW9uIHZhbHVlT2Yoc3RyOiBzdHJpbmcpOiBudW1iZXIge1xuICAgIHJldHVybiBUaWNrZXRTdGF0dXNbc3RyIGFzIGtleW9mIHR5cGVvZiBUaWNrZXRTdGF0dXNdIGFzIG51bWJlcjtcbiAgfVxuICBleHBvcnQgZnVuY3Rpb24gdmFsdWVzKCkge1xuICAgIGxldCByZXM6IGFueVtdID0gW107XG4gICAgZm9yIChjb25zdCB2YWx1ZSBpbiBPYmplY3QudmFsdWVzKFRpY2tldFN0YXR1cykpIHtcbiAgICAgIGlmIChcbiAgICAgICAgaXNOYU4oT2JqZWN0LnZhbHVlcyhUaWNrZXRTdGF0dXMpW3ZhbHVlXSBhcyBhbnkpICYmXG4gICAgICAgIHR5cGVvZiBPYmplY3QudmFsdWVzKFRpY2tldFN0YXR1cylbdmFsdWVdICE9PSAnZnVuY3Rpb24nXG4gICAgICApIHtcbiAgICAgICAgcmVzLnB1c2goT2JqZWN0LnZhbHVlcyhUaWNrZXRTdGF0dXMpW3ZhbHVlXSk7XG4gICAgICB9XG4gICAgfVxuICAgIHJldHVybiByZXM7XG4gIH1cbn1cblxuZXhwb3J0IGVudW0gVGlja2V0U2VuZGVyVHlwZSB7XG4gICAgVU5LTk9XTiA9IDAsXG4gICAgVVNFUiA9IDEsXG4gICAgQURNSU4gPSAyLFxufVxuZXhwb3J0IG5hbWVzcGFjZSBUaWNrZXRTZW5kZXJUeXBlIHtcbiAgICBleHBvcnQgZnVuY3Rpb24gdmFsdWVPZihzdHI6IHN0cmluZyk6IG51bWJlciB7XG4gICAgICAgIHJldHVybiBUaWNrZXRTZW5kZXJUeXBlW3N0ciBhcyBrZXlvZiB0eXBlb2YgVGlja2V0U2VuZGVyVHlwZV0gYXMgbnVtYmVyO1xuICAgIH1cbiAgICBleHBvcnQgZnVuY3Rpb24gdmFsdWVzKCkge1xuICAgICAgICBsZXQgcmVzOiBhbnlbXSA9IFtdO1xuICAgICAgICBmb3IgKGNvbnN0IHZhbHVlIGluIE9iamVjdC52YWx1ZXMoVGlja2V0U2VuZGVyVHlwZSkpIHtcbiAgICAgICAgICAgIGlmIChpc05hTihPYmplY3QudmFsdWVzKFRpY2tldFNlbmRlclR5cGUpW3ZhbHVlXSBhcyBhbnkpICYmIHR5cGVvZiBPYmplY3QudmFsdWVzKFRpY2tldFNlbmRlclR5cGUpW3ZhbHVlXSAhPT0gJ2Z1bmN0aW9uJykge1xuICAgICAgICAgICAgICAgIHJlcy5wdXNoKE9iamVjdC52YWx1ZXMoVGlja2V0U2VuZGVyVHlwZSlbdmFsdWVdKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICByZXR1cm4gcmVzO1xuICAgIH1cbn1cblxuZXhwb3J0IGVudW0gQ291cG9uVHlwZSB7XG4gICAgVU5LTk9XTiA9IDAsXG4gICAgQ09VUE9OID0gMSxcbiAgICBWT1VDSEVSID0gMixcbiAgICBHSUZUID0gMyxcbiAgICBHSUZUX0NBUkQgPSA0LFxuICAgIEdJRlRfVk9VQ0hFUiA9IDUsXG4gICAgRElTQ09VTlQgPSA2LFxufVxuZXhwb3J0IG5hbWVzcGFjZSBDb3Vwb25UeXBlIHtcbiAgZXhwb3J0IGZ1bmN0aW9uIHZhbHVlT2Yoc3RyOiBzdHJpbmcpOiBudW1iZXIge1xuICAgIHJldHVybiBDb3Vwb25UeXBlW3N0ciBhcyBrZXlvZiB0eXBlb2YgQ291cG9uVHlwZV0gYXMgbnVtYmVyO1xuICB9XG4gIGV4cG9ydCBmdW5jdGlvbiB2YWx1ZXMoKSB7XG4gICAgbGV0IHJlczogYW55W10gPSBbXTtcbiAgICBmb3IgKGNvbnN0IHZhbHVlIGluIE9iamVjdC52YWx1ZXMoQ291cG9uVHlwZSkpIHtcbiAgICAgIGlmIChcbiAgICAgICAgaXNOYU4oT2JqZWN0LnZhbHVlcyhDb3Vwb25UeXBlKVt2YWx1ZV0gYXMgYW55KSAmJlxuICAgICAgICB0eXBlb2YgT2JqZWN0LnZhbHVlcyhDb3Vwb25UeXBlKVt2YWx1ZV0gIT09ICdmdW5jdGlvbidcbiAgICAgICkge1xuICAgICAgICByZXMucHVzaChPYmplY3QudmFsdWVzKENvdXBvblR5cGUpW3ZhbHVlXSk7XG4gICAgICB9XG4gICAgfVxuICAgIHJldHVybiByZXM7XG4gIH1cbn1cbiJdfQ==
@@ -3,8 +3,9 @@ import { DataObject } from "../../data-object";
3
3
  import { DataVersion } from "../../data-version";
4
4
  const version = new DataVersion(1, 0, 0, 0);
5
5
  export class Coupon {
6
- constructor(id, created, activationcode, buyer, beneficiary, activated, activatedby, startdate, enddate, value) {
6
+ constructor(id, type, created, activationcode, buyer, beneficiary, activated, activatedby, startdate, enddate, value) {
7
7
  this.id = id;
8
+ this.type = type;
8
9
  this.created = created;
9
10
  this.activationcode = activationcode;
10
11
  this.buyer = buyer;
@@ -22,4 +23,4 @@ export class CouponObject extends DataObject {
22
23
  this.data = data;
23
24
  }
24
25
  }
25
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY291cG9uLW9iamVjdC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2NhcHR1cmVpZC1kYXRhdHlwZXMvc3JjL2xpYi9tb2RlbC9lcnAvaXRlbXMvY291cG9uLW9iamVjdC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFFMUMsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLG1CQUFtQixDQUFDO0FBQy9DLE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSxvQkFBb0IsQ0FBQztBQUVqRCxNQUFNLE9BQU8sR0FBZ0IsSUFBSSxXQUFXLENBQUMsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxDQUFnQixDQUFDO0FBZXhFLE1BQU0sT0FBTyxNQUFNO0lBQ2YsWUFDSSxFQUFXLEVBQ1gsT0FBYyxFQUNkLGNBQXVCLEVBQ3ZCLEtBQVksRUFDWixXQUFrQixFQUNsQixTQUFnQixFQUNoQixXQUFrQixFQUNsQixTQUFnQixFQUNoQixPQUFjLEVBQ2QsS0FBYztRQUVkLElBQUksQ0FBQyxFQUFFLEdBQUcsRUFBRyxDQUFDO1FBQ2QsSUFBSSxDQUFDLE9BQU8sR0FBRyxPQUFRLENBQUM7UUFDeEIsSUFBSSxDQUFDLGNBQWMsR0FBRyxjQUFlLENBQUM7UUFDdEMsSUFBSSxDQUFDLEtBQUssR0FBRyxLQUFNLENBQUM7UUFDcEIsSUFBSSxDQUFDLFdBQVcsR0FBRyxXQUFZLENBQUM7UUFDaEMsSUFBSSxDQUFDLFNBQVMsR0FBRyxTQUFVLENBQUM7UUFDNUIsSUFBSSxDQUFDLFdBQVcsR0FBRyxXQUFZLENBQUM7UUFDaEMsSUFBSSxDQUFDLFNBQVMsR0FBRyxTQUFVLENBQUM7UUFDNUIsSUFBSSxDQUFDLE9BQU8sR0FBRyxPQUFRLENBQUM7UUFDeEIsSUFBSSxDQUFDLEtBQUssR0FBRyxLQUFNLENBQUM7SUFDeEIsQ0FBQztDQUNKO0FBTUQsTUFBTSxPQUFPLFlBQWEsU0FBUSxVQUFVO0lBQ3hDLFlBQVksSUFBYztRQUN0QixLQUFLLENBQUMsRUFBRSxFQUFFLFFBQVEsQ0FBQyxNQUFNLEVBQUUsT0FBTyxDQUFDLENBQUM7UUFDcEMsSUFBSSxDQUFDLElBQUksR0FBRyxJQUFJLENBQUM7SUFDckIsQ0FBQztDQUNKIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgRGF0YVR5cGUgfSBmcm9tIFwiLi4vLi4vLi4vZW51bXNcIjtcbmltcG9ydCB7IFVzZXIgfSBmcm9tIFwiLi4vLi4vY29tbW9uL3VzZXItb2JqZWN0XCI7XG5pbXBvcnQgeyBEYXRhT2JqZWN0IH0gZnJvbSBcIi4uLy4uL2RhdGEtb2JqZWN0XCI7XG5pbXBvcnQgeyBEYXRhVmVyc2lvbiB9IGZyb20gXCIuLi8uLi9kYXRhLXZlcnNpb25cIjtcblxuY29uc3QgdmVyc2lvbjogRGF0YVZlcnNpb24gPSBuZXcgRGF0YVZlcnNpb24oMSwgMCwgMCwgMCkgYXMgRGF0YVZlcnNpb247XG5cbmV4cG9ydCBpbnRlcmZhY2UgQ291cG9uIHtcbiAgaWQ6IHN0cmluZztcbiAgY3JlYXRlZDogRGF0ZTtcbiAgYWN0aXZhdGlvbmNvZGU6IHN0cmluZztcbiAgYnV5ZXI6IFVzZXI7XG4gIGJlbmVmaWNpYXJ5OiBVc2VyO1xuICBhY3RpdmF0ZWQ6IERhdGU7XG4gIGFjdGl2YXRlZGJ5OiBVc2VyO1xuICBzdGFydGRhdGU6IERhdGU7XG4gIGVuZGRhdGU6IERhdGU7XG4gIHZhbHVlOiBudW1iZXI7XG59XG5cbmV4cG9ydCBjbGFzcyBDb3Vwb24gaW1wbGVtZW50cyBDb3Vwb24ge1xuICAgIGNvbnN0cnVjdG9yKFxuICAgICAgICBpZD86IHN0cmluZyxcbiAgICAgICAgY3JlYXRlZD86IERhdGUsXG4gICAgICAgIGFjdGl2YXRpb25jb2RlPzogc3RyaW5nLFxuICAgICAgICBidXllcj86IFVzZXIsXG4gICAgICAgIGJlbmVmaWNpYXJ5PzogVXNlcixcbiAgICAgICAgYWN0aXZhdGVkPzogRGF0ZSxcbiAgICAgICAgYWN0aXZhdGVkYnk/OiBVc2VyLFxuICAgICAgICBzdGFydGRhdGU/OiBEYXRlLFxuICAgICAgICBlbmRkYXRlPzogRGF0ZSxcbiAgICAgICAgdmFsdWU/OiBudW1iZXJcbiAgICApIHtcbiAgICAgICAgdGhpcy5pZCA9IGlkITtcbiAgICAgICAgdGhpcy5jcmVhdGVkID0gY3JlYXRlZCE7XG4gICAgICAgIHRoaXMuYWN0aXZhdGlvbmNvZGUgPSBhY3RpdmF0aW9uY29kZSE7XG4gICAgICAgIHRoaXMuYnV5ZXIgPSBidXllciE7XG4gICAgICAgIHRoaXMuYmVuZWZpY2lhcnkgPSBiZW5lZmljaWFyeSE7XG4gICAgICAgIHRoaXMuYWN0aXZhdGVkID0gYWN0aXZhdGVkITtcbiAgICAgICAgdGhpcy5hY3RpdmF0ZWRieSA9IGFjdGl2YXRlZGJ5ITtcbiAgICAgICAgdGhpcy5zdGFydGRhdGUgPSBzdGFydGRhdGUhO1xuICAgICAgICB0aGlzLmVuZGRhdGUgPSBlbmRkYXRlITtcbiAgICAgICAgdGhpcy52YWx1ZSA9IHZhbHVlITtcbiAgICB9XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgQ291cG9uT2JqZWN0IHtcbiAgICBkYXRhOiBDb3Vwb25bXTtcbn1cblxuZXhwb3J0IGNsYXNzIENvdXBvbk9iamVjdCBleHRlbmRzIERhdGFPYmplY3QgaW1wbGVtZW50cyBDb3Vwb25PYmplY3Qge1xuICAgIGNvbnN0cnVjdG9yKGRhdGE6IENvdXBvbltdKSB7XG4gICAgICAgIHN1cGVyKCcnLCBEYXRhVHlwZS5DT1VQT04sIHZlcnNpb24pO1xuICAgICAgICB0aGlzLmRhdGEgPSBkYXRhO1xuICAgIH1cbn0iXX0=
26
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY291cG9uLW9iamVjdC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2NhcHR1cmVpZC1kYXRhdHlwZXMvc3JjL2xpYi9tb2RlbC9lcnAvaXRlbXMvY291cG9uLW9iamVjdC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQWMsUUFBUSxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFFdEQsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLG1CQUFtQixDQUFDO0FBQy9DLE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSxvQkFBb0IsQ0FBQztBQUVqRCxNQUFNLE9BQU8sR0FBZ0IsSUFBSSxXQUFXLENBQUMsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxDQUFnQixDQUFDO0FBZ0J4RSxNQUFNLE9BQU8sTUFBTTtJQUNmLFlBQ0ksRUFBVyxFQUNYLElBQWlCLEVBQ2pCLE9BQWMsRUFDZCxjQUF1QixFQUN2QixLQUFZLEVBQ1osV0FBa0IsRUFDbEIsU0FBZ0IsRUFDaEIsV0FBa0IsRUFDbEIsU0FBZ0IsRUFDaEIsT0FBYyxFQUNkLEtBQWM7UUFFZCxJQUFJLENBQUMsRUFBRSxHQUFHLEVBQUcsQ0FBQztRQUNkLElBQUksQ0FBQyxJQUFJLEdBQUcsSUFBSyxDQUFDO1FBQ2xCLElBQUksQ0FBQyxPQUFPLEdBQUcsT0FBUSxDQUFDO1FBQ3hCLElBQUksQ0FBQyxjQUFjLEdBQUcsY0FBZSxDQUFDO1FBQ3RDLElBQUksQ0FBQyxLQUFLLEdBQUcsS0FBTSxDQUFDO1FBQ3BCLElBQUksQ0FBQyxXQUFXLEdBQUcsV0FBWSxDQUFDO1FBQ2hDLElBQUksQ0FBQyxTQUFTLEdBQUcsU0FBVSxDQUFDO1FBQzVCLElBQUksQ0FBQyxXQUFXLEdBQUcsV0FBWSxDQUFDO1FBQ2hDLElBQUksQ0FBQyxTQUFTLEdBQUcsU0FBVSxDQUFDO1FBQzVCLElBQUksQ0FBQyxPQUFPLEdBQUcsT0FBUSxDQUFDO1FBQ3hCLElBQUksQ0FBQyxLQUFLLEdBQUcsS0FBTSxDQUFDO0lBQ3hCLENBQUM7Q0FDSjtBQU1ELE1BQU0sT0FBTyxZQUFhLFNBQVEsVUFBVTtJQUN4QyxZQUFZLElBQWM7UUFDdEIsS0FBSyxDQUFDLEVBQUUsRUFBRSxRQUFRLENBQUMsTUFBTSxFQUFFLE9BQU8sQ0FBQyxDQUFDO1FBQ3BDLElBQUksQ0FBQyxJQUFJLEdBQUcsSUFBSSxDQUFDO0lBQ3JCLENBQUM7Q0FDSiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvdXBvblR5cGUsIERhdGFUeXBlIH0gZnJvbSBcIi4uLy4uLy4uL2VudW1zXCI7XG5pbXBvcnQgeyBVc2VyIH0gZnJvbSBcIi4uLy4uL2NvbW1vbi91c2VyLW9iamVjdFwiO1xuaW1wb3J0IHsgRGF0YU9iamVjdCB9IGZyb20gXCIuLi8uLi9kYXRhLW9iamVjdFwiO1xuaW1wb3J0IHsgRGF0YVZlcnNpb24gfSBmcm9tIFwiLi4vLi4vZGF0YS12ZXJzaW9uXCI7XG5cbmNvbnN0IHZlcnNpb246IERhdGFWZXJzaW9uID0gbmV3IERhdGFWZXJzaW9uKDEsIDAsIDAsIDApIGFzIERhdGFWZXJzaW9uO1xuXG5leHBvcnQgaW50ZXJmYWNlIENvdXBvbiB7XG4gIGlkOiBzdHJpbmc7XG4gIHR5cGU6IENvdXBvblR5cGVcbiAgY3JlYXRlZDogRGF0ZTtcbiAgYWN0aXZhdGlvbmNvZGU6IHN0cmluZztcbiAgYnV5ZXI6IFVzZXI7XG4gIGJlbmVmaWNpYXJ5OiBVc2VyO1xuICBhY3RpdmF0ZWQ6IERhdGU7XG4gIGFjdGl2YXRlZGJ5OiBVc2VyO1xuICBzdGFydGRhdGU6IERhdGU7XG4gIGVuZGRhdGU6IERhdGU7XG4gIHZhbHVlOiBudW1iZXI7XG59XG5cbmV4cG9ydCBjbGFzcyBDb3Vwb24gaW1wbGVtZW50cyBDb3Vwb24ge1xuICAgIGNvbnN0cnVjdG9yKFxuICAgICAgICBpZD86IHN0cmluZyxcbiAgICAgICAgdHlwZT86IENvdXBvblR5cGUsXG4gICAgICAgIGNyZWF0ZWQ/OiBEYXRlLFxuICAgICAgICBhY3RpdmF0aW9uY29kZT86IHN0cmluZyxcbiAgICAgICAgYnV5ZXI/OiBVc2VyLFxuICAgICAgICBiZW5lZmljaWFyeT86IFVzZXIsXG4gICAgICAgIGFjdGl2YXRlZD86IERhdGUsXG4gICAgICAgIGFjdGl2YXRlZGJ5PzogVXNlcixcbiAgICAgICAgc3RhcnRkYXRlPzogRGF0ZSxcbiAgICAgICAgZW5kZGF0ZT86IERhdGUsXG4gICAgICAgIHZhbHVlPzogbnVtYmVyXG4gICAgKSB7XG4gICAgICAgIHRoaXMuaWQgPSBpZCE7XG4gICAgICAgIHRoaXMudHlwZSA9IHR5cGUhO1xuICAgICAgICB0aGlzLmNyZWF0ZWQgPSBjcmVhdGVkITtcbiAgICAgICAgdGhpcy5hY3RpdmF0aW9uY29kZSA9IGFjdGl2YXRpb25jb2RlITtcbiAgICAgICAgdGhpcy5idXllciA9IGJ1eWVyITtcbiAgICAgICAgdGhpcy5iZW5lZmljaWFyeSA9IGJlbmVmaWNpYXJ5ITtcbiAgICAgICAgdGhpcy5hY3RpdmF0ZWQgPSBhY3RpdmF0ZWQhO1xuICAgICAgICB0aGlzLmFjdGl2YXRlZGJ5ID0gYWN0aXZhdGVkYnkhO1xuICAgICAgICB0aGlzLnN0YXJ0ZGF0ZSA9IHN0YXJ0ZGF0ZSE7XG4gICAgICAgIHRoaXMuZW5kZGF0ZSA9IGVuZGRhdGUhO1xuICAgICAgICB0aGlzLnZhbHVlID0gdmFsdWUhO1xuICAgIH1cbn1cblxuZXhwb3J0IGludGVyZmFjZSBDb3Vwb25PYmplY3Qge1xuICAgIGRhdGE6IENvdXBvbltdO1xufVxuXG5leHBvcnQgY2xhc3MgQ291cG9uT2JqZWN0IGV4dGVuZHMgRGF0YU9iamVjdCBpbXBsZW1lbnRzIENvdXBvbk9iamVjdCB7XG4gICAgY29uc3RydWN0b3IoZGF0YTogQ291cG9uW10pIHtcbiAgICAgICAgc3VwZXIoJycsIERhdGFUeXBlLkNPVVBPTiwgdmVyc2lvbik7XG4gICAgICAgIHRoaXMuZGF0YSA9IGRhdGE7XG4gICAgfVxufSJdfQ==
@@ -480,6 +480,33 @@ var TicketSenderType;
480
480
  }
481
481
  TicketSenderType.values = values;
482
482
  })(TicketSenderType || (TicketSenderType = {}));
483
+ var CouponType;
484
+ (function (CouponType) {
485
+ CouponType[CouponType["UNKNOWN"] = 0] = "UNKNOWN";
486
+ CouponType[CouponType["COUPON"] = 1] = "COUPON";
487
+ CouponType[CouponType["VOUCHER"] = 2] = "VOUCHER";
488
+ CouponType[CouponType["GIFT"] = 3] = "GIFT";
489
+ CouponType[CouponType["GIFT_CARD"] = 4] = "GIFT_CARD";
490
+ CouponType[CouponType["GIFT_VOUCHER"] = 5] = "GIFT_VOUCHER";
491
+ CouponType[CouponType["DISCOUNT"] = 6] = "DISCOUNT";
492
+ })(CouponType || (CouponType = {}));
493
+ (function (CouponType) {
494
+ function valueOf(str) {
495
+ return CouponType[str];
496
+ }
497
+ CouponType.valueOf = valueOf;
498
+ function values() {
499
+ let res = [];
500
+ for (const value in Object.values(CouponType)) {
501
+ if (isNaN(Object.values(CouponType)[value]) &&
502
+ typeof Object.values(CouponType)[value] !== 'function') {
503
+ res.push(Object.values(CouponType)[value]);
504
+ }
505
+ }
506
+ return res;
507
+ }
508
+ CouponType.values = values;
509
+ })(CouponType || (CouponType = {}));
483
510
 
484
511
  class Logging {
485
512
  constructor(severity, level, message, exception, timestamp) {
@@ -1565,8 +1592,9 @@ class ItemShortObject extends DataObject {
1565
1592
 
1566
1593
  const version$c = new DataVersion(1, 0, 0, 0);
1567
1594
  class Coupon {
1568
- constructor(id, created, activationcode, buyer, beneficiary, activated, activatedby, startdate, enddate, value) {
1595
+ constructor(id, type, created, activationcode, buyer, beneficiary, activated, activatedby, startdate, enddate, value) {
1569
1596
  this.id = id;
1597
+ this.type = type;
1570
1598
  this.created = created;
1571
1599
  this.activationcode = activationcode;
1572
1600
  this.buyer = buyer;
@@ -1835,5 +1863,5 @@ class StatisticObject extends DataObject {
1835
1863
  * Generated bundle index. Do not edit.
1836
1864
  */
1837
1865
 
1838
- export { AccessPoint, AccessPointObject, Address, AddressObject, AddressToCompany, AddressType, AttachmentType, AuthRequest, AuthResponse, AuthenticationData, AuthenticationObject, Bon, BonData, BonObject, Booking, BookingObject, BookingType, Building, BuildingObject, CaptureidDatatypesService, Cart, CartItem, CartObject, CategoryNames, CategoryNamesObject, Chat, ChatObject, Client, ClientObject, Company, CompanyObject, Context, Country, CountryObject, Coupon, CouponObject, Currency, CurrencyObject, DataDto, DataObject, DataType, DataVersion, DatabaseEventType, Dimension, DimensionObject, EMailTemplateType, ESLAssociation, ESLAssociationObject, ESLObject, ESLPool, ESLPoolObject, EmailTemplates, EmailTemplatesObject, EndOfDayBon, EndOfDayBonObject, EslTemplate, EslTemplateObject, EslUpdate, EslUpdateObject, FAQ, FAQObject, FarmingMethod, FarmingMethodObject, Filter, FilterEntries, FilterEntry, Floor, FloorObject, Image, ImageObject, Inventory, InventoryObject, Issue, Item, ItemDetail, ItemDetailObject, ItemGroup, ItemGroupObject, ItemJournalEntry, ItemObject, ItemProperties, ItemPropertiesObject, ItemProperty, ItemPropertyObject, ItemShort, ItemShortObject, JournalEntry, JournalObject, Label, LabelObject, Level, LevelObject, License, LicenseObject, Location, LocationObject, Logging, Manufacturer, ManufacturerObject, Menu, MenuObject, Message, MessageObject, MessageType, Module, ModuleObject, ModuleType, Operators, Packaging, PackagingObject, Paging, PinState, PrintData, PrintLabelObject, Printer, PrinterLanguage, PrinterManufacturer, PrinterObject, PrinterProperties, PropertyNames, PropertyNamesObject, PurchasePrice, PurchasePriceObject, Queue, QueueObject, Rating, RatingObject, RegisterRequest, RegistrationState, Resource, Role, RoleObject, Room, RoomObject, SellingPrice, SellingPriceObject, Severity, Shelf, ShelfLabel, ShelfObject, Sorting, Sortings, Space, SpaceObject, StatisticData, StatisticObject, Status, Stock, StockObject, Supplier, SupplierObject, Ticket, TicketMessage, TicketMessageObject, TicketObject, TicketSenderType, TicketStatus, Unit, User, UserAccess, UserAccessObject, UserObject, VAT, VATHistory, VATObject, Variables, Vendor, VendorObject, VerifyRequest, WebTemplateType, WebTemplates, WebTemplatesObject, isLevel, isLevelArray, isShelf, isShelfArray, isSpace, isSpaceArray, menuitem };
1866
+ export { AccessPoint, AccessPointObject, Address, AddressObject, AddressToCompany, AddressType, AttachmentType, AuthRequest, AuthResponse, AuthenticationData, AuthenticationObject, Bon, BonData, BonObject, Booking, BookingObject, BookingType, Building, BuildingObject, CaptureidDatatypesService, Cart, CartItem, CartObject, CategoryNames, CategoryNamesObject, Chat, ChatObject, Client, ClientObject, Company, CompanyObject, Context, Country, CountryObject, Coupon, CouponObject, CouponType, Currency, CurrencyObject, DataDto, DataObject, DataType, DataVersion, DatabaseEventType, Dimension, DimensionObject, EMailTemplateType, ESLAssociation, ESLAssociationObject, ESLObject, ESLPool, ESLPoolObject, EmailTemplates, EmailTemplatesObject, EndOfDayBon, EndOfDayBonObject, EslTemplate, EslTemplateObject, EslUpdate, EslUpdateObject, FAQ, FAQObject, FarmingMethod, FarmingMethodObject, Filter, FilterEntries, FilterEntry, Floor, FloorObject, Image, ImageObject, Inventory, InventoryObject, Issue, Item, ItemDetail, ItemDetailObject, ItemGroup, ItemGroupObject, ItemJournalEntry, ItemObject, ItemProperties, ItemPropertiesObject, ItemProperty, ItemPropertyObject, ItemShort, ItemShortObject, JournalEntry, JournalObject, Label, LabelObject, Level, LevelObject, License, LicenseObject, Location, LocationObject, Logging, Manufacturer, ManufacturerObject, Menu, MenuObject, Message, MessageObject, MessageType, Module, ModuleObject, ModuleType, Operators, Packaging, PackagingObject, Paging, PinState, PrintData, PrintLabelObject, Printer, PrinterLanguage, PrinterManufacturer, PrinterObject, PrinterProperties, PropertyNames, PropertyNamesObject, PurchasePrice, PurchasePriceObject, Queue, QueueObject, Rating, RatingObject, RegisterRequest, RegistrationState, Resource, Role, RoleObject, Room, RoomObject, SellingPrice, SellingPriceObject, Severity, Shelf, ShelfLabel, ShelfObject, Sorting, Sortings, Space, SpaceObject, StatisticData, StatisticObject, Status, Stock, StockObject, Supplier, SupplierObject, Ticket, TicketMessage, TicketMessageObject, TicketObject, TicketSenderType, TicketStatus, Unit, User, UserAccess, UserAccessObject, UserObject, VAT, VATHistory, VATObject, Variables, Vendor, VendorObject, VerifyRequest, WebTemplateType, WebTemplates, WebTemplatesObject, isLevel, isLevelArray, isShelf, isShelfArray, isSpace, isSpaceArray, menuitem };
1839
1867
  //# sourceMappingURL=captureid-datatypes.mjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"captureid-datatypes.mjs","sources":["../../../projects/captureid-datatypes/src/lib/captureid-datatypes.service.ts","../../../projects/captureid-datatypes/src/lib/enums.ts","../../../projects/captureid-datatypes/src/lib/logging.ts","../../../projects/captureid-datatypes/src/lib/model/data-version.ts","../../../projects/captureid-datatypes/src/lib/model/data-dto.ts","../../../projects/captureid-datatypes/src/lib/model/data-object.ts","../../../projects/captureid-datatypes/src/lib/model/filter.ts","../../../projects/captureid-datatypes/src/lib/model/auth/auth-request.ts","../../../projects/captureid-datatypes/src/lib/model/auth/auth-response.ts","../../../projects/captureid-datatypes/src/lib/model/auth/register-request.ts","../../../projects/captureid-datatypes/src/lib/model/auth/verify-request.ts","../../../projects/captureid-datatypes/src/lib/model/auth/authentication-object.ts","../../../projects/captureid-datatypes/src/lib/model/common/user-object.ts","../../../projects/captureid-datatypes/src/lib/model/common/context.ts","../../../projects/captureid-datatypes/src/lib/model/common/manufacturer-object.ts","../../../projects/captureid-datatypes/src/lib/model/common/license-object.ts","../../../projects/captureid-datatypes/src/lib/model/common/address-object.ts","../../../projects/captureid-datatypes/src/lib/model/common/client-object.ts","../../../projects/captureid-datatypes/src/lib/model/common/currency-object.ts","../../../projects/captureid-datatypes/src/lib/model/common/country-object.ts","../../../projects/captureid-datatypes/src/lib/model/common/image-object.ts","../../../projects/captureid-datatypes/src/lib/model/common/taxes.ts","../../../projects/captureid-datatypes/src/lib/model/common/module-object.ts","../../../projects/captureid-datatypes/src/lib/model/common/location-object.ts","../../../projects/captureid-datatypes/src/lib/model/common/company-object.ts","../../../projects/captureid-datatypes/src/lib/model/common/vendor-object.ts","../../../projects/captureid-datatypes/src/lib/model/common/accesspoint-object.ts","../../../projects/captureid-datatypes/src/lib/model/common/message-object.ts","../../../projects/captureid-datatypes/src/lib/model/common/cart-object.ts","../../../projects/captureid-datatypes/src/lib/model/common/role-object.ts","../../../projects/captureid-datatypes/src/lib/model/common/supplier-object.ts","../../../projects/captureid-datatypes/src/lib/model/common/faq-object.ts","../../../projects/captureid-datatypes/src/lib/model/common/farmingmethod-object.ts","../../../projects/captureid-datatypes/src/lib/model/common/chat-object.ts","../../../projects/captureid-datatypes/src/lib/model/common/ticket-object.ts","../../../projects/captureid-datatypes/src/lib/model/configuration/menu-object.ts","../../../projects/captureid-datatypes/src/lib/model/erp/items/dimension-object.ts","../../../projects/captureid-datatypes/src/lib/model/erp/items/inventory-object.ts","../../../projects/captureid-datatypes/src/lib/model/erp/items/item-object.ts","../../../projects/captureid-datatypes/src/lib/model/erp/items/item-properties-object.ts","../../../projects/captureid-datatypes/src/lib/model/erp/items/itemdetail-object.ts","../../../projects/captureid-datatypes/src/lib/model/erp/items/packaging-object.ts","../../../projects/captureid-datatypes/src/lib/model/erp/items/rating-object.ts","../../../projects/captureid-datatypes/src/lib/model/erp/items/shelf-object.ts","../../../projects/captureid-datatypes/src/lib/model/erp/items/stock-object.ts","../../../projects/captureid-datatypes/src/lib/model/erp/items/booking-object.ts","../../../projects/captureid-datatypes/src/lib/model/erp/items/price-object.ts","../../../projects/captureid-datatypes/src/lib/model/erp/items/item-short-list-object.ts","../../../projects/captureid-datatypes/src/lib/model/erp/items/coupon-object.ts","../../../projects/captureid-datatypes/src/lib/model/erp/items/bon-object.ts","../../../projects/captureid-datatypes/src/lib/model/erp/items/journal-object.ts","../../../projects/captureid-datatypes/src/lib/model/esl/esl-object.ts","../../../projects/captureid-datatypes/src/lib/model/esl/esl-pool-object.ts","../../../projects/captureid-datatypes/src/lib/model/esl/esl-association-object.ts","../../../projects/captureid-datatypes/src/lib/model/esl/esl-template-object.ts","../../../projects/captureid-datatypes/src/lib/model/esl/esl-update-object.ts","../../../projects/captureid-datatypes/src/lib/model/print/label-object.ts","../../../projects/captureid-datatypes/src/lib/model/print/print-label-object.ts","../../../projects/captureid-datatypes/src/lib/model/print/printer-object.ts","../../../projects/captureid-datatypes/src/lib/model/print/queue-object.ts","../../../projects/captureid-datatypes/src/lib/model/statistic/statistic-object.ts","../../../projects/captureid-datatypes/src/public-api.ts","../../../projects/captureid-datatypes/src/captureid-datatypes.ts"],"sourcesContent":["import { Injectable } from '@angular/core';\n\n@Injectable({\n providedIn: 'root'\n})\nexport class CaptureidDatatypesService {\n\n constructor() { }\n}\n","import { CaptureidDatatypesComponent } from './captureid-datatypes.component';\nimport { VAT } from './model/common/taxes';\nexport enum DataType {\n UNKNOWN = 0,\n NAVIGATION = 1,\n SYSTEM = 2,\n LABEL = 3,\n NETWORK = 4,\n DISCOVER = 5,\n PRINTER = 6,\n PROFILE = 7,\n CHART = 8,\n QUEUE = 9,\n LABELPRINT = 10,\n PROFILE2CONTAINER = 11,\n USER = 12,\n AUTHENTICATION = 13,\n USEREXTENDED = 14,\n MODULE = 15,\n PRODUCT_CATEGORY = 16,\n PRODUCT_SUBCATEGORY = 17,\n ITEM = 18,\n ADDRESS = 19,\n LOCATION = 20,\n ACCESSPOINT = 21,\n SHELFLABEL = 22,\n VENDOR = 23,\n PAYMENTTERMINAL = 24,\n ESLPOOL = 25,\n VERIFICATIONTOKEN = 26,\n USERPROFILE = 27,\n CLIENT = 28,\n LICENSE = 29,\n IMAGE = 30,\n MANUFACTURER = 31,\n RATING = 32,\n PACKAGING = 33,\n CURRENCY = 34,\n ITEMPROPERTIES = 35,\n STOCK = 36,\n INVENTORY = 37,\n COUNTRY = 38,\n BUILDING = 39,\n COMPANY = 40,\n ITEMPROPERTY = 41,\n DIMENSION = 42,\n SHELF = 43,\n PURCHASEPRICE = 44,\n SELLINGPRICE = 45,\n FLOOR = 46,\n ROOM = 47,\n LEVEL = 48,\n SPACE = 49,\n BOOKING = 50,\n GPIO = 51,\n ITEMDETAIL = 52,\n ESLASSOCIATION = 53,\n ESLUPDATE = 54,\n MESSAGE = 55,\n ESLTEMPLATE = 56,\n ITEMSHORT = 57,\n CART = 58,\n PAYMENT = 59,\n LOGENTRY = 60,\n STATISTIC = 61,\n ROLE = 62,\n USERACCESS = 63,\n RESOURCE = 64,\n MENU = 65,\n COUPON = 66,\n BON = 67,\n ENDOFDAYBON = 68,\n PROPERTYNAMES = 69,\n CATEGORYNAMES = 70,\n ITEMGROUP = 71,\n VAT = 72,\n IMPORT = 73,\n SUPPLIER = 74,\n FAQ = 75,\n CHAT = 76,\n FARMINGMETHOD = 77,\n TICKET = 78,\n TICKETMESSAGE = 79,\n WEBTEMPLATE = 80,\n EMAILTEMPLATE = 81,\n JOURNAL = 82,\n}\n\nexport enum BookingType {\n UNKNOWN = 0,\n INCOMING = 1, //Wareneingang\n OUTGOING = 2, //Warenausgang\n\n STOREACCESS = 8, //Zugang zum Verkauf (Türöffner)\n STOREEXIT = 9, //Verlassen des Geschäfts (Türöffner)\n\n PROMOTION = 11, //Werbeaktion\n\n MARKDOWN = 21, //Preisreduzierung\n MARKUP = 22, //Preiserhöhung\n\n STOCKMOVE = 31, //Lagerbewegung\n STOCKADD = 32, //Lagerzugang\n STOCKREMOVE = 33, //Lagerabgang\n\n SELLINGADD = 41, //Verkauf\n SELLINGREMOVE = 42, //Storno\n SELLINGUPDATE = 43, //Änderung\n\n STORETRANSFER = 51, //Lagertransfer\n RESERVATION = 52, //Reservierung\n ORDER = 53, //Bestellung\n RETURN = 54, //Rücksendung\n\n STOCKTAKE = 61, //Inventur\n STOCKCORRECTION = 62, //Bestandskorrektur\n STOCKADJUSTMENT = 63, //Bestandsanpassung\n STOCKCHECK = 64, //Bestandsprüfung\n\n DAMAGED = 71, //Beschädigung\n LOST = 72, //Verlust\n EXPIRED = 73, //Verfall\n\n DELIVERY = 81, //Lieferung\n PICKUP = 82, //Abholung\n SHIPPING = 83, //Versand\n\n SUBSCRIPTION = 91, //Abonnement\n INVOICE = 92, //Rechnung\n PAYMENT = 93, //Zahlung\n REFUND = 94, //Rückerstattung\n\n DONATION = 101, //Spende\n\n GIFT = 111, //Geschenk\n GIFTCARD = 112, //Geschenkkarte\n GIFTVOUCHER = 113, //Gutschein\n}\n\nexport enum Operators {\n UNKNOWN = 0,\n AND = 1,\n OR = 2,\n}\n\nexport enum DatabaseEventType {\n EVENT_UNKNOWN = 0,\n EVENT_ADDED = 1,\n EVENT_UPDATED = 2,\n EVENT_DELETED = 3\n}\n\nexport enum EMailTemplateType {\n WELCOME = 0,\n REGCONFIRM = 1,\n RESETPASSWORD = 2\n}\n\nexport enum WebTemplateType {\n HOMEPAGE = 0,\n WELCOMEPAGE = 1,\n CONFIRMPAGE = 2\n}\n\nexport enum PinState {\n UNKNOWN = 0,\n LOW = 1,\n HIGH = 2\n}\nexport namespace PinState {\n export function valueOf(str: string): number {\n return PinState[str as keyof typeof PinState] as number;\n }\n export function values() {\n let res: any[] = [];\n for(const value in Object.values(PinState)) {\n if(isNaN(Object.values(PinState)[value] as any) && typeof(Object.values(PinState)[value]) !== 'function') {\n res.push(Object.values(PinState)[value]);\n }\n }\n return res;\n }\n}\n\nexport enum ModuleType {\n UNKNOWN = 0,\n AI_MODULE = 1,\n PAYMENT_MODULE = 2,\n RFID_MODULE = 3,\n ESL_MODULE = 4,\n DB2_MODULE = 5,\n MONGODB_MODULE = 6,\n POSTGRES_MODULE = 7,\n AUTHENTICATION_MODULE = 8,\n GATEWAY_MODULE = 9,\n PRINT_MODULE = 10,\n REGISTRY_MODULE = 11,\n}\n\nexport namespace ModuleType {\n export function valueOf(str: string): number {\n return ModuleType[str as keyof typeof ModuleType] as number;\n }\n export function values() {\n let res: any[] = [];\n for(const value in Object.values(ModuleType)) {\n if(isNaN(Object.values(ModuleType)[value] as any) && typeof(Object.values(ModuleType)[value]) !== 'function') {\n res.push(Object.values(ModuleType)[value]);\n }\n }\n return res;\n }\n}\n\nexport enum RegistrationState {\n UNKNOWN = 0,\n REQUESTED = 1,\n OTPCOMPLETE = 2,\n CONFIRMED = 3,\n ASSOCIATED = 4,\n COMPLETED = 5\n}\n\nexport namespace RegistrationState {\n export function valueOf(str: string): number {\n return RegistrationState[str as keyof typeof RegistrationState] as number;\n }\n export function values() {\n let res: any[] = [];\n for(const value in Object.values(RegistrationState)) {\n if(isNaN(Object.values(RegistrationState)[value] as any) && typeof(Object.values(RegistrationState)[value]) !== 'function') {\n res.push(Object.values(RegistrationState)[value]);\n }\n }\n return res;\n }\n}\n\nexport enum PrinterLanguage {\n UNKNOWN = 0,\n SBPL = 1,\n SPOS = 2,\n SCPCL = 3,\n SZPL = 4,\n SDPL = 5,\n SIPL = 6,\n STPCL = 7,\n ZPL = 8,\n CZPL = 9,\n FINGERPRINT = 10,\n DP = 11,\n SLCS = 12\n}\n\nexport namespace PrinterLanguage {\n export function valueOf(str: string): number {\n return PrinterLanguage[str as keyof typeof PrinterLanguage] as number;\n }\n export function values() {\n let res: any[] = [];\n for(const value in Object.values(PrinterLanguage)) {\n if(isNaN(Object.values(PrinterLanguage)[value] as any) && typeof(Object.values(PrinterLanguage)[value]) !== 'function') {\n res.push(Object.values(PrinterLanguage)[value]);\n }\n }\n return res;\n }\n}\n\nexport enum PrinterManufacturer {\n UNKNOWN = 0,\n CITIZEN = 1,\n BIXOLON = 2,\n BROTHER = 3,\n ESCPOS = 4,\n GOOJPRT = 5,\n HONEYWELL = 6,\n SATO = 7,\n ZEBRA = 8 \n}\n\nexport namespace PrinterManufacturer {\n export function valueOf(str: string): number {\n return PrinterManufacturer[str as keyof typeof PrinterManufacturer] as number;\n }\n export function values() {\n let res: any[] = [];\n for(const value in Object.values(PrinterManufacturer)) {\n if(isNaN(Object.values(PrinterManufacturer)[value] as any) && typeof(Object.values(PrinterManufacturer)[value]) !== 'function') {\n res.push(Object.values(PrinterManufacturer)[value]);\n }\n }\n return res;\n }\n}\n\nexport enum Unit {\n UNKNOWN = 0,\n MM = 1,\n CM = 2,\n M = 3,\n INCH = 4,\n FOOT = 5,\n PIECE = 6,\n KG = 7,\n GRAMM = 8,\n MILLIGRAMM = 9, \n}\nexport namespace Unit {\n export function valueOf(str: string): number {\n return Unit[str as keyof typeof Unit] as number;\n }\n export function values() {\n let res: any[] = [];\n for(const value in Object.values(Unit)) {\n if(isNaN(Object.values(Unit)[value] as any) && typeof(Object.values(Unit)[value]) !== 'function') {\n res.push(Object.values(Unit)[value]);\n }\n }\n return res;\n }\n}\n\nexport enum Severity {\n\tUNKNOWN = 0,\n\tEMERGENCY = 1,\n\tALERT = 2,\n\tCRITICAL = 3,\n\tERROR = 4,\n\tWARNING = 5,\n\tNOTICE = 6,\n\tINFORMATION = 7,\n\tDEBUG = 8,\n}\nexport namespace Severity {\n export function valueOf(str: string): number {\n return Severity[str as keyof typeof Severity] as number;\n }\n export function values() {\n let res: any[] = [];\n for(const value in Object.values(Severity)) {\n if(isNaN(Object.values(Severity)[value] as any) && typeof(Object.values(Severity)[value]) !== 'function') {\n res.push(Object.values(Severity)[value]);\n }\n }\n return res;\n }\n}\n\nexport enum MessageType {\n UNKNOWN = 0,\n ERROR = 1,\n NOTIFICATION = 2,\n EXCEPTION = 3,\n}\nexport namespace MessageType {\n export function valueOf(str: string): number {\n return MessageType[str as keyof typeof MessageType] as number;\n }\n export function values() {\n let res: any[] = [];\n for(const value in Object.values(MessageType)) {\n if(isNaN(Object.values(MessageType)[value] as any) && typeof(Object.values(MessageType)[value]) !== 'function') {\n res.push(Object.values(MessageType)[value]);\n }\n }\n return res;\n }\n}\n\nexport enum AttachmentType {\n UNKNOWN = 0,\n DATAFILE = 1,\n TEXTFILE = 2,\n IMAGEFILE = 3,\n AUDIOFILE = 4,\n VIDEOFILE = 5,\n PDFFILE = 6,\n}\nexport namespace AttachmentType {\n export function valueOf(str: string): number {\n return AttachmentType[str as keyof typeof AttachmentType] as number;\n }\n export function values() {\n let res: any[] = [];\n for (const value in Object.values(AttachmentType)) {\n if (\n isNaN(Object.values(AttachmentType)[value] as any) &&\n typeof Object.values(AttachmentType)[value] !== 'function'\n ) {\n res.push(Object.values(AttachmentType)[value]);\n }\n }\n return res;\n }\n}\n\nexport enum Status {\n SUCCESS = 0,\n ERROR = 1,\n INACTIVE = 2,\n DELETED = 3,\n LOCKED = 4,\n UNLOCKED = 5,\n PENDING = 6,\n UNKNOWN = 99\n}\nexport namespace Status {\n export function valueOf(str: string): number {\n return Status[str as keyof typeof Status] as number;\n }\n export function values() {\n let res: any[] = [];\n for(const value in Object.values(Status)) {\n if(isNaN(Object.values(Status)[value] as any) && typeof(Object.values(Status)[value]) !== 'function') {\n res.push(Object.values(Status)[value]);\n }\n }\n return res;\n }\n}\n\nexport enum TicketStatus {\n OPEN = 1,\n CLOSE = 2,\n INWORK = 3,\n}\nexport namespace TicketStatus {\n export function valueOf(str: string): number {\n return TicketStatus[str as keyof typeof TicketStatus] as number;\n }\n export function values() {\n let res: any[] = [];\n for (const value in Object.values(TicketStatus)) {\n if (\n isNaN(Object.values(TicketStatus)[value] as any) &&\n typeof Object.values(TicketStatus)[value] !== 'function'\n ) {\n res.push(Object.values(TicketStatus)[value]);\n }\n }\n return res;\n }\n}\n\nexport enum TicketSenderType {\n UNKNOWN = 0,\n USER = 1,\n ADMIN = 2,\n}\nexport namespace TicketSenderType {\n export function valueOf(str: string): number {\n return TicketSenderType[str as keyof typeof TicketSenderType] as number;\n }\n export function values() {\n let res: any[] = [];\n for (const value in Object.values(TicketSenderType)) {\n if (isNaN(Object.values(TicketSenderType)[value] as any) && typeof Object.values(TicketSenderType)[value] !== 'function') {\n res.push(Object.values(TicketSenderType)[value]);\n }\n }\n return res;\n }\n}\n","import { Severity } from \"./enums\";\n\nexport interface Logging {\n severity: Severity\n level: number;\n message: string;\n exception: string;\n timestamp: Date;\n}\nexport class Logging implements Logging {\n constructor(severity?: Severity, level?: number, message?: string, exception?: string, timestamp?: Date) {\n this.severity = severity!;\n this.level = level!;\n this.message = message!;\n this.exception = exception!;\n this.timestamp = timestamp!;\n }\n}\n","export interface DataVersion {\n major: number;\n minor: number;\n patch: number;\n build: number;\n version: string;\n}\n\nexport class DataVersion implements DataVersion {\n constructor(major: number, minor: number, patch: number, build: number) {\n this.major = major;\n this.minor = minor;\n this.patch = patch;\n this.build = build;\n this.version = major + '.' + minor + '.' + patch + '.' + build;\n }\n}\n","import { DataObject } from \"./data-object\";\nimport { DataVersion } from \"./data-version\";\n\nconst version = new DataVersion(1, 0, 0, 0) as DataVersion;\n\nexport interface DataDto {\n version: DataVersion;\n data: DataObject[];\n\n// addEntry(data: DataObject): void;\n// getEntryCount(): number;\n}\n\nexport class DataDto implements DataDto {\n constructor(data?: DataObject[]) {\n this.version = version;\n if (data === undefined) {\n this.data = [];\n } else {\n this.data = data;\n }\n }\n\n public addEntry(data: DataObject): void {\n this.data.push(data);\n }\n\n public getEntryCount(): number {\n return this.data.length;\n }\n}\n","import { DataType } from \"../enums\";\nimport { DataVersion } from \"./data-version\";\nimport { Filter } from \"./filter\";\n\nexport interface DataObject {\n objectid: string;\n type: DataType;\n version: DataVersion;\n data: any[];\n filter: Filter;\n}\n\nexport class DataObject implements DataObject {\n constructor(objectid: string, type: DataType, version: DataVersion) {\n this.objectid = objectid;\n this.type = type;\n this.version = version;\n }\n\n public addEntry(data: DataObject): void {\n this.data.push(data);\n }\n\n public getEntryCount(): number {\n return this.data === undefined?0:this.data.length;\n }\n}\n","import { Operators } from \"../enums\";\n\nexport interface Paging {\n page: number;\n pagesize: number;\n totalitems: number;\n totalpages: number;\n}\n\nexport class Paging implements Paging {\n constructor(page: number, pagesize: number) {\n this.page = page;\n this.pagesize = pagesize;\n }\n}\n\nexport interface Sorting {\n fieldname: string;\n direction: string;\n}\n\nexport class Sorting implements Sorting {\n constructor(fieldname: string, direction: string) {\n this.fieldname = fieldname;\n this.direction = direction;\n }\n}\n\nexport interface Sortings {\n sortings: Sorting[];\n}\n\nexport class Sortings implements Sortings {\n constructor(sorting?: Sorting) {\n this.sortings = [];\n if(sorting !== undefined) {\n this.sortings.push(sorting);\n }\n }\n}\n\nexport interface FilterEntry {\n fieldname: string;\n value: string;\n type: string;\n}\n\nexport class FilterEntry implements FilterEntry {\n constructor(fieldname: string, value: string, type: string) {\n this.fieldname = fieldname;\n this.value = value;\n this.type = type;\n }\n}\n\nexport interface FilterEntries {\n entries: FilterEntry[];\n operator: Operators;\n\n addEntry(entry: FilterEntry, operator: Operators): void;\n}\n\nexport class FilterEntries implements FilterEntries {\n constructor(entry: FilterEntry) {\n this.entries = [];\n this.entries.push(entry);\n this.operator = Operators.UNKNOWN;\n }\n\n addEntry(entry: FilterEntry, operator: Operators): void {\n this.entries.push(entry);\n this.operator = operator; \n }\n}\n\nexport interface Filter {\n filters: FilterEntries[];\n paging: Paging;\n sortings: Sortings;\n}\n\nexport class Filter implements Filter {\n constructor() {\n this.filters = [];\n }\n}\n","export interface AuthRequest {\n email?: string;\n password?: string;\n}\n\nexport class AuthRequest implements AuthRequest {\n constructor(email: string, password: string) {\n this.email = email;\n this.password = password;\n }\n}\n","export interface AuthResponse {\n accessToken?: string;\n refreshToken?: string;\n userToken?: string;\n use2fa?: boolean;\n secretImageUri?: string;\n}\n\nexport class AuthResponse implements AuthResponse {\n}\n","import { Address } from \"../common/address-object\";\n\nexport interface RegisterRequest {\n firstname?: string;\n lastname?: string;\n email?: string;\n phone?: string;\n password?: string;\n address?: Address;\n role?: string;\n use2fa?: boolean;\n}\nexport class RegisterRequest implements RegisterRequest {\n use2fa? = true;\n constructor(firstname: string, lastname: string, email: string, phone: string, password: string, address: Address, role: string, use2fa: boolean) {\n this.firstname = firstname;\n this.lastname = lastname;\n this.email = email;\n this.phone = phone;\n this.password = password;\n this.address = address;\n this.role = role;\n this.use2fa = use2fa;\n }\n}\n","export interface VerifyRequest {\n email?: string;\n code?: string;\n}\n\nexport class VerifyRequest implements VerifyRequest {\n constructor(email: string, code: string) {\n this.email = email;\n this.code = code;\n }\n}\n","import { DataVersion } from \"../data-version\";\nimport { AuthRequest } from \"./auth-request\";\nimport { AuthResponse } from \"./auth-response\";\nimport { RegisterRequest } from \"./register-request\";\nimport { VerifyRequest } from \"./verify-request\";\nimport { DataObject } from '../data-object';\nimport { DataType } from \"../../enums\";\n\nconst version = new DataVersion(1, 0, 0, 0) as DataVersion;\n\nexport interface AuthenticationData {\n authRequest?: AuthRequest;\n authResponse?: AuthResponse;\n registerRequest?: RegisterRequest;\n verifyRequest?: VerifyRequest;\n}\n\nexport class AuthenticationData implements AuthenticationData {\n}\n\nexport interface AuthenticationObject {\n data: AuthenticationData[];\n}\n\nexport class AuthenticationObject extends DataObject implements AuthenticationObject {\n constructor(data: AuthenticationData[]) {\n super('', DataType.AUTHENTICATION, version);\n this.data = data;\n }\n}\n","import { DataType, RegistrationState } from \"../../enums\";\nimport { DataObject } from \"../data-object\";\nimport { DataVersion } from \"../data-version\";\nimport { Context } from \"./context\";\n\nconst version = new DataVersion(1, 0, 0, 0) as DataVersion;\n\nexport interface User {\n id?: string;\n use2FA?: boolean;\n created?: Date;\n regstate?: RegistrationState;\n creator?: string;\n changed?: Date;\n changedBy?: string;\n firstname?: string;\n lastname?: string;\n email?: string;\n role?: string;\n phone?: string;\n mobile?: string;\n city?: string;\n zipcode?: string;\n street?: string;\n no?: string;\n country?: string;\n state?: string;\n dateOfBirth?: string;\n context?: Context;\n avatarImg?: Blob;\n credentialsNonExpired?: boolean;\n accountNonLocked?: boolean;\n accountNonExpired?: boolean;\n username?: string;\n enabled?: boolean;\n client?: string;\n}\n\nexport class User implements User {\n constructor(\n id?: string,\n use2FA?: boolean,\n created?: Date,\n regstate?: RegistrationState,\n creator?: string,\n changed?: Date,\n changedBy?: string,\n firstname?: string,\n lastname?: string,\n email?: string,\n role?: string,\n phone?: string,\n mobile?: string,\n city?: string,\n zipcode?: string,\n street?: string,\n no?: string,\n country?: string,\n state?: string,\n dateOfBirth?: string,\n context?: Context,\n avatarImg?: Blob,\n credentialsNonExpired?: boolean,\n accountNonLocked?: boolean,\n accountNonExpired?: boolean,\n username?: string,\n enabled?: boolean,\n client?: string\n ) {\n this.id = id!;\n this.use2FA = use2FA!;\n this.created = created!;\n this.regstate = regstate!;\n this.creator = creator!;\n this.changed = changed!;\n this.changedBy = changedBy!;\n this.firstname = firstname!;\n this.lastname = lastname!;\n this.email = email!;\n this.role = role!;\n this.phone = phone!;\n this.mobile = mobile!;\n this.city = city!;\n this.zipcode = zipcode!;\n this.street = street!;\n this.no = no!;\n this.country = country!;\n this.state = state!;\n this.dateOfBirth = dateOfBirth!;\n this.context = context!;\n this.avatarImg = avatarImg!;\n this.credentialsNonExpired = credentialsNonExpired!;\n this.accountNonLocked = accountNonLocked!;\n this.accountNonExpired = accountNonExpired!;\n this.username = username!;\n this.enabled = enabled!;\n this.client = client!;\n }\n}\nexport interface UserObject {\n data: User[];\n}\n\nexport class UserObject extends DataObject implements UserObject {\n constructor(data: User[]) {\n super('', DataType.USER, version);\n this.data = data;\n }\n}\n","export enum Context {\n NONE = 0,\n USER = 1,\n MANAGER = 2,\n ADMIN = 3,\n ENTERPRISE_ADMIN = 4,\n}\n\nexport namespace Context {\n export function valueOf(str: string): number {\n return Context[str as keyof typeof Context] as number;\n }\n export function values() {\n let res: any[] = [];\n for(const value in Object.values(Context)) {\n if(isNaN(Object.values(Context)[value] as any) && typeof(Object.values(Context)[value]) !== 'function') {\n res.push(Object.values(Context)[value]);\n }\n } \n return res; \n }\n}\n","import { DataType } from \"../../enums\";\nimport { DataObject } from \"../data-object\";\nimport { DataVersion } from \"../data-version\";\nimport { Address } from \"./address-object\";\n\nconst version = new DataVersion(1, 0, 0, 0) as DataVersion;\n\nexport interface Manufacturer {\n id: string;\n name: string;\n email: string;\n website: string;\n addresses: Address[];\n code: string;\n}\n\nexport class Manufacturer implements Manufacturer {\n constructor(id?: string, name?: string, email?: string, website?: string, addresses?: Address[], code?: string) {\n this.id = id!;\n this.name = name!;\n this.email = email!;\n this.website = website!;\n this.addresses = addresses!;\n this.code = code!;\n }\n}\n\nexport interface ManufacturerObject {\n data: Manufacturer[]; \n}\n\nexport class ManufacturerObject extends DataObject implements ManufacturerObject {\n constructor(data: Manufacturer[]) {\n super('', DataType.MANUFACTURER, version);\n this.data = data;\n }\n}\n","import { DataType } from \"../../enums\";\nimport { DataObject } from \"../data-object\";\nimport { DataVersion } from \"../data-version\";\n\nconst version = new DataVersion(1, 0, 0, 0) as DataVersion;\n\nexport interface License{\n id?: string;\n companyid?: string;\n licensekey?: string;\n validuntil?: string;\n}\n\nexport class License implements License {\n constructor(id: string, companyid: string, licensekey: string, validuntil: string) {\n this.id = id;\n this.companyid = companyid;\n this.licensekey = licensekey;\n this.validuntil = validuntil;\n }\n}\n\nexport interface LicenseObject {\n data: License[];\n}\n\nexport class LicenseObject extends DataObject implements LicenseObject { \n constructor(data: License[]) {\n super('', DataType.LICENSE, version);\n this.data = data;\n }\n}\n\n","import { DataType } from \"../../enums\";\nimport { DataObject } from \"../data-object\";\nimport { DataVersion } from \"../data-version\";\n\nconst version = new DataVersion(1, 0, 0, 0) as DataVersion;\n\nexport interface AddressType {\n id?: string;\n name: string;\n description: string;\n}\n\nexport class AddressType implements AddressType {\n\n}\n\nexport interface AddressToCompany {\n id?: string;\n address_id: string;\n company_id: string;\n type: AddressType;\n}\n\nexport class AddressToCompany implements AddressToCompany {\n\n}\n\nexport interface Address {\n id?: string;\n street: string;\n no: string;\n zipcode: string;\n city: string;\n country: string;\n state: string;\n}\n\nexport class Address implements Address {\n constructor(id?: string, street?: string, no?: string, zipcode?: string, city?: string, country?: string, state?: string) {\n this.id = id;\n this.street = street!;\n this.no = no!;\n this.zipcode = zipcode!;\n this.city = city!;\n this.country = country!;\n this.state = state!;\n }\n}\n\nexport interface AddressObject extends DataObject {\n data: Address[];\n}\n\nexport class AddressObject extends DataObject implements AddressObject {\n constructor(data: Address[]) {\n super('', DataType.ADDRESS, version);\n this.data = data;\n }\n}\n","import { DataType, EMailTemplateType, WebTemplateType } from \"../../enums\";\nimport { DataObject } from \"../data-object\";\nimport { DataVersion } from \"../data-version\";\nimport { Company } from \"./company-object\";\n\nconst version = new DataVersion(1, 0, 0, 0) as DataVersion;\n\nexport interface WebTemplates {\n id?: string;\n type: WebTemplateType;\n name: string;\n data: string;\n langauge: string;\n}\n\nexport class WebTemplates implements WebTemplates {\n\n}\nexport interface WebTemplatesObject {\n data: WebTemplates[];\n}\nexport class WebTemplatesObject extends DataObject implements WebTemplatesObject {\n constructor(data: WebTemplates[]) {\n super('', DataType.WEBTEMPLATE, version);\n this.data = data;\n }\n}\n\nexport interface EmailTemplates {\n id?: string;\n type: EMailTemplateType;\n name: string;\n data: string;\n langauge: string;\n}\n\nexport class EmailTemplates implements EmailTemplates {\n\n}\n\nexport interface EmailTemplatesObject {\n data: EmailTemplates[];\n}\nexport class EmailTemplatesObject extends DataObject implements EmailTemplatesObject {\n constructor(data: EmailTemplates[]) {\n super('', DataType.EMAILTEMPLATE, version);\n this.data = data;\n }\n}\n\nexport interface Client {\n id?: string;\n orderid: number;\n parentid: string;\n children: Client[];\n company: Company;\n companies: Company[];\n url: string\n theme: string;\n logo: string;\n webtemplates: WebTemplates[];\n emailtemplates: EmailTemplates[];\n}\n\nexport class Client implements Client {\n}\n\nexport interface ClientObject {\n data: Client[];\n}\n\nexport class ClientObject extends DataObject implements ClientObject {\n constructor(data: Client[]) {\n super('', DataType.CLIENT, version);\n this.data = data;\n }\n} \n","import { DataType } from \"../../enums\";\nimport { DataObject } from \"../data-object\";\nimport { DataVersion } from \"../data-version\";\n\nconst version = new DataVersion(1, 0, 0, 0) as DataVersion;\n\nexport interface Currency {\n id: string;\n name: string;\n isocode: string;\n symbol: string;\n}\n\nexport class Currency implements Currency {\n constructor(id: string, name: string, isocode: string, symbol: string) {\n this.id = id;\n this.name = name;\n this.isocode = isocode;\n this.symbol = symbol;\n }\n}\n\nexport interface CurrencyObject {\n data: Currency[];\n}\n\nexport class CurrencyObject extends DataObject implements CurrencyObject {\n constructor(data: Currency[]) {\n super('', DataType.CURRENCY, version);\n this.data = data;\n }\n}\n","import { DataType } from \"../../enums\";\nimport { DataObject } from \"../data-object\";\nimport { DataVersion } from \"../data-version\";\n\nconst version = new DataVersion(1, 0, 0, 0) as DataVersion;\n\nexport interface Country {\n id?: string;\n name: string;\n}\n\nexport class Country implements Country {\n constructor(id: string, name: string) {\n this.id = id;\n this.name = name;\n }\n}\n\nexport interface CountryObject {\n data: Country[];\n}\n\nexport class CountryObject extends DataObject implements CountryObject {\n constructor(data: Country[]) {\n super('', DataType.COUNTRY, version);\n this.data = data;\n }\n}\n","import { DataType } from \"../../enums\";\nimport { DataObject } from \"../data-object\";\nimport { DataVersion } from \"../data-version\";\n\nconst version = new DataVersion(1, 0, 0, 0) as DataVersion;\n\nexport interface Image {\n width: number;\n height: number;\n url: string;\n blob: Blob;\n}\n\nexport class Image implements Image {\n constructor(width: number, height: number, url: string, blob: Blob) {\n this.width = width;\n this.height = height;\n this.url = url;\n this.blob = blob;\n }\n}\n\nexport interface ImageObject {\n data: Image[];\n}\n\nexport class ImageObject extends DataObject implements ImageObject {\n constructor(data: Image[]) {\n super('', DataType.IMAGE, version);\n this.data = data;\n }\n \n override getEntryCount(): number {\n return this.data.length;\n }\n}\n\n","import { DataType } from \"../../enums\";\nimport { DataObject } from \"../data-object\";\nimport { DataVersion } from \"../data-version\";\n\nconst version: DataVersion = new DataVersion(1, 0, 0, 0);\n\nexport interface VAT {\n id: string;\n name: string;\n value: string;\n description: string;\n}\n\nexport class VAT implements VAT {\n constructor(id?: string, name?: string, value?: string, description?: string) {\n this.id = id!;\n this.name = name!;\n this.value = value!;\n this.description = description!;\n }\n}\n\nexport interface VATObject {\n data: VAT[];\n}\n\nexport class VATObject extends DataObject implements VATObject {\n constructor(data: VAT[]) {\n super('', DataType.VAT, version);\n this.data = data;\n }\n}\n\nexport interface VATHistory {\n id: string;\n vatId: number;\n fromDate: Date;\n oldValue: number;\n newValue: number;\n}\n\nexport class VATHistory implements VATHistory {\n constructor(id?: string, vatId?: number, fromDate?: Date, oldValue?: number, newValue?: number) {\n this.id = id!;\n this.vatId = vatId!;\n this.fromDate = fromDate!;\n this.oldValue = oldValue!;\n this.newValue = newValue!;\n }\n}\n\nexport interface Taxes {\n}\n","import { DataType } from \"../../enums\";\nimport { DataObject } from \"../data-object\";\nimport { DataVersion } from \"../data-version\";\nimport { Client } from \"./client-object\";\n\nconst version = new DataVersion(1, 0, 0, 0) as DataVersion;\n\nexport interface Module {\n id?: string;\n name: string;\n type: string;\n description: string;\n hostname: string;\n port: number;\n token: string;\n client: Client;\n}\n\nexport class Module implements Module {\n}\n\nexport interface ModuleObject {\n data: Module[];\n}\n\nexport class ModuleObject extends DataObject implements ModuleObject {\n constructor(data: Module[]) {\n super('', DataType.MODULE, version);\n this.data = data;\n }\n}\n","import { DataType } from \"../../enums\";\nimport { DataObject } from \"../data-object\";\nimport { DataVersion } from \"../data-version\";\nimport { Address } from \"./address-object\";\nimport { Company } from \"./company-object\";\n\nconst version = new DataVersion(1, 0, 0, 0) as DataVersion;\n\nexport interface Location {\n id?: string;\n name: string;\n description: string;\n company: Company;\n address: Address;\n building: Building[];\n}\n\nexport class Location implements Location {\n constructor(id?: string, name?: string, description?: string, company?: Company, address?: Address, building?: Building[]) {\n this.id = id!;\n this.name = name!;\n this.description = description!;\n this.company = company!;\n this.address = address!;\n this.building = building!;\n }\n}\n\nexport interface Building {\n id?: string;\n name: string;\n description: string;\n floor: Floor[];\n}\n\nexport class Building implements Building {\n constructor(id?: string, name?: string, description?: string, floor?: Floor[]) {\n this.id = id!;\n this.name = name!;\n this.description = description!;\n this.floor = floor!;\n }\n}\n\nexport interface Floor {\n id?: string;\n name: string;\n description: string;\n room: Room[];\n}\n\nexport class Floor implements Floor {\n constructor(id?: string, name?: string, description?: string, room?: Room[]) {\n this.id = id!;\n this.name = name!;\n this.description = description!;\n this.room = room!;\n }\n}\n\nexport interface Room {\n id?: string;\n name: string;\n description: string;\n}\n\nexport class Room implements Room {\n constructor(id?: string, name?: string, description?: string) {\n this.id = id!;\n this.name = name!;\n this.description = description!;\n } \n}\n\nexport interface LocationObject extends DataObject {\n data: Location[];\n}\n\nexport class LocationObject extends DataObject implements LocationObject {\n constructor(data: Location[]) {\n super('', DataType.LOCATION, version);\n this.data = data;\n }\n}\n\nexport interface BuildingObject extends DataObject {\n data: Building[];\n}\n\nexport class BuildingObject extends DataObject implements BuildingObject {\n constructor(data: Building[]) {\n super('', DataType.BUILDING, version);\n this.data = data;\n }\n}\n\nexport interface FloorObject extends DataObject {\n data: Floor[];\n}\n\nexport class FloorObject extends DataObject implements FloorObject {\n constructor(data: Floor[]) {\n super('', DataType.FLOOR, version);\n this.data = data;\n }\n}\n\nexport interface RoomObject extends DataObject {\n data: Room[];\n}\n\nexport class RoomObject extends DataObject implements RoomObject {\n constructor(data: Room[]) {\n super('', DataType.ROOM, version);\n this.data = data;\n }\n}\n","import { DataType } from \"../../enums\";\nimport { DataObject } from \"../data-object\";\nimport { DataVersion } from \"../data-version\";\nimport { Address } from \"./address-object\";\n\nconst version = new DataVersion(1, 0, 0, 0) as DataVersion;\n\nexport interface Company {\n id?: string;\n name: string;\n form: string;\n taxno: string;\n taxid: string;\n addresses: Address[];\n// addresses: AddressToCompany[];\n website: string;\n registerno: string;\n}\n\nexport class Company implements Company {\n constructor(id?: string, name?: string, form?: string, taxno?: string, taxid?: string, addresses?: Address[], website?: string, registerno?: string) {\n this.id = id;\n this.name = name!;\n this.form = form!;\n this.taxno = taxno!;\n this.taxid = taxid!;\n this.addresses = addresses!;\n this.website = website!;\n this.registerno = registerno!;\n }\n}\n\nexport interface CompanyObject {\n data: Company[];\n}\n\nexport class CompanyObject extends DataObject implements CompanyObject {\n constructor(data: Company[]) {\n super('', DataType.COMPANY, version);\n this.data = data;\n }\n} \n","import { DataType } from \"../../enums\";\nimport { DataObject } from \"../data-object\";\nimport { DataVersion } from \"../data-version\";\n\nconst version = new DataVersion(1, 0, 0, 0) as DataVersion;\n\nexport interface Vendor {\n id: string;\n name: string;\n website: string;\n description: string;\n}\n\nexport class Vendor implements Vendor {\n constructor(id?: string, name?: string, website?: string, description?: string) {\n this.id = id!;\n this.name = name!;\n this.website = website!;\n this.description = description!;\n }\n}\n\nexport interface VendorObject {\n data: Vendor[];\n}\n\nexport class VendorObject extends DataObject implements VendorObject {\n constructor(data: Vendor[]) {\n super('', DataType.VENDOR, version);\n this.data = data;\n }\n override getEntryCount(): number {\n return this.data.length;\n }\n}","import { DataType } from \"../../enums\";\nimport { DataObject } from \"../data-object\";\nimport { DataVersion } from \"../data-version\";\nimport { Vendor } from \"./vendor-object\";\n\nconst version = new DataVersion(1, 0, 0, 0) as DataVersion;\n\nexport interface AccessPoint {\n\tid: string;\n\tipaddress: string;\n wifiaddress: string;\n btaddress: string;\n macaddress: string;\n serial: string;\n model: string;\n softwareversion: string;\n hardwareversion: string;\n vendor: Vendor;\n}\n\nexport class AccessPoint implements AccessPoint {\n constructor(id?: string, ipaddress?: string, wifiaddress?: string, btaddress?: string, macaddress?: string, serial?: string, model?: string, softwareversion?: string, hardwareversion?: string, vendor?: Vendor) {\n this.id = id!;\n this.ipaddress = ipaddress!;\n this.wifiaddress = wifiaddress!;\n this.btaddress = btaddress!;\n this.macaddress = macaddress!;\n this.serial = serial!;\n this.model = model!;\n this.softwareversion = softwareversion!;\n this.hardwareversion = hardwareversion!;\n this.vendor = vendor!;\n }\n}\n\nexport interface AccessPointObject {\n data: AccessPoint[];\n}\n\nexport class AccessPointObject extends DataObject implements AccessPointObject {\n constructor(data: AccessPoint[]) {\n super('', DataType.ACCESSPOINT, version);\n this.data = data;\n }\n override getEntryCount(): number {\n return this.data.length;\n }\n}\n","import { DataType, MessageType } from \"../../enums\";\nimport { DataObject } from \"../data-object\";\nimport { DataVersion } from \"../data-version\";\n\nconst version = new DataVersion(1, 0, 0, 0) as DataVersion;\n\nexport interface Message {\n messagetype: MessageType;\n code: number;\n name: string;\n message: string;\n}\n\nexport class Message implements Message {\n constructor(messagetype?: MessageType, code?: number, name?: string, message?: string) {\n this.messagetype = messagetype!;\n this.code = code!;\n this.name = name!;\n this.message = message!;\n }\n}\n\nexport interface MessageObject {\n data: Message[];\n}\n\nexport class MessageObject extends DataObject implements MessageObject {\n constructor(data: Message[]) {\n super('', DataType.MESSAGE, version);\n this.data = data;\n }\n\n override getEntryCount(): number {\n return this.data.length;\n }\n}\n","import { DataType } from \"../../enums\";\nimport { DataObject } from \"../data-object\";\nimport { DataVersion } from \"../data-version\";\nimport { Item } from \"../erp/items/item-object\";\nimport { Space } from \"../erp/items/shelf-object\";\nimport { User } from \"./user-object\";\n\nconst version = new DataVersion(1, 0, 0, 0) as DataVersion;\n\nexport interface CartItem {\n id: string;\n item: Item;\n amount: number;\n space: Space;\n price: number;\n}\nexport class CartItem implements CartItem {\n constructor(item?: Item, amount?: number, space?: Space, price?: number) {\n this.item = item!;\n this.amount = amount!;\n this.space = space!;\n this.price = price!;\n }\n}\nexport interface Cart {\n id: string;\n code: string;\n transaktion: string;\n user: User;\n userid: string;\n buildingid: string;\n created: Date;\n items: CartItem[];\n}\nexport class Cart implements Cart {\n constructor(id?: string, code?: string, transaktion?: string, user?: User, userid?: string, buildingid?: string, created?: Date, items?: CartItem[]) {\n this.id = id!;\n this.code = code!;\n this.transaktion = transaktion!;\n this.user = user!;\n this.userid = userid!;\n this.buildingid = buildingid!;\n this.created = created!;\n this.items = items!;\n }\n}\nexport interface CartObject {\n data: Cart[];\n}\nexport class CartObject extends DataObject implements CartObject {\n constructor(data: Cart[]) {\n super('', DataType.CART, version);\n this.data = data;\n }\n \n override getEntryCount(): number {\n return this.data.length;\n }\n} ","import { DataType } from \"../../enums\";\nimport { DataObject } from \"../data-object\";\nimport { DataVersion } from \"../data-version\";\nimport { User } from \"./user-object\";\n\nconst version = new DataVersion(1, 0, 0, 0) as DataVersion;\n\nexport interface Role {\n id: string;\n name: string;\n description: string;\n}\n\nexport class Role implements Role {\n constructor(id?: string, name?: string, description?: string) {\n this.id = id!;\n this.name = name!;\n this.description = description!;\n }\n}\n\nexport interface Resource {\n id: string;\n name: string;\n description: string;\n roles?: Role[];\n}\n\nexport class Resource implements Resource {\n constructor(id: string, name: string, description: string, roles?: Role[]) {\n this.id = id;\n this.name = name;\n this.description = description;\n this.roles = roles;\n }\n}\n\nexport interface UserAccess {\n id: string;\n name: string;\n roles?: Role[];\n users?: User[];\n}\n\nexport class UserAccess implements UserAccess {\n constructor(id: string, name: string, roles?: Role[], users?: User[]) {\n this.id = id;\n this.name = name;\n this.roles = roles;\n this.users = users;\n }\n}\n\nexport interface RoleObject {\n data: Role[];\n}\n\nexport class RoleObject extends DataObject implements RoleObject {\n\n constructor(data: Role[]) {\n super('', DataType.ROLE, version);\n this.data = data;\n }\n override getEntryCount(): number {\n return this.data.length;\n }\n}\n\nexport interface UserAccessObject {\n data: UserAccess[];\n}\n\nexport class UserAccessObject extends DataObject implements UserAccessObject {\n constructor(data: UserAccess[]) {\n super('', DataType.USERACCESS, version);\n this.data = data;\n }\n override getEntryCount(): number {\n return this.data.length;\n }\n}\n","import { DataType } from \"../../enums\";\nimport { DataObject } from \"../data-object\";\nimport { DataVersion } from \"../data-version\";\nimport { Address } from \"./address-object\";\n\nconst version = new DataVersion(1, 0, 0, 0) as DataVersion;\n\nexport interface Supplier {\n id: string;\n name: string;\n email: string;\n phone: string;\n website: string;\n addresses: Address[];\n code: string;\n}\n\nexport class Supplier implements Supplier {\n constructor(\n id?: string,\n name?: string,\n email?: string,\n phone?: string,\n website?: string,\n addresses?: Address[],\n code?: string\n ) {\n this.id = id!;\n this.name = name!;\n this.email = email!;\n this.phone = phone!;\n this.website = website!;\n this.addresses = addresses!;\n this.code = code!;\n }\n}\n\nexport interface SupplierObject {\n data: Supplier[];\n}\n\nexport class SupplierObject extends DataObject implements SupplierObject {\n constructor(data: Supplier[]) {\n super('', DataType.SUPPLIER, version);\n this.data = data;\n }\n}\n\n","import { DataType } from \"../../enums\";\nimport { DataObject } from \"../data-object\";\nimport { DataVersion } from \"../data-version\";\n\nconst version = new DataVersion(1, 0, 0, 0) as DataVersion;\n\nexport interface Issue {\n id: string;\n question: string;\n answer: string;\n}\nexport class Issue implements Issue {\n constructor(id?: string, question?: string, answer?: string) {\n this.id = id!;\n this.question = question!;\n this.answer = answer!;\n }\n}\n\nexport interface FAQ {\n id: string;\n topic: string;\n issues: Issue[];\n}\nexport class FAQ implements FAQ {\n constructor(id?: string, topic?: string, issues?: Issue[]) {\n this.id = id!;\n this.topic = topic!;\n this.issues = issues!;\n }\n}\n\nexport interface FAQObject {\n data: FAQ[];\n}\n\nexport class FAQObject extends DataObject implements FAQObject {\n constructor(data: FAQ[]) {\n super('', DataType.FAQ, version);\n this.data = data;\n }\n}\n","import { DataType } from \"../../enums\";\nimport { DataObject } from \"../data-object\";\nimport { DataVersion } from \"../data-version\";\n\nconst version = new DataVersion(1, 0, 0, 0) as DataVersion;\n\nexport interface FarmingMethod {\n id: string;\n method: string;\n}\nexport class FarmingMethod implements FarmingMethod {\n constructor(id?: string, method?: string) {\n this.id = id!;\n this.method = method!;\n }\n}\n\nexport interface FarmingMethodObject {\n data: FarmingMethod[];\n}\nexport class FarmingMethodObject extends DataObject implements FarmingMethodObject {\n constructor(data: FarmingMethod[]) {\n super('', DataType.FARMINGMETHOD, version);\n this.data = data;\n }\n}","import { DataType } from \"../../enums\";\nimport { DataObject } from \"../data-object\";\nimport { DataVersion } from \"../data-version\";\n\nconst version = new DataVersion(1, 0, 0, 0) as DataVersion;\n\nexport interface Chat {\n id: string;\n senderid: string;\n sendername: string;\n receiverid: string;\n receivername: string;\n message: string;\n timestamp: Date;\n}\nexport class Chat implements Chat {\n constructor(id?: string, senderid?: string, sendername?: string, receiverid?: string, receivername?: string, message?: string, timestamp?: Date) {\n this.id = id!;\n this.senderid = senderid!;\n this.sendername = sendername!;\n this.receiverid = receiverid!;\n this.receivername = receivername!;\n this.message = message!;\n this.timestamp = timestamp!;\n }\n}\n\nexport interface ChatObject {\n data: Chat[];\n}\nexport class ChatObject extends DataObject implements ChatObject {\n constructor(data: Chat[]) {\n super('', DataType.CHAT, version);\n this.data = data;\n }\n}","import { AttachmentType, DataType, MessageType, TicketSenderType, TicketStatus } from \"../../enums\";\nimport { DataObject } from \"../data-object\";\nimport { DataVersion } from \"../data-version\";\n\nconst version = new DataVersion(1, 0, 0, 0) as DataVersion;\n\nexport interface TicketMessage {\n id: string;\n ticketid: string;\n senderid: string;\n sendertype: TicketSenderType;\n message: string;\n attachmenttype: AttachmentType;\n attachment: Blob;\n created: Date;\n}\nexport class TicketMessage implements TicketMessage {\n constructor(id?: string, ticketid?: string, senderid?: string, sendertype?: TicketSenderType, attachmenttype?: AttachmentType, message?: string, attachment?: Blob, created?: Date) {\n this.id = id!;\n this.ticketid = ticketid!;\n this.senderid = senderid!;\n this.sendertype = sendertype!;\n this.message = message!;\n this.attachmenttype = attachmenttype!;\n this.attachment = attachment!;\n this.created = created!;\n }\n}\n\nexport interface Ticket {\n id: string;\n userid: string;\n topic: string;\n status: TicketStatus;\n created: Date;\n closed: Date;\n assigned: string;\n messages: TicketMessage[];\n}\nexport class Ticket implements Ticket {\n constructor(id?: string, userid?: string, topic?: string, status?: TicketStatus, created?: Date, closed?: Date, assigned?: string, messages?: TicketMessage[]) {\n this.id = id!;\n this.userid = userid!;\n this.topic = topic!;\n this.status = status!;\n this.created = created!;\n this.closed = closed!;\n this.assigned = assigned!;\n this.messages = messages!;\n }\n}\n\nexport interface TicketMessageObject {\n data: TicketMessage[];\n}\nexport class TicketMessageObject extends DataObject implements TicketMessageObject {\n constructor(data: TicketMessage[]) {\n super('', DataType.TICKETMESSAGE, version);\n this.data = data;\n }\n\n override getEntryCount(): number {\n return this.data.length;\n }\n}\n\nexport interface TicketObject {\n data: Ticket[];\n}\nexport class TicketObject extends DataObject implements TicketObject {\n constructor(data: Ticket[]) {\n super('', DataType.TICKET, version);\n this.data = data;\n }\n \n override getEntryCount(): number {\n return this.data.length;\n }\n}\n","import { DataType } from \"../../enums\";\nimport { Context } from \"../common/context\";\nimport { Resource } from '../common/role-object';\nimport { DataObject } from \"../data-object\";\nimport { DataVersion } from \"../data-version\";\n\nconst version = new DataVersion(1, 0, 0, 0) as DataVersion;\n\nexport interface menuitem {\n id: string;\n name: string;\n resource: Resource;\n children: menuitem[];\n icon?: string;\n link?: string;\n}\n\nexport class menuitem implements menuitem {\n id: string;\n name: string;\n resource: Resource;\n children: menuitem[];\n icon?: string;\n link?: string;\n \n constructor(\n id: string,\n name: string,\n resource: Resource,\n children: menuitem[],\n icon?: string,\n link?: string\n ) {\n this.id = id;\n this.name = name;\n this.resource = resource;\n this.children = children;\n this.icon = icon;\n this.link = link;\n }\n}\n\nexport interface menu {\n id: string;\n context: Context;\n resource: Resource;\n name: string;\n children: menuitem[];\n order: number;\n icon?: string;\n link?: string;\n}\n\nexport class Menu implements menu {\n id: string;\n context: Context;\n resource: Resource;\n name: string;\n children: menuitem[];\n order: number;\n icon?: string;\n link?: string;\n\n constructor(\n id: string,\n context: Context,\n resource: Resource,\n name: string,\n children: menuitem[],\n order: number,\n icon?: string,\n link?: string\n ) {\n this.id = id;\n this.context = context;\n this.resource = resource;\n this.name = name;\n this.children = children;\n this.order = order;\n this.icon = icon;\n this.link = link;\n }\n}\n\nexport interface MenuObject {\n data: menu[];\n}\n\nexport class MenuObject extends DataObject implements MenuObject {\n\n constructor(data: menu[]) {\n super('', DataType.MENU, version);\n this.data = data;\n }\n override getEntryCount(): number {\n return this.data.length;\n }\n}\n","import { DataType } from \"../../../enums\";\nimport { DataObject } from \"../../data-object\";\nimport { DataVersion } from \"../../data-version\";\n\nconst version = new DataVersion(1, 0, 0, 0) as DataVersion;\n\nexport interface Dimension {\n width: number;\n height: number;\n depth: number; \n}\n\nexport class Dimension implements Dimension {\n constructor(width: number, height: number, depth: number) {\n this.width = width;\n this.height = height;\n this.depth = depth;\n }\n}\n\nexport interface DimensionObject {\n data: Dimension[];\n}\n\nexport class DimensionObject extends DataObject implements DimensionObject {\n constructor(data: Dimension[]) {\n super('', DataType.DIMENSION, version);\n this.data = data;\n }\n \n override getEntryCount(): number {\n return this.data.length;\n }\n}","import { DataObject } from \"../../data-object\";\nimport { DataType, Unit } from \"../../../enums\";\nimport { DataVersion } from \"../../data-version\";\nimport { Space } from \"./shelf-object\";\nimport { Item } from \"./item-object\";\n\nconst version = new DataVersion(1, 0, 0, 0) as DataVersion;\n\nexport interface Inventory {\n id: string;\n amount: number;\n unit: Unit;\n weight: number;\n space: Space;\n item: Item;\n}\n\nexport class Inventory implements Inventory {\n constructor(id?: string, amount?: number, unit?: Unit, weight?: number, space?: Space, item?: Item) {\n this.id = id!;\n this.amount = amount!;\n this.unit = unit!;\n this.weight = weight!;\n this.space = space!;\n this.item = item!;\n }\n\n updateInventory(addedAmount: number) {\n this.amount += addedAmount;\n }\n}\n\nexport interface InventoryObject {\n data: Inventory[];\n}\n\nexport class InventoryObject extends DataObject implements InventoryObject {\n constructor(data: Inventory[]) {\n super('', DataType.INVENTORY, version);\n this.data = data;\n }\n \n override getEntryCount(): number {\n return this.data.length;\n }\n}\n","import { DataType, Unit } from \"../../../enums\";\nimport { Country } from \"../../common/country-object\";\nimport { Currency } from \"../../common/currency-object\";\nimport { FarmingMethod } from \"../../common/farmingmethod-object\";\nimport { Image } from \"../../common/image-object\";\nimport { Manufacturer } from \"../../common/manufacturer-object\";\nimport { VAT } from \"../../common/taxes\";\nimport { DataObject } from \"../../data-object\";\nimport { DataVersion } from \"../../data-version\";\nimport { ItemProperties } from \"./item-properties-object\";\nimport { Packaging } from \"./packaging-object\";\nimport { Rating } from \"./rating-object\";\n\nconst version = new DataVersion(1, 0, 0, 0) as DataVersion;\n\nexport interface ItemGroup {\n id: string;\n name: string;\n description: string;\n code: string;\n}\n\nexport class ItemGroup implements ItemGroup {\n constructor(\n id?: string,\n name?: string,\n description?: string,\n code?: string\n ) {\n this.id = id!;\n this.name = name!;\n this.description = description!;\n this.code = code!;\n }\n}\n\nexport interface ItemGroupObject {\n data: ItemGroup[];\n}\n\nexport class ItemGroupObject extends DataObject implements ItemGroupObject {\n constructor(data: ItemGroup[]) {\n super('', DataType.ITEMGROUP, version);\n this.data = data;\n }\n}\n\nexport interface Item {\n id?: string; //auto\n name?: string;\n matchcode?: string[];\n description?: string;\n itemno?: string;\n itemgroup?: ItemGroup;\n ean?: string; //semi-auto\n coo?: Country; // country of origin\n manufacturer?: Manufacturer; // manufacturer\n manufactureritemno?: string; //manufacturer gtin\n manufacturerean?: string; //manufacturer ean\n images?: Image[];\n rating?: number;\n ratings?: Rating[];\n proddetail?: string;\n packaging?: Packaging[];\n vat: VAT;\n defaultunit?: Unit;\n currency: Currency;\n minage: number;\n properties: ItemProperties[];\n farmingMethod?: FarmingMethod;\n producttype: string[];\n}\n\nexport class Item implements Item {\n constructor() {\n this.matchcode = [];\n }\n}\n\nexport interface ItemObject {\n data: Item[];\n}\n\nexport class ItemObject extends DataObject implements ItemObject{\n constructor(data: Item[]) {\n super('', DataType.ITEM, version);\n this.data = data;\n }\n}\n","import exp from \"node:constants\";\nimport { DataType } from \"../../../enums\";\nimport { DataObject } from \"../../data-object\";\nimport { DataVersion } from \"../../data-version\";\n\nconst version = new DataVersion(1, 0, 0, 0) as DataVersion;\n\nexport interface PropertyNames {\n id: string;\n name: string;\n}\n\nexport class PropertyNames implements PropertyNames {\n constructor(\n id?: string,\n name?: string\n ) {\n this.id = id!;\n this.name = name!;\n }\n}\n\nexport interface PropertyNamesObject {\n data: PropertyNames[];\n}\n\nexport class PropertyNamesObject extends DataObject implements PropertyNamesObject {\n constructor(data: PropertyNames[]) {\n super('', DataType.PROPERTYNAMES, version);\n this.data = data;\n }\n}\n\nexport interface CategoryNames {\n id: string;\n name: string;\n description: string;\n propertynames: PropertyNames[];\n}\n\nexport class CategoryNames implements CategoryNames {\n constructor(\n id?: string,\n name?: string,\n description?: string,\n propertynames?: PropertyNames[]\n ) {\n this.id = id!;\n this.name = name!;\n this.description = description!;\n this.propertynames = propertynames!;\n }\n}\n\nexport interface CategoryNamesObject {\n data: CategoryNames[];\n}\n\nexport class CategoryNamesObject extends DataObject implements CategoryNamesObject {\n constructor(data: CategoryNames[]) {\n super('', DataType.CATEGORYNAMES, version);\n this.data = data;\n }\n}\n\nexport interface ItemProperty {\n id: string;\n name: string; // e.g. \"Sugar\" \n value: string; // e.g. \"10g\"\n base: string; // e.g. \"100g\"\n expression: string; // formula for displaying data e.g. \"name (value per base)\" => \"Sugar (10g per 100g)\n}\n\nexport class ItemProperty implements ItemProperty {\n constructor(\n id?: string,\n name?: string,\n value?: string,\n base?: string,\n expression?: string\n ) {\n this.id = id!;\n this.name = name!;\n this.value = value!;\n this.base = base!;\n this.expression = expression!;\n }\n}\n\nexport interface ItemPropertyObject {\n data: ItemProperty[];\n}\n\nexport class ItemPropertyObject extends DataObject implements ItemPropertyObject {\n constructor(data: ItemProperty[]) {\n super('', DataType.ITEMPROPERTY, version);\n this.data = data;\n }\n}\n\nexport interface ItemProperties {\n id: string;\n name: string;\n description: string;\n properties: ItemProperty[];\n}\n\nexport class ItemProperties implements ItemProperties {\n constructor(\n id?: string,\n name?: string,\n description?: string,\n properties?: ItemProperty[]\n ) {\n this.id = id!;\n this.name = name!;\n this.description = description!;\n this.properties = properties!;\n }\n}\n\nexport interface ItemPropertiesObject {\n data: ItemProperties[];\n}\n\nexport class ItemPropertiesObject extends DataObject implements ItemPropertiesObject {\n constructor(data: ItemProperties[]) {\n super('', DataType.ITEMPROPERTIES, version);\n this.data = data;\n }\n}\n","import { DataType } from \"../../../enums\";\nimport { DataObject } from \"../../data-object\";\nimport { DataVersion } from \"../../data-version\";\nimport { Inventory } from \"./inventory-object\";\nimport { Item } from \"./item-object\";\nimport { SellingPrice } from \"./price-object\";\nimport { Stock } from \"./stock-object\";\n\nconst version = new DataVersion(1, 0, 0, 0) as DataVersion;\n\nexport interface ItemDetail {\n item: Item;\n stock: Stock;\n sellingprice: SellingPrice;\n inventory: Inventory[];\n}\n\nexport class ItemDetail implements ItemDetail {\n constructor(item?: Item, stock?: Stock, sellingprice?: SellingPrice, inventory?: Inventory[]) {\n this.item = item!;\n this.stock = stock!;\n this.sellingprice = sellingprice!;\n this.inventory = inventory!;\n }\n}\n\nexport interface ItemDetailObject {\n data: ItemDetail[];\n}\n\nexport class ItemDetailObject extends DataObject implements ItemDetailObject {\n constructor(data: ItemDetail[]) {\n super('', DataType.ITEMDETAIL, version);\n this.data = data;\n }\n}","import { DataType } from \"../../../enums\";\nimport { DataObject } from \"../../data-object\";\nimport { DataVersion } from \"../../data-version\";\n\nconst version = new DataVersion(1, 0, 0, 0) as DataVersion;\n\nexport interface Packaging {\n id: string;\n name: string;\n dimensions: number[];\n code: string;\n}\n\nexport class Packaging implements Packaging {\n constructor(id?: string, name?: string, dimensions?: number[], code?: string) {\n this.id = id!;\n this.name = name!;\n this.dimensions = dimensions!;\n this.code = code!;\n }\n}\n\nexport interface PackagingObject {\n data: Packaging[];\n}\n\nexport class PackagingObject extends DataObject implements PackagingObject {\n constructor(data: Packaging[]) {\n super('', DataType.PACKAGING, version);\n this.data = data;\n }\n}\n","import { DataType } from \"../../../enums\";\nimport { DataObject } from \"../../data-object\";\nimport { DataVersion } from \"../../data-version\";\n\nconst version = new DataVersion(1, 0, 0, 0) as DataVersion;\n\nexport interface Rating {\n id: string;\n value: number;\n comment?: string;\n}\n\nexport class Rating implements Rating {\n constructor(id: string, value: number, comment: string) {\n this.id = id;\n this.value = value;\n this.comment = comment;\n }\n}\n\nexport interface RatingObject {\n data: Rating[];\n}\n\nexport class RatingObject extends DataObject implements RatingObject {\n constructor(data: Rating[]) {\n super('', DataType.RATING, version);\n this.data = data;\n }\n}\n","import { DataType } from '../../../enums';\nimport { DataObject } from '../../data-object';\nimport { DataVersion } from '../../data-version';\nimport { Dimension } from './dimension-object';\n\nconst version = new DataVersion(1, 0, 0, 0) as DataVersion;\n\nexport interface Space {\n id: string;\n name?: string;\n description?: string;\n dimension: Dimension;\n}\n\nexport class Space implements Space {\n constructor(id?: string, name?: string, description?: string, dimension?: Dimension) {\n this.id = id!;\n this.name = name!;\n this.description = description!;\n this.dimension = dimension!;\n }\n}\n\nexport interface Level {\n id: string;\n level: number;\n name: string;\n description: string;\n spaces: Space[];\n}\n\nexport class Level implements Level {\n constructor(id?: string, level?: number, name?: string, description?: string, spaces?: Space[]) {\n this.id = id!;\n this.level = level!;\n this.name = name!;\n this.description = description!;\n this.spaces = spaces!;\n }\n}\n\nexport interface Shelf {\n id: string;\n name: string;\n description: string\n levels: Level[];\n}\n\nexport class Shelf implements Shelf {\n constructor(id?: string, name?: string, description?: string, levels?: Level[]) {\n this.id = id!;\n this.name = name!;\n this.levels = levels!;\n }\n}\n\nexport interface ShelfObject {\n data: Shelf[];\n}\n\nexport class ShelfObject extends DataObject implements ShelfObject {\n constructor(data: Shelf[]) {\n super('', DataType.SHELF, version);\n this.data = data;\n }\n \n override getEntryCount(): number {\n return this.data.length;\n }\n}\n\nexport interface SpaceObject {\n data: Space[];\n}\n\nexport class SpaceObject extends DataObject implements SpaceObject {\n constructor(data: Space[]) {\n super('', DataType.SPACE, version);\n this.data = data;\n }\n \n override getEntryCount(): number {\n return this.data.length;\n }\n}\n\nexport interface LevelObject {\n data: Level[];\n}\n\nexport class LevelObject extends DataObject implements LevelObject {\n constructor(data: Level[]) {\n super('', DataType.LEVEL, version);\n this.data = data;\n }\n \n override getEntryCount(): number {\n return this.data.length;\n }\n}\n\nexport function isLevelArray(value: any): value is Level[] {\n return Array.isArray(value) && value.every(item => isLevel(item));\n}\n \nexport function isLevel(value: any): value is Level {\n return value && value.spaces !== undefined;\n}\n\nexport function isSpaceArray(value: any): value is Space[] {\n return Array.isArray(value) && value.every(item => isSpace(item));\n}\n \nexport function isSpace(value: any): value is Space {\n return value && value as any as Space instanceof Space;\n}\n\nexport function isShelfArray(value: any): value is Shelf[] {\n return Array.isArray(value) && value.every(item => isShelf(item));\n}\n \nexport function isShelf(value: any): value is Shelf {\n return value && value.levels !== undefined;\n}\n","import { DataType } from \"../../../enums\";\nimport { Room } from \"../../common/location-object\";\nimport { DataObject } from \"../../data-object\";\nimport { DataVersion } from \"../../data-version\";\nimport { Shelf } from \"./shelf-object\";\n\nconst version = new DataVersion(1, 0, 0, 0) as DataVersion;\n\nexport interface Stock {\n id: string;\n name: string;\n room: Room;\n shelf: Shelf[];\n row: number;\n}\n\nexport class Stock implements Stock {\n constructor(id: string, name: string, room: Room, shelf: Shelf[], row: number) {\n this.id = id;\n this.name = name;\n this.room = room;\n this.shelf = shelf;\n this.row = row;\n }\n}\n\nexport interface StockObject {\n data: Stock[];\n}\n\nexport class StockObject extends DataObject implements StockObject {\n constructor(data: Stock[]) {\n super('', DataType.STOCK, version);\n this.data = data;\n }\n \n override getEntryCount(): number {\n return this.data.length;\n }\n}\n","import { BookingType, DataType, Unit } from \"../../../enums\";\nimport { DataObject } from \"../../data-object\";\nimport { DataVersion } from \"../../data-version\";\nimport { Item } from \"./item-object\";\nimport { PurchasePrice, SellingPrice } from \"./price-object\";\nimport { Space } from \"./shelf-object\";\n\nconst version = new DataVersion(1, 0, 0, 0) as DataVersion;\n\nexport interface Booking {\n id: string;\n amount: number;\n unit: Unit;\n space: Space;\n userid: string;\n item: Item;\n bookingtype: BookingType;\n purchaseprice: PurchasePrice;\n sellingprice: SellingPrice;\n created: Date;\n}\n\nexport class Booking implements Booking {\n constructor(id?: string, amount?: number, unit?: Unit, space?: Space, userid?: string, item?: Item, bookingtype?: BookingType, purchaseprice?: PurchasePrice, sellingprice?: SellingPrice, created?: Date) {\n this.id = id!;\n this.amount = amount!;\n this.unit = unit!;\n this.space = space!;\n this.userid = userid!;\n this.item = item!;\n this.bookingtype = bookingtype!;\n this.purchaseprice = purchaseprice!;\n this.sellingprice = sellingprice!;\n this.created = created!;\n }\n}\n\nexport interface BookingObject {\n data: Booking[];\n}\n\nexport class BookingObject extends DataObject implements BookingObject {\n constructor(data: Booking[]) {\n super('', DataType.BOOKING, version);\n this.data = data;\n }\n \n override getEntryCount(): number {\n return this.data.length;\n }\n}\n","import { Item } from \"./item-object\";\nimport { DataType, Unit } from \"../../../enums\";\nimport { DataObject } from \"../../data-object\";\nimport { DataVersion } from \"../../data-version\";\nimport { Space } from \"./shelf-object\";\n\nconst version = new DataVersion(1, 0, 0, 0) as DataVersion;\n\nexport interface PurchasePrice {\n id: string;\n startdate: Date;\n enddate: Date;\n item: Item;\n space: Space;\n unit: Unit;\n price: number;\n}\nexport class PurchasePrice implements PurchasePrice {\n constructor(id?: string, startdate?: Date, enddate?: Date, item?: Item, space?: Space, unit?: Unit, price?: number) {\n this.id = id!;\n this.startdate = startdate!;\n this.enddate = enddate!;\n this.item = item!;\n this.space = space!;\n this.unit = unit!;\n this.price = price!;\n }\n}\n\nexport interface SellingPrice {\n id: string;\n startdate: Date;\n enddate: Date;\n item: Item;\n space: Space;\n unit: Unit;\n price: number;\n}\nexport class SellingPrice implements SellingPrice {\n constructor(id?: string, startdate?: Date, enddate?: Date, item?: Item, space?: Space, unit?: Unit, price?: number) {\n this.id = id!;\n this.startdate = startdate!;\n this.enddate = enddate!;\n this.item = item!;\n this.space = space!;\n this.unit = unit!;\n this.price = price!;\n }\n}\n\nexport interface PurchasePriceObject {\n data: PurchasePrice[];\n}\nexport class PurchasePriceObject extends DataObject implements PurchasePriceObject {\n constructor(data: PurchasePrice[]) {\n super('', DataType.PURCHASEPRICE, version);\n this.data = data;\n }\n}\nexport interface SellingPriceObject {\n data: SellingPrice[];\n}\nexport class SellingPriceObject extends DataObject implements SellingPriceObject {\n constructor(data: SellingPrice[]) {\n super('', DataType.SELLINGPRICE, version);\n this.data = data;\n }\n}","import { DataType } from \"../../../enums\";\nimport { DataObject } from \"../../data-object\";\nimport { DataVersion } from \"../../data-version\";\n\nconst version = new DataVersion(1, 0, 0, 0) as DataVersion;\n\nexport interface ItemShort {\n id: string;\n name: string;\n description: string;\n itemno: string;\n ean: string;\n}\n\nexport class ItemShort implements ItemShort {\n constructor(id?: string, name?: string, description?: string, itemno?: string, ean?: string) {\n this.id = id!;\n this.name = name!;\n this.description = description!;\n this.itemno = itemno!;\n this.ean = ean!;\n }\n}\n\nexport interface ItemShortObject {\n data: ItemShort[];\n}\n\nexport class ItemShortObject extends DataObject implements ItemShortObject {\n constructor(data: ItemShort[]) {\n super('', DataType.ITEMSHORT, version);\n this.data = data;\n }\n\n override getEntryCount(): number {\n return this.data.length;\n }\n}","import { DataType } from \"../../../enums\";\nimport { User } from \"../../common/user-object\";\nimport { DataObject } from \"../../data-object\";\nimport { DataVersion } from \"../../data-version\";\n\nconst version: DataVersion = new DataVersion(1, 0, 0, 0) as DataVersion;\n\nexport interface Coupon {\n id: string;\n created: Date;\n activationcode: string;\n buyer: User;\n beneficiary: User;\n activated: Date;\n activatedby: User;\n startdate: Date;\n enddate: Date;\n value: number;\n}\n\nexport class Coupon implements Coupon {\n constructor(\n id?: string,\n created?: Date,\n activationcode?: string,\n buyer?: User,\n beneficiary?: User,\n activated?: Date,\n activatedby?: User,\n startdate?: Date,\n enddate?: Date,\n value?: number\n ) {\n this.id = id!;\n this.created = created!;\n this.activationcode = activationcode!;\n this.buyer = buyer!;\n this.beneficiary = beneficiary!;\n this.activated = activated!;\n this.activatedby = activatedby!;\n this.startdate = startdate!;\n this.enddate = enddate!;\n this.value = value!;\n }\n}\n\nexport interface CouponObject {\n data: Coupon[];\n}\n\nexport class CouponObject extends DataObject implements CouponObject {\n constructor(data: Coupon[]) {\n super('', DataType.COUPON, version);\n this.data = data;\n }\n}","import { DataType, Status } from \"../../../enums\";\nimport { Cart } from \"../../common/cart-object\";\nimport { Client } from \"../../common/client-object\";\nimport { Company } from \"../../common/company-object\";\nimport { User } from \"../../common/user-object\";\nimport { DataObject } from \"../../data-object\";\nimport { DataVersion } from \"../../data-version\";\n\nconst version = new DataVersion(1, 0, 0, 0) as DataVersion;\n\nexport interface BonData {\n id: string;\n terminalid: string;\n additionaltext: string;\n errormessage: string;\n amount: number;\n cardtechnology: string;\n cardname: string;\n cardnumber: string;\n cardsequencenumber: number;\n cardholderauthentication: string;\n printoutneeded: boolean;\n tracenumber: number;\n tracenumberlongformat: number;\n vunumber: string;\n aidauthorisationattribute: string;\n receiptnumber: number;\n currencycode: number;\n dateday: number;\n datemonth: number;\n time: string;\n}\n\nexport class BonData implements BonData {\n constructor(\n id?: string,\n terminalid?: string,\n additionaltext?: string,\n errormessage?: string,\n amount?: number,\n cardtechnology?: string,\n cardname?: string,\n cardnumber?: string,\n cardsequencenumber?: number,\n cardholderauthentication?: string,\n printoutneeded?: boolean,\n tracenumber?: number,\n tracenumberlongformat?: number,\n vunumber?: string,\n aidauthorisationattribute?: string,\n receiptnumber?: number,\n currencycode?: number,\n dateday?: number,\n datemonth?: number,\n time?: string\n ) {\n this.id = id!;\n this.terminalid = terminalid!;\n this.additionaltext = additionaltext!;\n this.errormessage = errormessage!;\n this.amount = amount!;\n this.cardtechnology = cardtechnology!;\n this.cardname = cardname!;\n this.cardnumber = cardnumber!;\n this.cardsequencenumber = cardsequencenumber!;\n this.cardholderauthentication = cardholderauthentication!;\n this.printoutneeded = printoutneeded!;\n this.tracenumber = tracenumber!;\n this.tracenumberlongformat = tracenumberlongformat!;\n this.vunumber = vunumber!;\n this.aidauthorisationattribute = aidauthorisationattribute!;\n this.receiptnumber = receiptnumber!;\n this.currencycode = currencycode!;\n this.dateday = dateday!;\n this.datemonth = datemonth!;\n this.time = time!;\n }\n}\n\nexport interface Bon {\n id: string;\n created: Date;\n user: User;\n cart: Cart;\n pdfdata: Blob;\n bondata: BonData;\n data: string;\n status: Status;\n}\n\nexport class Bon implements Bon {\n constructor(\n id?: string,\n created?: Date,\n user?: User,\n cart?: Cart,\n pdfdata?: Blob,\n bondata?: BonData,\n data?: string,\n status?: Status\n ) {\n this.id = id!;\n this.created = created!;\n this.user = user!;\n this.cart = cart!;\n this.pdfdata = pdfdata!;\n this.bondata = bondata!;\n this.data = data!;\n this.status = status!;\n }\n}\n\nexport interface EndOfDayBon {\n id: string;\n created: Date;\n company: Company;\n client: Client;\n pdfdata: Blob;\n data: string;\n status: Status;\n}\n\nexport class EndOfDayBon implements EndOfDayBon {\n constructor(\n id?: string,\n created?: Date,\n company?: Company,\n client?: Client,\n pdfdata?: Blob,\n data?: string,\n status?: Status\n ) {\n this.id = id!;\n this.created = created!;\n this.company = company!;\n this.client = client!;\n this.pdfdata = pdfdata!;\n this.data = data!;\n this.status = status!;\n }\n}\n\nexport interface BonObject {\n data: Bon[];\n}\n\nexport class BonObject extends DataObject implements BonObject {\n constructor(data: Bon[]) {\n super('', DataType.BON, version);\n this.data = data;\n }\n}\n\nexport interface EndOfDayBonObject {\n data: EndOfDayBon[];\n}\n\nexport class EndOfDayBonObject extends DataObject implements EndOfDayBonObject {\n constructor(data: EndOfDayBon[]) {\n super('', DataType.ENDOFDAYBON, version);\n this.data = data;\n }\n}\n","import { DataType } from \"../../../enums\";\nimport { Company } from \"../../common/company-object\";\nimport { Building } from \"../../common/location-object\";\nimport { VAT } from \"../../common/taxes\";\nimport { User } from \"../../common/user-object\";\nimport { DataObject } from \"../../data-object\";\nimport { DataVersion } from \"../../data-version\";\nimport { Bon } from \"./bon-object\";\nimport { Item } from \"./item-object\";\nimport { SellingPrice } from \"./price-object\";\n\nconst version: DataVersion = new DataVersion(1, 0, 0, 0) as DataVersion;\n\nexport interface ItemJournalEntry {\n item?: Item;\n price?: SellingPrice;\n quantity?: number;\n total?: number;\n tax?: VAT;\n}\nexport class ItemJournalEntry implements ItemJournalEntry {\n constructor(\n item?: Item,\n price?: SellingPrice,\n quantity?: number,\n total?: number,\n tax?: VAT\n ) {\n this.item = item!;\n this.price = price!;\n this.quantity = quantity!;\n this.total = total!;\n this.tax = tax!;\n }\n}\n\nexport interface JournalEntry {\n timestamp?: Date;\n user?: User;\n itementry?: ItemJournalEntry[];\n company?: Company;\n building?: Building;\n bon?: Bon;\n}\nexport class JournalEntry implements JournalEntry {\n constructor(\n timestamp?: Date,\n user?: User,\n itementry?: ItemJournalEntry[],\n company?: Company,\n building?: Building,\n bon?: Bon\n ) {\n this.timestamp = timestamp!;\n this.user = user!;\n this.itementry = itementry!;\n this.company = company!;\n this.building = building!;\n this.bon = bon!;\n }\n}\n\nexport interface JournalObject {\n data: JournalEntry[];\n}\nexport class JournalObject extends DataObject implements JournalObject {\n constructor(data: JournalEntry[]) {\n super('', DataType.JOURNAL, version);\n this.data = data;\n }\n}\n","import { DataType, ModuleType } from '../../enums';\nimport { Client } from '../common/client-object';\nimport { DataObject } from '../data-object';\nimport { DataVersion } from '../data-version';\n\nconst version = new DataVersion(1, 0, 0, 0) as DataVersion;\n\nexport interface ShelfLabel {\n id: string;\n macaddress: string;\n barcode: string;\n secret: string;\n model: string;\n softversion: string;\n size: number;\n width: number;\n height: number;\n color: string;\n lowtemperature: string;\n nfc: string;\n invert: boolean;\n uid: string;\n associated: boolean;\n clients?: Client[];\n}\n\nexport class ShelfLabel implements ShelfLabel {\n constructor() {\n }\n}\n\nexport interface ESLObject {\n data: ShelfLabel[];\n}\n\nexport class ESLObject extends DataObject implements ESLObject {\n constructor(data: ShelfLabel[]) {\n super('', DataType.SHELFLABEL, version);\n this.data = data;\n }\n}","import { DataType } from \"../../enums\";\nimport { DataObject } from \"../data-object\";\nimport { DataVersion } from \"../data-version\";\n\nconst version = new DataVersion(1, 0, 0, 0) as DataVersion;\n\nexport interface ESLPool {\n id: string;\n macaddress: string;\n barcode: string;\n secret: string;\n model: string;\n softversion: string;\n size: number;\n width: number;\n height: number;\n color: string;\n lowtemperature: string;\n nfc: string;\n invert: boolean;\n associated: boolean;\n uid: string;\n}\n\nexport class ESLPool implements ESLPool {\n constructor() {\n }\n}\n\nexport interface ESLPoolObject {\n data: ESLPool[];\n}\n\nexport class ESLPoolObject extends DataObject implements ESLPoolObject {\n constructor(data: ESLPool[]) {\n super('', DataType.ESLPOOL, version);\n this.data = data;\n }\n} \n","import { DataType } from \"../../enums\";\nimport { DataObject } from \"../data-object\";\nimport { DataVersion } from \"../data-version\";\nimport { Item } from \"../erp/items/item-object\";\nimport { Space } from \"../erp/items/shelf-object\";\nimport { ShelfLabel } from \"./esl-object\";\n\nconst version = new DataVersion(1, 0, 0, 0) as DataVersion;\n\nexport interface ESLAssociation {\n id: string;\n label: ShelfLabel;\n item: Item;\n space: Space;\n}\n\nexport class ESLAssociation implements ESLAssociation {\n constructor(id?: string, label?: ShelfLabel, item?: Item, space?: Space) {\n this.id = id!;\n this.label = label!;\n this.item = item!;\n this.space = space!;\n }\n}\n\nexport interface ESLAssociationObject {\n data: ESLAssociation[];\n}\n\nexport class ESLAssociationObject extends DataObject implements ESLAssociationObject {\n constructor(data: ESLAssociation[]) {\n super('', DataType.ESLASSOCIATION, version);\n this.data = data;\n }\n}\n","import { DataType } from \"../../enums\";\nimport { DataObject } from \"../data-object\";\nimport { DataVersion } from \"../data-version\";\n\nconst version = new DataVersion(1, 0, 0, 0) as DataVersion;\n\nexport interface EslTemplate {\n id: string;\n name: string;\n mimetype: string;\n standard: boolean;\n width: number;\n height: number;\n data: string;\n}\n\nexport class EslTemplate implements EslTemplate {\n constructor(id?: string, name?: string, mimetype?: string, standard?: boolean, width?: number, height?: number, data?: string) {\n this.id = id!;\n this.name = name!;\n this.mimetype = mimetype!;\n this.standard = standard!;\n this.width = width!;\n this.height = height!;\n this.data = data!;\n }\n}\n\nexport interface EslTemplateObject {\n data: EslTemplate[];\n}\n\nexport class EslTemplateObject extends DataObject implements EslTemplateObject {\n constructor(data: EslTemplate[]) {\n super('', DataType.ESLTEMPLATE, version);\n this.data = data;\n }\n override getEntryCount(): number {\n return this.data.length;\n }\n}\n","import { DataType } from \"../../enums\";\nimport { AccessPoint } from \"../common/accesspoint-object\";\nimport { DataObject } from \"../data-object\";\nimport { ShelfLabel } from \"./esl-object\";\nimport { EslTemplate } from \"./esl-template-object\";\nimport { DataVersion } from '../data-version';\nimport { ItemDetail } from \"../erp/items/itemdetail-object\";\n\nconst version = new DataVersion(1, 0, 0, 0) as DataVersion;\n\nexport interface EslUpdate {\n shelflabel: ShelfLabel;\n template: EslTemplate;\n itemdetail: ItemDetail;\n accessPoint: AccessPoint[];\n}\n\nexport class EslUpdate implements EslUpdate {\n constructor(shelflabel?: ShelfLabel, template?: EslTemplate, accessPoint?: AccessPoint[]) {\n this.shelflabel = shelflabel!;\n this.template = template!;\n this.accessPoint = accessPoint!;\n }\n}\n\nexport interface EslUpdateObject {\n data: EslUpdate[];\n}\n\nexport class EslUpdateObject extends DataObject implements EslUpdateObject {\n constructor(data: EslUpdate[]) {\n super('', DataType.ESLUPDATE, version);\n this.data = data;\n }\n override getEntryCount(): number {\n return this.data.length;\n }\n}","import { DataType } from \"../../enums\";\nimport { DataObject } from \"../data-object\";\nimport { DataVersion } from \"../data-version\";\n\nconst version = new DataVersion(1, 0, 0, 0) as DataVersion;\n\nexport interface Label {\n id: string;\n name: string;\n description: string;\n created: string;\n creator: string;\n changed: string;\n changedby: string;\n active: boolean;\n data: string;\n}\n\nexport class Label implements Label {\n constructor() {\n }\n}\n\nexport interface LabelObject {\n data: Label[];\n}\n\nexport class LabelObject extends DataObject implements LabelObject {\n constructor(data: Label[]) {\n super('', DataType.LABEL, version);\n this.data = data;\n }\n}","import { DataType } from \"../../enums\";\nimport { DataObject } from \"../data-object\";\nimport { DataVersion } from \"../data-version\";\n\nconst version = new DataVersion(1, 0, 0, 0) as DataVersion;\n\nexport interface Variables {\n [key: string]: any;\n}\n\nexport class Variables implements Variables {\n constructor(key: string, value: any) {\n\n }\n}\n\nexport interface PrintData {\n templateid: string;\n variables: Variables[];\n quantity: number;\n}\n\nexport class PrintData implements PrintData {\n constructor() {\n }\n}\n\nexport interface LabelData {\n printerid: string;\n printername: string;\n data: PrintData[];\n}\n\nexport interface PrintLabelObject {\n data: LabelData[];\n}\n\nexport class PrintLabelObject extends DataObject implements PrintLabelObject {\n constructor(data: LabelData[]) {\n super('', DataType.LABELPRINT, version);\n this.data = data;\n }\n}\n","import { DataType, PrinterLanguage, PrinterManufacturer } from '../../enums';\nimport { DataObject } from \"../data-object\";\nimport { DataVersion } from '../data-version';\n\nconst version = new DataVersion(1, 0, 0, 0) as DataVersion;\n\nexport interface PrinterProperties {\n id: string;\n printerid: string;\n created: string;\n creator: string;\n propertyname: string;\n intvalue: number;\n stringvalue: string;\n boolvalue: boolean;\n doublevalue: number;\n}\n\nexport class PrinterProperties implements PrinterProperties {\n constructor() {\n }\n}\n\nexport interface Printer {\n id: string;\n title: string;\n description: string;\n fqdn: string;\n ipaddress: string;\n vendorname: string;\n model: string;\n language: PrinterLanguage;\n vendor: PrinterManufacturer;\n serial: string;\n lanaddress: string;\n wifiaddress: string;\n btaddress: string;\n properties: PrinterProperties[];\n containerid: string;\n}\n\nexport class Printer implements Printer {\n constructor() {\n }\n}\n\nexport interface PrinterObject {\n data: Printer[];\n}\n\nexport class PrinterObject extends DataObject implements PrinterObject {\n constructor(data: Printer[]) {\n super('', DataType.PRINTER, version);\n this.data = data;\n }\n}\n","import { DataType } from \"../../enums\";\nimport { DataObject } from \"../data-object\";\nimport { DataVersion } from \"../data-version\";\n\nconst version = new DataVersion(1, 0, 0, 0) as DataVersion;\n\nexport interface Queue {\n id: string;\n printerid: string;\n labelid: string;\n template: string;\n data: string;\n json: string;\n when: string;\n}\n\nexport class Queue implements Queue {\n constructor() {\n }\n}\n\nexport interface QueueObject {\n data: Queue[];\n}\n\nexport class QueueObject extends DataObject implements QueueObject {\n constructor(data: Queue[]) {\n super('', DataType.QUEUE, version);\n this.data = data;\n }\n}\n","import { DataType } from \"../../enums\";\nimport { DataObject } from \"../data-object\";\nimport { DataVersion } from \"../data-version\";\n\nconst version = new DataVersion(1, 0, 0, 0) as DataVersion;\n\nexport interface StatisticData {\n id: string;\n name: string;\n value: number;\n}\n\nexport class StatisticData implements StatisticData {\n constructor(id?: string, name?: string, value?: number) {\n this.id = id!;\n this.name = name!;\n this.value = value!;\n }\n}\n\nexport interface StatisticObject {\n data: StatisticData[];\n}\n\nexport class StatisticObject extends DataObject implements StatisticObject {\n \n constructor(data: StatisticData[]) {\n super('', DataType.STATISTIC, version);\n this.data = data;\n }\n override getEntryCount(): number {\n return this.data.length;\n }\n}","/*\n * Public API Surface of captureid-datatypes\n */\n\nimport e from 'express';\nimport exp from 'node:constants';\n\nexport * from './lib/captureid-datatypes.service';\n// export * from './lib/captureid-datatypes.component';\n\nexport * from './lib/enums';\nexport * from './lib/logging';\n\nexport * from './lib/model/data-dto';\nexport * from './lib/model/data-object';\nexport * from './lib/model/data-version';\nexport * from './lib/model/filter';\n\nexport * from './lib/model/ai/ai-object';\n\nexport * from './lib/model/auth/auth-request';\nexport * from './lib/model/auth/auth-response';\nexport * from './lib/model/auth/register-request';\nexport * from './lib/model/auth/verify-request';\nexport * from './lib/model/auth/authentication-object';\n\nexport * from './lib/model/common/user-object';\nexport * from './lib/model/common/navigation-object';\nexport * from './lib/model/common/context';\nexport * from './lib/model/common/manufacturer-object';\nexport * from './lib/model/common/license-object';\nexport * from './lib/model/common/address-object';\nexport * from './lib/model/common/client-object';\nexport * from './lib/model/common/currency-object';\nexport * from './lib/model/common/country-object';\nexport * from './lib/model/common/image-object';\nexport * from './lib/model/common/taxes';\nexport * from './lib/model/common/module-object';\nexport * from './lib/model/common/location-object';\nexport * from './lib/model/common/company-object';\nexport * from './lib/model/common/vendor-object';\nexport * from './lib/model/common/accesspoint-object';\nexport * from './lib/model/common/message-object';\nexport * from './lib/model/common/cart-object';\nexport * from './lib/model/common/role-object';\nexport * from './lib/model/common/supplier-object';\nexport * from './lib/model/common/faq-object';\nexport * from './lib/model/common/farmingmethod-object';\nexport * from './lib/model/common/chat-object';\nexport * from './lib/model/common/ticket-object';\n\nexport * from './lib/model/configuration/menu-object';\n\nexport * from './lib/model/erp/items/dimension-object';\nexport * from './lib/model/erp/items/gtin';\nexport * from './lib/model/erp/items/inventory-object';\nexport * from './lib/model/erp/items/item-object';\nexport * from './lib/model/erp/items/item-properties-object';\nexport * from './lib/model/erp/items/itemdetail-object';\nexport * from './lib/model/erp/items/packaging-object';\nexport * from './lib/model/erp/items/rating-object';\nexport * from './lib/model/erp/items/shelf-object';\nexport * from './lib/model/erp/items/stock-object';\nexport * from './lib/model/erp/items/booking-object';\nexport * from './lib/model/erp/items/price-object';\nexport * from './lib/model/erp/items/item-short-list-object';\nexport * from './lib/model/erp/items/coupon-object';\nexport * from './lib/model/erp/items/bon-object';\nexport * from './lib/model/erp/items/journal-object';\n\nexport * from './lib/model/esl/esl-object';\nexport * from './lib/model/esl/esl-pool-object';\nexport * from './lib/model/esl/esl-association-object';\nexport * from './lib/model/esl/esl-template-object';\nexport * from './lib/model/esl/esl-update-object';\n\nexport * from './lib/model/payment/terminal-object';\n\nexport * from './lib/model/print/label-object';\nexport * from './lib/model/print/print-label-object';\nexport * from './lib/model/print/printer-object';\nexport * from './lib/model/print/queue-object';\n\nexport * from './lib/model/rfid/reader-object';\n\nexport * from './lib/model/statistic/statistic-object';\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":["version"],"mappings":"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"}
1
+ {"version":3,"file":"captureid-datatypes.mjs","sources":["../../../projects/captureid-datatypes/src/lib/captureid-datatypes.service.ts","../../../projects/captureid-datatypes/src/lib/enums.ts","../../../projects/captureid-datatypes/src/lib/logging.ts","../../../projects/captureid-datatypes/src/lib/model/data-version.ts","../../../projects/captureid-datatypes/src/lib/model/data-dto.ts","../../../projects/captureid-datatypes/src/lib/model/data-object.ts","../../../projects/captureid-datatypes/src/lib/model/filter.ts","../../../projects/captureid-datatypes/src/lib/model/auth/auth-request.ts","../../../projects/captureid-datatypes/src/lib/model/auth/auth-response.ts","../../../projects/captureid-datatypes/src/lib/model/auth/register-request.ts","../../../projects/captureid-datatypes/src/lib/model/auth/verify-request.ts","../../../projects/captureid-datatypes/src/lib/model/auth/authentication-object.ts","../../../projects/captureid-datatypes/src/lib/model/common/user-object.ts","../../../projects/captureid-datatypes/src/lib/model/common/context.ts","../../../projects/captureid-datatypes/src/lib/model/common/manufacturer-object.ts","../../../projects/captureid-datatypes/src/lib/model/common/license-object.ts","../../../projects/captureid-datatypes/src/lib/model/common/address-object.ts","../../../projects/captureid-datatypes/src/lib/model/common/client-object.ts","../../../projects/captureid-datatypes/src/lib/model/common/currency-object.ts","../../../projects/captureid-datatypes/src/lib/model/common/country-object.ts","../../../projects/captureid-datatypes/src/lib/model/common/image-object.ts","../../../projects/captureid-datatypes/src/lib/model/common/taxes.ts","../../../projects/captureid-datatypes/src/lib/model/common/module-object.ts","../../../projects/captureid-datatypes/src/lib/model/common/location-object.ts","../../../projects/captureid-datatypes/src/lib/model/common/company-object.ts","../../../projects/captureid-datatypes/src/lib/model/common/vendor-object.ts","../../../projects/captureid-datatypes/src/lib/model/common/accesspoint-object.ts","../../../projects/captureid-datatypes/src/lib/model/common/message-object.ts","../../../projects/captureid-datatypes/src/lib/model/common/cart-object.ts","../../../projects/captureid-datatypes/src/lib/model/common/role-object.ts","../../../projects/captureid-datatypes/src/lib/model/common/supplier-object.ts","../../../projects/captureid-datatypes/src/lib/model/common/faq-object.ts","../../../projects/captureid-datatypes/src/lib/model/common/farmingmethod-object.ts","../../../projects/captureid-datatypes/src/lib/model/common/chat-object.ts","../../../projects/captureid-datatypes/src/lib/model/common/ticket-object.ts","../../../projects/captureid-datatypes/src/lib/model/configuration/menu-object.ts","../../../projects/captureid-datatypes/src/lib/model/erp/items/dimension-object.ts","../../../projects/captureid-datatypes/src/lib/model/erp/items/inventory-object.ts","../../../projects/captureid-datatypes/src/lib/model/erp/items/item-object.ts","../../../projects/captureid-datatypes/src/lib/model/erp/items/item-properties-object.ts","../../../projects/captureid-datatypes/src/lib/model/erp/items/itemdetail-object.ts","../../../projects/captureid-datatypes/src/lib/model/erp/items/packaging-object.ts","../../../projects/captureid-datatypes/src/lib/model/erp/items/rating-object.ts","../../../projects/captureid-datatypes/src/lib/model/erp/items/shelf-object.ts","../../../projects/captureid-datatypes/src/lib/model/erp/items/stock-object.ts","../../../projects/captureid-datatypes/src/lib/model/erp/items/booking-object.ts","../../../projects/captureid-datatypes/src/lib/model/erp/items/price-object.ts","../../../projects/captureid-datatypes/src/lib/model/erp/items/item-short-list-object.ts","../../../projects/captureid-datatypes/src/lib/model/erp/items/coupon-object.ts","../../../projects/captureid-datatypes/src/lib/model/erp/items/bon-object.ts","../../../projects/captureid-datatypes/src/lib/model/erp/items/journal-object.ts","../../../projects/captureid-datatypes/src/lib/model/esl/esl-object.ts","../../../projects/captureid-datatypes/src/lib/model/esl/esl-pool-object.ts","../../../projects/captureid-datatypes/src/lib/model/esl/esl-association-object.ts","../../../projects/captureid-datatypes/src/lib/model/esl/esl-template-object.ts","../../../projects/captureid-datatypes/src/lib/model/esl/esl-update-object.ts","../../../projects/captureid-datatypes/src/lib/model/print/label-object.ts","../../../projects/captureid-datatypes/src/lib/model/print/print-label-object.ts","../../../projects/captureid-datatypes/src/lib/model/print/printer-object.ts","../../../projects/captureid-datatypes/src/lib/model/print/queue-object.ts","../../../projects/captureid-datatypes/src/lib/model/statistic/statistic-object.ts","../../../projects/captureid-datatypes/src/public-api.ts","../../../projects/captureid-datatypes/src/captureid-datatypes.ts"],"sourcesContent":["import { Injectable } from '@angular/core';\n\n@Injectable({\n providedIn: 'root'\n})\nexport class CaptureidDatatypesService {\n\n constructor() { }\n}\n","import { CaptureidDatatypesComponent } from './captureid-datatypes.component';\nimport { VAT } from './model/common/taxes';\nexport enum DataType {\n UNKNOWN = 0,\n NAVIGATION = 1,\n SYSTEM = 2,\n LABEL = 3,\n NETWORK = 4,\n DISCOVER = 5,\n PRINTER = 6,\n PROFILE = 7,\n CHART = 8,\n QUEUE = 9,\n LABELPRINT = 10,\n PROFILE2CONTAINER = 11,\n USER = 12,\n AUTHENTICATION = 13,\n USEREXTENDED = 14,\n MODULE = 15,\n PRODUCT_CATEGORY = 16,\n PRODUCT_SUBCATEGORY = 17,\n ITEM = 18,\n ADDRESS = 19,\n LOCATION = 20,\n ACCESSPOINT = 21,\n SHELFLABEL = 22,\n VENDOR = 23,\n PAYMENTTERMINAL = 24,\n ESLPOOL = 25,\n VERIFICATIONTOKEN = 26,\n USERPROFILE = 27,\n CLIENT = 28,\n LICENSE = 29,\n IMAGE = 30,\n MANUFACTURER = 31,\n RATING = 32,\n PACKAGING = 33,\n CURRENCY = 34,\n ITEMPROPERTIES = 35,\n STOCK = 36,\n INVENTORY = 37,\n COUNTRY = 38,\n BUILDING = 39,\n COMPANY = 40,\n ITEMPROPERTY = 41,\n DIMENSION = 42,\n SHELF = 43,\n PURCHASEPRICE = 44,\n SELLINGPRICE = 45,\n FLOOR = 46,\n ROOM = 47,\n LEVEL = 48,\n SPACE = 49,\n BOOKING = 50,\n GPIO = 51,\n ITEMDETAIL = 52,\n ESLASSOCIATION = 53,\n ESLUPDATE = 54,\n MESSAGE = 55,\n ESLTEMPLATE = 56,\n ITEMSHORT = 57,\n CART = 58,\n PAYMENT = 59,\n LOGENTRY = 60,\n STATISTIC = 61,\n ROLE = 62,\n USERACCESS = 63,\n RESOURCE = 64,\n MENU = 65,\n COUPON = 66,\n BON = 67,\n ENDOFDAYBON = 68,\n PROPERTYNAMES = 69,\n CATEGORYNAMES = 70,\n ITEMGROUP = 71,\n VAT = 72,\n IMPORT = 73,\n SUPPLIER = 74,\n FAQ = 75,\n CHAT = 76,\n FARMINGMETHOD = 77,\n TICKET = 78,\n TICKETMESSAGE = 79,\n WEBTEMPLATE = 80,\n EMAILTEMPLATE = 81,\n JOURNAL = 82,\n}\n\nexport enum BookingType {\n UNKNOWN = 0,\n INCOMING = 1, //Wareneingang\n OUTGOING = 2, //Warenausgang\n\n STOREACCESS = 8, //Zugang zum Verkauf (Türöffner)\n STOREEXIT = 9, //Verlassen des Geschäfts (Türöffner)\n\n PROMOTION = 11, //Werbeaktion\n\n MARKDOWN = 21, //Preisreduzierung\n MARKUP = 22, //Preiserhöhung\n\n STOCKMOVE = 31, //Lagerbewegung\n STOCKADD = 32, //Lagerzugang\n STOCKREMOVE = 33, //Lagerabgang\n\n SELLINGADD = 41, //Verkauf\n SELLINGREMOVE = 42, //Storno\n SELLINGUPDATE = 43, //Änderung\n\n STORETRANSFER = 51, //Lagertransfer\n RESERVATION = 52, //Reservierung\n ORDER = 53, //Bestellung\n RETURN = 54, //Rücksendung\n\n STOCKTAKE = 61, //Inventur\n STOCKCORRECTION = 62, //Bestandskorrektur\n STOCKADJUSTMENT = 63, //Bestandsanpassung\n STOCKCHECK = 64, //Bestandsprüfung\n\n DAMAGED = 71, //Beschädigung\n LOST = 72, //Verlust\n EXPIRED = 73, //Verfall\n\n DELIVERY = 81, //Lieferung\n PICKUP = 82, //Abholung\n SHIPPING = 83, //Versand\n\n SUBSCRIPTION = 91, //Abonnement\n INVOICE = 92, //Rechnung\n PAYMENT = 93, //Zahlung\n REFUND = 94, //Rückerstattung\n\n DONATION = 101, //Spende\n\n GIFT = 111, //Geschenk\n GIFTCARD = 112, //Geschenkkarte\n GIFTVOUCHER = 113, //Gutschein\n}\n\nexport enum Operators {\n UNKNOWN = 0,\n AND = 1,\n OR = 2,\n}\n\nexport enum DatabaseEventType {\n EVENT_UNKNOWN = 0,\n EVENT_ADDED = 1,\n EVENT_UPDATED = 2,\n EVENT_DELETED = 3\n}\n\nexport enum EMailTemplateType {\n WELCOME = 0,\n REGCONFIRM = 1,\n RESETPASSWORD = 2\n}\n\nexport enum WebTemplateType {\n HOMEPAGE = 0,\n WELCOMEPAGE = 1,\n CONFIRMPAGE = 2\n}\n\nexport enum PinState {\n UNKNOWN = 0,\n LOW = 1,\n HIGH = 2\n}\nexport namespace PinState {\n export function valueOf(str: string): number {\n return PinState[str as keyof typeof PinState] as number;\n }\n export function values() {\n let res: any[] = [];\n for(const value in Object.values(PinState)) {\n if(isNaN(Object.values(PinState)[value] as any) && typeof(Object.values(PinState)[value]) !== 'function') {\n res.push(Object.values(PinState)[value]);\n }\n }\n return res;\n }\n}\n\nexport enum ModuleType {\n UNKNOWN = 0,\n AI_MODULE = 1,\n PAYMENT_MODULE = 2,\n RFID_MODULE = 3,\n ESL_MODULE = 4,\n DB2_MODULE = 5,\n MONGODB_MODULE = 6,\n POSTGRES_MODULE = 7,\n AUTHENTICATION_MODULE = 8,\n GATEWAY_MODULE = 9,\n PRINT_MODULE = 10,\n REGISTRY_MODULE = 11,\n}\n\nexport namespace ModuleType {\n export function valueOf(str: string): number {\n return ModuleType[str as keyof typeof ModuleType] as number;\n }\n export function values() {\n let res: any[] = [];\n for(const value in Object.values(ModuleType)) {\n if(isNaN(Object.values(ModuleType)[value] as any) && typeof(Object.values(ModuleType)[value]) !== 'function') {\n res.push(Object.values(ModuleType)[value]);\n }\n }\n return res;\n }\n}\n\nexport enum RegistrationState {\n UNKNOWN = 0,\n REQUESTED = 1,\n OTPCOMPLETE = 2,\n CONFIRMED = 3,\n ASSOCIATED = 4,\n COMPLETED = 5\n}\n\nexport namespace RegistrationState {\n export function valueOf(str: string): number {\n return RegistrationState[str as keyof typeof RegistrationState] as number;\n }\n export function values() {\n let res: any[] = [];\n for(const value in Object.values(RegistrationState)) {\n if(isNaN(Object.values(RegistrationState)[value] as any) && typeof(Object.values(RegistrationState)[value]) !== 'function') {\n res.push(Object.values(RegistrationState)[value]);\n }\n }\n return res;\n }\n}\n\nexport enum PrinterLanguage {\n UNKNOWN = 0,\n SBPL = 1,\n SPOS = 2,\n SCPCL = 3,\n SZPL = 4,\n SDPL = 5,\n SIPL = 6,\n STPCL = 7,\n ZPL = 8,\n CZPL = 9,\n FINGERPRINT = 10,\n DP = 11,\n SLCS = 12\n}\n\nexport namespace PrinterLanguage {\n export function valueOf(str: string): number {\n return PrinterLanguage[str as keyof typeof PrinterLanguage] as number;\n }\n export function values() {\n let res: any[] = [];\n for(const value in Object.values(PrinterLanguage)) {\n if(isNaN(Object.values(PrinterLanguage)[value] as any) && typeof(Object.values(PrinterLanguage)[value]) !== 'function') {\n res.push(Object.values(PrinterLanguage)[value]);\n }\n }\n return res;\n }\n}\n\nexport enum PrinterManufacturer {\n UNKNOWN = 0,\n CITIZEN = 1,\n BIXOLON = 2,\n BROTHER = 3,\n ESCPOS = 4,\n GOOJPRT = 5,\n HONEYWELL = 6,\n SATO = 7,\n ZEBRA = 8 \n}\n\nexport namespace PrinterManufacturer {\n export function valueOf(str: string): number {\n return PrinterManufacturer[str as keyof typeof PrinterManufacturer] as number;\n }\n export function values() {\n let res: any[] = [];\n for(const value in Object.values(PrinterManufacturer)) {\n if(isNaN(Object.values(PrinterManufacturer)[value] as any) && typeof(Object.values(PrinterManufacturer)[value]) !== 'function') {\n res.push(Object.values(PrinterManufacturer)[value]);\n }\n }\n return res;\n }\n}\n\nexport enum Unit {\n UNKNOWN = 0,\n MM = 1,\n CM = 2,\n M = 3,\n INCH = 4,\n FOOT = 5,\n PIECE = 6,\n KG = 7,\n GRAMM = 8,\n MILLIGRAMM = 9, \n}\nexport namespace Unit {\n export function valueOf(str: string): number {\n return Unit[str as keyof typeof Unit] as number;\n }\n export function values() {\n let res: any[] = [];\n for(const value in Object.values(Unit)) {\n if(isNaN(Object.values(Unit)[value] as any) && typeof(Object.values(Unit)[value]) !== 'function') {\n res.push(Object.values(Unit)[value]);\n }\n }\n return res;\n }\n}\n\nexport enum Severity {\n\tUNKNOWN = 0,\n\tEMERGENCY = 1,\n\tALERT = 2,\n\tCRITICAL = 3,\n\tERROR = 4,\n\tWARNING = 5,\n\tNOTICE = 6,\n\tINFORMATION = 7,\n\tDEBUG = 8,\n}\nexport namespace Severity {\n export function valueOf(str: string): number {\n return Severity[str as keyof typeof Severity] as number;\n }\n export function values() {\n let res: any[] = [];\n for(const value in Object.values(Severity)) {\n if(isNaN(Object.values(Severity)[value] as any) && typeof(Object.values(Severity)[value]) !== 'function') {\n res.push(Object.values(Severity)[value]);\n }\n }\n return res;\n }\n}\n\nexport enum MessageType {\n UNKNOWN = 0,\n ERROR = 1,\n NOTIFICATION = 2,\n EXCEPTION = 3,\n}\nexport namespace MessageType {\n export function valueOf(str: string): number {\n return MessageType[str as keyof typeof MessageType] as number;\n }\n export function values() {\n let res: any[] = [];\n for(const value in Object.values(MessageType)) {\n if(isNaN(Object.values(MessageType)[value] as any) && typeof(Object.values(MessageType)[value]) !== 'function') {\n res.push(Object.values(MessageType)[value]);\n }\n }\n return res;\n }\n}\n\nexport enum AttachmentType {\n UNKNOWN = 0,\n DATAFILE = 1,\n TEXTFILE = 2,\n IMAGEFILE = 3,\n AUDIOFILE = 4,\n VIDEOFILE = 5,\n PDFFILE = 6,\n}\nexport namespace AttachmentType {\n export function valueOf(str: string): number {\n return AttachmentType[str as keyof typeof AttachmentType] as number;\n }\n export function values() {\n let res: any[] = [];\n for (const value in Object.values(AttachmentType)) {\n if (\n isNaN(Object.values(AttachmentType)[value] as any) &&\n typeof Object.values(AttachmentType)[value] !== 'function'\n ) {\n res.push(Object.values(AttachmentType)[value]);\n }\n }\n return res;\n }\n}\n\nexport enum Status {\n SUCCESS = 0,\n ERROR = 1,\n INACTIVE = 2,\n DELETED = 3,\n LOCKED = 4,\n UNLOCKED = 5,\n PENDING = 6,\n UNKNOWN = 99\n}\nexport namespace Status {\n export function valueOf(str: string): number {\n return Status[str as keyof typeof Status] as number;\n }\n export function values() {\n let res: any[] = [];\n for(const value in Object.values(Status)) {\n if(isNaN(Object.values(Status)[value] as any) && typeof(Object.values(Status)[value]) !== 'function') {\n res.push(Object.values(Status)[value]);\n }\n }\n return res;\n }\n}\n\nexport enum TicketStatus {\n OPEN = 1,\n CLOSE = 2,\n INWORK = 3,\n}\nexport namespace TicketStatus {\n export function valueOf(str: string): number {\n return TicketStatus[str as keyof typeof TicketStatus] as number;\n }\n export function values() {\n let res: any[] = [];\n for (const value in Object.values(TicketStatus)) {\n if (\n isNaN(Object.values(TicketStatus)[value] as any) &&\n typeof Object.values(TicketStatus)[value] !== 'function'\n ) {\n res.push(Object.values(TicketStatus)[value]);\n }\n }\n return res;\n }\n}\n\nexport enum TicketSenderType {\n UNKNOWN = 0,\n USER = 1,\n ADMIN = 2,\n}\nexport namespace TicketSenderType {\n export function valueOf(str: string): number {\n return TicketSenderType[str as keyof typeof TicketSenderType] as number;\n }\n export function values() {\n let res: any[] = [];\n for (const value in Object.values(TicketSenderType)) {\n if (isNaN(Object.values(TicketSenderType)[value] as any) && typeof Object.values(TicketSenderType)[value] !== 'function') {\n res.push(Object.values(TicketSenderType)[value]);\n }\n }\n return res;\n }\n}\n\nexport enum CouponType {\n UNKNOWN = 0,\n COUPON = 1,\n VOUCHER = 2,\n GIFT = 3,\n GIFT_CARD = 4,\n GIFT_VOUCHER = 5,\n DISCOUNT = 6,\n}\nexport namespace CouponType {\n export function valueOf(str: string): number {\n return CouponType[str as keyof typeof CouponType] as number;\n }\n export function values() {\n let res: any[] = [];\n for (const value in Object.values(CouponType)) {\n if (\n isNaN(Object.values(CouponType)[value] as any) &&\n typeof Object.values(CouponType)[value] !== 'function'\n ) {\n res.push(Object.values(CouponType)[value]);\n }\n }\n return res;\n }\n}\n","import { Severity } from \"./enums\";\n\nexport interface Logging {\n severity: Severity\n level: number;\n message: string;\n exception: string;\n timestamp: Date;\n}\nexport class Logging implements Logging {\n constructor(severity?: Severity, level?: number, message?: string, exception?: string, timestamp?: Date) {\n this.severity = severity!;\n this.level = level!;\n this.message = message!;\n this.exception = exception!;\n this.timestamp = timestamp!;\n }\n}\n","export interface DataVersion {\n major: number;\n minor: number;\n patch: number;\n build: number;\n version: string;\n}\n\nexport class DataVersion implements DataVersion {\n constructor(major: number, minor: number, patch: number, build: number) {\n this.major = major;\n this.minor = minor;\n this.patch = patch;\n this.build = build;\n this.version = major + '.' + minor + '.' + patch + '.' + build;\n }\n}\n","import { DataObject } from \"./data-object\";\nimport { DataVersion } from \"./data-version\";\n\nconst version = new DataVersion(1, 0, 0, 0) as DataVersion;\n\nexport interface DataDto {\n version: DataVersion;\n data: DataObject[];\n\n// addEntry(data: DataObject): void;\n// getEntryCount(): number;\n}\n\nexport class DataDto implements DataDto {\n constructor(data?: DataObject[]) {\n this.version = version;\n if (data === undefined) {\n this.data = [];\n } else {\n this.data = data;\n }\n }\n\n public addEntry(data: DataObject): void {\n this.data.push(data);\n }\n\n public getEntryCount(): number {\n return this.data.length;\n }\n}\n","import { DataType } from \"../enums\";\nimport { DataVersion } from \"./data-version\";\nimport { Filter } from \"./filter\";\n\nexport interface DataObject {\n objectid: string;\n type: DataType;\n version: DataVersion;\n data: any[];\n filter: Filter;\n}\n\nexport class DataObject implements DataObject {\n constructor(objectid: string, type: DataType, version: DataVersion) {\n this.objectid = objectid;\n this.type = type;\n this.version = version;\n }\n\n public addEntry(data: DataObject): void {\n this.data.push(data);\n }\n\n public getEntryCount(): number {\n return this.data === undefined?0:this.data.length;\n }\n}\n","import { Operators } from \"../enums\";\n\nexport interface Paging {\n page: number;\n pagesize: number;\n totalitems: number;\n totalpages: number;\n}\n\nexport class Paging implements Paging {\n constructor(page: number, pagesize: number) {\n this.page = page;\n this.pagesize = pagesize;\n }\n}\n\nexport interface Sorting {\n fieldname: string;\n direction: string;\n}\n\nexport class Sorting implements Sorting {\n constructor(fieldname: string, direction: string) {\n this.fieldname = fieldname;\n this.direction = direction;\n }\n}\n\nexport interface Sortings {\n sortings: Sorting[];\n}\n\nexport class Sortings implements Sortings {\n constructor(sorting?: Sorting) {\n this.sortings = [];\n if(sorting !== undefined) {\n this.sortings.push(sorting);\n }\n }\n}\n\nexport interface FilterEntry {\n fieldname: string;\n value: string;\n type: string;\n}\n\nexport class FilterEntry implements FilterEntry {\n constructor(fieldname: string, value: string, type: string) {\n this.fieldname = fieldname;\n this.value = value;\n this.type = type;\n }\n}\n\nexport interface FilterEntries {\n entries: FilterEntry[];\n operator: Operators;\n\n addEntry(entry: FilterEntry, operator: Operators): void;\n}\n\nexport class FilterEntries implements FilterEntries {\n constructor(entry: FilterEntry) {\n this.entries = [];\n this.entries.push(entry);\n this.operator = Operators.UNKNOWN;\n }\n\n addEntry(entry: FilterEntry, operator: Operators): void {\n this.entries.push(entry);\n this.operator = operator; \n }\n}\n\nexport interface Filter {\n filters: FilterEntries[];\n paging: Paging;\n sortings: Sortings;\n}\n\nexport class Filter implements Filter {\n constructor() {\n this.filters = [];\n }\n}\n","export interface AuthRequest {\n email?: string;\n password?: string;\n}\n\nexport class AuthRequest implements AuthRequest {\n constructor(email: string, password: string) {\n this.email = email;\n this.password = password;\n }\n}\n","export interface AuthResponse {\n accessToken?: string;\n refreshToken?: string;\n userToken?: string;\n use2fa?: boolean;\n secretImageUri?: string;\n}\n\nexport class AuthResponse implements AuthResponse {\n}\n","import { Address } from \"../common/address-object\";\n\nexport interface RegisterRequest {\n firstname?: string;\n lastname?: string;\n email?: string;\n phone?: string;\n password?: string;\n address?: Address;\n role?: string;\n use2fa?: boolean;\n}\nexport class RegisterRequest implements RegisterRequest {\n use2fa? = true;\n constructor(firstname: string, lastname: string, email: string, phone: string, password: string, address: Address, role: string, use2fa: boolean) {\n this.firstname = firstname;\n this.lastname = lastname;\n this.email = email;\n this.phone = phone;\n this.password = password;\n this.address = address;\n this.role = role;\n this.use2fa = use2fa;\n }\n}\n","export interface VerifyRequest {\n email?: string;\n code?: string;\n}\n\nexport class VerifyRequest implements VerifyRequest {\n constructor(email: string, code: string) {\n this.email = email;\n this.code = code;\n }\n}\n","import { DataVersion } from \"../data-version\";\nimport { AuthRequest } from \"./auth-request\";\nimport { AuthResponse } from \"./auth-response\";\nimport { RegisterRequest } from \"./register-request\";\nimport { VerifyRequest } from \"./verify-request\";\nimport { DataObject } from '../data-object';\nimport { DataType } from \"../../enums\";\n\nconst version = new DataVersion(1, 0, 0, 0) as DataVersion;\n\nexport interface AuthenticationData {\n authRequest?: AuthRequest;\n authResponse?: AuthResponse;\n registerRequest?: RegisterRequest;\n verifyRequest?: VerifyRequest;\n}\n\nexport class AuthenticationData implements AuthenticationData {\n}\n\nexport interface AuthenticationObject {\n data: AuthenticationData[];\n}\n\nexport class AuthenticationObject extends DataObject implements AuthenticationObject {\n constructor(data: AuthenticationData[]) {\n super('', DataType.AUTHENTICATION, version);\n this.data = data;\n }\n}\n","import { DataType, RegistrationState } from \"../../enums\";\nimport { DataObject } from \"../data-object\";\nimport { DataVersion } from \"../data-version\";\nimport { Context } from \"./context\";\n\nconst version = new DataVersion(1, 0, 0, 0) as DataVersion;\n\nexport interface User {\n id?: string;\n use2FA?: boolean;\n created?: Date;\n regstate?: RegistrationState;\n creator?: string;\n changed?: Date;\n changedBy?: string;\n firstname?: string;\n lastname?: string;\n email?: string;\n role?: string;\n phone?: string;\n mobile?: string;\n city?: string;\n zipcode?: string;\n street?: string;\n no?: string;\n country?: string;\n state?: string;\n dateOfBirth?: string;\n context?: Context;\n avatarImg?: Blob;\n credentialsNonExpired?: boolean;\n accountNonLocked?: boolean;\n accountNonExpired?: boolean;\n username?: string;\n enabled?: boolean;\n client?: string;\n}\n\nexport class User implements User {\n constructor(\n id?: string,\n use2FA?: boolean,\n created?: Date,\n regstate?: RegistrationState,\n creator?: string,\n changed?: Date,\n changedBy?: string,\n firstname?: string,\n lastname?: string,\n email?: string,\n role?: string,\n phone?: string,\n mobile?: string,\n city?: string,\n zipcode?: string,\n street?: string,\n no?: string,\n country?: string,\n state?: string,\n dateOfBirth?: string,\n context?: Context,\n avatarImg?: Blob,\n credentialsNonExpired?: boolean,\n accountNonLocked?: boolean,\n accountNonExpired?: boolean,\n username?: string,\n enabled?: boolean,\n client?: string\n ) {\n this.id = id!;\n this.use2FA = use2FA!;\n this.created = created!;\n this.regstate = regstate!;\n this.creator = creator!;\n this.changed = changed!;\n this.changedBy = changedBy!;\n this.firstname = firstname!;\n this.lastname = lastname!;\n this.email = email!;\n this.role = role!;\n this.phone = phone!;\n this.mobile = mobile!;\n this.city = city!;\n this.zipcode = zipcode!;\n this.street = street!;\n this.no = no!;\n this.country = country!;\n this.state = state!;\n this.dateOfBirth = dateOfBirth!;\n this.context = context!;\n this.avatarImg = avatarImg!;\n this.credentialsNonExpired = credentialsNonExpired!;\n this.accountNonLocked = accountNonLocked!;\n this.accountNonExpired = accountNonExpired!;\n this.username = username!;\n this.enabled = enabled!;\n this.client = client!;\n }\n}\nexport interface UserObject {\n data: User[];\n}\n\nexport class UserObject extends DataObject implements UserObject {\n constructor(data: User[]) {\n super('', DataType.USER, version);\n this.data = data;\n }\n}\n","export enum Context {\n NONE = 0,\n USER = 1,\n MANAGER = 2,\n ADMIN = 3,\n ENTERPRISE_ADMIN = 4,\n}\n\nexport namespace Context {\n export function valueOf(str: string): number {\n return Context[str as keyof typeof Context] as number;\n }\n export function values() {\n let res: any[] = [];\n for(const value in Object.values(Context)) {\n if(isNaN(Object.values(Context)[value] as any) && typeof(Object.values(Context)[value]) !== 'function') {\n res.push(Object.values(Context)[value]);\n }\n } \n return res; \n }\n}\n","import { DataType } from \"../../enums\";\nimport { DataObject } from \"../data-object\";\nimport { DataVersion } from \"../data-version\";\nimport { Address } from \"./address-object\";\n\nconst version = new DataVersion(1, 0, 0, 0) as DataVersion;\n\nexport interface Manufacturer {\n id: string;\n name: string;\n email: string;\n website: string;\n addresses: Address[];\n code: string;\n}\n\nexport class Manufacturer implements Manufacturer {\n constructor(id?: string, name?: string, email?: string, website?: string, addresses?: Address[], code?: string) {\n this.id = id!;\n this.name = name!;\n this.email = email!;\n this.website = website!;\n this.addresses = addresses!;\n this.code = code!;\n }\n}\n\nexport interface ManufacturerObject {\n data: Manufacturer[]; \n}\n\nexport class ManufacturerObject extends DataObject implements ManufacturerObject {\n constructor(data: Manufacturer[]) {\n super('', DataType.MANUFACTURER, version);\n this.data = data;\n }\n}\n","import { DataType } from \"../../enums\";\nimport { DataObject } from \"../data-object\";\nimport { DataVersion } from \"../data-version\";\n\nconst version = new DataVersion(1, 0, 0, 0) as DataVersion;\n\nexport interface License{\n id?: string;\n companyid?: string;\n licensekey?: string;\n validuntil?: string;\n}\n\nexport class License implements License {\n constructor(id: string, companyid: string, licensekey: string, validuntil: string) {\n this.id = id;\n this.companyid = companyid;\n this.licensekey = licensekey;\n this.validuntil = validuntil;\n }\n}\n\nexport interface LicenseObject {\n data: License[];\n}\n\nexport class LicenseObject extends DataObject implements LicenseObject { \n constructor(data: License[]) {\n super('', DataType.LICENSE, version);\n this.data = data;\n }\n}\n\n","import { DataType } from \"../../enums\";\nimport { DataObject } from \"../data-object\";\nimport { DataVersion } from \"../data-version\";\n\nconst version = new DataVersion(1, 0, 0, 0) as DataVersion;\n\nexport interface AddressType {\n id?: string;\n name: string;\n description: string;\n}\n\nexport class AddressType implements AddressType {\n\n}\n\nexport interface AddressToCompany {\n id?: string;\n address_id: string;\n company_id: string;\n type: AddressType;\n}\n\nexport class AddressToCompany implements AddressToCompany {\n\n}\n\nexport interface Address {\n id?: string;\n street: string;\n no: string;\n zipcode: string;\n city: string;\n country: string;\n state: string;\n}\n\nexport class Address implements Address {\n constructor(id?: string, street?: string, no?: string, zipcode?: string, city?: string, country?: string, state?: string) {\n this.id = id;\n this.street = street!;\n this.no = no!;\n this.zipcode = zipcode!;\n this.city = city!;\n this.country = country!;\n this.state = state!;\n }\n}\n\nexport interface AddressObject extends DataObject {\n data: Address[];\n}\n\nexport class AddressObject extends DataObject implements AddressObject {\n constructor(data: Address[]) {\n super('', DataType.ADDRESS, version);\n this.data = data;\n }\n}\n","import { DataType, EMailTemplateType, WebTemplateType } from \"../../enums\";\nimport { DataObject } from \"../data-object\";\nimport { DataVersion } from \"../data-version\";\nimport { Company } from \"./company-object\";\n\nconst version = new DataVersion(1, 0, 0, 0) as DataVersion;\n\nexport interface WebTemplates {\n id?: string;\n type: WebTemplateType;\n name: string;\n data: string;\n langauge: string;\n}\n\nexport class WebTemplates implements WebTemplates {\n\n}\nexport interface WebTemplatesObject {\n data: WebTemplates[];\n}\nexport class WebTemplatesObject extends DataObject implements WebTemplatesObject {\n constructor(data: WebTemplates[]) {\n super('', DataType.WEBTEMPLATE, version);\n this.data = data;\n }\n}\n\nexport interface EmailTemplates {\n id?: string;\n type: EMailTemplateType;\n name: string;\n data: string;\n langauge: string;\n}\n\nexport class EmailTemplates implements EmailTemplates {\n\n}\n\nexport interface EmailTemplatesObject {\n data: EmailTemplates[];\n}\nexport class EmailTemplatesObject extends DataObject implements EmailTemplatesObject {\n constructor(data: EmailTemplates[]) {\n super('', DataType.EMAILTEMPLATE, version);\n this.data = data;\n }\n}\n\nexport interface Client {\n id?: string;\n orderid: number;\n parentid: string;\n children: Client[];\n company: Company;\n companies: Company[];\n url: string\n theme: string;\n logo: string;\n webtemplates: WebTemplates[];\n emailtemplates: EmailTemplates[];\n}\n\nexport class Client implements Client {\n}\n\nexport interface ClientObject {\n data: Client[];\n}\n\nexport class ClientObject extends DataObject implements ClientObject {\n constructor(data: Client[]) {\n super('', DataType.CLIENT, version);\n this.data = data;\n }\n} \n","import { DataType } from \"../../enums\";\nimport { DataObject } from \"../data-object\";\nimport { DataVersion } from \"../data-version\";\n\nconst version = new DataVersion(1, 0, 0, 0) as DataVersion;\n\nexport interface Currency {\n id: string;\n name: string;\n isocode: string;\n symbol: string;\n}\n\nexport class Currency implements Currency {\n constructor(id: string, name: string, isocode: string, symbol: string) {\n this.id = id;\n this.name = name;\n this.isocode = isocode;\n this.symbol = symbol;\n }\n}\n\nexport interface CurrencyObject {\n data: Currency[];\n}\n\nexport class CurrencyObject extends DataObject implements CurrencyObject {\n constructor(data: Currency[]) {\n super('', DataType.CURRENCY, version);\n this.data = data;\n }\n}\n","import { DataType } from \"../../enums\";\nimport { DataObject } from \"../data-object\";\nimport { DataVersion } from \"../data-version\";\n\nconst version = new DataVersion(1, 0, 0, 0) as DataVersion;\n\nexport interface Country {\n id?: string;\n name: string;\n}\n\nexport class Country implements Country {\n constructor(id: string, name: string) {\n this.id = id;\n this.name = name;\n }\n}\n\nexport interface CountryObject {\n data: Country[];\n}\n\nexport class CountryObject extends DataObject implements CountryObject {\n constructor(data: Country[]) {\n super('', DataType.COUNTRY, version);\n this.data = data;\n }\n}\n","import { DataType } from \"../../enums\";\nimport { DataObject } from \"../data-object\";\nimport { DataVersion } from \"../data-version\";\n\nconst version = new DataVersion(1, 0, 0, 0) as DataVersion;\n\nexport interface Image {\n width: number;\n height: number;\n url: string;\n blob: Blob;\n}\n\nexport class Image implements Image {\n constructor(width: number, height: number, url: string, blob: Blob) {\n this.width = width;\n this.height = height;\n this.url = url;\n this.blob = blob;\n }\n}\n\nexport interface ImageObject {\n data: Image[];\n}\n\nexport class ImageObject extends DataObject implements ImageObject {\n constructor(data: Image[]) {\n super('', DataType.IMAGE, version);\n this.data = data;\n }\n \n override getEntryCount(): number {\n return this.data.length;\n }\n}\n\n","import { DataType } from \"../../enums\";\nimport { DataObject } from \"../data-object\";\nimport { DataVersion } from \"../data-version\";\n\nconst version: DataVersion = new DataVersion(1, 0, 0, 0);\n\nexport interface VAT {\n id: string;\n name: string;\n value: string;\n description: string;\n}\n\nexport class VAT implements VAT {\n constructor(id?: string, name?: string, value?: string, description?: string) {\n this.id = id!;\n this.name = name!;\n this.value = value!;\n this.description = description!;\n }\n}\n\nexport interface VATObject {\n data: VAT[];\n}\n\nexport class VATObject extends DataObject implements VATObject {\n constructor(data: VAT[]) {\n super('', DataType.VAT, version);\n this.data = data;\n }\n}\n\nexport interface VATHistory {\n id: string;\n vatId: number;\n fromDate: Date;\n oldValue: number;\n newValue: number;\n}\n\nexport class VATHistory implements VATHistory {\n constructor(id?: string, vatId?: number, fromDate?: Date, oldValue?: number, newValue?: number) {\n this.id = id!;\n this.vatId = vatId!;\n this.fromDate = fromDate!;\n this.oldValue = oldValue!;\n this.newValue = newValue!;\n }\n}\n\nexport interface Taxes {\n}\n","import { DataType } from \"../../enums\";\nimport { DataObject } from \"../data-object\";\nimport { DataVersion } from \"../data-version\";\nimport { Client } from \"./client-object\";\n\nconst version = new DataVersion(1, 0, 0, 0) as DataVersion;\n\nexport interface Module {\n id?: string;\n name: string;\n type: string;\n description: string;\n hostname: string;\n port: number;\n token: string;\n client: Client;\n}\n\nexport class Module implements Module {\n}\n\nexport interface ModuleObject {\n data: Module[];\n}\n\nexport class ModuleObject extends DataObject implements ModuleObject {\n constructor(data: Module[]) {\n super('', DataType.MODULE, version);\n this.data = data;\n }\n}\n","import { DataType } from \"../../enums\";\nimport { DataObject } from \"../data-object\";\nimport { DataVersion } from \"../data-version\";\nimport { Address } from \"./address-object\";\nimport { Company } from \"./company-object\";\n\nconst version = new DataVersion(1, 0, 0, 0) as DataVersion;\n\nexport interface Location {\n id?: string;\n name: string;\n description: string;\n company: Company;\n address: Address;\n building: Building[];\n}\n\nexport class Location implements Location {\n constructor(id?: string, name?: string, description?: string, company?: Company, address?: Address, building?: Building[]) {\n this.id = id!;\n this.name = name!;\n this.description = description!;\n this.company = company!;\n this.address = address!;\n this.building = building!;\n }\n}\n\nexport interface Building {\n id?: string;\n name: string;\n description: string;\n floor: Floor[];\n}\n\nexport class Building implements Building {\n constructor(id?: string, name?: string, description?: string, floor?: Floor[]) {\n this.id = id!;\n this.name = name!;\n this.description = description!;\n this.floor = floor!;\n }\n}\n\nexport interface Floor {\n id?: string;\n name: string;\n description: string;\n room: Room[];\n}\n\nexport class Floor implements Floor {\n constructor(id?: string, name?: string, description?: string, room?: Room[]) {\n this.id = id!;\n this.name = name!;\n this.description = description!;\n this.room = room!;\n }\n}\n\nexport interface Room {\n id?: string;\n name: string;\n description: string;\n}\n\nexport class Room implements Room {\n constructor(id?: string, name?: string, description?: string) {\n this.id = id!;\n this.name = name!;\n this.description = description!;\n } \n}\n\nexport interface LocationObject extends DataObject {\n data: Location[];\n}\n\nexport class LocationObject extends DataObject implements LocationObject {\n constructor(data: Location[]) {\n super('', DataType.LOCATION, version);\n this.data = data;\n }\n}\n\nexport interface BuildingObject extends DataObject {\n data: Building[];\n}\n\nexport class BuildingObject extends DataObject implements BuildingObject {\n constructor(data: Building[]) {\n super('', DataType.BUILDING, version);\n this.data = data;\n }\n}\n\nexport interface FloorObject extends DataObject {\n data: Floor[];\n}\n\nexport class FloorObject extends DataObject implements FloorObject {\n constructor(data: Floor[]) {\n super('', DataType.FLOOR, version);\n this.data = data;\n }\n}\n\nexport interface RoomObject extends DataObject {\n data: Room[];\n}\n\nexport class RoomObject extends DataObject implements RoomObject {\n constructor(data: Room[]) {\n super('', DataType.ROOM, version);\n this.data = data;\n }\n}\n","import { DataType } from \"../../enums\";\nimport { DataObject } from \"../data-object\";\nimport { DataVersion } from \"../data-version\";\nimport { Address } from \"./address-object\";\n\nconst version = new DataVersion(1, 0, 0, 0) as DataVersion;\n\nexport interface Company {\n id?: string;\n name: string;\n form: string;\n taxno: string;\n taxid: string;\n addresses: Address[];\n// addresses: AddressToCompany[];\n website: string;\n registerno: string;\n}\n\nexport class Company implements Company {\n constructor(id?: string, name?: string, form?: string, taxno?: string, taxid?: string, addresses?: Address[], website?: string, registerno?: string) {\n this.id = id;\n this.name = name!;\n this.form = form!;\n this.taxno = taxno!;\n this.taxid = taxid!;\n this.addresses = addresses!;\n this.website = website!;\n this.registerno = registerno!;\n }\n}\n\nexport interface CompanyObject {\n data: Company[];\n}\n\nexport class CompanyObject extends DataObject implements CompanyObject {\n constructor(data: Company[]) {\n super('', DataType.COMPANY, version);\n this.data = data;\n }\n} \n","import { DataType } from \"../../enums\";\nimport { DataObject } from \"../data-object\";\nimport { DataVersion } from \"../data-version\";\n\nconst version = new DataVersion(1, 0, 0, 0) as DataVersion;\n\nexport interface Vendor {\n id: string;\n name: string;\n website: string;\n description: string;\n}\n\nexport class Vendor implements Vendor {\n constructor(id?: string, name?: string, website?: string, description?: string) {\n this.id = id!;\n this.name = name!;\n this.website = website!;\n this.description = description!;\n }\n}\n\nexport interface VendorObject {\n data: Vendor[];\n}\n\nexport class VendorObject extends DataObject implements VendorObject {\n constructor(data: Vendor[]) {\n super('', DataType.VENDOR, version);\n this.data = data;\n }\n override getEntryCount(): number {\n return this.data.length;\n }\n}","import { DataType } from \"../../enums\";\nimport { DataObject } from \"../data-object\";\nimport { DataVersion } from \"../data-version\";\nimport { Vendor } from \"./vendor-object\";\n\nconst version = new DataVersion(1, 0, 0, 0) as DataVersion;\n\nexport interface AccessPoint {\n\tid: string;\n\tipaddress: string;\n wifiaddress: string;\n btaddress: string;\n macaddress: string;\n serial: string;\n model: string;\n softwareversion: string;\n hardwareversion: string;\n vendor: Vendor;\n}\n\nexport class AccessPoint implements AccessPoint {\n constructor(id?: string, ipaddress?: string, wifiaddress?: string, btaddress?: string, macaddress?: string, serial?: string, model?: string, softwareversion?: string, hardwareversion?: string, vendor?: Vendor) {\n this.id = id!;\n this.ipaddress = ipaddress!;\n this.wifiaddress = wifiaddress!;\n this.btaddress = btaddress!;\n this.macaddress = macaddress!;\n this.serial = serial!;\n this.model = model!;\n this.softwareversion = softwareversion!;\n this.hardwareversion = hardwareversion!;\n this.vendor = vendor!;\n }\n}\n\nexport interface AccessPointObject {\n data: AccessPoint[];\n}\n\nexport class AccessPointObject extends DataObject implements AccessPointObject {\n constructor(data: AccessPoint[]) {\n super('', DataType.ACCESSPOINT, version);\n this.data = data;\n }\n override getEntryCount(): number {\n return this.data.length;\n }\n}\n","import { DataType, MessageType } from \"../../enums\";\nimport { DataObject } from \"../data-object\";\nimport { DataVersion } from \"../data-version\";\n\nconst version = new DataVersion(1, 0, 0, 0) as DataVersion;\n\nexport interface Message {\n messagetype: MessageType;\n code: number;\n name: string;\n message: string;\n}\n\nexport class Message implements Message {\n constructor(messagetype?: MessageType, code?: number, name?: string, message?: string) {\n this.messagetype = messagetype!;\n this.code = code!;\n this.name = name!;\n this.message = message!;\n }\n}\n\nexport interface MessageObject {\n data: Message[];\n}\n\nexport class MessageObject extends DataObject implements MessageObject {\n constructor(data: Message[]) {\n super('', DataType.MESSAGE, version);\n this.data = data;\n }\n\n override getEntryCount(): number {\n return this.data.length;\n }\n}\n","import { DataType } from \"../../enums\";\nimport { DataObject } from \"../data-object\";\nimport { DataVersion } from \"../data-version\";\nimport { Item } from \"../erp/items/item-object\";\nimport { Space } from \"../erp/items/shelf-object\";\nimport { User } from \"./user-object\";\n\nconst version = new DataVersion(1, 0, 0, 0) as DataVersion;\n\nexport interface CartItem {\n id: string;\n item: Item;\n amount: number;\n space: Space;\n price: number;\n}\nexport class CartItem implements CartItem {\n constructor(item?: Item, amount?: number, space?: Space, price?: number) {\n this.item = item!;\n this.amount = amount!;\n this.space = space!;\n this.price = price!;\n }\n}\nexport interface Cart {\n id: string;\n code: string;\n transaktion: string;\n user: User;\n userid: string;\n buildingid: string;\n created: Date;\n items: CartItem[];\n}\nexport class Cart implements Cart {\n constructor(id?: string, code?: string, transaktion?: string, user?: User, userid?: string, buildingid?: string, created?: Date, items?: CartItem[]) {\n this.id = id!;\n this.code = code!;\n this.transaktion = transaktion!;\n this.user = user!;\n this.userid = userid!;\n this.buildingid = buildingid!;\n this.created = created!;\n this.items = items!;\n }\n}\nexport interface CartObject {\n data: Cart[];\n}\nexport class CartObject extends DataObject implements CartObject {\n constructor(data: Cart[]) {\n super('', DataType.CART, version);\n this.data = data;\n }\n \n override getEntryCount(): number {\n return this.data.length;\n }\n} ","import { DataType } from \"../../enums\";\nimport { DataObject } from \"../data-object\";\nimport { DataVersion } from \"../data-version\";\nimport { User } from \"./user-object\";\n\nconst version = new DataVersion(1, 0, 0, 0) as DataVersion;\n\nexport interface Role {\n id: string;\n name: string;\n description: string;\n}\n\nexport class Role implements Role {\n constructor(id?: string, name?: string, description?: string) {\n this.id = id!;\n this.name = name!;\n this.description = description!;\n }\n}\n\nexport interface Resource {\n id: string;\n name: string;\n description: string;\n roles?: Role[];\n}\n\nexport class Resource implements Resource {\n constructor(id: string, name: string, description: string, roles?: Role[]) {\n this.id = id;\n this.name = name;\n this.description = description;\n this.roles = roles;\n }\n}\n\nexport interface UserAccess {\n id: string;\n name: string;\n roles?: Role[];\n users?: User[];\n}\n\nexport class UserAccess implements UserAccess {\n constructor(id: string, name: string, roles?: Role[], users?: User[]) {\n this.id = id;\n this.name = name;\n this.roles = roles;\n this.users = users;\n }\n}\n\nexport interface RoleObject {\n data: Role[];\n}\n\nexport class RoleObject extends DataObject implements RoleObject {\n\n constructor(data: Role[]) {\n super('', DataType.ROLE, version);\n this.data = data;\n }\n override getEntryCount(): number {\n return this.data.length;\n }\n}\n\nexport interface UserAccessObject {\n data: UserAccess[];\n}\n\nexport class UserAccessObject extends DataObject implements UserAccessObject {\n constructor(data: UserAccess[]) {\n super('', DataType.USERACCESS, version);\n this.data = data;\n }\n override getEntryCount(): number {\n return this.data.length;\n }\n}\n","import { DataType } from \"../../enums\";\nimport { DataObject } from \"../data-object\";\nimport { DataVersion } from \"../data-version\";\nimport { Address } from \"./address-object\";\n\nconst version = new DataVersion(1, 0, 0, 0) as DataVersion;\n\nexport interface Supplier {\n id: string;\n name: string;\n email: string;\n phone: string;\n website: string;\n addresses: Address[];\n code: string;\n}\n\nexport class Supplier implements Supplier {\n constructor(\n id?: string,\n name?: string,\n email?: string,\n phone?: string,\n website?: string,\n addresses?: Address[],\n code?: string\n ) {\n this.id = id!;\n this.name = name!;\n this.email = email!;\n this.phone = phone!;\n this.website = website!;\n this.addresses = addresses!;\n this.code = code!;\n }\n}\n\nexport interface SupplierObject {\n data: Supplier[];\n}\n\nexport class SupplierObject extends DataObject implements SupplierObject {\n constructor(data: Supplier[]) {\n super('', DataType.SUPPLIER, version);\n this.data = data;\n }\n}\n\n","import { DataType } from \"../../enums\";\nimport { DataObject } from \"../data-object\";\nimport { DataVersion } from \"../data-version\";\n\nconst version = new DataVersion(1, 0, 0, 0) as DataVersion;\n\nexport interface Issue {\n id: string;\n question: string;\n answer: string;\n}\nexport class Issue implements Issue {\n constructor(id?: string, question?: string, answer?: string) {\n this.id = id!;\n this.question = question!;\n this.answer = answer!;\n }\n}\n\nexport interface FAQ {\n id: string;\n topic: string;\n issues: Issue[];\n}\nexport class FAQ implements FAQ {\n constructor(id?: string, topic?: string, issues?: Issue[]) {\n this.id = id!;\n this.topic = topic!;\n this.issues = issues!;\n }\n}\n\nexport interface FAQObject {\n data: FAQ[];\n}\n\nexport class FAQObject extends DataObject implements FAQObject {\n constructor(data: FAQ[]) {\n super('', DataType.FAQ, version);\n this.data = data;\n }\n}\n","import { DataType } from \"../../enums\";\nimport { DataObject } from \"../data-object\";\nimport { DataVersion } from \"../data-version\";\n\nconst version = new DataVersion(1, 0, 0, 0) as DataVersion;\n\nexport interface FarmingMethod {\n id: string;\n method: string;\n}\nexport class FarmingMethod implements FarmingMethod {\n constructor(id?: string, method?: string) {\n this.id = id!;\n this.method = method!;\n }\n}\n\nexport interface FarmingMethodObject {\n data: FarmingMethod[];\n}\nexport class FarmingMethodObject extends DataObject implements FarmingMethodObject {\n constructor(data: FarmingMethod[]) {\n super('', DataType.FARMINGMETHOD, version);\n this.data = data;\n }\n}","import { DataType } from \"../../enums\";\nimport { DataObject } from \"../data-object\";\nimport { DataVersion } from \"../data-version\";\n\nconst version = new DataVersion(1, 0, 0, 0) as DataVersion;\n\nexport interface Chat {\n id: string;\n senderid: string;\n sendername: string;\n receiverid: string;\n receivername: string;\n message: string;\n timestamp: Date;\n}\nexport class Chat implements Chat {\n constructor(id?: string, senderid?: string, sendername?: string, receiverid?: string, receivername?: string, message?: string, timestamp?: Date) {\n this.id = id!;\n this.senderid = senderid!;\n this.sendername = sendername!;\n this.receiverid = receiverid!;\n this.receivername = receivername!;\n this.message = message!;\n this.timestamp = timestamp!;\n }\n}\n\nexport interface ChatObject {\n data: Chat[];\n}\nexport class ChatObject extends DataObject implements ChatObject {\n constructor(data: Chat[]) {\n super('', DataType.CHAT, version);\n this.data = data;\n }\n}","import { AttachmentType, DataType, MessageType, TicketSenderType, TicketStatus } from \"../../enums\";\nimport { DataObject } from \"../data-object\";\nimport { DataVersion } from \"../data-version\";\n\nconst version = new DataVersion(1, 0, 0, 0) as DataVersion;\n\nexport interface TicketMessage {\n id: string;\n ticketid: string;\n senderid: string;\n sendertype: TicketSenderType;\n message: string;\n attachmenttype: AttachmentType;\n attachment: Blob;\n created: Date;\n}\nexport class TicketMessage implements TicketMessage {\n constructor(id?: string, ticketid?: string, senderid?: string, sendertype?: TicketSenderType, attachmenttype?: AttachmentType, message?: string, attachment?: Blob, created?: Date) {\n this.id = id!;\n this.ticketid = ticketid!;\n this.senderid = senderid!;\n this.sendertype = sendertype!;\n this.message = message!;\n this.attachmenttype = attachmenttype!;\n this.attachment = attachment!;\n this.created = created!;\n }\n}\n\nexport interface Ticket {\n id: string;\n userid: string;\n topic: string;\n status: TicketStatus;\n created: Date;\n closed: Date;\n assigned: string;\n messages: TicketMessage[];\n}\nexport class Ticket implements Ticket {\n constructor(id?: string, userid?: string, topic?: string, status?: TicketStatus, created?: Date, closed?: Date, assigned?: string, messages?: TicketMessage[]) {\n this.id = id!;\n this.userid = userid!;\n this.topic = topic!;\n this.status = status!;\n this.created = created!;\n this.closed = closed!;\n this.assigned = assigned!;\n this.messages = messages!;\n }\n}\n\nexport interface TicketMessageObject {\n data: TicketMessage[];\n}\nexport class TicketMessageObject extends DataObject implements TicketMessageObject {\n constructor(data: TicketMessage[]) {\n super('', DataType.TICKETMESSAGE, version);\n this.data = data;\n }\n\n override getEntryCount(): number {\n return this.data.length;\n }\n}\n\nexport interface TicketObject {\n data: Ticket[];\n}\nexport class TicketObject extends DataObject implements TicketObject {\n constructor(data: Ticket[]) {\n super('', DataType.TICKET, version);\n this.data = data;\n }\n \n override getEntryCount(): number {\n return this.data.length;\n }\n}\n","import { DataType } from \"../../enums\";\nimport { Context } from \"../common/context\";\nimport { Resource } from '../common/role-object';\nimport { DataObject } from \"../data-object\";\nimport { DataVersion } from \"../data-version\";\n\nconst version = new DataVersion(1, 0, 0, 0) as DataVersion;\n\nexport interface menuitem {\n id: string;\n name: string;\n resource: Resource;\n children: menuitem[];\n icon?: string;\n link?: string;\n}\n\nexport class menuitem implements menuitem {\n id: string;\n name: string;\n resource: Resource;\n children: menuitem[];\n icon?: string;\n link?: string;\n \n constructor(\n id: string,\n name: string,\n resource: Resource,\n children: menuitem[],\n icon?: string,\n link?: string\n ) {\n this.id = id;\n this.name = name;\n this.resource = resource;\n this.children = children;\n this.icon = icon;\n this.link = link;\n }\n}\n\nexport interface menu {\n id: string;\n context: Context;\n resource: Resource;\n name: string;\n children: menuitem[];\n order: number;\n icon?: string;\n link?: string;\n}\n\nexport class Menu implements menu {\n id: string;\n context: Context;\n resource: Resource;\n name: string;\n children: menuitem[];\n order: number;\n icon?: string;\n link?: string;\n\n constructor(\n id: string,\n context: Context,\n resource: Resource,\n name: string,\n children: menuitem[],\n order: number,\n icon?: string,\n link?: string\n ) {\n this.id = id;\n this.context = context;\n this.resource = resource;\n this.name = name;\n this.children = children;\n this.order = order;\n this.icon = icon;\n this.link = link;\n }\n}\n\nexport interface MenuObject {\n data: menu[];\n}\n\nexport class MenuObject extends DataObject implements MenuObject {\n\n constructor(data: menu[]) {\n super('', DataType.MENU, version);\n this.data = data;\n }\n override getEntryCount(): number {\n return this.data.length;\n }\n}\n","import { DataType } from \"../../../enums\";\nimport { DataObject } from \"../../data-object\";\nimport { DataVersion } from \"../../data-version\";\n\nconst version = new DataVersion(1, 0, 0, 0) as DataVersion;\n\nexport interface Dimension {\n width: number;\n height: number;\n depth: number; \n}\n\nexport class Dimension implements Dimension {\n constructor(width: number, height: number, depth: number) {\n this.width = width;\n this.height = height;\n this.depth = depth;\n }\n}\n\nexport interface DimensionObject {\n data: Dimension[];\n}\n\nexport class DimensionObject extends DataObject implements DimensionObject {\n constructor(data: Dimension[]) {\n super('', DataType.DIMENSION, version);\n this.data = data;\n }\n \n override getEntryCount(): number {\n return this.data.length;\n }\n}","import { DataObject } from \"../../data-object\";\nimport { DataType, Unit } from \"../../../enums\";\nimport { DataVersion } from \"../../data-version\";\nimport { Space } from \"./shelf-object\";\nimport { Item } from \"./item-object\";\n\nconst version = new DataVersion(1, 0, 0, 0) as DataVersion;\n\nexport interface Inventory {\n id: string;\n amount: number;\n unit: Unit;\n weight: number;\n space: Space;\n item: Item;\n}\n\nexport class Inventory implements Inventory {\n constructor(id?: string, amount?: number, unit?: Unit, weight?: number, space?: Space, item?: Item) {\n this.id = id!;\n this.amount = amount!;\n this.unit = unit!;\n this.weight = weight!;\n this.space = space!;\n this.item = item!;\n }\n\n updateInventory(addedAmount: number) {\n this.amount += addedAmount;\n }\n}\n\nexport interface InventoryObject {\n data: Inventory[];\n}\n\nexport class InventoryObject extends DataObject implements InventoryObject {\n constructor(data: Inventory[]) {\n super('', DataType.INVENTORY, version);\n this.data = data;\n }\n \n override getEntryCount(): number {\n return this.data.length;\n }\n}\n","import { DataType, Unit } from \"../../../enums\";\nimport { Country } from \"../../common/country-object\";\nimport { Currency } from \"../../common/currency-object\";\nimport { FarmingMethod } from \"../../common/farmingmethod-object\";\nimport { Image } from \"../../common/image-object\";\nimport { Manufacturer } from \"../../common/manufacturer-object\";\nimport { VAT } from \"../../common/taxes\";\nimport { DataObject } from \"../../data-object\";\nimport { DataVersion } from \"../../data-version\";\nimport { ItemProperties } from \"./item-properties-object\";\nimport { Packaging } from \"./packaging-object\";\nimport { Rating } from \"./rating-object\";\n\nconst version = new DataVersion(1, 0, 0, 0) as DataVersion;\n\nexport interface ItemGroup {\n id: string;\n name: string;\n description: string;\n code: string;\n}\n\nexport class ItemGroup implements ItemGroup {\n constructor(\n id?: string,\n name?: string,\n description?: string,\n code?: string\n ) {\n this.id = id!;\n this.name = name!;\n this.description = description!;\n this.code = code!;\n }\n}\n\nexport interface ItemGroupObject {\n data: ItemGroup[];\n}\n\nexport class ItemGroupObject extends DataObject implements ItemGroupObject {\n constructor(data: ItemGroup[]) {\n super('', DataType.ITEMGROUP, version);\n this.data = data;\n }\n}\n\nexport interface Item {\n id?: string; //auto\n name?: string;\n matchcode?: string[];\n description?: string;\n itemno?: string;\n itemgroup?: ItemGroup;\n ean?: string; //semi-auto\n coo?: Country; // country of origin\n manufacturer?: Manufacturer; // manufacturer\n manufactureritemno?: string; //manufacturer gtin\n manufacturerean?: string; //manufacturer ean\n images?: Image[];\n rating?: number;\n ratings?: Rating[];\n proddetail?: string;\n packaging?: Packaging[];\n vat: VAT;\n defaultunit?: Unit;\n currency: Currency;\n minage: number;\n properties: ItemProperties[];\n farmingMethod?: FarmingMethod;\n producttype: string[];\n}\n\nexport class Item implements Item {\n constructor() {\n this.matchcode = [];\n }\n}\n\nexport interface ItemObject {\n data: Item[];\n}\n\nexport class ItemObject extends DataObject implements ItemObject{\n constructor(data: Item[]) {\n super('', DataType.ITEM, version);\n this.data = data;\n }\n}\n","import exp from \"node:constants\";\nimport { DataType } from \"../../../enums\";\nimport { DataObject } from \"../../data-object\";\nimport { DataVersion } from \"../../data-version\";\n\nconst version = new DataVersion(1, 0, 0, 0) as DataVersion;\n\nexport interface PropertyNames {\n id: string;\n name: string;\n}\n\nexport class PropertyNames implements PropertyNames {\n constructor(\n id?: string,\n name?: string\n ) {\n this.id = id!;\n this.name = name!;\n }\n}\n\nexport interface PropertyNamesObject {\n data: PropertyNames[];\n}\n\nexport class PropertyNamesObject extends DataObject implements PropertyNamesObject {\n constructor(data: PropertyNames[]) {\n super('', DataType.PROPERTYNAMES, version);\n this.data = data;\n }\n}\n\nexport interface CategoryNames {\n id: string;\n name: string;\n description: string;\n propertynames: PropertyNames[];\n}\n\nexport class CategoryNames implements CategoryNames {\n constructor(\n id?: string,\n name?: string,\n description?: string,\n propertynames?: PropertyNames[]\n ) {\n this.id = id!;\n this.name = name!;\n this.description = description!;\n this.propertynames = propertynames!;\n }\n}\n\nexport interface CategoryNamesObject {\n data: CategoryNames[];\n}\n\nexport class CategoryNamesObject extends DataObject implements CategoryNamesObject {\n constructor(data: CategoryNames[]) {\n super('', DataType.CATEGORYNAMES, version);\n this.data = data;\n }\n}\n\nexport interface ItemProperty {\n id: string;\n name: string; // e.g. \"Sugar\" \n value: string; // e.g. \"10g\"\n base: string; // e.g. \"100g\"\n expression: string; // formula for displaying data e.g. \"name (value per base)\" => \"Sugar (10g per 100g)\n}\n\nexport class ItemProperty implements ItemProperty {\n constructor(\n id?: string,\n name?: string,\n value?: string,\n base?: string,\n expression?: string\n ) {\n this.id = id!;\n this.name = name!;\n this.value = value!;\n this.base = base!;\n this.expression = expression!;\n }\n}\n\nexport interface ItemPropertyObject {\n data: ItemProperty[];\n}\n\nexport class ItemPropertyObject extends DataObject implements ItemPropertyObject {\n constructor(data: ItemProperty[]) {\n super('', DataType.ITEMPROPERTY, version);\n this.data = data;\n }\n}\n\nexport interface ItemProperties {\n id: string;\n name: string;\n description: string;\n properties: ItemProperty[];\n}\n\nexport class ItemProperties implements ItemProperties {\n constructor(\n id?: string,\n name?: string,\n description?: string,\n properties?: ItemProperty[]\n ) {\n this.id = id!;\n this.name = name!;\n this.description = description!;\n this.properties = properties!;\n }\n}\n\nexport interface ItemPropertiesObject {\n data: ItemProperties[];\n}\n\nexport class ItemPropertiesObject extends DataObject implements ItemPropertiesObject {\n constructor(data: ItemProperties[]) {\n super('', DataType.ITEMPROPERTIES, version);\n this.data = data;\n }\n}\n","import { DataType } from \"../../../enums\";\nimport { DataObject } from \"../../data-object\";\nimport { DataVersion } from \"../../data-version\";\nimport { Inventory } from \"./inventory-object\";\nimport { Item } from \"./item-object\";\nimport { SellingPrice } from \"./price-object\";\nimport { Stock } from \"./stock-object\";\n\nconst version = new DataVersion(1, 0, 0, 0) as DataVersion;\n\nexport interface ItemDetail {\n item: Item;\n stock: Stock;\n sellingprice: SellingPrice;\n inventory: Inventory[];\n}\n\nexport class ItemDetail implements ItemDetail {\n constructor(item?: Item, stock?: Stock, sellingprice?: SellingPrice, inventory?: Inventory[]) {\n this.item = item!;\n this.stock = stock!;\n this.sellingprice = sellingprice!;\n this.inventory = inventory!;\n }\n}\n\nexport interface ItemDetailObject {\n data: ItemDetail[];\n}\n\nexport class ItemDetailObject extends DataObject implements ItemDetailObject {\n constructor(data: ItemDetail[]) {\n super('', DataType.ITEMDETAIL, version);\n this.data = data;\n }\n}","import { DataType } from \"../../../enums\";\nimport { DataObject } from \"../../data-object\";\nimport { DataVersion } from \"../../data-version\";\n\nconst version = new DataVersion(1, 0, 0, 0) as DataVersion;\n\nexport interface Packaging {\n id: string;\n name: string;\n dimensions: number[];\n code: string;\n}\n\nexport class Packaging implements Packaging {\n constructor(id?: string, name?: string, dimensions?: number[], code?: string) {\n this.id = id!;\n this.name = name!;\n this.dimensions = dimensions!;\n this.code = code!;\n }\n}\n\nexport interface PackagingObject {\n data: Packaging[];\n}\n\nexport class PackagingObject extends DataObject implements PackagingObject {\n constructor(data: Packaging[]) {\n super('', DataType.PACKAGING, version);\n this.data = data;\n }\n}\n","import { DataType } from \"../../../enums\";\nimport { DataObject } from \"../../data-object\";\nimport { DataVersion } from \"../../data-version\";\n\nconst version = new DataVersion(1, 0, 0, 0) as DataVersion;\n\nexport interface Rating {\n id: string;\n value: number;\n comment?: string;\n}\n\nexport class Rating implements Rating {\n constructor(id: string, value: number, comment: string) {\n this.id = id;\n this.value = value;\n this.comment = comment;\n }\n}\n\nexport interface RatingObject {\n data: Rating[];\n}\n\nexport class RatingObject extends DataObject implements RatingObject {\n constructor(data: Rating[]) {\n super('', DataType.RATING, version);\n this.data = data;\n }\n}\n","import { DataType } from '../../../enums';\nimport { DataObject } from '../../data-object';\nimport { DataVersion } from '../../data-version';\nimport { Dimension } from './dimension-object';\n\nconst version = new DataVersion(1, 0, 0, 0) as DataVersion;\n\nexport interface Space {\n id: string;\n name?: string;\n description?: string;\n dimension: Dimension;\n}\n\nexport class Space implements Space {\n constructor(id?: string, name?: string, description?: string, dimension?: Dimension) {\n this.id = id!;\n this.name = name!;\n this.description = description!;\n this.dimension = dimension!;\n }\n}\n\nexport interface Level {\n id: string;\n level: number;\n name: string;\n description: string;\n spaces: Space[];\n}\n\nexport class Level implements Level {\n constructor(id?: string, level?: number, name?: string, description?: string, spaces?: Space[]) {\n this.id = id!;\n this.level = level!;\n this.name = name!;\n this.description = description!;\n this.spaces = spaces!;\n }\n}\n\nexport interface Shelf {\n id: string;\n name: string;\n description: string\n levels: Level[];\n}\n\nexport class Shelf implements Shelf {\n constructor(id?: string, name?: string, description?: string, levels?: Level[]) {\n this.id = id!;\n this.name = name!;\n this.levels = levels!;\n }\n}\n\nexport interface ShelfObject {\n data: Shelf[];\n}\n\nexport class ShelfObject extends DataObject implements ShelfObject {\n constructor(data: Shelf[]) {\n super('', DataType.SHELF, version);\n this.data = data;\n }\n \n override getEntryCount(): number {\n return this.data.length;\n }\n}\n\nexport interface SpaceObject {\n data: Space[];\n}\n\nexport class SpaceObject extends DataObject implements SpaceObject {\n constructor(data: Space[]) {\n super('', DataType.SPACE, version);\n this.data = data;\n }\n \n override getEntryCount(): number {\n return this.data.length;\n }\n}\n\nexport interface LevelObject {\n data: Level[];\n}\n\nexport class LevelObject extends DataObject implements LevelObject {\n constructor(data: Level[]) {\n super('', DataType.LEVEL, version);\n this.data = data;\n }\n \n override getEntryCount(): number {\n return this.data.length;\n }\n}\n\nexport function isLevelArray(value: any): value is Level[] {\n return Array.isArray(value) && value.every(item => isLevel(item));\n}\n \nexport function isLevel(value: any): value is Level {\n return value && value.spaces !== undefined;\n}\n\nexport function isSpaceArray(value: any): value is Space[] {\n return Array.isArray(value) && value.every(item => isSpace(item));\n}\n \nexport function isSpace(value: any): value is Space {\n return value && value as any as Space instanceof Space;\n}\n\nexport function isShelfArray(value: any): value is Shelf[] {\n return Array.isArray(value) && value.every(item => isShelf(item));\n}\n \nexport function isShelf(value: any): value is Shelf {\n return value && value.levels !== undefined;\n}\n","import { DataType } from \"../../../enums\";\nimport { Room } from \"../../common/location-object\";\nimport { DataObject } from \"../../data-object\";\nimport { DataVersion } from \"../../data-version\";\nimport { Shelf } from \"./shelf-object\";\n\nconst version = new DataVersion(1, 0, 0, 0) as DataVersion;\n\nexport interface Stock {\n id: string;\n name: string;\n room: Room;\n shelf: Shelf[];\n row: number;\n}\n\nexport class Stock implements Stock {\n constructor(id: string, name: string, room: Room, shelf: Shelf[], row: number) {\n this.id = id;\n this.name = name;\n this.room = room;\n this.shelf = shelf;\n this.row = row;\n }\n}\n\nexport interface StockObject {\n data: Stock[];\n}\n\nexport class StockObject extends DataObject implements StockObject {\n constructor(data: Stock[]) {\n super('', DataType.STOCK, version);\n this.data = data;\n }\n \n override getEntryCount(): number {\n return this.data.length;\n }\n}\n","import { BookingType, DataType, Unit } from \"../../../enums\";\nimport { DataObject } from \"../../data-object\";\nimport { DataVersion } from \"../../data-version\";\nimport { Item } from \"./item-object\";\nimport { PurchasePrice, SellingPrice } from \"./price-object\";\nimport { Space } from \"./shelf-object\";\n\nconst version = new DataVersion(1, 0, 0, 0) as DataVersion;\n\nexport interface Booking {\n id: string;\n amount: number;\n unit: Unit;\n space: Space;\n userid: string;\n item: Item;\n bookingtype: BookingType;\n purchaseprice: PurchasePrice;\n sellingprice: SellingPrice;\n created: Date;\n}\n\nexport class Booking implements Booking {\n constructor(id?: string, amount?: number, unit?: Unit, space?: Space, userid?: string, item?: Item, bookingtype?: BookingType, purchaseprice?: PurchasePrice, sellingprice?: SellingPrice, created?: Date) {\n this.id = id!;\n this.amount = amount!;\n this.unit = unit!;\n this.space = space!;\n this.userid = userid!;\n this.item = item!;\n this.bookingtype = bookingtype!;\n this.purchaseprice = purchaseprice!;\n this.sellingprice = sellingprice!;\n this.created = created!;\n }\n}\n\nexport interface BookingObject {\n data: Booking[];\n}\n\nexport class BookingObject extends DataObject implements BookingObject {\n constructor(data: Booking[]) {\n super('', DataType.BOOKING, version);\n this.data = data;\n }\n \n override getEntryCount(): number {\n return this.data.length;\n }\n}\n","import { Item } from \"./item-object\";\nimport { DataType, Unit } from \"../../../enums\";\nimport { DataObject } from \"../../data-object\";\nimport { DataVersion } from \"../../data-version\";\nimport { Space } from \"./shelf-object\";\n\nconst version = new DataVersion(1, 0, 0, 0) as DataVersion;\n\nexport interface PurchasePrice {\n id: string;\n startdate: Date;\n enddate: Date;\n item: Item;\n space: Space;\n unit: Unit;\n price: number;\n}\nexport class PurchasePrice implements PurchasePrice {\n constructor(id?: string, startdate?: Date, enddate?: Date, item?: Item, space?: Space, unit?: Unit, price?: number) {\n this.id = id!;\n this.startdate = startdate!;\n this.enddate = enddate!;\n this.item = item!;\n this.space = space!;\n this.unit = unit!;\n this.price = price!;\n }\n}\n\nexport interface SellingPrice {\n id: string;\n startdate: Date;\n enddate: Date;\n item: Item;\n space: Space;\n unit: Unit;\n price: number;\n}\nexport class SellingPrice implements SellingPrice {\n constructor(id?: string, startdate?: Date, enddate?: Date, item?: Item, space?: Space, unit?: Unit, price?: number) {\n this.id = id!;\n this.startdate = startdate!;\n this.enddate = enddate!;\n this.item = item!;\n this.space = space!;\n this.unit = unit!;\n this.price = price!;\n }\n}\n\nexport interface PurchasePriceObject {\n data: PurchasePrice[];\n}\nexport class PurchasePriceObject extends DataObject implements PurchasePriceObject {\n constructor(data: PurchasePrice[]) {\n super('', DataType.PURCHASEPRICE, version);\n this.data = data;\n }\n}\nexport interface SellingPriceObject {\n data: SellingPrice[];\n}\nexport class SellingPriceObject extends DataObject implements SellingPriceObject {\n constructor(data: SellingPrice[]) {\n super('', DataType.SELLINGPRICE, version);\n this.data = data;\n }\n}","import { DataType } from \"../../../enums\";\nimport { DataObject } from \"../../data-object\";\nimport { DataVersion } from \"../../data-version\";\n\nconst version = new DataVersion(1, 0, 0, 0) as DataVersion;\n\nexport interface ItemShort {\n id: string;\n name: string;\n description: string;\n itemno: string;\n ean: string;\n}\n\nexport class ItemShort implements ItemShort {\n constructor(id?: string, name?: string, description?: string, itemno?: string, ean?: string) {\n this.id = id!;\n this.name = name!;\n this.description = description!;\n this.itemno = itemno!;\n this.ean = ean!;\n }\n}\n\nexport interface ItemShortObject {\n data: ItemShort[];\n}\n\nexport class ItemShortObject extends DataObject implements ItemShortObject {\n constructor(data: ItemShort[]) {\n super('', DataType.ITEMSHORT, version);\n this.data = data;\n }\n\n override getEntryCount(): number {\n return this.data.length;\n }\n}","import { CouponType, DataType } from \"../../../enums\";\nimport { User } from \"../../common/user-object\";\nimport { DataObject } from \"../../data-object\";\nimport { DataVersion } from \"../../data-version\";\n\nconst version: DataVersion = new DataVersion(1, 0, 0, 0) as DataVersion;\n\nexport interface Coupon {\n id: string;\n type: CouponType\n created: Date;\n activationcode: string;\n buyer: User;\n beneficiary: User;\n activated: Date;\n activatedby: User;\n startdate: Date;\n enddate: Date;\n value: number;\n}\n\nexport class Coupon implements Coupon {\n constructor(\n id?: string,\n type?: CouponType,\n created?: Date,\n activationcode?: string,\n buyer?: User,\n beneficiary?: User,\n activated?: Date,\n activatedby?: User,\n startdate?: Date,\n enddate?: Date,\n value?: number\n ) {\n this.id = id!;\n this.type = type!;\n this.created = created!;\n this.activationcode = activationcode!;\n this.buyer = buyer!;\n this.beneficiary = beneficiary!;\n this.activated = activated!;\n this.activatedby = activatedby!;\n this.startdate = startdate!;\n this.enddate = enddate!;\n this.value = value!;\n }\n}\n\nexport interface CouponObject {\n data: Coupon[];\n}\n\nexport class CouponObject extends DataObject implements CouponObject {\n constructor(data: Coupon[]) {\n super('', DataType.COUPON, version);\n this.data = data;\n }\n}","import { DataType, Status } from \"../../../enums\";\nimport { Cart } from \"../../common/cart-object\";\nimport { Client } from \"../../common/client-object\";\nimport { Company } from \"../../common/company-object\";\nimport { User } from \"../../common/user-object\";\nimport { DataObject } from \"../../data-object\";\nimport { DataVersion } from \"../../data-version\";\n\nconst version = new DataVersion(1, 0, 0, 0) as DataVersion;\n\nexport interface BonData {\n id: string;\n terminalid: string;\n additionaltext: string;\n errormessage: string;\n amount: number;\n cardtechnology: string;\n cardname: string;\n cardnumber: string;\n cardsequencenumber: number;\n cardholderauthentication: string;\n printoutneeded: boolean;\n tracenumber: number;\n tracenumberlongformat: number;\n vunumber: string;\n aidauthorisationattribute: string;\n receiptnumber: number;\n currencycode: number;\n dateday: number;\n datemonth: number;\n time: string;\n}\n\nexport class BonData implements BonData {\n constructor(\n id?: string,\n terminalid?: string,\n additionaltext?: string,\n errormessage?: string,\n amount?: number,\n cardtechnology?: string,\n cardname?: string,\n cardnumber?: string,\n cardsequencenumber?: number,\n cardholderauthentication?: string,\n printoutneeded?: boolean,\n tracenumber?: number,\n tracenumberlongformat?: number,\n vunumber?: string,\n aidauthorisationattribute?: string,\n receiptnumber?: number,\n currencycode?: number,\n dateday?: number,\n datemonth?: number,\n time?: string\n ) {\n this.id = id!;\n this.terminalid = terminalid!;\n this.additionaltext = additionaltext!;\n this.errormessage = errormessage!;\n this.amount = amount!;\n this.cardtechnology = cardtechnology!;\n this.cardname = cardname!;\n this.cardnumber = cardnumber!;\n this.cardsequencenumber = cardsequencenumber!;\n this.cardholderauthentication = cardholderauthentication!;\n this.printoutneeded = printoutneeded!;\n this.tracenumber = tracenumber!;\n this.tracenumberlongformat = tracenumberlongformat!;\n this.vunumber = vunumber!;\n this.aidauthorisationattribute = aidauthorisationattribute!;\n this.receiptnumber = receiptnumber!;\n this.currencycode = currencycode!;\n this.dateday = dateday!;\n this.datemonth = datemonth!;\n this.time = time!;\n }\n}\n\nexport interface Bon {\n id: string;\n created: Date;\n user: User;\n cart: Cart;\n pdfdata: Blob;\n bondata: BonData;\n data: string;\n status: Status;\n}\n\nexport class Bon implements Bon {\n constructor(\n id?: string,\n created?: Date,\n user?: User,\n cart?: Cart,\n pdfdata?: Blob,\n bondata?: BonData,\n data?: string,\n status?: Status\n ) {\n this.id = id!;\n this.created = created!;\n this.user = user!;\n this.cart = cart!;\n this.pdfdata = pdfdata!;\n this.bondata = bondata!;\n this.data = data!;\n this.status = status!;\n }\n}\n\nexport interface EndOfDayBon {\n id: string;\n created: Date;\n company: Company;\n client: Client;\n pdfdata: Blob;\n data: string;\n status: Status;\n}\n\nexport class EndOfDayBon implements EndOfDayBon {\n constructor(\n id?: string,\n created?: Date,\n company?: Company,\n client?: Client,\n pdfdata?: Blob,\n data?: string,\n status?: Status\n ) {\n this.id = id!;\n this.created = created!;\n this.company = company!;\n this.client = client!;\n this.pdfdata = pdfdata!;\n this.data = data!;\n this.status = status!;\n }\n}\n\nexport interface BonObject {\n data: Bon[];\n}\n\nexport class BonObject extends DataObject implements BonObject {\n constructor(data: Bon[]) {\n super('', DataType.BON, version);\n this.data = data;\n }\n}\n\nexport interface EndOfDayBonObject {\n data: EndOfDayBon[];\n}\n\nexport class EndOfDayBonObject extends DataObject implements EndOfDayBonObject {\n constructor(data: EndOfDayBon[]) {\n super('', DataType.ENDOFDAYBON, version);\n this.data = data;\n }\n}\n","import { DataType } from \"../../../enums\";\nimport { Company } from \"../../common/company-object\";\nimport { Building } from \"../../common/location-object\";\nimport { VAT } from \"../../common/taxes\";\nimport { User } from \"../../common/user-object\";\nimport { DataObject } from \"../../data-object\";\nimport { DataVersion } from \"../../data-version\";\nimport { Bon } from \"./bon-object\";\nimport { Item } from \"./item-object\";\nimport { SellingPrice } from \"./price-object\";\n\nconst version: DataVersion = new DataVersion(1, 0, 0, 0) as DataVersion;\n\nexport interface ItemJournalEntry {\n item?: Item;\n price?: SellingPrice;\n quantity?: number;\n total?: number;\n tax?: VAT;\n}\nexport class ItemJournalEntry implements ItemJournalEntry {\n constructor(\n item?: Item,\n price?: SellingPrice,\n quantity?: number,\n total?: number,\n tax?: VAT\n ) {\n this.item = item!;\n this.price = price!;\n this.quantity = quantity!;\n this.total = total!;\n this.tax = tax!;\n }\n}\n\nexport interface JournalEntry {\n timestamp?: Date;\n user?: User;\n itementry?: ItemJournalEntry[];\n company?: Company;\n building?: Building;\n bon?: Bon;\n}\nexport class JournalEntry implements JournalEntry {\n constructor(\n timestamp?: Date,\n user?: User,\n itementry?: ItemJournalEntry[],\n company?: Company,\n building?: Building,\n bon?: Bon\n ) {\n this.timestamp = timestamp!;\n this.user = user!;\n this.itementry = itementry!;\n this.company = company!;\n this.building = building!;\n this.bon = bon!;\n }\n}\n\nexport interface JournalObject {\n data: JournalEntry[];\n}\nexport class JournalObject extends DataObject implements JournalObject {\n constructor(data: JournalEntry[]) {\n super('', DataType.JOURNAL, version);\n this.data = data;\n }\n}\n","import { DataType, ModuleType } from '../../enums';\nimport { Client } from '../common/client-object';\nimport { DataObject } from '../data-object';\nimport { DataVersion } from '../data-version';\n\nconst version = new DataVersion(1, 0, 0, 0) as DataVersion;\n\nexport interface ShelfLabel {\n id: string;\n macaddress: string;\n barcode: string;\n secret: string;\n model: string;\n softversion: string;\n size: number;\n width: number;\n height: number;\n color: string;\n lowtemperature: string;\n nfc: string;\n invert: boolean;\n uid: string;\n associated: boolean;\n clients?: Client[];\n}\n\nexport class ShelfLabel implements ShelfLabel {\n constructor() {\n }\n}\n\nexport interface ESLObject {\n data: ShelfLabel[];\n}\n\nexport class ESLObject extends DataObject implements ESLObject {\n constructor(data: ShelfLabel[]) {\n super('', DataType.SHELFLABEL, version);\n this.data = data;\n }\n}","import { DataType } from \"../../enums\";\nimport { DataObject } from \"../data-object\";\nimport { DataVersion } from \"../data-version\";\n\nconst version = new DataVersion(1, 0, 0, 0) as DataVersion;\n\nexport interface ESLPool {\n id: string;\n macaddress: string;\n barcode: string;\n secret: string;\n model: string;\n softversion: string;\n size: number;\n width: number;\n height: number;\n color: string;\n lowtemperature: string;\n nfc: string;\n invert: boolean;\n associated: boolean;\n uid: string;\n}\n\nexport class ESLPool implements ESLPool {\n constructor() {\n }\n}\n\nexport interface ESLPoolObject {\n data: ESLPool[];\n}\n\nexport class ESLPoolObject extends DataObject implements ESLPoolObject {\n constructor(data: ESLPool[]) {\n super('', DataType.ESLPOOL, version);\n this.data = data;\n }\n} \n","import { DataType } from \"../../enums\";\nimport { DataObject } from \"../data-object\";\nimport { DataVersion } from \"../data-version\";\nimport { Item } from \"../erp/items/item-object\";\nimport { Space } from \"../erp/items/shelf-object\";\nimport { ShelfLabel } from \"./esl-object\";\n\nconst version = new DataVersion(1, 0, 0, 0) as DataVersion;\n\nexport interface ESLAssociation {\n id: string;\n label: ShelfLabel;\n item: Item;\n space: Space;\n}\n\nexport class ESLAssociation implements ESLAssociation {\n constructor(id?: string, label?: ShelfLabel, item?: Item, space?: Space) {\n this.id = id!;\n this.label = label!;\n this.item = item!;\n this.space = space!;\n }\n}\n\nexport interface ESLAssociationObject {\n data: ESLAssociation[];\n}\n\nexport class ESLAssociationObject extends DataObject implements ESLAssociationObject {\n constructor(data: ESLAssociation[]) {\n super('', DataType.ESLASSOCIATION, version);\n this.data = data;\n }\n}\n","import { DataType } from \"../../enums\";\nimport { DataObject } from \"../data-object\";\nimport { DataVersion } from \"../data-version\";\n\nconst version = new DataVersion(1, 0, 0, 0) as DataVersion;\n\nexport interface EslTemplate {\n id: string;\n name: string;\n mimetype: string;\n standard: boolean;\n width: number;\n height: number;\n data: string;\n}\n\nexport class EslTemplate implements EslTemplate {\n constructor(id?: string, name?: string, mimetype?: string, standard?: boolean, width?: number, height?: number, data?: string) {\n this.id = id!;\n this.name = name!;\n this.mimetype = mimetype!;\n this.standard = standard!;\n this.width = width!;\n this.height = height!;\n this.data = data!;\n }\n}\n\nexport interface EslTemplateObject {\n data: EslTemplate[];\n}\n\nexport class EslTemplateObject extends DataObject implements EslTemplateObject {\n constructor(data: EslTemplate[]) {\n super('', DataType.ESLTEMPLATE, version);\n this.data = data;\n }\n override getEntryCount(): number {\n return this.data.length;\n }\n}\n","import { DataType } from \"../../enums\";\nimport { AccessPoint } from \"../common/accesspoint-object\";\nimport { DataObject } from \"../data-object\";\nimport { ShelfLabel } from \"./esl-object\";\nimport { EslTemplate } from \"./esl-template-object\";\nimport { DataVersion } from '../data-version';\nimport { ItemDetail } from \"../erp/items/itemdetail-object\";\n\nconst version = new DataVersion(1, 0, 0, 0) as DataVersion;\n\nexport interface EslUpdate {\n shelflabel: ShelfLabel;\n template: EslTemplate;\n itemdetail: ItemDetail;\n accessPoint: AccessPoint[];\n}\n\nexport class EslUpdate implements EslUpdate {\n constructor(shelflabel?: ShelfLabel, template?: EslTemplate, accessPoint?: AccessPoint[]) {\n this.shelflabel = shelflabel!;\n this.template = template!;\n this.accessPoint = accessPoint!;\n }\n}\n\nexport interface EslUpdateObject {\n data: EslUpdate[];\n}\n\nexport class EslUpdateObject extends DataObject implements EslUpdateObject {\n constructor(data: EslUpdate[]) {\n super('', DataType.ESLUPDATE, version);\n this.data = data;\n }\n override getEntryCount(): number {\n return this.data.length;\n }\n}","import { DataType } from \"../../enums\";\nimport { DataObject } from \"../data-object\";\nimport { DataVersion } from \"../data-version\";\n\nconst version = new DataVersion(1, 0, 0, 0) as DataVersion;\n\nexport interface Label {\n id: string;\n name: string;\n description: string;\n created: string;\n creator: string;\n changed: string;\n changedby: string;\n active: boolean;\n data: string;\n}\n\nexport class Label implements Label {\n constructor() {\n }\n}\n\nexport interface LabelObject {\n data: Label[];\n}\n\nexport class LabelObject extends DataObject implements LabelObject {\n constructor(data: Label[]) {\n super('', DataType.LABEL, version);\n this.data = data;\n }\n}","import { DataType } from \"../../enums\";\nimport { DataObject } from \"../data-object\";\nimport { DataVersion } from \"../data-version\";\n\nconst version = new DataVersion(1, 0, 0, 0) as DataVersion;\n\nexport interface Variables {\n [key: string]: any;\n}\n\nexport class Variables implements Variables {\n constructor(key: string, value: any) {\n\n }\n}\n\nexport interface PrintData {\n templateid: string;\n variables: Variables[];\n quantity: number;\n}\n\nexport class PrintData implements PrintData {\n constructor() {\n }\n}\n\nexport interface LabelData {\n printerid: string;\n printername: string;\n data: PrintData[];\n}\n\nexport interface PrintLabelObject {\n data: LabelData[];\n}\n\nexport class PrintLabelObject extends DataObject implements PrintLabelObject {\n constructor(data: LabelData[]) {\n super('', DataType.LABELPRINT, version);\n this.data = data;\n }\n}\n","import { DataType, PrinterLanguage, PrinterManufacturer } from '../../enums';\nimport { DataObject } from \"../data-object\";\nimport { DataVersion } from '../data-version';\n\nconst version = new DataVersion(1, 0, 0, 0) as DataVersion;\n\nexport interface PrinterProperties {\n id: string;\n printerid: string;\n created: string;\n creator: string;\n propertyname: string;\n intvalue: number;\n stringvalue: string;\n boolvalue: boolean;\n doublevalue: number;\n}\n\nexport class PrinterProperties implements PrinterProperties {\n constructor() {\n }\n}\n\nexport interface Printer {\n id: string;\n title: string;\n description: string;\n fqdn: string;\n ipaddress: string;\n vendorname: string;\n model: string;\n language: PrinterLanguage;\n vendor: PrinterManufacturer;\n serial: string;\n lanaddress: string;\n wifiaddress: string;\n btaddress: string;\n properties: PrinterProperties[];\n containerid: string;\n}\n\nexport class Printer implements Printer {\n constructor() {\n }\n}\n\nexport interface PrinterObject {\n data: Printer[];\n}\n\nexport class PrinterObject extends DataObject implements PrinterObject {\n constructor(data: Printer[]) {\n super('', DataType.PRINTER, version);\n this.data = data;\n }\n}\n","import { DataType } from \"../../enums\";\nimport { DataObject } from \"../data-object\";\nimport { DataVersion } from \"../data-version\";\n\nconst version = new DataVersion(1, 0, 0, 0) as DataVersion;\n\nexport interface Queue {\n id: string;\n printerid: string;\n labelid: string;\n template: string;\n data: string;\n json: string;\n when: string;\n}\n\nexport class Queue implements Queue {\n constructor() {\n }\n}\n\nexport interface QueueObject {\n data: Queue[];\n}\n\nexport class QueueObject extends DataObject implements QueueObject {\n constructor(data: Queue[]) {\n super('', DataType.QUEUE, version);\n this.data = data;\n }\n}\n","import { DataType } from \"../../enums\";\nimport { DataObject } from \"../data-object\";\nimport { DataVersion } from \"../data-version\";\n\nconst version = new DataVersion(1, 0, 0, 0) as DataVersion;\n\nexport interface StatisticData {\n id: string;\n name: string;\n value: number;\n}\n\nexport class StatisticData implements StatisticData {\n constructor(id?: string, name?: string, value?: number) {\n this.id = id!;\n this.name = name!;\n this.value = value!;\n }\n}\n\nexport interface StatisticObject {\n data: StatisticData[];\n}\n\nexport class StatisticObject extends DataObject implements StatisticObject {\n \n constructor(data: StatisticData[]) {\n super('', DataType.STATISTIC, version);\n this.data = data;\n }\n override getEntryCount(): number {\n return this.data.length;\n }\n}","/*\n * Public API Surface of captureid-datatypes\n */\n\nimport e from 'express';\nimport exp from 'node:constants';\n\nexport * from './lib/captureid-datatypes.service';\n// export * from './lib/captureid-datatypes.component';\n\nexport * from './lib/enums';\nexport * from './lib/logging';\n\nexport * from './lib/model/data-dto';\nexport * from './lib/model/data-object';\nexport * from './lib/model/data-version';\nexport * from './lib/model/filter';\n\nexport * from './lib/model/ai/ai-object';\n\nexport * from './lib/model/auth/auth-request';\nexport * from './lib/model/auth/auth-response';\nexport * from './lib/model/auth/register-request';\nexport * from './lib/model/auth/verify-request';\nexport * from './lib/model/auth/authentication-object';\n\nexport * from './lib/model/common/user-object';\nexport * from './lib/model/common/navigation-object';\nexport * from './lib/model/common/context';\nexport * from './lib/model/common/manufacturer-object';\nexport * from './lib/model/common/license-object';\nexport * from './lib/model/common/address-object';\nexport * from './lib/model/common/client-object';\nexport * from './lib/model/common/currency-object';\nexport * from './lib/model/common/country-object';\nexport * from './lib/model/common/image-object';\nexport * from './lib/model/common/taxes';\nexport * from './lib/model/common/module-object';\nexport * from './lib/model/common/location-object';\nexport * from './lib/model/common/company-object';\nexport * from './lib/model/common/vendor-object';\nexport * from './lib/model/common/accesspoint-object';\nexport * from './lib/model/common/message-object';\nexport * from './lib/model/common/cart-object';\nexport * from './lib/model/common/role-object';\nexport * from './lib/model/common/supplier-object';\nexport * from './lib/model/common/faq-object';\nexport * from './lib/model/common/farmingmethod-object';\nexport * from './lib/model/common/chat-object';\nexport * from './lib/model/common/ticket-object';\n\nexport * from './lib/model/configuration/menu-object';\n\nexport * from './lib/model/erp/items/dimension-object';\nexport * from './lib/model/erp/items/gtin';\nexport * from './lib/model/erp/items/inventory-object';\nexport * from './lib/model/erp/items/item-object';\nexport * from './lib/model/erp/items/item-properties-object';\nexport * from './lib/model/erp/items/itemdetail-object';\nexport * from './lib/model/erp/items/packaging-object';\nexport * from './lib/model/erp/items/rating-object';\nexport * from './lib/model/erp/items/shelf-object';\nexport * from './lib/model/erp/items/stock-object';\nexport * from './lib/model/erp/items/booking-object';\nexport * from './lib/model/erp/items/price-object';\nexport * from './lib/model/erp/items/item-short-list-object';\nexport * from './lib/model/erp/items/coupon-object';\nexport * from './lib/model/erp/items/bon-object';\nexport * from './lib/model/erp/items/journal-object';\n\nexport * from './lib/model/esl/esl-object';\nexport * from './lib/model/esl/esl-pool-object';\nexport * from './lib/model/esl/esl-association-object';\nexport * from './lib/model/esl/esl-template-object';\nexport * from './lib/model/esl/esl-update-object';\n\nexport * from './lib/model/payment/terminal-object';\n\nexport * from './lib/model/print/label-object';\nexport * from './lib/model/print/print-label-object';\nexport * from './lib/model/print/printer-object';\nexport * from './lib/model/print/queue-object';\n\nexport * from './lib/model/rfid/reader-object';\n\nexport * from './lib/model/statistic/statistic-object';\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":["version"],"mappings":"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"}
package/lib/enums.d.ts CHANGED
@@ -301,3 +301,16 @@ export declare namespace TicketSenderType {
301
301
  function valueOf(str: string): number;
302
302
  function values(): any[];
303
303
  }
304
+ export declare enum CouponType {
305
+ UNKNOWN = 0,
306
+ COUPON = 1,
307
+ VOUCHER = 2,
308
+ GIFT = 3,
309
+ GIFT_CARD = 4,
310
+ GIFT_VOUCHER = 5,
311
+ DISCOUNT = 6
312
+ }
313
+ export declare namespace CouponType {
314
+ function valueOf(str: string): number;
315
+ function values(): any[];
316
+ }
@@ -1,7 +1,9 @@
1
+ import { CouponType } from "../../../enums";
1
2
  import { User } from "../../common/user-object";
2
3
  import { DataObject } from "../../data-object";
3
4
  export interface Coupon {
4
5
  id: string;
6
+ type: CouponType;
5
7
  created: Date;
6
8
  activationcode: string;
7
9
  buyer: User;
@@ -13,7 +15,7 @@ export interface Coupon {
13
15
  value: number;
14
16
  }
15
17
  export declare class Coupon implements Coupon {
16
- constructor(id?: string, created?: Date, activationcode?: string, buyer?: User, beneficiary?: User, activated?: Date, activatedby?: User, startdate?: Date, enddate?: Date, value?: number);
18
+ constructor(id?: string, type?: CouponType, created?: Date, activationcode?: string, buyer?: User, beneficiary?: User, activated?: Date, activatedby?: User, startdate?: Date, enddate?: Date, value?: number);
17
19
  }
18
20
  export interface CouponObject {
19
21
  data: Coupon[];
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@captureid/datatypes",
3
- "version": "1.0.4",
3
+ "version": "1.0.5",
4
4
  "peerDependencies": {
5
5
  "@angular/common": ">=17.0.0",
6
6
  "@angular/core": ">=17.0.0"