{"_id":"@aems/apilib","_rev":"4-b5a1c6f487b4fc401b1ea9df76188f91","name":"@aems/apilib","dist-tags":{"latest":"0.0.4"},"versions":{"0.0.1":{"name":"@aems/apilib","version":"0.0.1","description":"API-LIB for JavaScript","main":"dist/index.js","scripts":{"test":"echo \"Error: no test specified\" && exit 1"},"author":{"name":"niklas-graf","email":"grafniklas98@gmail.com"},"license":"ISC","_id":"@aems/apilib@0.0.1","_npmVersion":"5.5.1","_nodeVersion":"8.9.3","_npmUser":{"name":"niklas-graf","email":"grafniklas98@gmail.com"},"dist":{"integrity":"sha512-AehuPU3LE38UqQKHYJ38sEFF84BPdtyQpy/NH24++uE2OVYEyMDj0Yzxi6x/VSNnHJlFkgP5E8mg5E+l7Slp2w==","shasum":"6f896941a80bb39b6fc35d2cc61d08c547cadfeb","tarball":"https://registry.npmjs.org/@aems/apilib/-/apilib-0.0.1.tgz","fileCount":3,"unpackedSize":536,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJcTHdYCRA9TVsSAnZWagAAbcAP/3R2EXtgV4kOTJhkK9gL\n/N4lA43jiN87hnbDxSryM6kLVQYZHVl1CFqAFbFe+ICMEh4YQbefe3Lxc9vV\nOGrcdaKmA+ukCeyRJREzQlIsPvv68xEQwlrvke5CeIhG8HWlObd8hoIMTmcU\nb188gLEzZiqc2kNHy6+pFeeiekt74G1qfw7h+I6MnRxb4Z0fRuemjmvAq7ek\n+NGR2TMRAUy1gKIazmGJI5Gyr3t3ckpEW7hunoN6eJ4Cc/H9R7R1Oz2umbKe\ngiDFxagxjdjfOCUeSbhTKFY8x9cZQU29VUnRaT59SG0OYx5nM0yLi3uiykSq\nJWKINeAFMe1btGT0p03EvymVIBiazffbKF0nMxT0sSx/dtF8Y/lRaKsVOlhp\nNmhoKBlUDIf63TjZ8JYGYm2OWXYLDwZaHMgJPxa6yJYKb1vih+Ule4MJLs5Y\nx+k1BdFOQy84dmnu+rIS1xIsMSR7pvif0uQVz7aaKres/NzsNZrkTq8BW+Hg\nQd994Q515bL0d76cU5x7B5mtztxIsFR0oSVQqN8cUiO0i9cYyAIMR9pTl6G1\nJkuEcytYHBf0JRMnxAgi8yiApn3DNA3pJDIaQZ4yDXfd7vO3G7gISTvOiXFW\nudwgZfc1SWPwjFIBR2B4sf2djBRh82WP1Fg8WFmYRJ4VJl7uYVKpyQ9TGMsd\n3kHE\r\n=dntc\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIBG5A9ryQNhOx5lejVfFSYYbV5CbZ6RT5ziHJc1b/xIGAiAEuZyO3bx5kZ664HuEQwen9r1yEB7EmbAZ6p86He1erA=="}]},"maintainers":[{"name":"niklas-graf","email":"grafniklas98@gmail.com"}],"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/apilib_0.0.1_1548515160366_0.15427833580434402"},"_hasShrinkwrap":false},"0.0.2":{"name":"@aems/apilib","version":"0.0.2","description":"API-LIB for JavaScript","main":"dist/index.js","types":"dist/index.d.ts","scripts":{"lint":"tslint src/**/*.ts","build":"tsc && SET debug=* && node dist/index.js","test":"mocha -r ts-node/register tests/**/*.test.ts"},"author":{"name":"niklas-graf","email":"grafniklas98@gmail.com"},"license":"ISC","dependencies":{"axios":"^0.18.0","json2typescript":"^1.0.6"},"devDependencies":{"@types/chai":"^4.1.7","@types/mocha":"^5.2.6","chai":"^4.2.0","mocha":"^6.0.2","ts-node":"^8.0.3","typescript":"^3.3.3333"},"gitHead":"a4f0c4cfe112085607a6b5429e843700dbec55c3","_id":"@aems/apilib@0.0.2","_npmVersion":"6.4.1","_nodeVersion":"10.15.2","_npmUser":{"name":"niklas-graf","email":"grafniklas98@gmail.com"},"dist":{"integrity":"sha512-RREeq6lQxaxn1Q68fGP3h0W3g9M9GhDfuUFGevCnLnjb00LnrzP3l2LL79ivntgsupr3CR6tgY+6m1Xm+uWuPQ==","shasum":"e61935784d66b8774dbffd0f94b1cc939e2f99e4","tarball":"https://registry.npmjs.org/@aems/apilib/-/apilib-0.0.2.tgz","fileCount":30,"unpackedSize":21132,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJchFFCCRA9TVsSAnZWagAAZVEQAJh9YVzlg2SvkjxljShC\nB8032eAcndKCDNhkOkyGERsvk6686RsGDQdwpuxQVdpQZohn0ARCYvV+qd7c\nYMzZMvLeTyhTQkdX5MqSgGUSzhw7Lp2z1ssSeZ5JCo+rM/uqk4J9VG7NL9dD\ngYeHbDmrqNKbtpvDbcMX2yDdXp5ZICRxGk1i/29jmDvCCqk9hOn+hIGVu/Jn\nDYZpysjiw1ON/Z1CKB7DnMTf+OTnZRZCxnrGZP0zaHuZwdis0bwIwpLVtaW7\nLS3qfa9c0lyo9bx0AkOEVj9lpB+Te914L+3bBKutKm5DN/t2FM76fHXdKI19\ncBfAZKYOvQR+7LSV+lck/TRCpc2MNZmv/RMZ37+vyarJa89rGHW7VqMhuKtP\n7XnbseqDamXe7V/C2Sh/9jri4HYJPGrrNBmiHmAQnUAZByJ98uhPr+pxLOCE\nmS0vyWgqEnfDvF2cZsgDrn9ZAD2nIaF20UHl2uOLu2nAu15fyx6XrkBt4fb+\nO545xK1wsgGnjmEsx+EOXTW50M91k+G48sXPc4LDjwNe74MXGi/44D8V1iVk\nh7m9A3LgTR2bUPKiP83c7u53zXogH7dOuiIIA0DB9gBw94kj7iA8lmDXgQbj\nypoY2g2dw6ntWmV5rNiexcX5m7wnL8nLOVemHCa8OLaZdcln340ijLDCnEFm\n9j4W\r\n=4vUW\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIHAuMvw2z1ibBBsswd9nVJ7qaksbqwmuKkiX8W8Ud+3wAiBsrRe4JHZ8lUW+0aeOQaavGkKhM/BMP8afliQjIJK3VQ=="}]},"maintainers":[{"name":"niklas-graf","email":"grafniklas98@gmail.com"}],"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/apilib_0.0.2_1552175425646_0.14668677842722855"},"_hasShrinkwrap":false},"0.0.3":{"name":"@aems/apilib","version":"0.0.3","description":"API-LIB for JavaScript","main":"dist/index.js","types":"dist/index.d.ts","scripts":{"lint":"tslint src/**/*.ts","build":"tsc && SET debug=* && node dist/index.js","test":"mocha -r ts-node/register tests/**/*.test.ts"},"author":{"name":"niklas-graf","email":"grafniklas98@gmail.com"},"license":"ISC","dependencies":{"axios":"^0.18.0","json2typescript":"^1.0.6"},"devDependencies":{"@types/chai":"^4.1.7","@types/mocha":"^5.2.6","chai":"^4.2.0","mocha":"^6.0.2","ts-node":"^8.0.3","typescript":"^3.3.3333"},"gitHead":"f88e37448da4d73f2e84519585d9f98348e2f51d","_id":"@aems/apilib@0.0.3","_npmVersion":"6.4.1","_nodeVersion":"10.15.2","_npmUser":{"name":"niklas-graf","email":"grafniklas98@gmail.com"},"dist":{"integrity":"sha512-bx6XNPZGrF9BFcvSrixqhX4465lBEVE7h3FO2MOAxQwbvVHU+sG8J9qMCIGonBwjsz7jShSu4Hg571nGJVWUuA==","shasum":"f1dd07146998d904651326096429d33c4a0cb391","tarball":"https://registry.npmjs.org/@aems/apilib/-/apilib-0.0.3.tgz","fileCount":28,"unpackedSize":18161,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJcqiQECRA9TVsSAnZWagAA+2kP/0P7Tnsk57vnOu1AR6Pd\nZocRI7in1gYjU7NzrW8vOmNxSKCAB3aU8mOKEEcvcc0n1UZJptdpf4pyqmlv\nBt8XSdJFzkSkAWOycuEhHXSXEAEsp4iR0IgQPcG4JxvBF2o0brZWJCF5Fw3e\nCfr8j8h9hXom/a92LRO6EPqr2qov3H+ON7DWJ45FC6JJsozLJ0xVqd1axS4Z\nLPCcmmoQm7q/tyaTHxkftKg6VARIcSS3AeO/nyUNYMsdc0E4Iz1xTObsHk0P\nEtFp+j9x3dN9aQ1FrsdrpDWugqOYLfhVzV0FhVggjujzzG+J7INrt25qVBOx\n0PSPhRF9GyURcDhEjYGfohtKPOtkMznQ0/ciPbfDLNlZzuTuLQ0qd7Kx2gsQ\nGEbSoNHzRNSv5zNZYAkntpT+oVSx/zQLetKHtLYpoFt0pTSYh7bR56NkJUg+\nS9VzyIGdfaFpMfL4lCyMOT+/y/ghRVYb/0/X1f3tjc0xuYdJkH3lesXIaxMY\n15qcGTTPRsLn/Jc1qbgwm5Xv/3ybQLiCkTNZrSdS6zA9x/rlW1nLY1VuJhp+\nXgT9E6ccZe9r14X7lEr9/fycSgPNMfB6kmTi9E9h/zC2xylXqxoJUPeYOtC0\nAnBqoshVNJtgfyDgFbspoCBVzWmQTdPpUE+VTJdr8YxbuKoKvfmHzMXgzveV\nVch0\r\n=fh5b\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQDmMdBF/H3MY978yG7n32IviV5Pe/V1fFEgwXN9HDgiCQIgJf10Dc6/D19yqB5Ell61nvjjUYhLhD1mywUSuWz6pvc="}]},"maintainers":[{"name":"niklas-graf","email":"grafniklas98@gmail.com"}],"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/apilib_0.0.3_1554654211250_0.4221760197375217"},"_hasShrinkwrap":false},"0.0.4":{"name":"@aems/apilib","version":"0.0.4","description":"API-LIB for JavaScript","main":"dist/index.js","types":"dist/index.d.ts","scripts":{"lint":"tslint src/**/*.ts","build":"tsc && SET debug=* && node dist/index.js","test":"mocha -r ts-node/register tests/**/*.test.ts"},"author":{"name":"niklas-graf","email":"grafniklas98@gmail.com"},"license":"ISC","dependencies":{"axios":"^0.18.0","json2typescript":"^1.0.6"},"devDependencies":{"@types/chai":"^4.1.7","@types/mocha":"^5.2.6","chai":"^4.2.0","mocha":"^6.0.2","ts-node":"^8.0.3","typescript":"^3.3.3333"},"gitHead":"ebbbbf6c83cd81c4d0e599ddfafe84488f4e6145","_id":"@aems/apilib@0.0.4","_npmVersion":"6.4.1","_nodeVersion":"10.15.2","_npmUser":{"name":"niklas-graf","email":"grafniklas98@gmail.com"},"dist":{"integrity":"sha512-GogC3Z3uyUDhZhPHEsDRRaoMpC6CSCbk3KUMrDLdg0ft6fZEasmOPHp69PHQ+3MgAVWHL03KT6iIEk0LYeQmTA==","shasum":"3be2fc0e69376d1d3fb21b385f4db49e0c4ca586","tarball":"https://registry.npmjs.org/@aems/apilib/-/apilib-0.0.4.tgz","fileCount":28,"unpackedSize":20860,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJcrkKOCRA9TVsSAnZWagAAgncP/0XqcTvmkqXgbHTOrcn/\ncnSTzbdsqzSPtT4XXqs0K4ZhDwSuGa388ayn8Oz+YOR++4whw4TDfvglDMn7\nuj2IXmi04kdytdnWkuzrYUMM81NjzW7MEL31Z3TAO7GFoZQjhaiZYHwvOxy4\nDN1dHPQBYr3u77QSuxx9Vbh6qgeKCWudhDql6TCFf+XRhUogJB1Wx+Xl26t6\nN0x/XbW0YTGJtJ81TSbHdCN4TV0uN5NvOqbBm8WWwFmPAMW0C7QoM28WL7qD\ncvXTfbfkt/2Scb7nqw7HKbVWCeIBsvMj6DYVfrvagsAtC123I5HyMowCXQEz\nXjiKR9zkAHCMkEiiUhVpfKQtKSB7PH+pRg3JTAybPIaA67x2tTLJo8Lvv/am\n76wLUsXo7+RjEd+RYPXXzYzDcyhIppI9NHyY70NAqvFVX4VZVGUN1+ahRM5Q\n50R0ajnIIQjwkLnUTuhdqgvonHc3SMvEren1SLZsUg3dysm1JC1COaG3n23L\nowWxrX2rNvrdzTWjl+0E1czFIx1nTSYKQpzamjPl2yd2mi0gwccmi7UfvrhI\nKUYR5eD8YETywPqc2AjuUd4iZ3ltfBgmry8H4wzs1hAgKDpNfUNg2WmeO2q/\nYgJ0+vVWpkx507/3/a2w0VPN0gjtMFVbXUJdX2G+BafEH01lrFqgnQLGAOqj\n7RzH\r\n=CNIi\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCID6Xe9e/vAcnfC4gnoDK8sbD/gYtb6hJ/UZ0CRzPHAR8AiEAomqHAO0Z/zU1TkctY79TNvQ1oYE+Q5t6wK5nq3KMDWs="}]},"maintainers":[{"name":"niklas-graf","email":"grafniklas98@gmail.com"}],"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/apilib_0.0.4_1554924173898_0.9058299146574682"},"_hasShrinkwrap":false}},"time":{"created":"2019-01-26T15:06:00.196Z","0.0.1":"2019-01-26T15:06:00.474Z","modified":"2022-04-04T11:47:43.002Z","0.0.2":"2019-03-09T23:50:25.833Z","0.0.3":"2019-04-07T16:23:31.390Z","0.0.4":"2019-04-10T19:22:53.999Z"},"maintainers":[{"name":"niklas-graf","email":"grafniklas98@gmail.com"}],"description":"API-LIB for JavaScript","author":{"name":"niklas-graf","email":"grafniklas98@gmail.com"},"license":"ISC","readme":"# apilib (v0.0.4)\r\nThis class library is meant to be used for communication with the AEMS-Main-API _(TODO: Insert link once repository has been created)_ within JavaScript/TypeScript.\r\n\r\n\r\n## :exclamation: Version notice\r\nAs indicated by the [version number](https://semver.org/), the API should not be considered stable yet. \r\n\r\n\r\n## Installation\r\n```\r\nnpm install @aems/apilib --save\r\n\r\n// Optional dependency to map JSON data to actual TypeScript objects\r\nnpm install @aems/core-classlib --save \r\n```\r\n\r\n## Usage\r\nYou can use the `ApiService` class to perform authentication and requests to the API. You will probably want to make it some sort of singleton in your project. \r\n```javascript\r\nconst apiService = new ApiService('http://localhost:8085'); // Replace with real API url\r\n```\r\nBefore you can query stuff or insert stuff you will need to authenticate.\r\n```javascript\r\n// Preferred:\r\napiService.authenticate(\"username\", \"password\")\r\n    .then(token => {\r\n        console.log(`Login OK, token: ${token}`);\r\n        // do whatever you wanna do after login was successful\r\n    })\r\n    .catch((error: AxiosError) => console.log(`Login has failed!`, error.message));\r\n\r\n// OR: Set the API token manually if you obtained it somehow\r\n// Note that this token will not be checked for correctness or validity.\r\napiService.setApiToken(\"tokenEJP07s4R...\");\r\n```\r\n\r\nThen you can use the `QueryRequestBuilder` and the `DmlRequestBuilder` in order to configure your requests. \r\n```javascript\r\nconst aemsQuery = `\r\nusers {\r\n    id ? between $MIN and $MAX\r\n}\r\n`;\r\nconst queryBuilder = new QueryRequestBuilder(aemsQuery);\r\nqueryBuilder.addPlaceholder(\"MIN\", 0);  // Placeholders in query are signified by a leading '$'\r\nqueryBuilder.addPlaceholder(\"MAX\", 10);\r\n```\r\n```javascript\r\nconst dmlBuilder = new DmlRequestBuilder()\r\n    .insert(\"appliance\", {\r\n        appliance_id: \"38569\",\r\n        name: \"AT000000039482\",\r\n        user: 21\r\n    })\r\n    .update(\"appliance\", \"38569\", {     // Second argument is ID of entity you are wishing to update\r\n        name: \"DE0000004858493\"         // Third argument is object with properties you want changed\r\n    })\r\n    .delete(\"appliance\", \"38569\");      \r\n```\r\nAnd then to execute your requests call:\r\n```javascript\r\nconst myBuilder = new QueryRequestBuilder();\r\n// ...\r\napiService.performRequest(myBuilder);\r\n```","readmeFilename":"README.md"}