{"_id":"@bcgsc-pori/graphkb-api","_rev":"6-432b5d6fbaaf1ee9b4897890096b12ea","name":"@bcgsc-pori/graphkb-api","dist-tags":{"latest":"3.17.3"},"versions":{"3.14.3":{"name":"@bcgsc-pori/graphkb-api","version":"3.14.3","license":"GPL-3.0","_id":"@bcgsc-pori/graphkb-api@3.14.3","maintainers":[{"name":"elewis_bcgsc","email":"elewis@bcgsc.ca"},{"name":"creisle","email":"caralynreisle@gmail.com"}],"homepage":"https://github.com/bcgsc/pori_graphkb_api#readme","bugs":{"email":"graphkb@bcgsc.ca"},"dist":{"shasum":"a4f9f0647f84af74591673b52e82f5c7946fa7dc","tarball":"https://registry.npmjs.org/@bcgsc-pori/graphkb-api/-/graphkb-api-3.14.3.tgz","fileCount":93,"integrity":"sha512-ermULwFwNOVxwtwzakup6VzN++iel6MXOjOJ/XNMlIiZsVCLPSvUywNsrrkSzH41Pg4G8KrrsLnicsED+cz6IQ==","signatures":[{"sig":"MEUCIDaLLVCCRZUb+hs5fy9fQeDc11RD3vLkV/To2Db1eC2SAiEAxIQBUUQJ/bjAI9Prk3eVuwQg+7arDa/KQ0HnzaWrI8M=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":581212,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJjRcFyACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmpZ6Q//ZNF93doncIDQWzCyA09rGKnKNDogxgZ4+g21KnuRi+pAxmFr\r\njgWRkY9CO4zs4iijokHvNq7vRcPJoxwr26zgZTvSrCbAmbnTgjc+Jm4ZBste\r\nUQ6Akl3o39MNzYbTXBGmaK+B10uOv1a3j/EL65HlbKYuDn9F69H+MUUH1R5W\r\noZKmCibcEZfcOMPqxlUQolv6ZlDo7qc4+wxY/L+PuJAc0bf7XiJz2DY22Q4R\r\nUhBV3YnPUh15rtLyW7MbtdKUb7J+zJOKf2uHBeUd+S/9PbE6S73lD5aNo7AE\r\nZ4j7HB5Ur5B74iWl8iMHLgXM9iW3oLFHgCENLMDMPFmypd/Y8ikB/t5T767O\r\nV09uG59r0NMYe0kvkzwcEocSBscMx4UJZAyguaSeIcI7XsP2f3oIGe9yDszJ\r\nZnWU49vbtPl7ccy3w0RgkYG0vpkNfPsK0jt8E7aPXXvUaHhpl1R+PRxBN+4e\r\nwBLWwVKKqZqQ19FcAwbktI/SbHc13qslKCOues0jZfOhwUqyDMMyzstLjomP\r\nK9UMjms5j1XoXphtsBAA3SSONQ3KOMEhSsTVkNJ9TJGQlTnUSvsB6KBU2RFt\r\ntwKUoo9X1LbykfTZekHcLMeBtVEJscqYBNxTRE+4InxuTHLTYgn4Nt6M3xHU\r\n/3lUrK3ZLwEjqgc4/FkSDmbDpAULnoIacrA=\r\n=DN5G\r\n-----END PGP SIGNATURE-----\r\n"},"main":"server.js","config":{"commitizen":{"path":"./node_modules/cz-conventional-changelog"}},"gitHead":"a96b93f6fb684a537a63d1126bc945019b6ebb94","private":false,"scripts":{"lint":"eslint -c .eslintrc.json src test","test":"NODE_ENV=test jest --config config/jest/config.js --detectOpenHandles --forceExit","start":"NODE_ENV=development node bin/server.js","commit":"git-cz","version":"echo $npm_package_version","start:dev":"NODE_ENV=development node bin/server.js","test:unit":"NODE_ENV=test jest --config config/jest/unit.config.js","start:prod":"NODE_ENV=production node bin/server.js","start:test":"NODE_ENV=test node bin/server.js","start:local":"NODE_ENV=local node bin/server.js","start:staging":"NODE_ENV=production node bin/server.js","test:integration":"NODE_ENV=test jest --config config/jest/config.js --testRegex test/db_integration/"},"_npmUser":{"name":"elewis_bcgsc","email":"elewis@bcgsc.ca"},"repository":{"url":"git+https://github.com/bcgsc/pori_graphkb_api.git","type":"git"},"_npmVersion":"8.15.0","description":"GraphKB (Knowledge Base) REST API server","directories":{},"_nodeVersion":"16.17.1","dependencies":{"ajv":"^6.10.2","cors":"^2.8.4","uuid":"^3.0.1","split":"^1.0.1","lodash":"^4.17.21","morgan":"^1.10.0","semver":"^5.6.0","xml2js":"^0.4.19","express":"^4.14.0","winston":"^3.0.0","orientjs":"^3.0.11","json-cycle":"^1.2.0","portfinder":"^1.0.20","body-parser":"^1.18.3","compression":"^1.7.4","jsonwebtoken":"^8.2.0","sleep-promise":"^8.0.1","form-urlencoded":"^3.0.0","request-promise":"^4.2.1","http-status-codes":"^1.3.0","swagger-ui-express":"^3.0.10","@bcgsc-pori/graphkb-parser":"^2.0.0","@bcgsc-pori/graphkb-schema":"^4.0.0"},"_hasShrinkwrap":false,"devDependencies":{"qs":"^6.5.2","chai":"^3.5.0","jest":"^26.6.3","eslint":"^8.3.0","chai-http":"^4.3.0","commitizen":"^4.2.4","jest-junit":"^13.0.0","jest-circus":"^27.3.1","js-beautify":"^1.10.0","eslint-plugin-jest":"^22.17.0","eslint-plugin-react":"^7.10.0","eslint-config-airbnb":"^19.0.1","eslint-plugin-import":"^2.13.0","jest-environment-node":"^26.6.2","eslint-plugin-jsx-a11y":"^6.1.1","cz-conventional-changelog":"^3.0.1","eslint-plugin-sort-keys-fix":"^1.1.1","eslint-plugin-jest-formatting":"^1.1.0"},"_npmOperationalInternal":{"tmp":"tmp/graphkb-api_3.14.3_1665515889979_0.8186458094952249","host":"s3://npm-registry-packages"}},"3.15.2":{"name":"@bcgsc-pori/graphkb-api","version":"3.15.2","license":"GPL-3.0","_id":"@bcgsc-pori/graphkb-api@3.15.2","maintainers":[{"name":"creisle","email":"caralynreisle@gmail.com"},{"name":"elewis_bcgsc","email":"elewis@bcgsc.ca"}],"homepage":"https://github.com/bcgsc/pori_graphkb_api#readme","bugs":{"email":"graphkb@bcgsc.ca"},"dist":{"shasum":"69968b757b54dcfee2be748964d13dc2d4c7be7f","tarball":"https://registry.npmjs.org/@bcgsc-pori/graphkb-api/-/graphkb-api-3.15.2.tgz","fileCount":93,"integrity":"sha512-dFdfhCiEBcoG7pILoXHiQCn9HCjEw7DP03Ndo3FmsuNpWEq8oPWOF5z86I4bXpwc0k0IVDUfSqjpvGKiSkA9Hg==","signatures":[{"sig":"MEQCIFEZVW2Gq7w6LQBK0ffFPf2/U4OEhWnLzedPB26nyAHzAiBQtXkBnjDTv+KdbykxUP7X/jenbMYRg80x0H8nV0EXxQ==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":581933},"main":"server.js","config":{"commitizen":{"path":"./node_modules/cz-conventional-changelog"}},"gitHead":"e485dc2662e6e9b8575ebca4eaeb473f126aabae","private":false,"scripts":{"lint":"eslint -c .eslintrc.json src test","test":"NODE_ENV=test jest --config config/jest/config.js --detectOpenHandles --forceExit","start":"NODE_ENV=development node bin/server.js","commit":"git-cz","version":"echo $npm_package_version","start:dev":"NODE_ENV=development node bin/server.js","test:unit":"NODE_ENV=test jest --config config/jest/unit.config.js","start:prod":"NODE_ENV=production node bin/server.js","start:test":"NODE_ENV=test node bin/server.js","start:local":"NODE_ENV=local node bin/server.js","start:staging":"NODE_ENV=production node bin/server.js","test:integration":"NODE_ENV=test jest --config config/jest/config.js --testRegex test/db_integration"},"_npmUser":{"name":"elewis_bcgsc","email":"elewis@bcgsc.ca"},"repository":{"url":"git+https://github.com/bcgsc/pori_graphkb_api.git","type":"git"},"_npmVersion":"8.19.4","description":"GraphKB (Knowledge Base) REST API server","directories":{},"_nodeVersion":"16.20.2","dependencies":{"ajv":"^6.10.2","cors":"^2.8.4","uuid":"^3.0.1","split":"^1.0.1","lodash":"^4.17.21","morgan":"^1.10.0","semver":"^5.6.0","xml2js":"^0.4.19","express":"^4.14.0","winston":"^3.0.0","orientjs":"^3.2.0","json-cycle":"^1.2.0","portfinder":"^1.0.20","body-parser":"^1.18.3","compression":"^1.7.4","jsonwebtoken":"^8.2.0","sleep-promise":"^8.0.1","form-urlencoded":"^3.0.0","request-promise":"^4.2.1","http-status-codes":"^1.3.0","swagger-ui-express":"^3.0.10","@bcgsc-pori/graphkb-parser":"^2.1.0","@bcgsc-pori/graphkb-schema":"^4.0.0"},"_hasShrinkwrap":false,"devDependencies":{"qs":"^6.5.2","chai":"^3.5.0","jest":"^26.6.3","eslint":"^8.3.0","chai-http":"^4.3.0","commitizen":"^4.2.4","jest-junit":"^13.0.0","jest-circus":"^27.3.1","js-beautify":"^1.10.0","eslint-plugin-jest":"^22.17.0","eslint-plugin-react":"^7.10.0","eslint-config-airbnb":"^19.0.1","eslint-plugin-import":"^2.13.0","jest-environment-node":"^26.6.2","eslint-plugin-jsx-a11y":"^6.1.1","cz-conventional-changelog":"^3.0.1","eslint-plugin-sort-keys-fix":"^1.1.1","eslint-plugin-jest-formatting":"^1.1.0"},"_npmOperationalInternal":{"tmp":"tmp/graphkb-api_3.15.2_1743532947586_0.27609998435477445","host":"s3://npm-registry-packages-npm-production"}},"3.16.0":{"name":"@bcgsc-pori/graphkb-api","version":"3.16.0","license":"GPL-3.0","_id":"@bcgsc-pori/graphkb-api@3.16.0","maintainers":[{"name":"creisle","email":"caralynreisle@gmail.com"},{"name":"elewis_bcgsc","email":"elewis@bcgsc.ca"}],"homepage":"https://github.com/bcgsc/pori_graphkb_api#readme","bugs":{"email":"graphkb@bcgsc.ca"},"dist":{"shasum":"df3b7adb6e90a0dd6f527a19efe7c47ec5a08c4d","tarball":"https://registry.npmjs.org/@bcgsc-pori/graphkb-api/-/graphkb-api-3.16.0.tgz","fileCount":104,"integrity":"sha512-3tNwLFpkWS1hD/lw4d7aUyUGXvYV9PQi9mxB7WU1boe9b8UZO+EDuv3ZnzaDmanOs8m073SFfRHnc/gAyoHvDw==","signatures":[{"sig":"MEYCIQDGuNdcfOxzBK1tvkfTkmHotgp2fcoDwCqW05HmtN3HWwIhAL8+JJ48/iE4wi1XEAuA3iM83IC/jbaPUKHKG5hTJk/b","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":695692},"main":"server.js","config":{"commitizen":{"path":"./node_modules/cz-conventional-changelog"}},"gitHead":"ea7bff9885e4ef9308255d1a0e8b62e39df702ff","private":false,"scripts":{"lint":"eslint -c .eslintrc.json src test","test":"NODE_ENV=test jest --config config/jest/config.js --detectOpenHandles --forceExit","start":"NODE_ENV=development node bin/server.js","commit":"git-cz","version":"echo $npm_package_version","start:dev":"NODE_ENV=development node bin/server.js","test:unit":"NODE_ENV=test jest --config config/jest/unit.config.js","start:prod":"NODE_ENV=production node bin/server.js","start:test":"NODE_ENV=test node bin/server.js","start:local":"NODE_ENV=local node bin/server.js","start:staging":"NODE_ENV=production node bin/server.js","test:integration":"NODE_ENV=test jest --config config/jest/config.js --testRegex test/db_integration"},"_npmUser":{"name":"elewis_bcgsc","email":"elewis@bcgsc.ca"},"repository":{"url":"git+https://github.com/bcgsc/pori_graphkb_api.git","type":"git"},"_npmVersion":"8.19.4","description":"GraphKB (Knowledge Base) REST API server","directories":{},"_nodeVersion":"16.20.2","dependencies":{"ajv":"^6.10.2","cors":"^2.8.4","uuid":"^3.0.1","split":"^1.0.1","lodash":"^4.17.21","morgan":"^1.10.0","semver":"^5.6.0","xml2js":"^0.4.19","express":"^4.14.0","winston":"^3.0.0","orientjs":"^3.2.0","json-cycle":"^1.2.0","portfinder":"^1.0.20","body-parser":"^1.18.3","compression":"^1.7.4","jsonwebtoken":"^8.2.0","sleep-promise":"^8.0.1","form-urlencoded":"^3.0.0","request-promise":"^4.2.1","http-status-codes":"^1.3.0","swagger-ui-express":"^3.0.10","@bcgsc-pori/graphkb-parser":"^2.1.0","@bcgsc-pori/graphkb-schema":"^4.0.0"},"_hasShrinkwrap":false,"devDependencies":{"qs":"^6.5.2","chai":"^3.5.0","jest":"^26.6.3","eslint":"^8.3.0","chai-http":"^4.3.0","commitizen":"^4.2.4","jest-junit":"^13.0.0","jest-circus":"^27.3.1","js-beautify":"^1.10.0","eslint-plugin-jest":"^22.17.0","eslint-plugin-react":"^7.10.0","eslint-config-airbnb":"^19.0.1","eslint-plugin-import":"^2.13.0","jest-environment-node":"^26.6.2","eslint-plugin-jsx-a11y":"^6.1.1","cz-conventional-changelog":"^3.0.1","eslint-plugin-sort-keys-fix":"^1.1.1","eslint-plugin-jest-formatting":"^1.1.0"},"_npmOperationalInternal":{"tmp":"tmp/graphkb-api_3.16.0_1757449396296_0.937521199265106","host":"s3://npm-registry-packages-npm-production"}},"3.16.1":{"name":"@bcgsc-pori/graphkb-api","version":"3.16.1","license":"GPL-3.0","_id":"@bcgsc-pori/graphkb-api@3.16.1","maintainers":[{"name":"creisle","email":"caralynreisle@gmail.com"},{"name":"elewis_bcgsc","email":"elewis@bcgsc.ca"}],"homepage":"https://github.com/bcgsc/pori_graphkb_api#readme","bugs":{"email":"graphkb@bcgsc.ca"},"dist":{"shasum":"2b6d669be6a07974a487b7ea7af53ef1360e156a","tarball":"https://registry.npmjs.org/@bcgsc-pori/graphkb-api/-/graphkb-api-3.16.1.tgz","fileCount":104,"integrity":"sha512-6JzFr4YnF3V6seZ2LFeOixvW1a7eAS46G2KZBW9HU7YlGtushKiBMLsMcETWEBLWoKjnX6ZeayWZGk2QnQ6QTQ==","signatures":[{"sig":"MEQCIA7jy63m/q9RnFBsUFtFM42iiURUM9xSbiey/7wEmRMoAiBoqQj7fYoHHA8oLgxCR/sMgEU3Csy4bwKf9vhZjUfmhw==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":695692},"main":"server.js","config":{"commitizen":{"path":"./node_modules/cz-conventional-changelog"}},"gitHead":"4b188eb846d0f3891d5dd7468e9c2e16253633cf","private":false,"scripts":{"lint":"eslint -c .eslintrc.json src test","test":"NODE_ENV=test jest --config config/jest/config.js --detectOpenHandles --forceExit","start":"NODE_ENV=development node bin/server.js","commit":"git-cz","version":"echo $npm_package_version","start:dev":"NODE_ENV=development node bin/server.js","test:unit":"NODE_ENV=test jest --config config/jest/unit.config.js","start:prod":"NODE_ENV=production node bin/server.js","start:test":"NODE_ENV=test node bin/server.js","start:local":"NODE_ENV=local node bin/server.js","start:staging":"NODE_ENV=production node bin/server.js","test:integration":"NODE_ENV=test jest --config config/jest/config.js --testRegex test/db_integration"},"_npmUser":{"name":"elewis_bcgsc","email":"elewis@bcgsc.ca"},"repository":{"url":"git+https://github.com/bcgsc/pori_graphkb_api.git","type":"git"},"_npmVersion":"8.19.4","description":"GraphKB (Knowledge Base) REST API server","directories":{},"_nodeVersion":"16.20.2","dependencies":{"ajv":"^6.10.2","cors":"^2.8.4","uuid":"^3.0.1","split":"^1.0.1","lodash":"^4.17.21","morgan":"^1.10.0","semver":"^5.6.0","xml2js":"^0.4.19","express":"^4.14.0","winston":"^3.0.0","orientjs":"^3.2.0","json-cycle":"^1.2.0","portfinder":"^1.0.20","body-parser":"^1.18.3","compression":"^1.7.4","jsonwebtoken":"^8.2.0","sleep-promise":"^8.0.1","form-urlencoded":"^3.0.0","request-promise":"^4.2.1","http-status-codes":"^1.3.0","swagger-ui-express":"^3.0.10","@bcgsc-pori/graphkb-parser":"^2.1.0","@bcgsc-pori/graphkb-schema":"~4.0.0"},"_hasShrinkwrap":false,"devDependencies":{"qs":"^6.5.2","chai":"^3.5.0","jest":"^26.6.3","eslint":"^8.3.0","chai-http":"^4.3.0","commitizen":"^4.2.4","jest-junit":"^13.0.0","jest-circus":"^27.3.1","js-beautify":"^1.10.0","eslint-plugin-jest":"^22.17.0","eslint-plugin-react":"^7.10.0","eslint-config-airbnb":"^19.0.1","eslint-plugin-import":"^2.13.0","jest-environment-node":"^26.6.2","eslint-plugin-jsx-a11y":"^6.1.1","cz-conventional-changelog":"^3.0.1","eslint-plugin-sort-keys-fix":"^1.1.1","eslint-plugin-jest-formatting":"^1.1.0"},"_npmOperationalInternal":{"tmp":"tmp/graphkb-api_3.16.1_1761864387202_0.20321425126154735","host":"s3://npm-registry-packages-npm-production"}},"3.17.0":{"name":"@bcgsc-pori/graphkb-api","version":"3.17.0","license":"GPL-3.0","_id":"@bcgsc-pori/graphkb-api@3.17.0","maintainers":[{"name":"creisle","email":"caralynreisle@gmail.com"},{"name":"elewis_bcgsc","email":"elewis@bcgsc.ca"}],"homepage":"https://github.com/bcgsc/pori_graphkb_api#readme","bugs":{"email":"graphkb@bcgsc.ca"},"dist":{"shasum":"e59f9ed4f628f1015b0113a44180c27c388db11e","tarball":"https://registry.npmjs.org/@bcgsc-pori/graphkb-api/-/graphkb-api-3.17.0.tgz","fileCount":104,"integrity":"sha512-LfLBkswAiYowAw2rgs0SsUg9nFXqKud0Oa4Z7w64o6dYsNxay5ekyE2qfyn1HQZeY9xlkpVwkuI8s1kdYheh+A==","signatures":[{"sig":"MEUCIQDj3QSaHJ3d7/igNdnwl+JdM0m/cmTyZF+5vR8n1NQwoQIgOjNuBy8TKwJ2zEy+UNlfYw3o1ojYsIl91dPvO6pJ52g=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":696830},"main":"server.js","config":{"commitizen":{"path":"./node_modules/cz-conventional-changelog"}},"gitHead":"8293c489c84a0c51f73b52723ef7a77262db4f88","private":false,"scripts":{"lint":"eslint -c .eslintrc.json src test","test":"NODE_ENV=test jest --config config/jest/config.js --detectOpenHandles --forceExit","start":"NODE_ENV=development node bin/server.js","commit":"git-cz","version":"echo $npm_package_version","start:dev":"NODE_ENV=development node bin/server.js","test:unit":"NODE_ENV=test jest --config config/jest/unit.config.js","start:prod":"NODE_ENV=production node bin/server.js","start:test":"NODE_ENV=test node bin/server.js","start:local":"NODE_ENV=local node bin/server.js","start:staging":"NODE_ENV=production node bin/server.js","test:integration":"NODE_ENV=test jest --config config/jest/config.js --testRegex test/db_integration"},"_npmUser":{"name":"elewis_bcgsc","email":"elewis@bcgsc.ca"},"repository":{"url":"git+https://github.com/bcgsc/pori_graphkb_api.git","type":"git"},"_npmVersion":"8.19.4","description":"GraphKB (Knowledge Base) REST API server","directories":{},"_nodeVersion":"16.20.2","dependencies":{"ajv":"^6.10.2","cors":"^2.8.4","uuid":"^3.0.1","split":"^1.0.1","lodash":"^4.17.21","morgan":"^1.10.0","semver":"^5.6.0","xml2js":"^0.4.19","express":"^4.14.0","winston":"^3.0.0","orientjs":"^3.2.0","json-cycle":"^1.2.0","portfinder":"^1.0.20","body-parser":"^1.18.3","compression":"^1.7.4","jsonwebtoken":"^8.2.0","sleep-promise":"^8.0.1","form-urlencoded":"^3.0.0","request-promise":"^4.2.1","http-status-codes":"^1.3.0","swagger-ui-express":"^3.0.10","@bcgsc-pori/graphkb-parser":"^2.1.0","@bcgsc-pori/graphkb-schema":"~4.1.0"},"_hasShrinkwrap":false,"devDependencies":{"qs":"^6.5.2","chai":"^3.5.0","jest":"^26.6.3","eslint":"^8.3.0","chai-http":"^4.3.0","commitizen":"^4.2.4","jest-junit":"^13.0.0","jest-circus":"^27.3.1","js-beautify":"^1.10.0","eslint-plugin-jest":"^22.17.0","eslint-plugin-react":"^7.10.0","eslint-config-airbnb":"^19.0.1","eslint-plugin-import":"^2.13.0","jest-environment-node":"^26.6.2","eslint-plugin-jsx-a11y":"^6.1.1","cz-conventional-changelog":"^3.0.1","eslint-plugin-sort-keys-fix":"^1.1.1","eslint-plugin-jest-formatting":"^1.1.0"},"_npmOperationalInternal":{"tmp":"tmp/graphkb-api_3.17.0_1763765080905_0.38183806185535407","host":"s3://npm-registry-packages-npm-production"}},"3.17.3":{"name":"@bcgsc-pori/graphkb-api","publishConfig":{"access":"public"},"main":"server.js","version":"3.17.3","private":false,"repository":{"type":"git","url":"git+https://github.com/bcgsc/pori_graphkb_api.git"},"bugs":{"email":"graphkb@bcgsc.ca"},"license":"GPL-3.0","description":"GraphKB (Knowledge Base) REST API server","dependencies":{"@bcgsc-pori/graphkb-parser":"^2.1.0","@bcgsc-pori/graphkb-schema":"~4.1.1","ajv":"^6.10.2","body-parser":"^1.18.3","compression":"^1.7.4","cors":"^2.8.4","express":"^4.14.0","form-urlencoded":"^3.0.0","http-status-codes":"^1.3.0","json-cycle":"^1.2.0","jsonwebtoken":"^8.2.0","lodash":"^4.17.21","morgan":"^1.10.0","orientjs":"^3.2.0","portfinder":"^1.0.20","request-promise":"^4.2.1","semver":"^5.6.0","sleep-promise":"^8.0.1","split":"^1.0.1","swagger-ui-express":"^3.0.10","uuid":"^3.0.1","winston":"^3.0.0","xml2js":"^0.4.19"},"devDependencies":{"chai":"^3.5.0","chai-http":"^4.3.0","commitizen":"^4.2.4","cz-conventional-changelog":"^3.0.1","eslint":"^8.3.0","eslint-config-airbnb":"^19.0.1","eslint-plugin-import":"^2.13.0","eslint-plugin-jest":"^22.17.0","eslint-plugin-jest-formatting":"^1.1.0","eslint-plugin-jsx-a11y":"^6.1.1","eslint-plugin-react":"^7.10.0","eslint-plugin-sort-keys-fix":"^1.1.1","jest":"^26.6.3","jest-circus":"^27.3.1","jest-environment-node":"^26.6.2","jest-junit":"^13.0.0","js-beautify":"^1.10.0","qs":"^6.5.2"},"scripts":{"start":"NODE_ENV=development node bin/server.js","start:prod":"NODE_ENV=production node bin/server.js","start:staging":"NODE_ENV=production node bin/server.js","start:stagingdb":"NODE_ENV=staging node bin/server.js","start:dev":"NODE_ENV=development node bin/server.js","start:test":"NODE_ENV=test node bin/server.js","start:local":"NODE_ENV=local node bin/server.js","test":"NODE_ENV=test jest --config config/jest/config.js --detectOpenHandles --forceExit","test:unit":"NODE_ENV=test jest --config config/jest/unit.config.js","test:integration":"NODE_ENV=test jest --config config/jest/config.js --testRegex test/db_integration","lint":"eslint -c .eslintrc.json src test","version":"echo $npm_package_version","commit":"git-cz"},"config":{"commitizen":{"path":"./node_modules/cz-conventional-changelog"}},"gitHead":"d2b6f9860a0648eabea2caccc643c111f576f9f6","_id":"@bcgsc-pori/graphkb-api@3.17.3","homepage":"https://github.com/bcgsc/pori_graphkb_api#readme","_nodeVersion":"20.19.6","_npmVersion":"11.7.0","dist":{"integrity":"sha512-3qd2jToLuF0rWdM8PIHaTUNl8CXG+YBzqjC6sFb/Bq/4KFVScgIH6AQYnc0+xW1QSQub5NsdO5X2wphhWJN3cw==","shasum":"487b23a7a3c557baef2f1c87d4ee1f0efbd7578e","tarball":"https://registry.npmjs.org/@bcgsc-pori/graphkb-api/-/graphkb-api-3.17.3.tgz","fileCount":104,"unpackedSize":696669,"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@bcgsc-pori%2fgraphkb-api@3.17.3","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"signatures":[{"keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U","sig":"MEYCIQCRRa61Ds98xHvbbk5gRXUfeKxlNxYFPmYtCAx+tGvlSQIhAJ3jCV+7zR12VqKgkvoX7K+arhIyMNOpYcOJrwbgQ9I3"}]},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:637fdd77-13f6-4e88-bcde-614897963b8c"}},"directories":{},"maintainers":[{"name":"creisle","email":"caralynreisle@gmail.com"},{"name":"elewis_bcgsc","email":"elewis@bcgsc.ca"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/graphkb-api_3.17.3_1765841254929_0.5983564506150971"},"_hasShrinkwrap":false}},"time":{"created":"2022-10-11T19:18:09.918Z","modified":"2025-12-15T23:27:35.484Z","3.14.3":"2022-10-11T19:18:10.290Z","3.15.2":"2025-04-01T18:42:27.802Z","3.16.0":"2025-09-09T20:23:16.635Z","3.16.1":"2025-10-30T22:46:27.449Z","3.17.0":"2025-11-21T22:44:41.131Z","3.17.3":"2025-12-15T23:27:35.129Z"},"bugs":{"email":"graphkb@bcgsc.ca"},"license":"GPL-3.0","homepage":"https://github.com/bcgsc/pori_graphkb_api#readme","repository":{"type":"git","url":"git+https://github.com/bcgsc/pori_graphkb_api.git"},"description":"GraphKB (Knowledge Base) REST API server","maintainers":[{"name":"creisle","email":"caralynreisle@gmail.com"},{"name":"elewis_bcgsc","email":"elewis@bcgsc.ca"}],"readme":"# GraphKB API\n\n![build](https://github.com/bcgsc/pori_graphkb_api/workflows/build/badge.svg?branch=master) [![codecov](https://codecov.io/gh/bcgsc/pori_graphkb_api/branch/master/graph/badge.svg?token=XDTDIQ5793)](https://codecov.io/gh/bcgsc/pori_graphkb_api) ![node versions](https://img.shields.io/badge/node-12%20%7C%2014%20%7C%2016-blue) [![orientdb versions](https://img.shields.io/badge/orientdb-3.0%20%7C%203.1-blue)](https://www.orientdb.org/) ![centos build](https://www.bcgsc.ca/bamboo/plugins/servlet/wittified/build-status/PORI-GA) [![DOI](https://zenodo.org/badge/DOI/10.5281/zenodo.5730581.svg)](https://doi.org/10.5281/zenodo.5730581)\n\nThis repository is part of the [platform for oncogenomic reporting and interpretation](https://github.com/bcgsc/pori).\n\nThe GraphKB database is implemented using [orientDB](https://github.com/orientechnologies/orientdb) and [orientjs](https://github.com/orientechnologies/orientjs).\nIt is a graph database which is used to store variants, ontologies, and the relevance of this terms and variants. The KB uses strict controlled vocabulary to provide a parsable and machine-readable interface for other applications to build on. The API is a REST API built on node/express.\n\n## About\n\n### Database Schema\n\nThe [schema](https://github.com/bcgsc/pori_graphkb_schema) is defined in a separate NPM package.\nIn general it consists of four major types of data: ontology terms, variants, evidence, and statements.\n\n### OpenAPI Specification\n\nAll KB API routes are documented with OpenAPI specification. The specification is hosted with the api under `/api/spec`\n\n### Authentication\n\nAuthentication in the KB uses tokens. KB API tokens can be generated using the token route defined in the API specification.\nThe first layer of authentication happens when KB uses [keycloak](https://www.keycloak.org/) to authenticate users against the LDAP. A request is sent\nto keycloak with the users credentials and a token is returned if the user exists and has access to KB.\n\nThe next step happens when KB looks up the username in the KB database. Each user in KB belongs to one or more UserGroups. Each of these UserGroups contains table-level permission schemas.\n\n![KB Authentication Process](docs/authentication.svg)\n\nIn summary, KB Client will send user credentials and receive a token which will be used in the header of all subsequent requests.\n\n## Quick Start\n\nMost of the time you will want the deployment instructions rather than the ones below. For\nthese please see the [contributing guide](./docs/CONTRIBUTING.md).\n\nRequirements\n\n- orientdb 3.0, 3.1, or 3.2\n- node v16, v18 or v20\n\nClone the repository\n\n```bash\ngit clone https://github.com/bcgsc/pori_graphkb_api.git\ncd pori_graphkb_api\ngit checkout develop\n```\n\nInstall the dependencies\n\n```bash\nnpm install\n```\n\nTo actually use the API, the orientDB instance must already be running. To configure where the tests will point to the user can either modify `config/config.js` or set the [environment variables](env.md) which override this config (default values are shown below, this will change depending on how you db server is configured).\n\n```bash\nGKB_DBS_PASS=root\nGKB_DBS_USER=root\nGKB_DB_HOST='HOST NAME'\nGKB_DB_PORT=2424\nGKB_KEY_FILE='id_rsa'  # used in generating the tokens\n```\n\nCreate the keyfile (pick the current directory)\n\n```bash\nyes | ssh-keygen -t rsa -b 4096 -f id_rsa -N ''\n```\n\nAfter these options are configured, the server can be started\n\n```bash\nnpm start\n```\n","readmeFilename":"README.md"}