{"_id":"@a.heisterkamp/nextcloud-node-client","_rev":"13-e7a49c8071524d141ad8f52db8205826","name":"@a.heisterkamp/nextcloud-node-client","dist-tags":{"latest":"1.9.2"},"versions":{"1.8.1":{"name":"@a.heisterkamp/nextcloud-node-client","version":"1.8.1","keywords":["nextcloud","api","file","folder","tagging","nodejs","sharing","typescript","user management"],"author":{"name":"Holger Gockel"},"license":"Apache-2.0","_id":"@a.heisterkamp/nextcloud-node-client@1.8.1","maintainers":[{"name":"a.heisterkamp","email":"a.heisterkamp@defi-esser.de"}],"contributors":[{"name":"Scrounger"}],"homepage":"https://hobigo.github.io/nextcloud-node-client","bugs":{"url":"https://github.com/hobigo/nextcloud-node-client/issues"},"nyc":{"all":true,"exclude":["**/*.d.ts","**/*.js","**/src/test/*.ts"],"reporter":["html","lcov"],"extension":[".ts",".tsx"],"report-dir":"./docs/coverage"},"dist":{"shasum":"e38f429fb4e0157c506b9ad5d45c0d3587dfa10b","tarball":"https://registry.npmjs.org/@a.heisterkamp/nextcloud-node-client/-/nextcloud-node-client-1.8.1.tgz","fileCount":7,"integrity":"sha512-zOoI3ggrKMg/rC9QGMg6JVEAr8xYBpXs4sk4BR7BFEiju7ETzsgku+1/ZXoXJ7m3vQcWzof1cUeQEC1zmyGV+A==","signatures":[{"sig":"MEUCIQCPQrdjAolBgDRkBp34bidrenIx+A1njIZOU4rJ6a6CbQIgIIDKOdIkVs4mS3W0k23xadF5BPTyde4Wh7K6cQ/Cnb8=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":43818},"main":"dist/client.js","types":"dist/client.d.ts","gitHead":"8e335b35283878daff443e3e7c4328daa1e88a25","scripts":{"test":"mocha -r ts-node/register src/test/*test.ts","build":"node ./node_modules/typescript/bin/tsc","cover":"nyc mocha -r ts-node/register src/test/*test.ts && nyc report --reporter=text-lcov > coverage.lcov","eslint":"npx eslint","record":"nyc mocha -r ts-node/register src/test/*test.ts --record","build-watch":"node ./node_modules/typescript/bin/tsc -w","create-lcov":"codecov -t <token>","build-release":"node ./node_modules/typescript/bin/tsc && typedoc --out ./docs/ ./src/client.ts","documentation":"typedoc"},"_npmUser":{"name":"a.heisterkamp","email":"a.heisterkamp@defi-esser.de"},"repository":{"url":"git+https://github.com/hobigo/nextcloud-node-client.git","type":"git"},"_npmVersion":"9.5.0","description":"Nextcloud client API for node.js TypeScript applications","directories":{},"_nodeVersion":"18.15.0","dependencies":{"joi":"^17.2.1","debug":"^4.1.0","tslog":"^2.6.2","dotenv":"^8.2.0","@hapi/joi":"^17.1.1","node-fetch":"^2.6.0","vcap_services":"^0.7.1","fast-xml-parser":"^4.2.5","http-proxy-agent":"^4.0.1"},"_hasShrinkwrap":false,"devDependencies":{"nyc":"^15.1.0","chai":"^4.2.0","mocha":"^8.1.3","eslint":"^7.5.0","codecov":"^3.7.2","ts-node":"^9.0.0","typedoc":"^0.19.2","prettier":"^2.0.5","ts-loader":"^8.0.0","@types/joi":"^14.3.4","mocked-env":"^1.3.2","typescript":"^4.0.3","@types/chai":"^4.2.12","@types/node":"^14.0.27","@types/debug":"^4.1.5","@types/mocha":"^8.0.0","@types/node-fetch":"^2.5.7","eslint-plugin-jsdoc":"^30.3.0","eslint-config-prettier":"^6.11.0","eslint-plugin-prettier":"^3.1.4","@types/http-proxy-agent":"^2.0.2","@typescript-eslint/parser":"^4.2.0","eslint-plugin-prefer-arrow":"^1.2.2","@typescript-eslint/eslint-plugin":"^4.0.0"},"_npmOperationalInternal":{"tmp":"tmp/nextcloud-node-client_1.8.1_1687856412013_0.06632458788669338","host":"s3://npm-registry-packages"}},"1.8.2":{"name":"@a.heisterkamp/nextcloud-node-client","version":"1.8.2","keywords":["nextcloud","api","file","folder","tagging","nodejs","sharing","typescript","user management"],"author":{"name":"Holger Gockel"},"license":"Apache-2.0","_id":"@a.heisterkamp/nextcloud-node-client@1.8.2","maintainers":[{"name":"a.heisterkamp","email":"a.heisterkamp@defi-esser.de"}],"contributors":[{"name":"Scrounger"}],"homepage":"https://hobigo.github.io/nextcloud-node-client","bugs":{"url":"https://github.com/hobigo/nextcloud-node-client/issues"},"nyc":{"all":true,"exclude":["**/*.d.ts","**/*.js","**/src/test/*.ts"],"reporter":["html","lcov"],"extension":[".ts",".tsx"],"report-dir":"./docs/coverage"},"dist":{"shasum":"fcfea36c6214b47aded773d80591191c6792c606","tarball":"https://registry.npmjs.org/@a.heisterkamp/nextcloud-node-client/-/nextcloud-node-client-1.8.2.tgz","fileCount":55,"integrity":"sha512-OOxCbrO7395TMHVaNfS9rjrmSPntF8TYhNKlhZcUW/DwzVbgHzh6iGE1jKdY1RJLRBmqAjF1KdJq8TnYdEd3jg==","signatures":[{"sig":"MEUCIA2uLsX1E1gpuQkR4bdOFX83qBMZgsFk70JjwERuo9PNAiEAwfWchJPre131xH9I2f+2gS5vNNnoJE4/vqf+ehM3RsE=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":326390},"main":"dist/client.js","types":"dist/client.d.ts","gitHead":"8e335b35283878daff443e3e7c4328daa1e88a25","scripts":{"test":"mocha -r ts-node/register src/test/*test.ts","build":"node ./node_modules/typescript/bin/tsc","cover":"nyc mocha -r ts-node/register src/test/*test.ts && nyc report --reporter=text-lcov > coverage.lcov","eslint":"npx eslint","record":"nyc mocha -r ts-node/register src/test/*test.ts --record","build-watch":"node ./node_modules/typescript/bin/tsc -w","create-lcov":"codecov -t <token>","build-release":"node ./node_modules/typescript/bin/tsc && typedoc --out ./docs/ ./src/client.ts","documentation":"typedoc"},"_npmUser":{"name":"a.heisterkamp","email":"a.heisterkamp@defi-esser.de"},"repository":{"url":"git+https://github.com/hobigo/nextcloud-node-client.git","type":"git"},"_npmVersion":"9.5.0","description":"Nextcloud client API for node.js TypeScript applications","directories":{},"_nodeVersion":"18.15.0","dependencies":{"joi":"^17.2.1","debug":"^4.1.0","tslog":"^2.6.2","dotenv":"^8.2.0","@hapi/joi":"^17.1.1","node-fetch":"^2.6.0","vcap_services":"^0.7.1","fast-xml-parser":"^4.2.5","http-proxy-agent":"^4.0.1"},"_hasShrinkwrap":false,"devDependencies":{"nyc":"^15.1.0","chai":"^4.2.0","mocha":"^8.1.3","eslint":"^7.5.0","codecov":"^3.7.2","ts-node":"^9.0.0","typedoc":"^0.19.2","prettier":"^2.0.5","ts-loader":"^8.0.0","@types/joi":"^14.3.4","mocked-env":"^1.3.2","typescript":"^4.0.3","@types/chai":"^4.2.12","@types/node":"^14.0.27","@types/debug":"^4.1.5","@types/mocha":"^8.0.0","@types/node-fetch":"^2.5.7","eslint-plugin-jsdoc":"^30.3.0","eslint-config-prettier":"^6.11.0","eslint-plugin-prettier":"^3.1.4","@types/http-proxy-agent":"^2.0.2","@typescript-eslint/parser":"^4.2.0","eslint-plugin-prefer-arrow":"^1.2.2","@typescript-eslint/eslint-plugin":"^4.0.0"},"_npmOperationalInternal":{"tmp":"tmp/nextcloud-node-client_1.8.2_1687858200664_0.4708464481704919","host":"s3://npm-registry-packages"}},"1.8.3":{"name":"@a.heisterkamp/nextcloud-node-client","version":"1.8.3","keywords":["nextcloud","api","file","folder","tagging","nodejs","sharing","typescript","user management"],"author":{"name":"Holger Gockel"},"license":"Apache-2.0","_id":"@a.heisterkamp/nextcloud-node-client@1.8.3","maintainers":[{"name":"a.heisterkamp","email":"a.heisterkamp@defi-esser.de"}],"contributors":[{"name":"Scrounger"}],"homepage":"https://hobigo.github.io/nextcloud-node-client","bugs":{"url":"https://github.com/hobigo/nextcloud-node-client/issues"},"nyc":{"all":true,"exclude":["**/*.d.ts","**/*.js","**/src/test/*.ts"],"reporter":["html","lcov"],"extension":[".ts",".tsx"],"report-dir":"./docs/coverage"},"dist":{"shasum":"f4d71d7c5e4bfa8ba8dff7a3076a636d52221abc","tarball":"https://registry.npmjs.org/@a.heisterkamp/nextcloud-node-client/-/nextcloud-node-client-1.8.3.tgz","fileCount":55,"integrity":"sha512-NvpQdSFJW+whlez+XG9R+3jwbE3TkNVW2oHgKXGOHiLf7H70/NZgQSkDnG3oOkE0MKHS9Qj3INW3lOQRmSxmLw==","signatures":[{"sig":"MEUCIGiXDRcPKOoP0YiNSyPSCdOALasS7X6nW2b10klhnaUqAiEA+ZY/bAQaNkt6FH9ftD78gcUXmHJoSA/n4wzhgA2iMeE=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":327407},"main":"dist/client.js","types":"dist/client.d.ts","gitHead":"db9307f12c669ebb4bcbb1cbae5ad534b66fdfc8","scripts":{"test":"mocha -r ts-node/register src/test/*test.ts","build":"node ./node_modules/typescript/bin/tsc","cover":"nyc mocha -r ts-node/register src/test/*test.ts && nyc report --reporter=text-lcov > coverage.lcov","eslint":"npx eslint","record":"nyc mocha -r ts-node/register src/test/*test.ts --record","build-watch":"node ./node_modules/typescript/bin/tsc -w","create-lcov":"codecov -t <token>","build-release":"node ./node_modules/typescript/bin/tsc && typedoc --out ./docs/ ./src/client.ts","documentation":"typedoc"},"_npmUser":{"name":"a.heisterkamp","email":"a.heisterkamp@defi-esser.de"},"overrides":{"semver":"^7.5.3"},"repository":{"url":"git+https://github.com/hobigo/nextcloud-node-client.git","type":"git"},"_npmVersion":"9.5.0","description":"Nextcloud client API for node.js TypeScript applications","directories":{},"_nodeVersion":"18.15.0","dependencies":{"joi":"^17.9.2","debug":"^4.3.4","tslog":"^4.8.2","dotenv":"^16.3.1","@hapi/joi":"^17.1.1","node-fetch":"^3.3.1","vcap_services":"^0.7.1","fast-xml-parser":"^4.2.5","http-proxy-agent":"^7.0.0"},"_hasShrinkwrap":false,"devDependencies":{"nyc":"^15.1.0","chai":"^4.3.7","mocha":"^10.2.0","eslint":"^8.43.0","codecov":"^3.8.2","ts-node":"^10.9.1","typedoc":"^0.24.8","prettier":"^2.8.8","ts-loader":"^9.4.3","@types/joi":"^17.2.2","mocked-env":"^1.3.5","typescript":"^5.1.3","@types/chai":"^4.3.5","@types/node":"^20.3.2","@types/debug":"^4.1.8","@types/mocha":"^10.0.1","@types/node-fetch":"^2.6.4","eslint-plugin-jsdoc":"^46.3.0","eslint-config-prettier":"^8.8.0","eslint-plugin-prettier":"^4.2.1","@types/http-proxy-agent":"^4.0.0","@typescript-eslint/parser":"^5.60.1","eslint-plugin-prefer-arrow":"^1.2.3","@typescript-eslint/eslint-plugin":"^5.60.1"},"_npmOperationalInternal":{"tmp":"tmp/nextcloud-node-client_1.8.3_1687861068022_0.09102560567111029","host":"s3://npm-registry-packages"}},"1.8.4":{"name":"@a.heisterkamp/nextcloud-node-client","version":"1.8.4","keywords":["nextcloud","api","file","folder","tagging","nodejs","sharing","typescript","user management"],"author":{"name":"Holger Gockel"},"license":"Apache-2.0","_id":"@a.heisterkamp/nextcloud-node-client@1.8.4","maintainers":[{"name":"a.heisterkamp","email":"a.heisterkamp@defi-esser.de"}],"contributors":[{"name":"Scrounger"}],"homepage":"https://hobigo.github.io/nextcloud-node-client","bugs":{"url":"https://github.com/hobigo/nextcloud-node-client/issues"},"nyc":{"all":true,"exclude":["**/*.d.ts","**/*.js","**/src/test/*.ts"],"reporter":["html","lcov"],"extension":[".ts",".tsx"],"report-dir":"./docs/coverage"},"dist":{"shasum":"85725429e725d464b11083534a9e82dc2701dbc4","tarball":"https://registry.npmjs.org/@a.heisterkamp/nextcloud-node-client/-/nextcloud-node-client-1.8.4.tgz","fileCount":55,"integrity":"sha512-P1Ym2jFov/tNKNh7GD05ZCw1KdYIpq/kNMKDqT0o2uYW0sW7CUiI1PlYRyNAgzPPyTxiByLNyq8XYlqpdGMwfg==","signatures":[{"sig":"MEQCIBGuhe8iYICeHqsLZDEgEYw59PB4ZxG9pEGS6bvj9oKeAiB35f2OoBCNmqVt9c96nOnI7OJ3AwXj3pJWRYyBfg6oiQ==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":327375},"main":"dist/client.js","types":"dist/client.d.ts","gitHead":"db9307f12c669ebb4bcbb1cbae5ad534b66fdfc8","scripts":{"test":"mocha -r ts-node/register src/test/*test.ts","build":"node ./node_modules/typescript/bin/tsc","cover":"nyc mocha -r ts-node/register src/test/*test.ts && nyc report --reporter=text-lcov > coverage.lcov","eslint":"npx eslint","record":"nyc mocha -r ts-node/register src/test/*test.ts --record","build-watch":"node ./node_modules/typescript/bin/tsc -w","create-lcov":"codecov -t <token>","build-release":"node ./node_modules/typescript/bin/tsc && typedoc --out ./docs/ ./src/client.ts","documentation":"typedoc"},"_npmUser":{"name":"a.heisterkamp","email":"a.heisterkamp@defi-esser.de"},"overrides":{"semver":"^7.5.3"},"repository":{"url":"git+https://github.com/hobigo/nextcloud-node-client.git","type":"git"},"_npmVersion":"9.5.0","description":"Nextcloud client API for node.js TypeScript applications","directories":{},"_nodeVersion":"18.15.0","dependencies":{"joi":"^17.9.2","debug":"^4.3.4","tslog":"^4.8.2","dotenv":"^16.3.1","@hapi/joi":"^17.1.1","vcap_services":"^0.7.1","fast-xml-parser":"^4.2.5","http-proxy-agent":"^7.0.0"},"_hasShrinkwrap":false,"devDependencies":{"nyc":"^15.1.0","chai":"^4.3.7","mocha":"^10.2.0","eslint":"^8.43.0","codecov":"^3.8.2","ts-node":"^10.9.1","typedoc":"^0.24.8","prettier":"^2.8.8","ts-loader":"^9.4.3","@types/joi":"^17.2.2","mocked-env":"^1.3.5","typescript":"^5.1.3","@types/chai":"^4.3.5","@types/node":"^20.3.2","@types/debug":"^4.1.8","@types/mocha":"^10.0.1","@types/node-fetch":"^2.6.4","eslint-plugin-jsdoc":"^46.3.0","eslint-config-prettier":"^8.8.0","eslint-plugin-prettier":"^4.2.1","@types/http-proxy-agent":"^4.0.0","@typescript-eslint/parser":"^5.60.1","eslint-plugin-prefer-arrow":"^1.2.3","@typescript-eslint/eslint-plugin":"^5.60.1"},"_npmOperationalInternal":{"tmp":"tmp/nextcloud-node-client_1.8.4_1687861272708_0.2887536199673657","host":"s3://npm-registry-packages"}},"1.8.5":{"name":"@a.heisterkamp/nextcloud-node-client","version":"1.8.5","keywords":["nextcloud","api","file","folder","tagging","nodejs","sharing","typescript","user management"],"author":{"name":"Holger Gockel"},"license":"Apache-2.0","_id":"@a.heisterkamp/nextcloud-node-client@1.8.5","maintainers":[{"name":"a.heisterkamp","email":"a.heisterkamp@defi-esser.de"}],"contributors":[{"name":"Scrounger"}],"homepage":"https://hobigo.github.io/nextcloud-node-client","bugs":{"url":"https://github.com/hobigo/nextcloud-node-client/issues"},"nyc":{"all":true,"exclude":["**/*.d.ts","**/*.js","**/src/test/*.ts"],"reporter":["html","lcov"],"extension":[".ts",".tsx"],"report-dir":"./docs/coverage"},"dist":{"shasum":"f19679db71f4de8ccd2328f19a7d2dc35ae6e237","tarball":"https://registry.npmjs.org/@a.heisterkamp/nextcloud-node-client/-/nextcloud-node-client-1.8.5.tgz","fileCount":55,"integrity":"sha512-QnkImZfbglQbSLLaT7iJ0qGWjyMQnLCOj/YougMA6dm3mNaQ4/2ZH2T3pzX/wj7FN0f4Ky+UhVmCKI93b7/FVA==","signatures":[{"sig":"MEUCIQCDL7QgR4BWcTFXrB/VrcuPsmj+7owGq6xy8d7D4yYs/gIgT3EFeGVk5lDWcFxefYg117NjxYKBdBBr7ZYbzLKgBYg=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":327408},"main":"dist/client.js","types":"dist/client.d.ts","gitHead":"db9307f12c669ebb4bcbb1cbae5ad534b66fdfc8","scripts":{"test":"mocha -r ts-node/register src/test/*test.ts","build":"node ./node_modules/typescript/bin/tsc","cover":"nyc mocha -r ts-node/register src/test/*test.ts && nyc report --reporter=text-lcov > coverage.lcov","eslint":"npx eslint","record":"nyc mocha -r ts-node/register src/test/*test.ts --record","build-watch":"node ./node_modules/typescript/bin/tsc -w","create-lcov":"codecov -t <token>","build-release":"node ./node_modules/typescript/bin/tsc && typedoc --out ./docs/ ./src/client.ts","documentation":"typedoc"},"_npmUser":{"name":"a.heisterkamp","email":"a.heisterkamp@defi-esser.de"},"overrides":{"semver":"^7.5.3"},"repository":{"url":"git+https://github.com/hobigo/nextcloud-node-client.git","type":"git"},"_npmVersion":"9.5.0","description":"Nextcloud client API for node.js TypeScript applications","directories":{},"_nodeVersion":"18.15.0","dependencies":{"joi":"^17.9.2","debug":"^4.3.4","tslog":"^4.8.2","dotenv":"^16.3.1","@hapi/joi":"^17.1.1","node-fetch":"^2.6.11","vcap_services":"^0.7.1","fast-xml-parser":"^4.2.5","http-proxy-agent":"^7.0.0"},"_hasShrinkwrap":false,"devDependencies":{"nyc":"^15.1.0","chai":"^4.3.7","mocha":"^10.2.0","eslint":"^8.43.0","codecov":"^3.8.2","ts-node":"^10.9.1","typedoc":"^0.24.8","prettier":"^2.8.8","ts-loader":"^9.4.3","@types/joi":"^17.2.2","mocked-env":"^1.3.5","typescript":"^5.1.3","@types/chai":"^4.3.5","@types/node":"^20.3.2","@types/debug":"^4.1.8","@types/mocha":"^10.0.1","@types/node-fetch":"^2.6.4","eslint-plugin-jsdoc":"^46.3.0","eslint-config-prettier":"^8.8.0","eslint-plugin-prettier":"^4.2.1","@types/http-proxy-agent":"^4.0.0","@typescript-eslint/parser":"^5.60.1","eslint-plugin-prefer-arrow":"^1.2.3","@typescript-eslint/eslint-plugin":"^5.60.1"},"_npmOperationalInternal":{"tmp":"tmp/nextcloud-node-client_1.8.5_1687865796924_0.2629858228711064","host":"s3://npm-registry-packages"}},"1.8.6":{"name":"@a.heisterkamp/nextcloud-node-client","version":"1.8.6","keywords":["nextcloud","api","file","folder","tagging","nodejs","sharing","typescript","user management"],"author":{"name":"Holger Gockel"},"license":"Apache-2.0","_id":"@a.heisterkamp/nextcloud-node-client@1.8.6","maintainers":[{"name":"a.heisterkamp","email":"a.heisterkamp@defi-esser.de"}],"contributors":[{"name":"Scrounger"}],"homepage":"https://hobigo.github.io/nextcloud-node-client","bugs":{"url":"https://github.com/hobigo/nextcloud-node-client/issues"},"nyc":{"all":true,"exclude":["**/*.d.ts","**/*.js","**/src/test/*.ts"],"reporter":["html","lcov"],"extension":[".ts",".tsx"],"report-dir":"./docs/coverage"},"dist":{"shasum":"762b465b83b9d6d0adf8edb596e96470170a6df2","tarball":"https://registry.npmjs.org/@a.heisterkamp/nextcloud-node-client/-/nextcloud-node-client-1.8.6.tgz","fileCount":55,"integrity":"sha512-+GQeWv1OXasojrg0JodlHTndZFP4yORMQLat74dBvLFg17yKDG6eACtZRY1E5CDKqcwgWj6fqPFzSskrosSbGw==","signatures":[{"sig":"MEUCIDKv7/pW4bOd2jCBoa4GC6nD5SjFrbsLrJlEjxux9AYoAiEA9BuPaHrpFyAzSHdoNCe8BmGeMCPcZFqynbTBjP38WhI=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":327552},"main":"dist/client.js","types":"dist/client.d.ts","gitHead":"f41c2f7d87d3852d0fbeee0d8a884bc4c47739d9","scripts":{"test":"mocha -r ts-node/register src/test/*test.ts","build":"node ./node_modules/typescript/bin/tsc","cover":"nyc mocha -r ts-node/register src/test/*test.ts && nyc report --reporter=text-lcov > coverage.lcov","eslint":"npx eslint","record":"nyc mocha -r ts-node/register src/test/*test.ts --record","build-watch":"node ./node_modules/typescript/bin/tsc -w","create-lcov":"codecov -t <token>","build-release":"node ./node_modules/typescript/bin/tsc && typedoc --out ./docs/ ./src/client.ts","documentation":"typedoc"},"_npmUser":{"name":"a.heisterkamp","email":"a.heisterkamp@defi-esser.de"},"overrides":{"semver":"^7.5.3"},"repository":{"url":"git+https://github.com/hobigo/nextcloud-node-client.git","type":"git"},"_npmVersion":"9.7.2","description":"Nextcloud client API for node.js TypeScript applications","directories":{},"_nodeVersion":"18.16.1","dependencies":{"joi":"^17.9.2","debug":"^4.3.4","tslog":"^4.8.2","dotenv":"^16.3.1","@hapi/joi":"^17.1.1","node-fetch":"^2.6.11","vcap_services":"^0.7.1","fast-xml-parser":"^4.2.5","http-proxy-agent":"^7.0.0"},"_hasShrinkwrap":false,"devDependencies":{"nyc":"^15.1.0","chai":"^4.3.7","mocha":"^10.2.0","eslint":"^8.43.0","codecov":"^3.8.2","ts-node":"^10.9.1","typedoc":"^0.24.8","prettier":"^2.8.8","ts-loader":"^9.4.3","@types/joi":"^17.2.2","mocked-env":"^1.3.5","typescript":"^5.1.3","@types/chai":"^4.3.5","@types/node":"^20.3.2","@types/debug":"^4.1.8","@types/mocha":"^10.0.1","@types/node-fetch":"^2.6.4","eslint-plugin-jsdoc":"^46.3.0","eslint-config-prettier":"^8.8.0","eslint-plugin-prettier":"^4.2.1","@types/http-proxy-agent":"^4.0.0","@typescript-eslint/parser":"^5.60.1","eslint-plugin-prefer-arrow":"^1.2.3","@typescript-eslint/eslint-plugin":"^5.60.1"},"_npmOperationalInternal":{"tmp":"tmp/nextcloud-node-client_1.8.6_1688126601592_0.7687645807399044","host":"s3://npm-registry-packages"}},"1.8.7":{"name":"@a.heisterkamp/nextcloud-node-client","version":"1.8.7","keywords":["nextcloud","api","file","folder","tagging","nodejs","sharing","typescript","user management"],"author":{"name":"Holger Gockel"},"license":"Apache-2.0","_id":"@a.heisterkamp/nextcloud-node-client@1.8.7","maintainers":[{"name":"a.heisterkamp","email":"a.heisterkamp@defi-esser.de"}],"contributors":[{"name":"Scrounger"}],"homepage":"https://hobigo.github.io/nextcloud-node-client","bugs":{"url":"https://github.com/hobigo/nextcloud-node-client/issues"},"nyc":{"all":true,"exclude":["**/*.d.ts","**/*.js","**/src/test/*.ts"],"reporter":["html","lcov"],"extension":[".ts",".tsx"],"report-dir":"./docs/coverage"},"dist":{"shasum":"9fa46b9c5a50ca183ed6ab0b624fe7bfe0c6fdf4","tarball":"https://registry.npmjs.org/@a.heisterkamp/nextcloud-node-client/-/nextcloud-node-client-1.8.7.tgz","fileCount":55,"integrity":"sha512-rhcXJnA4FjliTfEy60NIOMKG1uwDVTJiV8V4jnyDN/5Tth+D7JhXsk8bxZWjhIvaFWfJDJKLLLW+O8rnHWgE3Q==","signatures":[{"sig":"MEUCIAx287B33iUJq8PeUysg50sESXMoABxal+MM1933iIqfAiEArJxA0fGmqcxXIpCiryeT0zKLv05vOXUWuxo22pC6q/g=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":327878},"main":"dist/client.js","types":"dist/client.d.ts","gitHead":"090c16390e5ea7bf7fa1fb7c6ed7f530a38dbd85","scripts":{"test":"mocha -r ts-node/register src/test/*test.ts","build":"node ./node_modules/typescript/bin/tsc","cover":"nyc mocha -r ts-node/register src/test/*test.ts && nyc report --reporter=text-lcov > coverage.lcov","eslint":"npx eslint","record":"nyc mocha -r ts-node/register src/test/*test.ts --record","build-watch":"node ./node_modules/typescript/bin/tsc -w","create-lcov":"codecov -t <token>","build-release":"node ./node_modules/typescript/bin/tsc && typedoc --out ./docs/ ./src/client.ts","documentation":"typedoc"},"_npmUser":{"name":"a.heisterkamp","email":"a.heisterkamp@defi-esser.de"},"overrides":{"semver":"^7.5.3"},"repository":{"url":"git+https://github.com/hobigo/nextcloud-node-client.git","type":"git"},"_npmVersion":"9.7.2","description":"Nextcloud client API for node.js TypeScript applications","directories":{},"_nodeVersion":"18.16.1","dependencies":{"joi":"^17.9.2","debug":"^4.3.4","tslog":"^4.8.2","dotenv":"^16.3.1","@hapi/joi":"^17.1.1","node-fetch":"^2.6.11","vcap_services":"^0.7.1","fast-xml-parser":"^4.2.5","http-proxy-agent":"^7.0.0"},"_hasShrinkwrap":false,"devDependencies":{"nyc":"^15.1.0","chai":"^4.3.7","mocha":"^10.2.0","eslint":"^8.43.0","codecov":"^3.8.2","ts-node":"^10.9.1","typedoc":"^0.24.8","prettier":"^2.8.8","ts-loader":"^9.4.3","@types/joi":"^17.2.2","mocked-env":"^1.3.5","typescript":"^5.1.3","@types/chai":"^4.3.5","@types/node":"^20.3.2","@types/debug":"^4.1.8","@types/mocha":"^10.0.1","@types/node-fetch":"^2.6.4","eslint-plugin-jsdoc":"^46.3.0","eslint-config-prettier":"^8.8.0","eslint-plugin-prettier":"^4.2.1","@types/http-proxy-agent":"^4.0.0","@typescript-eslint/parser":"^5.60.1","eslint-plugin-prefer-arrow":"^1.2.3","@typescript-eslint/eslint-plugin":"^5.60.1"},"_npmOperationalInternal":{"tmp":"tmp/nextcloud-node-client_1.8.7_1690454110581_0.5865299191652895","host":"s3://npm-registry-packages"}},"1.8.8":{"name":"@a.heisterkamp/nextcloud-node-client","version":"1.8.8","keywords":["nextcloud","api","file","folder","tagging","nodejs","sharing","typescript","user management"],"author":{"name":"Holger Gockel"},"license":"Apache-2.0","_id":"@a.heisterkamp/nextcloud-node-client@1.8.8","maintainers":[{"name":"a.heisterkamp","email":"a.heisterkamp@defi-esser.de"}],"contributors":[{"name":"Scrounger"}],"homepage":"https://hobigo.github.io/nextcloud-node-client","bugs":{"url":"https://github.com/hobigo/nextcloud-node-client/issues"},"nyc":{"all":true,"exclude":["**/*.d.ts","**/*.js","**/src/test/*.ts"],"reporter":["html","lcov"],"extension":[".ts",".tsx"],"report-dir":"./docs/coverage"},"dist":{"shasum":"eb5fda4c8ff8215ca799fa2013baf51fc9587fe2","tarball":"https://registry.npmjs.org/@a.heisterkamp/nextcloud-node-client/-/nextcloud-node-client-1.8.8.tgz","fileCount":55,"integrity":"sha512-lZlqAPSnehyO/3Lc/mESq5Bt6yACSpsbDsWj2p4DRfbCelmRpEt0gv/8E/c5qXKGba/h2R+Hz1WBDlLiuArOeQ==","signatures":[{"sig":"MEQCICe/EjHI801PCKOA28il3d7A2mMfWpG2JZrFcTyGlXrrAiBkC17+DY1BKaSZGuysTIDSPxEZl0NLMr/0eCi15o2TOg==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":327902},"main":"dist/client.js","types":"dist/client.d.ts","gitHead":"090c16390e5ea7bf7fa1fb7c6ed7f530a38dbd85","scripts":{"test":"mocha -r ts-node/register src/test/*test.ts","build":"node ./node_modules/typescript/bin/tsc","cover":"nyc mocha -r ts-node/register src/test/*test.ts && nyc report --reporter=text-lcov > coverage.lcov","eslint":"npx eslint","record":"nyc mocha -r ts-node/register src/test/*test.ts --record","build-watch":"node ./node_modules/typescript/bin/tsc -w","create-lcov":"codecov -t <token>","build-release":"node ./node_modules/typescript/bin/tsc && typedoc --out ./docs/ ./src/client.ts","documentation":"typedoc"},"_npmUser":{"name":"a.heisterkamp","email":"a.heisterkamp@defi-esser.de"},"overrides":{"semver":"^7.5.3"},"repository":{"url":"git+https://github.com/hobigo/nextcloud-node-client.git","type":"git"},"_npmVersion":"9.7.2","description":"Nextcloud client API for node.js TypeScript applications","directories":{},"_nodeVersion":"18.16.1","dependencies":{"joi":"^17.9.2","debug":"^4.3.4","tslog":"^4.8.2","dotenv":"^16.3.1","@hapi/joi":"^17.1.1","node-fetch":"^2.6.11","vcap_services":"^0.7.1","fast-xml-parser":"^4.2.5","http-proxy-agent":"^7.0.0"},"_hasShrinkwrap":false,"devDependencies":{"nyc":"^15.1.0","chai":"^4.3.7","mocha":"^10.2.0","eslint":"^8.43.0","codecov":"^3.8.2","ts-node":"^10.9.1","typedoc":"^0.24.8","prettier":"^2.8.8","ts-loader":"^9.4.3","@types/joi":"^17.2.2","mocked-env":"^1.3.5","typescript":"^5.1.3","@types/chai":"^4.3.5","@types/node":"^20.3.2","@types/debug":"^4.1.8","@types/mocha":"^10.0.1","@types/node-fetch":"^2.6.4","eslint-plugin-jsdoc":"^46.3.0","eslint-config-prettier":"^8.8.0","eslint-plugin-prettier":"^4.2.1","@types/http-proxy-agent":"^4.0.0","@typescript-eslint/parser":"^5.60.1","eslint-plugin-prefer-arrow":"^1.2.3","@typescript-eslint/eslint-plugin":"^5.60.1"},"_npmOperationalInternal":{"tmp":"tmp/nextcloud-node-client_1.8.8_1690454509107_0.536911469615436","host":"s3://npm-registry-packages"}},"1.9.0":{"name":"@a.heisterkamp/nextcloud-node-client","version":"1.9.0","keywords":["nextcloud","api","file","folder","tagging","nodejs","sharing","typescript","user management"],"author":{"name":"Holger Gockel"},"license":"Apache-2.0","_id":"@a.heisterkamp/nextcloud-node-client@1.9.0","maintainers":[{"name":"a.heisterkamp","email":"a.heisterkamp@defi-esser.de"}],"contributors":[{"name":"Scrounger"}],"homepage":"https://hobigo.github.io/nextcloud-node-client","bugs":{"url":"https://github.com/hobigo/nextcloud-node-client/issues"},"nyc":{"all":true,"exclude":["**/*.d.ts","**/*.js","**/src/test/*.ts"],"reporter":["html","lcov"],"extension":[".ts",".tsx"],"report-dir":"./docs/coverage"},"dist":{"shasum":"e211efa6bb311dbf4ffc798b9cf7862d8523d7b6","tarball":"https://registry.npmjs.org/@a.heisterkamp/nextcloud-node-client/-/nextcloud-node-client-1.9.0.tgz","fileCount":55,"integrity":"sha512-B9BP0C3mmvhqSCbwk3irZeMmS7y4c1trsv1ud0cIgKQKJ0pb92ywwn9iHhWvi/+ZQcndDSEV84sOWSVARUNTrQ==","signatures":[{"sig":"MEUCIQDHkMNNmpRwzKIMavkuvIo6SIkOripsYzhfFnrhvHfsqgIgV3Rjep59FJh0l8Ig6UIw2GjFBRYK3qvWDOc4mahYFmI=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":329467},"main":"dist/client.js","types":"dist/client.d.ts","gitHead":"7cf61fca8debc2a84f59b81a211ba8539431b57b","scripts":{"test":"mocha -r ts-node/register src/test/*test.ts","build":"node ./node_modules/typescript/bin/tsc","cover":"nyc mocha -r ts-node/register src/test/*test.ts && nyc report --reporter=text-lcov > coverage.lcov","eslint":"npx eslint","record":"nyc mocha -r ts-node/register src/test/*test.ts --record","build-watch":"node ./node_modules/typescript/bin/tsc -w","create-lcov":"codecov -t <token>","build-release":"node ./node_modules/typescript/bin/tsc && typedoc --out ./docs/ ./src/client.ts","documentation":"typedoc"},"_npmUser":{"name":"a.heisterkamp","email":"a.heisterkamp@defi-esser.de"},"overrides":{"semver":"^7.5.3"},"repository":{"url":"git+https://github.com/hobigo/nextcloud-node-client.git","type":"git"},"_npmVersion":"11.6.4","description":"Nextcloud client API for node.js TypeScript applications","directories":{},"_nodeVersion":"24.13.0","dependencies":{"joi":"^17.9.2","debug":"^4.3.4","tslog":"^4.8.2","dotenv":"^16.3.1","@hapi/joi":"^17.1.1","node-fetch":"^2.6.11","vcap_services":"^0.7.1","fast-xml-parser":"^5.3.4","http-proxy-agent":"^7.0.0"},"_hasShrinkwrap":false,"devDependencies":{"nyc":"^15.1.0","chai":"^4.3.7","mocha":"^10.2.0","eslint":"^8.43.0","codecov":"^3.8.2","ts-node":"^10.9.1","typedoc":"^0.24.8","prettier":"^2.8.8","ts-loader":"^9.4.3","@types/joi":"^17.2.2","mocked-env":"^1.3.5","typescript":"^5.1.3","@types/chai":"^4.3.5","@types/node":"^20.3.2","@types/debug":"^4.1.8","@types/mocha":"^10.0.1","@types/node-fetch":"^2.6.4","eslint-plugin-jsdoc":"^46.3.0","eslint-config-prettier":"^8.8.0","eslint-plugin-prettier":"^4.2.1","@types/http-proxy-agent":"^4.0.0","@typescript-eslint/parser":"^5.60.1","eslint-plugin-prefer-arrow":"^1.2.3","@typescript-eslint/eslint-plugin":"^5.60.1"},"_npmOperationalInternal":{"tmp":"tmp/nextcloud-node-client_1.9.0_1770299228557_0.7456768192927925","host":"s3://npm-registry-packages-npm-production"}},"1.9.1":{"name":"@a.heisterkamp/nextcloud-node-client","version":"1.9.1","keywords":["nextcloud","api","file","folder","tagging","nodejs","sharing","typescript","user management"],"author":{"name":"Holger Gockel"},"license":"Apache-2.0","_id":"@a.heisterkamp/nextcloud-node-client@1.9.1","maintainers":[{"name":"a.heisterkamp","email":"a.heisterkamp@defi-esser.de"}],"contributors":[{"name":"Scrounger"}],"homepage":"https://hobigo.github.io/nextcloud-node-client","bugs":{"url":"https://github.com/hobigo/nextcloud-node-client/issues"},"nyc":{"all":true,"exclude":["**/*.d.ts","**/*.js","**/src/test/*.ts"],"reporter":["html","lcov"],"extension":[".ts",".tsx"],"report-dir":"./docs/coverage"},"dist":{"shasum":"23074e18deda7da608816bea1572c435d7c1efa8","tarball":"https://registry.npmjs.org/@a.heisterkamp/nextcloud-node-client/-/nextcloud-node-client-1.9.1.tgz","fileCount":55,"integrity":"sha512-GDmB6P2Mme/TCmoUuWCtOEovMIS8uB9CxdRcQjazNH14pG5SIotBr8hgzGKbF2AhpztvfeTxk6+Bj5xXvBN2ZA==","signatures":[{"sig":"MEUCIQDuJ6vWKhrlJEgB2VVPhMrSEFtvrvT9bFD/M2tOQoztRwIgHUAUyz/Ow7KiWK3SNN+37v/ber7HB0x0rMc6zdlCd/I=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":329567},"main":"dist/client.js","types":"dist/client.d.ts","gitHead":"0a57c3e8fe38ce9a3ba8aa6e1f734f2145dbe8d9","scripts":{"test":"mocha -r ts-node/register src/test/*test.ts","build":"node ./node_modules/typescript/bin/tsc","cover":"nyc mocha -r ts-node/register src/test/*test.ts && nyc report --reporter=text-lcov > coverage.lcov","eslint":"npx eslint","record":"nyc mocha -r ts-node/register src/test/*test.ts --record","build-watch":"node ./node_modules/typescript/bin/tsc -w","create-lcov":"codecov -t <token>","build-release":"node ./node_modules/typescript/bin/tsc && typedoc --out ./docs/ ./src/client.ts","documentation":"typedoc"},"_npmUser":{"name":"a.heisterkamp","email":"a.heisterkamp@defi-esser.de"},"overrides":{"semver":"^7.5.3"},"repository":{"url":"git+https://github.com/hobigo/nextcloud-node-client.git","type":"git"},"_npmVersion":"11.11.1","description":"Nextcloud client API for node.js TypeScript applications","directories":{},"_nodeVersion":"24.14.0","dependencies":{"joi":"^17.9.2","debug":"^4.3.4","tslog":"^4.8.2","dotenv":"^16.3.1","@hapi/joi":"^17.1.1","node-fetch":"^2.6.11","vcap_services":"^0.7.1","fast-xml-parser":"^5.5.8","http-proxy-agent":"^7.0.0"},"_hasShrinkwrap":false,"devDependencies":{"nyc":"^15.1.0","chai":"^4.3.7","mocha":"^10.2.0","eslint":"^8.43.0","codecov":"^3.8.2","ts-node":"^10.9.1","typedoc":"^0.24.8","prettier":"^2.8.8","ts-loader":"^9.4.3","@types/joi":"^17.2.2","mocked-env":"^1.3.5","typescript":"^5.1.3","@types/chai":"^4.3.5","@types/node":"^20.3.2","@types/debug":"^4.1.8","@types/mocha":"^10.0.1","@types/node-fetch":"^2.6.4","eslint-plugin-jsdoc":"^46.3.0","eslint-config-prettier":"^8.8.0","eslint-plugin-prettier":"^4.2.1","@types/http-proxy-agent":"^4.0.0","@typescript-eslint/parser":"^5.60.1","eslint-plugin-prefer-arrow":"^1.2.3","@typescript-eslint/eslint-plugin":"^5.60.1"},"_npmOperationalInternal":{"tmp":"tmp/nextcloud-node-client_1.9.1_1774273052266_0.8808149626544153","host":"s3://npm-registry-packages-npm-production"}},"1.9.2":{"name":"@a.heisterkamp/nextcloud-node-client","version":"1.9.2","description":"Nextcloud client API for node.js TypeScript applications","main":"dist/client.js","types":"dist/client.d.ts","repository":{"type":"git","url":"git+https://github.com/hobigo/nextcloud-node-client.git"},"scripts":{"build-watch":"node ./node_modules/typescript/bin/tsc -w","build":"node ./node_modules/typescript/bin/tsc","build-release":"node ./node_modules/typescript/bin/tsc && typedoc --out ./docs/ ./src/client.ts","test":"mocha -r ts-node/register src/test/*test.ts","cover":"nyc mocha -r ts-node/register src/test/*test.ts && nyc report --reporter=text-lcov > coverage.lcov","record":"nyc mocha -r ts-node/register src/test/*test.ts --record","documentation":"typedoc","create-lcov":"codecov -t <token>","eslint":"npx eslint"},"nyc":{"extension":[".ts",".tsx"],"exclude":["**/*.d.ts","**/*.js","**/src/test/*.ts"],"reporter":["html","lcov"],"all":true,"report-dir":"./docs/coverage"},"keywords":["nextcloud","api","file","folder","tagging","nodejs","sharing","typescript","user management"],"author":{"name":"Holger Gockel"},"contributors":[{"name":"Scrounger"}],"license":"Apache-2.0","dependencies":{"@hapi/joi":"^17.1.1","debug":"^4.3.4","dotenv":"^16.3.1","fast-xml-parser":"^5.5.8","http-proxy-agent":"^7.0.0","joi":"^17.9.2","node-fetch":"^2.6.11","tslog":"^4.8.2","vcap_services":"^0.7.1"},"devDependencies":{"@types/chai":"^4.3.5","@types/debug":"^4.1.8","@types/http-proxy-agent":"^4.0.0","@types/joi":"^17.2.2","@types/mocha":"^10.0.1","@types/node":"^20.3.2","@types/node-fetch":"^2.6.4","@typescript-eslint/eslint-plugin":"^5.60.1","@typescript-eslint/parser":"^5.60.1","chai":"^4.3.7","codecov":"^3.8.2","eslint":"^8.43.0","eslint-config-prettier":"^8.8.0","eslint-plugin-jsdoc":"^46.3.0","eslint-plugin-prefer-arrow":"^1.2.3","eslint-plugin-prettier":"^4.2.1","mocha":"^10.2.0","mocked-env":"^1.3.5","nyc":"^15.1.0","prettier":"^2.8.8","ts-loader":"^9.4.3","ts-node":"^10.9.1","typedoc":"^0.24.8","typescript":"^5.1.3"},"bugs":{"url":"https://github.com/hobigo/nextcloud-node-client/issues"},"homepage":"https://hobigo.github.io/nextcloud-node-client","overrides":{"semver":"^7.5.3"},"gitHead":"0090f516da24f245e4af19ebdfc33ace11322450","_id":"@a.heisterkamp/nextcloud-node-client@1.9.2","_nodeVersion":"24.14.0","_npmVersion":"11.11.1","dist":{"integrity":"sha512-gGZnXWKbTOtYcQgdKJphIoCxrE/EizGGO4lNamqsPMhnrihvWbN3eujKqj9FCjptTJ8U71/EtgLi8moc7rGHKQ==","shasum":"0743853a309ba86e11851165387e47606db31105","tarball":"https://registry.npmjs.org/@a.heisterkamp/nextcloud-node-client/-/nextcloud-node-client-1.9.2.tgz","fileCount":55,"unpackedSize":329531,"signatures":[{"keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U","sig":"MEQCIHwD/TUUwVqsi5J0jR3N/MsnhrB9qe8//FPXJLYjlAi3AiAaLQ9pA863w2S9gdPPg4NXSm2Hdgdyq6N0DzIOt+iN+Q=="}]},"_npmUser":{"name":"a.heisterkamp","email":"a.heisterkamp@defi-esser.de"},"directories":{},"maintainers":[{"name":"a.heisterkamp","email":"a.heisterkamp@defi-esser.de"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/nextcloud-node-client_1.9.2_1774335609728_0.4596042147294461"},"_hasShrinkwrap":false}},"time":{"created":"2023-06-27T09:00:11.956Z","modified":"2026-03-24T07:00:09.984Z","1.8.1":"2023-06-27T09:00:12.226Z","1.8.2":"2023-06-27T09:30:00.847Z","1.8.3":"2023-06-27T10:17:48.199Z","1.8.4":"2023-06-27T10:21:13.041Z","1.8.5":"2023-06-27T11:36:37.137Z","1.8.6":"2023-06-30T12:03:21.804Z","1.8.7":"2023-07-27T10:35:10.747Z","1.8.8":"2023-07-27T10:41:49.347Z","1.8.9":"2026-02-05T12:25:35.875Z","1.9.0":"2026-02-05T13:47:08.724Z","1.9.1":"2026-03-23T13:37:32.390Z","1.9.2":"2026-03-24T07:00:09.887Z"},"bugs":{"url":"https://github.com/hobigo/nextcloud-node-client/issues"},"author":{"name":"Holger Gockel"},"license":"Apache-2.0","homepage":"https://hobigo.github.io/nextcloud-node-client","keywords":["nextcloud","api","file","folder","tagging","nodejs","sharing","typescript","user management"],"repository":{"type":"git","url":"git+https://github.com/hobigo/nextcloud-node-client.git"},"description":"Nextcloud client API for node.js TypeScript applications","contributors":[{"name":"Scrounger"}],"maintainers":[{"name":"a.heisterkamp","email":"a.heisterkamp@defi-esser.de"}],"readme":"# nextcloud-node-client\n\n <img src=\"https://raw.githubusercontent.com/hobigo/nextcloud-node-client/master/ncnc-logo.png\" width=\"100\"  style=\"max-width:100%;\">\n\nAccess nextcloud remotely from node.js applications with a rich and simple TypeScript / JavaScript API.\n\n[![lang: Typescript](https://img.shields.io/badge/Language-Typescript-Blue.svg?style=flat-square)](https://www.typescriptlang.org)\n![](https://github.com/hobigo/nextcloud-node-client/workflows/CI/badge.svg)\n[![NPM Downloads](https://img.shields.io/npm/dm/nextcloud-node-client.svg?style=flat)](https://npmjs.org/package/nextcloud-node-client)\n[![Dependency Status](https://david-dm.org/hobigo/nextcloud-node-client.svg?style=flat)](https://david-dm.org/hobigo/nextcloud-node-client)\n[![Coverage Status](https://coveralls.io/repos/github/hobigo/nextcloud-node-client/badge.svg?branch=master)](https://coveralls.io/github/hobigo/nextcloud-node-client?branch=master)\n[![Install Size](https://packagephobia.now.sh/badge?p=commander)](https://packagephobia.now.sh/result?p=nextcloud-node-client)\n[![documentation](https://img.shields.io/website-up-down-green-red/https/hobigo.github.io/nextcloud-node-client.svg?label=documentation-website)](https://hobigo.github.io/nextcloud-node-client)\n\n- upload and download files\n- create files and folder structures\n- all user management functions\n- create shares\n- tagging and commenting\n\nThe nextcloud node client is used to automate access to nextcloud servers from node.js apppliactions. \n\n# Example\n```typescript\n// typescript\nimport Client, { File, Folder, Tag, Share } from \"nextcloud-node-client\";\n\n(async () => {\n    try {\n        // create a new client using connectivity information from environment \n        const client = new Client();\n        // create a folder structure if not available\n        const folder: Folder = await client.createFolder(\"folder/subfolder\");\n        // create file within the folder\n        const file: File = await folder.createFile(\"myFile.txt\", Buffer.from(\"My file content\"));\n        // add a tag to the file and create the tag if not existing\n        await file.addTag(\"MyTag\");\n        // add a comment to the file\n        await file.addComment(\"myComment\");\n        // get the file content\n        const content: Buffer = await file.getContent();\n        // share the file publicly with password and note\n        const share: Share = await client.createShare({ fileSystemElement: file });\n        await share.setPassword(\"some password\");\n        await share.setNote(\"some note\\nnew line\");\n        // use the url to access the share \n        const shareLink:string = share.url;\n        // delete the folder including the file and share\n        await folder.delete();\n    } catch (e) {\n        // some error handling   \n        console.log(e);\n    }\n})();\n```\n# Documentation\n* [Installation](#installation)\n* [Upload files and folders](./docs/upload.md)\n* [Download files and folders](./docs/download.md)\n* [Get files recursively](./docs/getFiles.md)\n* [User Management](./docs/userManagement.md)\n* [Tagging](./docs/tagging.md)\n* [Security and access management](#security-and-access-management)\n* [Concepts and Philosophy](#concepts-and-philosophy)\n* [API](#api)\n* [Architecture](#architecture)\n* [Examples](#examples)\n\n## Installation\n``\nnpm install nextcloud-node-client\n``\n\n## Security and access management\nThe client requires the url of the nextcloud server and the credentials. \n\nUse an app specific password generated in the security - devices & sessions section of the nextcloud settings.\n\n### Environment\nCredentials can be specified in the environment:\n```\nNEXTCLOUD_USERNAME= \"<your user name>\"\nNEXTCLOUD_PASSWORD = \"<your password>\"\nNEXTCLOUD_URL= \"https://<your nextcloud host>\"\n```\n\nThe cloud service configuration `VCAP_SERVICES` can be used alternativley (refer to the Cloud Foundry documentation for details).\n\nThe nextcloud credentials are stored in the section for user provided services `user-provided`.\nThe client is able to access the service credentials by providing the instance name.\n```json\n{\n    \"user-provided\": [\n        {\n            \"credentials\": {\n                \"password\": \"<your password>\",\n                \"url\": \"https://<your nextcloud host>\",\n                \"username\": \"<your user name>\"\n            },\n            \"name\": \"<your service instance name>\"\n        }\n    ]\n}\n```\n\n### Creating a client\nCreating a nextcloud client \n\n```typescript\n  // uses the environment to initialize\n  import Client from \"nextcloud-node-client\";\n  const client = new Client();\n```\n\n```typescript\n  // uses explicite credentials\n  import Client, { Server } from \"nextcloud-node-client\";\n  const server: Server = new Server(\n            { basicAuth:\n                { password: \"<your password>\",\n                  username: \"<your user name>\",\n                },\n                url: \"https://<your nextcloud host>\",\n            });\n\n  const client = new Client(server);\n```\n\n## Concepts and Philosophy\nThe nextcloud-node-client provids a object oriented API in TypeScript. The focus is to provide a simple access to the nextcloud resources rather than a full functional coverage.\n\n![nextcloud node client object model](https://raw.githubusercontent.com/hobigo/nextcloud-node-client/master/ncnc-object-model.png)\n\nThe client comes with an object oriented API to access the APIs of nextcloud. The following object types are supported:\n### Client \nThe client is the root object and represents the connection to the nextcloud server. The client is used to get access to the root folder and the tag repository.\n\n### Folder\nThe folder is the representation of a nextcloud folder. It may contain many files. All files of a folder are deleted, if the folder is deleted.\n\n### File\nThe file is the representation of a nextcloud file. Every file is contained in a folder.\n\n### Tag\nTags are used to filter for file and folders. Tags can be created and assigned to files or folders.\n\n### Share\nFiles and folders can be shared with user, user groups or publicly. The share can be password protected and an exiration date can be applied.\n\n## API\nThis is an overview of the client API.\nDetails can be found in the [API docs](https://hobigo.github.io/nextcloud-node-client)\n\n\n### Client\n- factory method for client \n- create folder\n- get folder, get root folder\n- create file\n- get file\n- create tag*\n- get tags, by name, by id\n- get quota\n- find users, get user by id\n- create user\n- mass creations and changes of users\n- get user groups, by id\n- create user group\n### Folder\n- get name, id, base name, urls\n- delete\n- create sub folders \n- get sub folder\n- create file\n- get files\n- get tags, add tag, remove tag\n- add comment\n- get comments\n- move/rename\n### File\n- get name, id, base name, urls, content type\n- get content\n- delete\n- get tags, add tag, remove tag\n- add comment\n- get comments\n- get folder\n- move/rename\n### Tag\n- get name, id\n- delete*\n### Share\n- create, update, delete\n### User Group\n- delete\n- get members, get subadmins\n### User\n- delete\n- get properties (display name, email, quota and usage, language, last login, ...)\n- change properties (display name, email, quota, language, password, ...)\n- send welcome email\n- enable / disable\n- promote to super admin / demote from super admin\n- get member groups, get subadmin groups\n- add to user group as member / remove from member user group\n- promote as subadmin for user group / demote from subadmin user group\n\n\\* admin permissions required\n\n### API Examples\n#### Quota\n```typescript\n    const q: IQuota = await client.getQuota();  \n    // { used: 479244777, available: 10278950773 }\n```\n\n#### Sytem information\n```typescript\n    const si: ISystemInfo = await client.getSystemInfo();  \n```\n\n#### Create folder\n```typescript\n    // create folder\n    const folder: Folder = await client.createFolder(\"/products/brooms\");\n    // create subfolder\n    const subfolder: Folder = await folder.createSubFolder(\"soft brooms\");\n    // \"/products/brooms/soft brooms\"\n    \n```\n\n#### Get folder(s)\n```typescript\n    // get folder\n    const folder: Folder = await client.getFolder(\"/products\");\n    // get subfolders\n    const subfolders: Folder[] = await folder.getSubFolders();    \n```\n\n#### Delete folder\n```typescript\n    // get folder\n    const folder: Folder = await client.getFolder(\"/products\");\n    await folder.delete();\n```\n#### Create file\n```javascript\n    const folder = await client.getFolder(\"/products\");\n    const file = folder.createFile(\"MyFile.txt\", new Buffer(\"My new file\"));\n```\n#### Get file\n```javascript\n    const file = await client.getFile(\"/products/MyFile.txt\");\n    // or\n    const folder = await client.getFolder(\"/products\");\n    const file = await folder.getFile(\"MyFile.txt\");\n    // file: name, baseName, lastmod, size, mime\n```\n#### Get file content\n```javascript\n    const file = await client.getFile(\"/products/MyFile.txt\");\n    const buffer = await file.getContent();\n```\n#### Get file Url\n```javascript\n    const file = await client.getFile(\"/products/MyFile.txt\");\n    const url = await file.getUrl();\n```\n#### Add tag to file\n```javascript\n    const file = await client.getFile(\"/products/MyFile.txt\");\n    await file.addTag(\"myTag\");\n```\n#### Delete file\n```javascript\n    const file = await client.getFile(\"/products/MyFile.txt\");\n    await file.delete();\n```\n#### Get files\n```javascript\n    const folder = await client.getFolder(\"/products\");\n    const files = await folder.getFiles();\n```\n#### Move and/or rename file\n```javascript\n    const file = await client.getFile(\"/products/MyFile.txt\");\n    await file.move(\"/products/brooms/MyFileRenamed.txt\");\n```\n\n#### Create, change and delete a share\n```typescript\n    const file = await client.getFile(\"/products/MyFile.txt\");\n    // share the file (works also for folder)\n    const createShare: ICreateShare = { fileSystemElement: file };\n    const share: Share = await client.createShare(createShare);\n    // change share settings\n    await share.setPassword(\"some password\");\n    await share.setNote(\"some note\\nnew line\");\n    await share.setExpiration(new Date(2020, 11, 5));  \n    // use the url to access the share \n    const shareLink:string = share.url;\n    // delete share, if not required anymore\n    await share.delete();\n```\n\n\n## Architecture\nThe nextcloud node client can be used by node applications to extend the nextcloud functionality remotely. The client uses only HTTP apis of nextcloud for access.\n\n![nextcloud node client component architecture](https://raw.githubusercontent.com/hobigo/nextcloud-node-client/master/ncnc-architecture.png)\n\n## Examples\n### User management\n```typescript\n// typescript\nimport Client, { User, UserGroup } from \"nextcloud-node-client\";\n\n(async () => {\n    try {\n        // create a new client using connectivity \n        // information from environment\n        const client = new Client();\n        // create a new user group\n        const group: UserGroup = await client.createUserGroup(\"MyGroup\");\n        // create a new user with a email or password\n        const user: User = await client.createUser({ id: \"MyUserId\", email: \"mail@example.com\" });\n        // set some properties \n        // ... password, phone, website, twitter, address, email, locale\n        await user.setDisplayName(\"My Display Name\");\n        await user.setQuota(\"5 GB\");\n        await user.setLanguage(\"en\");\n        // get properties \n        // ... quota, user friendly quota, phone, website, twitter, address, locale\n        const email = await user.getEmail();\n        // disable user\n        await user.disable();\n        // enable user\n        await user.enable();\n        // promote to super administrator\n        await user.promoteToSuperAdmin();\n        // demote from super administrator\n        await user.demoteFromSuperAdmin();\n        // resend welcome email to user\n        await user.resendWelcomeEmail();\n        // add to user group as member\n        await user.addToMemberUserGroup(group);\n        // get member user groups\n        const memberGroups: UserGroup[] = await user.getMemberUserGroups();\n        // get user ids of memembers\n        await group.getMemberUserIds();\n        // remove user from member group\n        await user.removeFromMemberUserGroup(group);\n        // promote user as subadmin for user group\n        await user.promoteToUserGroupSubadmin(group);\n        // get user groups where the user is subadmin\n        const subadminGroups: UserGroup[] = await user.getSubadminUserGroups();\n        // get user ids of subadmins\n        await group.getSubadminUserIds();\n        // demote user from being subadmin for user group\n        await user.demoteFromSubadminUserGroup(group);\n        // delete the user\n        await user.delete();\n        // delete the user group\n        await group.delete();\n        // mass creations / updates of users\n        // groups are created on the fly\n        await client.upsertUsers([\n            { id: \"myUser1\", email: \"myUser1@example.com\", enabled: false, memberGroups: [\"group1\", \"group2\"] },\n            { id: \"myUser2\", password: \"mySecurePassword\", displayName: \"My Name\", superAdmin: true, quota: \"2 GB\" },\n            // ...\n        ]);\n    } catch (e) {\n        // use specific exception *error classes \n        // for error handling documented in @throws\n    }\n})();\n```\n### Tagging\n```typescript\n// typescript\nimport Client, { File, Folder, Share, Tag, FileSystemElement } from \"nextcloud-node-client\";\n\n(async () => {\n    try {\n        // create a new client using connectivity information from environment\n        const client = new Client();\n        // create a folder structure if not available\n        const folder: Folder = await client.createFolder(\"folder/subfolder\");\n        // create file within the folder\n        const file: File = await folder.createFile(\"myFile.txt\", Buffer.from(\"My file content\"));\n        // create two tags\n        const tag1: Tag = await client.createTag(\"tag 1\");\n        const tag2: Tag = await client.createTag(\"tag 2\");\n        // assign tag to folder\n        folder.addTag(tag1.name);\n        // assign tag to files\n        file.addTag(tag1.name);\n        file.addTag(tag2.name);\n\n        // get list of file system elements with the tag1 assigned\n        let fse: FileSystemElement[] = await client.getFileSystemElementByTags([tag1]);\n        // print names of folder and file\n        console.log(fse[0].name);\n        console.log(fse[1].name);\n\n        // get list of file system elements with the tag1 and tag2\n        fse = await client.getFileSystemElementByTags([tag1, tag2]);\n        // print name of file\n        console.log(fse[0].name);\n\n        // delete the tags\n        await tag1.delete();\n        await tag2.delete();\n        // delete the folder including the file and share\n        await folder.delete();\n    } catch (e) {\n        // some error handling\n        console.log(e);\n    }\n})();\n```\n\n## Quality\nTested with nextcloud 17.0.1, 18.0.0\n\nA code coverage of 100% is aspired\n\n## Todo list\n\n### Version 2.0\n- remove vcap services support\n- remove server object and replace with connection object\n- connection object handles all http requets (new Connection, conn.connect() ...)\n- refactor client - use connection instead of client in sub objects move client methods to sub objects\n- Move exceptions to relevant objects, prefix all exceptions with \"Error\"\n- Remove \"I\" from interface names\n\n### Sharing\nShare with \n* user\n* usergroup\n* email-address\n\n### Search\n* Search for files api\n* client in github actions - upload files\n\n### Server API\n* <strike>support also the nextcloud server url instead of the WebDAV url only</strike>\n\n### Download\n* <strike>download folder contents example</strike>\n* <strike>download folder contents to disk recursively</strike>\n\n### Upload\n* <strike>upload local file on disk to nextcloud</strike>\n* <strike>upload local folder on disk to nextcloud recursively</strike>\n\n### Get Files recursively\n* <strike>command get files recurively</strike>\n* <strike>filter get files recurively</strike>\n* <strike>example get files recurively</strike>\n\n### Access using tags\n<strike>* Get files and folders by tags client.getFileSystemObjectByTags</strike>\n\n### User management\nUser: \n* <strike>get</strike>\n* <strike>getIds limit, offset, search</strike>\n* <strike>create</strike>\n* <strike>update</strike>\n* <strike>delete</strike>\n* <strike>deactivate</strike>\n* <strike>add/remove group member</strike>\n* <strike>add/remove group subadmin</strike>\n* <strike>example in readme</strike>\n* send notification\n\nUser group: \n* <strike>get</strike>\n* <strike>create</strike>\n* <strike>delete</strike>\n\n### Streams\nCreate file and get file using streams\n\n### Eventing\n* create event objects\n* start observer\n* subscribe to events and register handler functions\n* telegram support\n\n### notifications\nbasic methods are available since 1.2.0 without strong typing\n* notification object\n\n### Refactoring\n* Introduction of exception classes instead of error codes (breaking change)\n* <strike>Move from codecov to coveralls</strike>\n* move to eslint instead of using tslint\n* remove \"I\" from all interfaces - (breaking change)\n\n### Search\n* Search for files api\n* client in github actions - upload files\n\n## License\nApache","readmeFilename":"README.md"}