{"_id":"@onlineapps/storage-core","_rev":"13-0bd1464b40b2f31e3e1f6fbe0438693e","name":"@onlineapps/storage-core","dist-tags":{"latest":"2.0.1"},"versions":{"1.0.2":{"name":"@onlineapps/storage-core","version":"1.0.2","keywords":["minio","storage","core","s3"],"author":{"name":"OA Drive Team"},"license":"ISC","_id":"@onlineapps/storage-core@1.0.2","maintainers":[{"name":"onlineapps","email":"npmjs@onlineapps.cz"}],"dist":{"shasum":"f4414020625873dd845f7c87f5c7d9a0998f3088","tarball":"https://registry.npmjs.org/@onlineapps/storage-core/-/storage-core-1.0.2.tgz","fileCount":6,"integrity":"sha512-NolTHziHfFjvscrs/BG5FYeyAYRBW01z+27TXxEYQmg5LJZaF/UavvFDPxkuARf4XoUneoRdEAbFKtVOXVxJ3g==","signatures":[{"sig":"MEUCIQD35mdREcUxRG3Oy5tBScKxx9AN8pIGWag/LcJMa7R5xgIgcfg21M3ZTw5DyjvcqM9enzYsPaPPZxsKYSgVGLvLQHw=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":31033},"main":"src/index.js","gitHead":"3bfea6e2bc4a2b0b0a904864ae6424616d97b96e","scripts":{"test":"jest","test:unit":"jest --testPathPattern=unit --coverage","test:watch":"jest --watch","test:coverage":"jest --coverage --coverageReporters=text-lcov html"},"_npmUser":{"name":"onlineapps","email":"npmjs@onlineapps.cz"},"_npmVersion":"9.2.0","description":"Core MinIO storage operations for OA Drive - shared by business and infrastructure services","directories":{},"_nodeVersion":"18.19.1","dependencies":{"minio":"^7.1.3"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^29.7.0","dotenv":"^16.0.3"},"_npmOperationalInternal":{"tmp":"tmp/storage-core_1.0.2_1765284211986_0.7611106829908652","host":"s3://npm-registry-packages-npm-production"}},"1.0.4":{"name":"@onlineapps/storage-core","version":"1.0.4","keywords":["minio","storage","core","s3"],"author":{"name":"OA Drive Team"},"license":"ISC","_id":"@onlineapps/storage-core@1.0.4","maintainers":[{"name":"onlineapps","email":"npmjs@onlineapps.cz"}],"dist":{"shasum":"ad5ea3413e2faf1f260c3b29240d6988b6b0f0bd","tarball":"https://registry.npmjs.org/@onlineapps/storage-core/-/storage-core-1.0.4.tgz","fileCount":6,"integrity":"sha512-Ca6JJshccruPVIN7WIwnL7FUJ3RnM/75v6jZa1lbQkpt0vDvGj5nDVoXAFdiyOOvwxc80zE/lCv8MX4/rA2kvA==","signatures":[{"sig":"MEUCICKQqeuu97YOAui/+ASrKs9KKUU9ZWiT+GCF73uVEhUVAiEA13G1A2VLSIDbZyIc/mdIxx2MzExxsosKw/u+s2D8JUI=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":31242},"main":"src/index.js","gitHead":"1d903f17b331d580d48da714c88ffe33212dc329","scripts":{"test":"jest","test:unit":"jest --testPathPattern=unit --coverage","test:watch":"jest --watch","test:coverage":"jest --coverage --coverageReporters=text-lcov html"},"_npmUser":{"name":"onlineapps","email":"npmjs@onlineapps.cz"},"_npmVersion":"9.2.0","description":"Core MinIO storage operations for OA Drive - shared by business and infrastructure services","directories":{},"_nodeVersion":"18.19.1","dependencies":{"minio":"^7.1.3"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^29.7.0","dotenv":"^16.0.3"},"_npmOperationalInternal":{"tmp":"tmp/storage-core_1.0.4_1765350317294_0.7191441980949069","host":"s3://npm-registry-packages-npm-production"}},"1.0.5":{"name":"@onlineapps/storage-core","version":"1.0.5","keywords":["minio","storage","core","s3"],"author":{"name":"OA Drive Team"},"license":"ISC","_id":"@onlineapps/storage-core@1.0.5","maintainers":[{"name":"onlineapps","email":"npmjs@onlineapps.cz"}],"dist":{"shasum":"512677069adf945e56746379842361e1893d1604","tarball":"https://registry.npmjs.org/@onlineapps/storage-core/-/storage-core-1.0.5.tgz","fileCount":6,"integrity":"sha512-Ghr+X/KV9Uctv7KsCXx0SOWgEli9PM0ubY97KXHa8m98YgVM3uZnbu8WHXJMGlpUmvbhbFh4A4I26rr7HBaL2Q==","signatures":[{"sig":"MEUCIQC1fuUvcxSuUl3PoJwoorKsF/3tD7B4JYTrhWYWHMxfqwIgAM7I5JNPzkDjEj51FwtGQJLRCTibEV58bI4GGNhFJsg=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":32119},"main":"src/index.js","gitHead":"1d903f17b331d580d48da714c88ffe33212dc329","scripts":{"test":"jest","test:unit":"jest --testPathPattern=unit --coverage","test:watch":"jest --watch","test:coverage":"jest --coverage --coverageReporters=text-lcov html"},"_npmUser":{"name":"onlineapps","email":"npmjs@onlineapps.cz"},"_npmVersion":"9.2.0","description":"Core MinIO storage operations for OA Drive - shared by business and infrastructure services","directories":{},"_nodeVersion":"18.19.1","dependencies":{"minio":"^7.1.3"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^29.7.0","dotenv":"^16.0.3"},"_npmOperationalInternal":{"tmp":"tmp/storage-core_1.0.5_1765352231213_0.6597958350604884","host":"s3://npm-registry-packages-npm-production"}},"1.0.6":{"name":"@onlineapps/storage-core","version":"1.0.6","keywords":["minio","storage","core","s3"],"author":{"name":"OA Drive Team"},"license":"ISC","_id":"@onlineapps/storage-core@1.0.6","maintainers":[{"name":"onlineapps","email":"npmjs@onlineapps.cz"}],"dist":{"shasum":"660e56d75f3cb9b81c4854c1094f3346eb3177e5","tarball":"https://registry.npmjs.org/@onlineapps/storage-core/-/storage-core-1.0.6.tgz","fileCount":6,"integrity":"sha512-DLofRqsQVLiPQK36cmfNAI7dPoZB32wjtXy4YOsC8du6Nhl3/0it2UzuprH4o9MQdaffVgVnYbpPy1Y3AK0mMQ==","signatures":[{"sig":"MEQCIGtXrIp3t+qVGXw1dTA3FAJAVJrMzyegMG6djqawSwtzAiBcU6H0OILxe0hQQPH0hxo6s7RR5YylrkMxpGELtdFjaQ==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":32051},"main":"src/index.js","gitHead":"1d903f17b331d580d48da714c88ffe33212dc329","scripts":{"test":"jest","test:unit":"jest --testPathPattern=unit --coverage","test:watch":"jest --watch","test:coverage":"jest --coverage --coverageReporters=text-lcov html"},"_npmUser":{"name":"onlineapps","email":"npmjs@onlineapps.cz"},"_npmVersion":"9.2.0","description":"Core MinIO storage operations for OA Drive - shared by business and infrastructure services","directories":{},"_nodeVersion":"18.19.1","dependencies":{"minio":"^7.1.3"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^29.7.0","dotenv":"^16.0.3"},"_npmOperationalInternal":{"tmp":"tmp/storage-core_1.0.6_1765352325414_0.5103512779504122","host":"s3://npm-registry-packages-npm-production"}},"1.0.7":{"name":"@onlineapps/storage-core","version":"1.0.7","keywords":["minio","storage","core","s3"],"author":{"name":"OA Drive Team"},"license":"ISC","_id":"@onlineapps/storage-core@1.0.7","maintainers":[{"name":"onlineapps","email":"npmjs@onlineapps.cz"}],"dist":{"shasum":"3b1f04dd18810550e26fc6c61252d944349f8c0d","tarball":"https://registry.npmjs.org/@onlineapps/storage-core/-/storage-core-1.0.7.tgz","fileCount":6,"integrity":"sha512-5DfJ0IigyJr1ZTeNT/H62t+SyLP9Mt4Dzv306FQfQzSyjH2DjcuShiDo6sofcEsa+TeyxDndQRcVz+yyME7Vrg==","signatures":[{"sig":"MEQCIEaomDWLboInqwB9zcQA3zapjCceQ3Cm4qFFcQWBi+L/AiBzX3F/6fBbCZ6DKRBTFPYNhnKwt7Vl04f08fymahJVsw==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":32786},"main":"src/index.js","gitHead":"1d903f17b331d580d48da714c88ffe33212dc329","scripts":{"test":"jest","test:unit":"jest --testPathPattern=unit --coverage","test:watch":"jest --watch","test:coverage":"jest --coverage --coverageReporters=text-lcov html"},"_npmUser":{"name":"onlineapps","email":"npmjs@onlineapps.cz"},"_npmVersion":"9.2.0","description":"Core MinIO storage operations for OA Drive - shared by business and infrastructure services","directories":{},"_nodeVersion":"18.19.1","dependencies":{"minio":"^7.1.3"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^29.7.0","dotenv":"^16.0.3"},"_npmOperationalInternal":{"tmp":"tmp/storage-core_1.0.7_1765353187324_0.25732279862744867","host":"s3://npm-registry-packages-npm-production"}},"1.0.8":{"name":"@onlineapps/storage-core","version":"1.0.8","keywords":["minio","storage","core","s3"],"author":{"name":"OA Drive Team"},"license":"ISC","_id":"@onlineapps/storage-core@1.0.8","maintainers":[{"name":"onlineapps","email":"npmjs@onlineapps.cz"}],"dist":{"shasum":"926c2f5a9a1744d0e8daa6194315efeac16b91c6","tarball":"https://registry.npmjs.org/@onlineapps/storage-core/-/storage-core-1.0.8.tgz","fileCount":23,"integrity":"sha512-QO3MjbUCifajY8JxbOJv3iwNil+OEDqkrKq35RMqiXbP0h/G+qlymAYvnM+UHj6QHOtLLAuJiEgeybNUXit4oA==","signatures":[{"sig":"MEUCIA1lAeXEYBkV9DaFi6EJUrp7ensOjbPGGTc2ZzLf+dlpAiEAue9ZlCHXXpa+R2A7IHGOB0xo+RzovBqmEIP17kN3D/8=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":197701},"main":"src/index.js","gitHead":"3af93721cbc5cc3849955583c61a29d47933834c","scripts":{"test":"jest","test:unit":"jest --testPathPattern=unit --coverage","test:watch":"jest --watch","test:coverage":"jest --coverage --coverageReporters=text-lcov html"},"_npmUser":{"name":"onlineapps","email":"npmjs@onlineapps.cz"},"_npmVersion":"9.2.0","description":"Core MinIO storage operations for OA Drive - shared by business and infrastructure services","directories":{},"_nodeVersion":"18.19.1","dependencies":{"minio":"^7.1.3","@onlineapps/runtime-config":"1.0.1"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^29.7.0","dotenv":"^16.0.3"},"_npmOperationalInternal":{"tmp":"tmp/storage-core_1.0.8_1766402587429_0.8284904585065456","host":"s3://npm-registry-packages-npm-production"}},"1.0.9":{"name":"@onlineapps/storage-core","version":"1.0.9","keywords":["minio","storage","core","s3"],"author":{"name":"OA Drive Team"},"license":"ISC","_id":"@onlineapps/storage-core@1.0.9","maintainers":[{"name":"onlineapps","email":"npmjs@onlineapps.cz"}],"dist":{"shasum":"3a0a2cfff6ea11cb11bd3c2d7262dd7f99011567","tarball":"https://registry.npmjs.org/@onlineapps/storage-core/-/storage-core-1.0.9.tgz","fileCount":23,"integrity":"sha512-yF9rwSCbmkP5cKjOZkwPhzHCj5aJ04WXhve1n6bFL05KQRE0w2YNADgiAoUdUOrluIPF1pZVnWjvf/NFB94pOw==","signatures":[{"sig":"MEQCIE3zOESh+cMAEx7Brzx8571yZfcE+gGErtR3D7ciQNn3AiAi2KzC/yBR0FxpwDZFYSoM26BrEA4FCFID+Fb4w1wgAQ==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":197701},"main":"src/index.js","gitHead":"3af93721cbc5cc3849955583c61a29d47933834c","scripts":{"test":"jest","test:unit":"jest --testPathPattern=unit --coverage","test:watch":"jest --watch","test:coverage":"jest --coverage --coverageReporters=text-lcov html"},"_npmUser":{"name":"onlineapps","email":"npmjs@onlineapps.cz"},"_npmVersion":"9.2.0","description":"Core MinIO storage operations for OA Drive - shared by business and infrastructure services","directories":{},"_nodeVersion":"18.19.1","dependencies":{"minio":"^7.1.3","@onlineapps/runtime-config":"1.0.2"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^29.7.0","dotenv":"^16.0.3"},"_npmOperationalInternal":{"tmp":"tmp/storage-core_1.0.9_1766402608926_0.8023532600820895","host":"s3://npm-registry-packages-npm-production"}},"1.0.10":{"name":"@onlineapps/storage-core","version":"1.0.10","keywords":["minio","storage","core","s3"],"author":{"name":"OA Drive Team"},"license":"ISC","_id":"@onlineapps/storage-core@1.0.10","maintainers":[{"name":"onlineapps","email":"npmjs@onlineapps.cz"}],"dist":{"shasum":"59e797d7f058f18c34deaab61034cce459ed5f0d","tarball":"https://registry.npmjs.org/@onlineapps/storage-core/-/storage-core-1.0.10.tgz","fileCount":23,"integrity":"sha512-nK7xQYbXYa8ZdgXYRRuDl5YSs1li708bQ0Daqga/JTUhVnZEl2SuZVLRsv05QV6kc4dwNEtzwpVuNUL+vgsmTg==","signatures":[{"sig":"MEQCIFkfl9c6N48paJrf+CiFAmkRzXr83h6Ifmv37rmn/ICDAiBizTN2lOZsbN9buwTr/ug/3Mr+kBdzMdpKluY5JORSUg==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":197802},"main":"src/index.js","gitHead":"7ae9ffa29172a8c3251351389c68fbc319799763","scripts":{"test":"jest","test:unit":"jest --testPathPattern=unit --coverage","test:watch":"jest --watch","test:coverage":"jest --coverage --coverageReporters=text-lcov html"},"_npmUser":{"name":"onlineapps","email":"npmjs@onlineapps.cz"},"_npmVersion":"9.2.0","description":"Core MinIO storage operations for OA Drive - shared by business and infrastructure services","directories":{},"_nodeVersion":"18.19.1","dependencies":{"minio":"^7.1.3","@onlineapps/runtime-config":"1.0.2"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^29.7.0","dotenv":"^16.0.3"},"_npmOperationalInternal":{"tmp":"tmp/storage-core_1.0.10_1766450465499_0.48680013893549945","host":"s3://npm-registry-packages-npm-production"}},"1.0.11":{"name":"@onlineapps/storage-core","version":"1.0.11","keywords":["minio","storage","core","s3"],"author":{"name":"OA Drive Team"},"license":"ISC","_id":"@onlineapps/storage-core@1.0.11","maintainers":[{"name":"onlineapps","email":"npmjs@onlineapps.cz"}],"dist":{"shasum":"16398dccf8a8368b882052f4c8bf08e5b147ab9e","tarball":"https://registry.npmjs.org/@onlineapps/storage-core/-/storage-core-1.0.11.tgz","fileCount":7,"integrity":"sha512-ROkYRrmEydFBOw4H9h4m2unYWn2d1cyH8vNTYmb9Z0cOm44bleEo4Gwwd8FaNhCjWw0DnqgdhThVXoLhgziyig==","signatures":[{"sig":"MEUCIQC7PAL3+xSd4TTm+lkWqtU4E34/QTmRXCMyeM92BfIGwgIgOHUaDt3LMqUJH5/b5jG3XTcm1qQy3QKn5HBgoIar5/M=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":21273},"main":"src/index.js","gitHead":"7ae9ffa29172a8c3251351389c68fbc319799763","scripts":{"test":"jest","test:unit":"jest --testPathPattern=unit","test:watch":"jest --watch","test:coverage":"jest --coverage --coverageReporters=text-lcov html"},"_npmUser":{"name":"onlineapps","email":"npmjs@onlineapps.cz"},"_npmVersion":"9.2.0","description":"Core MinIO storage operations for OA Drive - shared by business and infrastructure services","directories":{},"_nodeVersion":"18.19.1","dependencies":{"minio":"^7.1.3","@onlineapps/runtime-config":"1.0.2"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^29.7.0","dotenv":"^16.0.3"},"_npmOperationalInternal":{"tmp":"tmp/storage-core_1.0.11_1766450644112_0.1371549316904126","host":"s3://npm-registry-packages-npm-production"}},"1.0.12":{"name":"@onlineapps/storage-core","version":"1.0.12","keywords":["minio","storage","core","s3"],"author":{"name":"OA Drive Team"},"license":"ISC","_id":"@onlineapps/storage-core@1.0.12","maintainers":[{"name":"onlineapps","email":"npmjs@onlineapps.cz"}],"dist":{"shasum":"84e404d9879bdb6928253c527a29235a1be5ad43","tarball":"https://registry.npmjs.org/@onlineapps/storage-core/-/storage-core-1.0.12.tgz","fileCount":7,"integrity":"sha512-yi/mX3+mEq8ckJ1RuJlwkCEAmrIyZ4KBhKao8lG1zSS7agNQCXq4G6qNVSTTymn2omWJym9kIpx4uln6i3/Ijg==","signatures":[{"sig":"MEYCIQDT9x2VufBjYFt3KqMmiAKl7U3oRxWodfmiB+hqAHOfEgIhAL5WI/GoJ03DTBc7nySlAssfoBrSS9NAE1RkSJleTx91","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":21386},"main":"src/index.js","gitHead":"05539a00ee612503e5d0796dcd876378b8cf5a57","scripts":{"test":"jest","test:unit":"jest --testPathPattern=unit","test:watch":"jest --watch","test:coverage":"jest --coverage --coverageReporters=text-lcov html"},"_npmUser":{"name":"onlineapps","email":"npmjs@onlineapps.cz"},"_npmVersion":"9.2.0","description":"Core MinIO storage operations for OA Drive - shared by business and infrastructure services","directories":{},"_nodeVersion":"18.19.1","dependencies":{"minio":"^7.1.3","@onlineapps/runtime-config":"1.0.2"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^29.7.0","dotenv":"^16.0.3"},"_npmOperationalInternal":{"tmp":"tmp/storage-core_1.0.12_1766492593344_0.8597599473001989","host":"s3://npm-registry-packages-npm-production"}},"1.0.13":{"name":"@onlineapps/storage-core","version":"1.0.13","keywords":["minio","storage","core","s3"],"author":{"name":"OA Drive Team"},"license":"ISC","_id":"@onlineapps/storage-core@1.0.13","maintainers":[{"name":"onlineapps","email":"npmjs@onlineapps.cz"}],"dist":{"shasum":"70697e3b9e20c97377c2911d007bced83a6d825f","tarball":"https://registry.npmjs.org/@onlineapps/storage-core/-/storage-core-1.0.13.tgz","fileCount":7,"integrity":"sha512-m0Fh8wfkgUw1RFl4ppLZHhs1wB4fsRRuhhPXeByBln/QPHXTVQRXjxUwJuQirWWnNeHQIywLwSB0JnoNV+nx3A==","signatures":[{"sig":"MEYCIQCRdxQBz2J2tJo5JFt3uVf6dCeY/eEcQv3x/XOXUIkN3gIhAJRTRHwSuXpXWlZQ+WoLi+/FdnKlEGwpzuTgJpleediA","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":21389},"main":"src/index.js","gitHead":"713c33a2b8ed1fc2bb40784d476490f1a4bf6427","scripts":{"test":"jest","test:unit":"jest --testPathPattern=unit","test:watch":"jest --watch","test:coverage":"jest --coverage --coverageReporters=text-lcov html"},"_npmUser":{"name":"onlineapps","email":"npmjs@onlineapps.cz"},"_npmVersion":"11.12.1","description":"Core MinIO storage operations for OA Drive - shared by business and infrastructure services","directories":{},"_nodeVersion":"25.9.0","dependencies":{"minio":"^7.1.3","@onlineapps/runtime-config":"1.0.3"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^29.7.0","dotenv":"^16.0.3"},"_npmOperationalInternal":{"tmp":"tmp/storage-core_1.0.13_1788034143469_0.5868264137192118","host":"s3://npm-registry-packages-npm-production"}},"2.0.0":{"name":"@onlineapps/storage-core","version":"2.0.0","keywords":["minio","storage","core","s3"],"author":{"name":"OA Drive Team"},"license":"ISC","_id":"@onlineapps/storage-core@2.0.0","maintainers":[{"name":"onlineapps","email":"npmjs@onlineapps.cz"}],"oa":{"category":"connector"},"dist":{"shasum":"d02edea5a4aeb74c06b354d85f4b8d7854ef6641","tarball":"https://registry.npmjs.org/@onlineapps/storage-core/-/storage-core-2.0.0.tgz","fileCount":10,"integrity":"sha512-M+UI0p1tmFteSyoRyM0we+Xnb3elXer6PNXI7rtDeInuJjbADuHlDgATg7E1AvDOsHYjzp63Qh+s4/NqVWptkw==","signatures":[{"sig":"MEYCIQCv6GWUDa/PbXJfvMrUCcLQkTgtQArVZMF7FFXVfqe8rwIhANXkoE1UFx9lC+b+utT7ZieChI79ZMkYqgW9VvxN1eYo","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"sig":"MEQCIHFXRYXjFb7AgmFheuuseEW28tQCDYpTyF1mOQ8dfZakAiAZSjKL5b1m6oE3+4NDts2SLO9EFuM1BFn4qFV9lQca/w==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":51117},"main":"src/index.js","engines":{"node":">=24.0.0 <25"},"gitHead":"02877cf477ce0611bbceada91af0a9ef09695148","scripts":{"test":"npm run test:unit && npm run test:integration","test:unit":"jest tests/unit","test:watch":"jest --watch","test:coverage":"jest --coverage --coverageReporters=text-lcov html","test:integration":"jest --config=jest.integration.config.js"},"_npmUser":{"name":"onlineapps","email":"npmjs@onlineapps.cz"},"_npmVersion":"11.12.1","description":"Core MinIO storage operations for OA Drive - shared by business and infrastructure services","directories":{},"_nodeVersion":"25.9.0","dependencies":{"minio":"^8.0.7","@onlineapps/runtime-config":"1.1.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^29.7.0","dotenv":"^16.0.3"},"_npmOperationalInternal":{"tmp":"tmp/storage-core_2.0.0_1789409847770_0.00218365001076104","host":"s3://npm-registry-packages-npm-production"}},"2.0.1":{"oa":{"category":"connector"},"_id":"@onlineapps/storage-core@2.0.1","dist":{"shasum":"bec4072953067cce4359c4759f2bf6b4f89c8083","tarball":"https://registry.npmjs.org/@onlineapps/storage-core/-/storage-core-2.0.1.tgz","fileCount":10,"integrity":"sha512-FX3rRFmZsdr/Tdt55oytlyo3fi6puTIOQS17Kvmoq1pzGO+7SOYKyWvYJvPdwPzNO1HcExr+FJTB3yx0kIXn0Q==","signatures":[{"sig":"MEQCIGV1NcD1i5KHak2jx5FVanNOzGlKgqxQb0P0puWmLDFRAiAbYzKfPgnPiBbLXZSCZVXpom4vqvC00ElathhaHln/nA==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U","sig":"MEQCIG67oS/aqSr+xAcwOFSeJOFcC4gLlJRsbgEBXfsrCkTtAiBbBl/fhAnermCflTkDyR/Mp4Plv+MFh/tbeRL0+CfgvQ=="}],"unpackedSize":51171},"main":"src/index.js","name":"@onlineapps/storage-core","author":{"name":"OA Drive Team"},"engines":{"node":">=24.0.0 <25"},"gitHead":"ff40ad5257f504065d9e2de0b5ec4b739c8add72","license":"ISC","scripts":{"test":"npm run test:unit && npm run test:integration","test:unit":"jest tests/unit","test:watch":"jest --watch","test:coverage":"jest --coverage --coverageReporters=text-lcov html","test:integration":"jest --config=jest.integration.config.js"},"version":"2.0.1","_npmUser":{"name":"onlineapps","email":"npmjs@onlineapps.cz"},"keywords":["minio","storage","core","s3"],"_npmVersion":"11.12.1","description":"Core MinIO storage operations for OA Drive - shared by business and infrastructure services","directories":{},"maintainers":[{"name":"onlineapps","email":"npmjs@onlineapps.cz"}],"_nodeVersion":"25.9.0","dependencies":{"minio":"^8.0.7","@onlineapps/runtime-config":"1.2.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^29.7.0","dotenv":"^16.0.3"},"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/storage-core_2.0.1_1789491865123_0.7492561387243388"}}},"time":{"created":"2025-12-09T12:43:31.891Z","modified":"2026-09-15T17:04:25.618Z","1.0.2":"2025-12-09T12:43:32.137Z","1.0.4":"2025-12-10T07:05:17.434Z","1.0.5":"2025-12-10T07:37:11.361Z","1.0.6":"2025-12-10T07:38:45.569Z","1.0.7":"2025-12-10T07:53:07.481Z","1.0.8":"2025-12-22T11:23:07.591Z","1.0.9":"2025-12-22T11:23:29.078Z","1.0.10":"2025-12-23T00:41:05.652Z","1.0.11":"2025-12-23T00:44:04.247Z","1.0.12":"2025-12-23T12:23:13.493Z","1.0.13":"2026-08-29T20:09:03.616Z","2.0.0":"2026-09-14T18:17:27.857Z","2.0.1":"2026-09-15T17:04:25.250Z"},"author":{"name":"OA Drive Team"},"license":"ISC","keywords":["minio","storage","core","s3"],"description":"Core MinIO storage operations for OA Drive - shared by business and infrastructure services","maintainers":[{"name":"onlineapps","email":"npmjs@onlineapps.cz"}],"readme":"> Status: current\n> Owns: the plain MinIO operations that `conn-base-storage` and `infrastructure-tools` both build on\n\n<!-- BEGIN GENERATED: library-uniform — regenerate: npx oa-sync-template readme-uniform --all -->\nUniform: [library/connector](../../connector/conn-orch-validator/manifests/library.manifest.json)\n\nDuty sections that apply:\n\n- `all`: L-MAIN, L-ENGINES, L-TESTS, L-TEST-SCRIPT, L-PACK-TESTS, L-PINS, L-NO-FILE-RANGE, L-CHANGELOG, L-README, L-README-REGION, L-CONSUMER\n- `connector`: L-CONNECTOR-ENV\n<!-- END GENERATED: library-uniform -->\n\n# @onlineapps/storage-core\n\nCore MinIO storage operations for OA Drive - shared by business and infrastructure services.\n\n## Purpose\n\nThis package provides **basic storage operations** without business-specific features (caching, shared URLs, logging). It is used by:\n\n- **Business services** via `@onlineapps/conn-base-storage` (which adds business features)\n- **Infrastructure services** via `@onlineapps/infrastructure-tools` (which re-exports this package)\n\n## Installation\n\n```bash\nnpm install @onlineapps/storage-core\n```\n\n## Quick Start\n\n```javascript\nconst { StorageCore } = require('@onlineapps/storage-core');\n\nconst storage = new StorageCore({\n  // FAIL-FAST: topology must be explicit (no defaults for hosts/credentials)\n  endPoint: process.env.MINIO_ENDPOINT,\n  port: parseInt(process.env.MINIO_PORT, 10),\n  accessKey: process.env.MINIO_ACCESS_KEY,\n  secretKey: process.env.MINIO_SECRET_KEY\n});\n\nawait storage.initialize();\n\n// Upload\nawait storage.putObject('bucket', 'path/to/file', buffer, {\n  'Content-Type': 'application/json'\n});\n\n// Download\nconst buffer = await storage.getObject('bucket', 'path/to/file');\n\n// Fingerprint\nconst fingerprint = storage.calculateFingerprint(buffer);\n```\n\n## API\n\n### Constructor\n\n```javascript\nconst storage = new StorageCore(config);\n```\n\n**Config options:**\n- `endPoint` - MinIO server endpoint (**required**, env: `MINIO_ENDPOINT`)\n- `port` - MinIO server port (**required**, env: `MINIO_PORT`)\n- `useSSL` - Speak TLS to the object store (**required**, env: `MINIO_USE_SSL`).\n  It has no default here: the value is declared once, by\n  `api/config/shared-env.json`, which every `shared.env` is rendered from\n  (d.411). A default in this schema would make the package a second owner of\n  a platform value.\n- `accessKey` - Access key (**required**, env: `MINIO_ACCESS_KEY`)\n- `secretKey` - Secret key (**required**, env: `MINIO_SECRET_KEY`)\n- `actualHost` - The host the client can actually reach (env: `MINIO_ACTUAL_HOST`).\n  When it differs from `endPoint`, requests are **signed** for the loopback\n  literal `127.0.0.1` and **sent** to `actualHost`; the instance exposes the\n  latter as `reachableHost`. The split exists because MinIO refuses a `Host`\n  header that is not a valid hostname, and every Docker service name here\n  carries an underscore (`api_minio_proxy` → `400 invalid hostname`, measured\n  2026-09-14). The other half of the mechanism is the nginx sidecar, which\n  presents the signature endpoint as `Host` upstream —\n  `infra/api_minio_proxy/nginx.conf`.\n\n### Core Methods\n\n#### `initialize()`\nInitialize storage client (currently a no-op, kept for API consistency).\n\n#### `bucketExists(bucket)`\nCheck if bucket exists.\n\n#### `ensureBucket(bucket, region?)`\nEnsure bucket exists, create if it doesn't.\n\n#### `putObject(bucket, path, data, metadata?)`\nUpload object to storage.\n\n#### `getObject(bucket, path)`\nDownload object from storage. Resolves with a **readable stream**, not a Buffer —\nthe caller collects it if it needs the bytes in memory.\n\n#### `objectExists(bucket, path)`\nCheck if object exists.\n\n#### `statObject(bucket, path)`\nGet object metadata.\n\n#### `deleteObject(bucket, path)`\nDelete object from storage.\n\n#### `calculateFingerprint(content)`\nGenerate SHA256 fingerprint for content (string, Buffer, or Object).\n\n#### `verifyFingerprint(bucket, path, expectedFingerprint)`\nDownload object and verify its fingerprint matches expected value.\n\n#### `getContentType(filename)`\nGet MIME type from filename extension.\n\n#### `getPresignedUrl(bucket, path, expiry?)`\nGenerate presigned URL for object access. The URL names `reachableHost`, not the\nsignature endpoint — it is opened by a client outside this process, and a URL\nnaming the loopback literal sends that client to its own machine. The signature\nkeeps naming the endpoint: the proxy rewrites `Host` before MinIO sees it, so a\nURL signed for the reachable host would be answered `403` (both halves measured\nagainst the live stack; see the integration tier).\n\n#### `listByPrefix(bucket, prefix?, recursive?)`\nList objects by prefix.\n\n## Architecture\n\n```\nstorage-core (this package)\n    ↓\nconn-base-storage (business services)\n    + business features (caching, shared URLs, logging)\n\nstorage-core (this package)\n    ↓\ninfrastructure-tools (infrastructure services)\n    + re-export for infra services\n```\n\n## Error contract\n\nAll messages follow `[StorageCore] Problem - Expected/Fix`\n(`.claude/rules/architecture-principles.md` §5).\n\nA call refused at this package's own boundary — a missing bucket, path, data or\nexpected fingerprint — throws a **`StorageInputError`** carrying\n`code === 'STORAGE_ARGUMENT_INVALID'`. Nothing was sent to storage, and nothing\nwas written; a retry with the same arguments never helps.\n\n```javascript\nconst { StorageCore, STORAGE_ERROR_CODES } = require('@onlineapps/storage-core');\n\ntry {\n  await storage.getObject('bucket', '');\n} catch (err) {\n  if (err.code === STORAGE_ERROR_CODES.ARGUMENT_INVALID) {\n    // the caller's arguments were wrong\n  }\n}\n// [StorageCore] getObject: path is required - pass a non-empty object path as the second argument.\n```\n\nBranch on `err.code`, never on `instanceof`: this package is installed as a\nnested copy under several consumers, so the class object a consumer imports is\nnot necessarily the class that threw. This is the one owner of these codes in\nthe L1 storage layer — `@onlineapps/conn-base-storage` declares the identical\ncontract above it, so a consumer reads one code whichever layer refused.\n\nEverything else keeps a plain `Error`, because the arguments were not the\nproblem:\n\n```\n[StorageCore] Missing required config: endPoint (set MINIO_ENDPOINT env or pass config.endPoint)\n[StorageCore] Fingerprint mismatch: expected abc123, got def456\n```\n\nErrors the MinIO client raises are passed through untouched, keeping their own\n`code` (the S3 `<Code>` element, or a syscall code).\n\n## Dependencies\n\n- `minio` - MinIO client library\n\n**No other external dependencies** - minimal footprint.\n\n## License\n\nISC\n\n","readmeFilename":"README.md"}