{"_id":"@casperjuel/datocms-backup-api","_rev":"11-36e7654267aa200a2811710ea105150e","name":"@casperjuel/datocms-backup-api","dist-tags":{"latest":"1.0.10"},"versions":{"1.0.0":{"name":"@casperjuel/datocms-backup-api","version":"1.0.0","keywords":["datocms","backup","api","vercel","signifly"],"author":{"url":"https://signifly.com","name":"Signifly"},"license":"MIT","_id":"@casperjuel/datocms-backup-api@1.0.0","maintainers":[{"name":"casperjuel","email":"info@casperjuel.dk"}],"homepage":"https://github.com/signifly/datocms-plugin-signifly-backups","bugs":{"url":"https://github.com/signifly/datocms-plugin-signifly-backups/issues"},"dist":{"shasum":"02bbb306d6b4c19589e637787d185e622768d455","tarball":"https://registry.npmjs.org/@casperjuel/datocms-backup-api/-/datocms-backup-api-1.0.0.tgz","fileCount":38,"integrity":"sha512-h9KMfcSAXlevjlGJePrU08uhlXpjVlsHUtbYtRif/In6LjIHeUXxAeaxd+0htzA67yiFjVB4D9b4apw+5i4zVQ==","signatures":[{"sig":"MEYCIQDIWqP7jbm1zoz6R1R+bP/k3sesfIInl5onCS8lanU2hgIhALVAMlllZR9jOqR3a852A8XQXeH6G9l4tll2r6dKOx8r","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":175030},"main":"dist/index.js","type":"module","types":"dist/index.d.ts","exports":{".":{"types":"./dist/index.d.ts","default":"./dist/index.js"},"./auth":{"types":"./dist/lib/auth/verify.d.ts","default":"./dist/lib/auth/verify.js"},"./backup":{"types":"./dist/lib/backup/index.d.ts","default":"./dist/lib/backup/index.js"},"./crypto":{"types":"./dist/lib/crypto/encryption.d.ts","default":"./dist/lib/crypto/encryption.js"},"./datocms":{"types":"./dist/lib/datocms/index.d.ts","default":"./dist/lib/datocms/index.js"},"./storage":{"types":"./dist/lib/storage/kv.d.ts","default":"./dist/lib/storage/kv.js"},"./middleware":{"types":"./dist/middleware.d.ts","default":"./dist/middleware.js"},"./validation":{"types":"./dist/lib/validation/index.d.ts","default":"./dist/lib/validation/index.js"}},"gitHead":"2e356c18d2cb6079addbdd60adfd328c8b0645da","private":false,"scripts":{"dev":"next dev --port 3001","lint":"next lint","build":"npm run build:package && npm run build:next","start":"next start","typecheck":"tsc --noEmit","build:next":"next build","build:package":"tsc -p tsconfig.build.json","prepublishOnly":"npm run build:package"},"_npmUser":{"name":"casperjuel","email":"info@casperjuel.dk"},"repository":{"url":"git+https://github.com/signifly/datocms-plugin-signifly-backups.git","type":"git","directory":"apps/api"},"_npmVersion":"10.9.2","description":"Backend API for DatoCMS automatic environment backups","directories":{},"_nodeVersion":"23.11.0","dependencies":{"uuid":"^11.0.4","@vercel/kv":"^3.0.0","cron-parser":"^4.9.0","@datocms/cma-client":"^3.4.0","@casperjuel/datocms-backup-shared":"workspace:*"},"_hasShrinkwrap":false,"devDependencies":{"next":"^15.1.3","react":"^19.0.0","react-dom":"^19.0.0","typescript":"^5.7.2","@types/node":"^22.10.5","@types/uuid":"^10.0.0","@types/react":"^19.0.2","@types/react-dom":"^19.0.2"},"peerDependencies":{"next":">=14.0.0","react":">=18.0.0","react-dom":">=18.0.0"},"_npmOperationalInternal":{"tmp":"tmp/datocms-backup-api_1.0.0_1768303718684_0.874358333049172","host":"s3://npm-registry-packages-npm-production"}},"1.0.1":{"name":"@casperjuel/datocms-backup-api","version":"1.0.1","keywords":["datocms","backup","api","vercel","signifly"],"author":{"url":"https://signifly.com","name":"Signifly"},"license":"MIT","_id":"@casperjuel/datocms-backup-api@1.0.1","maintainers":[{"name":"casperjuel","email":"info@casperjuel.dk"}],"homepage":"https://github.com/signifly/datocms-plugin-signifly-backups","bugs":{"url":"https://github.com/signifly/datocms-plugin-signifly-backups/issues"},"dist":{"shasum":"f1b4e6dfc9bab4d904eb008c385ce4d2ef9ea2a0","tarball":"https://registry.npmjs.org/@casperjuel/datocms-backup-api/-/datocms-backup-api-1.0.1.tgz","fileCount":38,"integrity":"sha512-b8TYVJCQxqzhUu8fYRQ8rmrN3UlsY5gj8wFxoieHS8bVso7oJ3SbKfkJDQWKrnstdJaF7PZPZTwE/8LcVshA7w==","signatures":[{"sig":"MEUCIQCzXC8qvfxWxpcoPw4aPO+pajrqnxuEvEd6BNNXcHAJqgIgJpxwWJZNqamLAcwFv/NNyCrYNyPBj/NAyll4sw1H+A4=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":175025},"main":"dist/index.js","type":"module","types":"dist/index.d.ts","exports":{".":{"types":"./dist/index.d.ts","default":"./dist/index.js"},"./auth":{"types":"./dist/lib/auth/verify.d.ts","default":"./dist/lib/auth/verify.js"},"./backup":{"types":"./dist/lib/backup/index.d.ts","default":"./dist/lib/backup/index.js"},"./crypto":{"types":"./dist/lib/crypto/encryption.d.ts","default":"./dist/lib/crypto/encryption.js"},"./datocms":{"types":"./dist/lib/datocms/index.d.ts","default":"./dist/lib/datocms/index.js"},"./storage":{"types":"./dist/lib/storage/kv.d.ts","default":"./dist/lib/storage/kv.js"},"./middleware":{"types":"./dist/middleware.d.ts","default":"./dist/middleware.js"},"./validation":{"types":"./dist/lib/validation/index.d.ts","default":"./dist/lib/validation/index.js"}},"gitHead":"2e356c18d2cb6079addbdd60adfd328c8b0645da","private":false,"scripts":{"dev":"next dev --port 3001","lint":"next lint","build":"npm run build:package && npm run build:next","start":"next start","typecheck":"tsc --noEmit","build:next":"next build","build:package":"tsc -p tsconfig.build.json","prepublishOnly":"npm run build:package"},"_npmUser":{"name":"casperjuel","email":"info@casperjuel.dk"},"repository":{"url":"git+https://github.com/signifly/datocms-plugin-signifly-backups.git","type":"git","directory":"apps/api"},"_npmVersion":"10.9.2","description":"Backend API for DatoCMS automatic environment backups","directories":{},"_nodeVersion":"23.11.0","dependencies":{"uuid":"^11.0.4","@vercel/kv":"^3.0.0","cron-parser":"^4.9.0","@datocms/cma-client":"^3.4.0","@casperjuel/datocms-backup-shared":"^1.0.0"},"_hasShrinkwrap":false,"devDependencies":{"next":"^15.1.3","react":"^19.0.0","react-dom":"^19.0.0","typescript":"^5.7.2","@types/node":"^22.10.5","@types/uuid":"^10.0.0","@types/react":"^19.0.2","@types/react-dom":"^19.0.2"},"peerDependencies":{"next":">=14.0.0","react":">=18.0.0","react-dom":">=18.0.0"},"_npmOperationalInternal":{"tmp":"tmp/datocms-backup-api_1.0.1_1768303772569_0.530188524947802","host":"s3://npm-registry-packages-npm-production"}},"1.0.2":{"name":"@casperjuel/datocms-backup-api","version":"1.0.2","keywords":["datocms","backup","api","vercel","signifly"],"author":{"url":"https://signifly.com","name":"Signifly"},"license":"MIT","_id":"@casperjuel/datocms-backup-api@1.0.2","maintainers":[{"name":"casperjuel","email":"info@casperjuel.dk"}],"homepage":"https://github.com/signifly/datocms-plugin-signifly-backups","bugs":{"url":"https://github.com/signifly/datocms-plugin-signifly-backups/issues"},"dist":{"shasum":"f588d7c777e720c287af835a983f560edd530683","tarball":"https://registry.npmjs.org/@casperjuel/datocms-backup-api/-/datocms-backup-api-1.0.2.tgz","fileCount":39,"integrity":"sha512-HdfgLR+r+kNONwywr71iNRPfySBYlvClVy3N+zI4OY3ri7Zh+s2LwBpQ0pqrEbefskFkgF+v5BIjEqlEmuq1bQ==","signatures":[{"sig":"MEQCIGo5KkOm4lE/Bcnrdx3Q2x9lSX63eoSoRYDFXfS2+C60AiAF+SNOxMjWjJoM0stn/inajybPmtMPzrsYK6cSCIqwGQ==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":177252},"main":"dist/index.js","type":"module","types":"dist/index.d.ts","exports":{".":{"types":"./dist/index.d.ts","default":"./dist/index.js"},"./auth":{"types":"./dist/lib/auth/verify.d.ts","default":"./dist/lib/auth/verify.js"},"./backup":{"types":"./dist/lib/backup/index.d.ts","default":"./dist/lib/backup/index.js"},"./crypto":{"types":"./dist/lib/crypto/encryption.d.ts","default":"./dist/lib/crypto/encryption.js"},"./datocms":{"types":"./dist/lib/datocms/index.d.ts","default":"./dist/lib/datocms/index.js"},"./storage":{"types":"./dist/lib/storage/kv.d.ts","default":"./dist/lib/storage/kv.js"},"./middleware":{"types":"./dist/middleware.d.ts","default":"./dist/middleware.js"},"./validation":{"types":"./dist/lib/validation/index.d.ts","default":"./dist/lib/validation/index.js"}},"gitHead":"2e356c18d2cb6079addbdd60adfd328c8b0645da","private":false,"scripts":{"dev":"next dev --port 3001","lint":"next lint","build":"npm run build:package && npm run build:next","start":"next start","typecheck":"tsc --noEmit","build:next":"next build","build:package":"tsc -p tsconfig.build.json","prepublishOnly":"npm run build:package"},"_npmUser":{"name":"casperjuel","email":"info@casperjuel.dk"},"repository":{"url":"git+https://github.com/signifly/datocms-plugin-signifly-backups.git","type":"git","directory":"apps/api"},"_npmVersion":"10.9.2","description":"Backend API for DatoCMS automatic environment backups","directories":{},"_nodeVersion":"23.11.0","dependencies":{"uuid":"^11.0.4","@vercel/kv":"^3.0.0","cron-parser":"^4.9.0","@datocms/cma-client":"^3.4.0","@casperjuel/datocms-backup-shared":"^1.0.0"},"_hasShrinkwrap":false,"devDependencies":{"next":"^15.1.3","react":"^19.0.0","react-dom":"^19.0.0","typescript":"^5.7.2","@types/node":"^22.10.5","@types/uuid":"^10.0.0","@types/react":"^19.0.2","@types/react-dom":"^19.0.2"},"peerDependencies":{"next":">=14.0.0","react":">=18.0.0","react-dom":">=18.0.0"},"_npmOperationalInternal":{"tmp":"tmp/datocms-backup-api_1.0.2_1768303839115_0.6811790343358177","host":"s3://npm-registry-packages-npm-production"}},"1.0.3":{"name":"@casperjuel/datocms-backup-api","version":"1.0.3","keywords":["datocms","backup","api","vercel","signifly"],"author":{"url":"https://signifly.com","name":"Signifly"},"license":"MIT","_id":"@casperjuel/datocms-backup-api@1.0.3","maintainers":[{"name":"casperjuel","email":"info@casperjuel.dk"}],"homepage":"https://github.com/signifly/datocms-plugin-signifly-backups","bugs":{"url":"https://github.com/signifly/datocms-plugin-signifly-backups/issues"},"dist":{"shasum":"8dddfc5e5b777c9fd46bf3fbd1ba38cfdd5d22f2","tarball":"https://registry.npmjs.org/@casperjuel/datocms-backup-api/-/datocms-backup-api-1.0.3.tgz","fileCount":39,"integrity":"sha512-rn+hW4UdaBlWT6CyTcemUefeRe+Esx9KV8HR/Yx2ngzX6ZMu2zgydhmG/uSAA5Ilx2Fr8ArhLALkckoswuWKKw==","signatures":[{"sig":"MEYCIQDbNwTMpJTuhRvrT8fhlIW87Dsq1vDeh2v7+Eis5XoswwIhAKV64RLwht8MdnUbm6Tbn/3G+YmSESjWRshZGMcswfis","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":177857},"main":"dist/index.js","type":"module","types":"dist/index.d.ts","exports":{".":{"types":"./dist/index.d.ts","default":"./dist/index.js"},"./auth":{"types":"./dist/lib/auth/verify.d.ts","default":"./dist/lib/auth/verify.js"},"./backup":{"types":"./dist/lib/backup/index.d.ts","default":"./dist/lib/backup/index.js"},"./crypto":{"types":"./dist/lib/crypto/encryption.d.ts","default":"./dist/lib/crypto/encryption.js"},"./datocms":{"types":"./dist/lib/datocms/index.d.ts","default":"./dist/lib/datocms/index.js"},"./storage":{"types":"./dist/lib/storage/kv.d.ts","default":"./dist/lib/storage/kv.js"},"./middleware":{"types":"./dist/middleware.d.ts","default":"./dist/middleware.js"},"./validation":{"types":"./dist/lib/validation/index.d.ts","default":"./dist/lib/validation/index.js"}},"gitHead":"b6ce9180a87a224473bf40de1d0678b3d99240d4","private":false,"scripts":{"dev":"next dev --port 3001","lint":"next lint","build":"npm run build:package && npm run build:next","start":"next start","typecheck":"tsc --noEmit","build:next":"next build","build:package":"tsc -p tsconfig.build.json","prepublishOnly":"npm run build:package"},"_npmUser":{"name":"casperjuel","email":"info@casperjuel.dk"},"repository":{"url":"git+https://github.com/signifly/datocms-plugin-signifly-backups.git","type":"git","directory":"apps/api"},"_npmVersion":"10.9.2","description":"Backend API for DatoCMS automatic environment backups","directories":{},"_nodeVersion":"23.11.0","dependencies":{"uuid":"^11.0.4","@vercel/kv":"^3.0.0","cron-parser":"^4.9.0","@datocms/cma-client":"^3.4.0","@casperjuel/datocms-backup-shared":"^1.0.0"},"_hasShrinkwrap":false,"devDependencies":{"next":"^15.1.3","react":"^19.0.0","react-dom":"^19.0.0","typescript":"^5.7.2","@types/node":"^22.10.5","@types/uuid":"^10.0.0","@types/react":"^19.0.2","@types/react-dom":"^19.0.2"},"peerDependencies":{"next":">=14.0.0","react":">=18.0.0","react-dom":">=18.0.0"},"_npmOperationalInternal":{"tmp":"tmp/datocms-backup-api_1.0.3_1768414388124_0.5610365393528345","host":"s3://npm-registry-packages-npm-production"}},"1.0.4":{"name":"@casperjuel/datocms-backup-api","version":"1.0.4","keywords":["datocms","backup","api","vercel","signifly"],"author":{"url":"https://signifly.com","name":"Signifly"},"license":"MIT","_id":"@casperjuel/datocms-backup-api@1.0.4","maintainers":[{"name":"casperjuel","email":"info@casperjuel.dk"}],"homepage":"https://github.com/signifly/datocms-plugin-signifly-backups","bugs":{"url":"https://github.com/signifly/datocms-plugin-signifly-backups/issues"},"dist":{"shasum":"82f85294dd3d6ee0c1fea85f2f245876d95bd17d","tarball":"https://registry.npmjs.org/@casperjuel/datocms-backup-api/-/datocms-backup-api-1.0.4.tgz","fileCount":39,"integrity":"sha512-6e0Qz56WuAOZkU3UAJxJVdDvqS8mZ978pUrQHiig8RYSb2lKaMRMu96P3CoBjSHZ+rQdjn5Yd1qm7F0OiCPoUQ==","signatures":[{"sig":"MEYCIQDIGErWI/eg68iSK+mki2DsfuRwOTEfSwZ759xP+wo6XwIhAIhFuPQ/21MVlX3NUF4rH540mqAEyQRbjsVQzIx1VjZ0","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":177857},"main":"dist/index.js","type":"module","types":"dist/index.d.ts","exports":{".":{"types":"./dist/index.d.ts","default":"./dist/index.js"},"./auth":{"types":"./dist/lib/auth/verify.d.ts","default":"./dist/lib/auth/verify.js"},"./backup":{"types":"./dist/lib/backup/index.d.ts","default":"./dist/lib/backup/index.js"},"./crypto":{"types":"./dist/lib/crypto/encryption.d.ts","default":"./dist/lib/crypto/encryption.js"},"./datocms":{"types":"./dist/lib/datocms/index.d.ts","default":"./dist/lib/datocms/index.js"},"./storage":{"types":"./dist/lib/storage/kv.d.ts","default":"./dist/lib/storage/kv.js"},"./middleware":{"types":"./dist/middleware.d.ts","default":"./dist/middleware.js"},"./validation":{"types":"./dist/lib/validation/index.d.ts","default":"./dist/lib/validation/index.js"}},"gitHead":"c3d8bf22132c8fdd21290982adbcba4663447371","private":false,"scripts":{"dev":"next dev --port 3001","lint":"next lint","build":"npm run build:package && npm run build:next","start":"next start","typecheck":"tsc --noEmit","build:next":"next build","build:package":"tsc -p tsconfig.build.json","prepublishOnly":"npm run build:package"},"_npmUser":{"name":"casperjuel","email":"info@casperjuel.dk"},"repository":{"url":"git+https://github.com/signifly/datocms-plugin-signifly-backups.git","type":"git","directory":"apps/api"},"_npmVersion":"10.9.2","description":"Backend API for DatoCMS automatic environment backups","directories":{},"_nodeVersion":"23.11.0","dependencies":{"uuid":"^11.0.4","@vercel/kv":"^3.0.0","cron-parser":"^4.9.0","@datocms/cma-client":"^3.4.0","@casperjuel/datocms-backup-shared":"^1.0.0"},"_hasShrinkwrap":false,"devDependencies":{"next":"^15.1.3","react":"^19.0.0","react-dom":"^19.0.0","typescript":"^5.7.2","@types/node":"^22.10.5","@types/uuid":"^10.0.0","@types/react":"^19.0.2","@types/react-dom":"^19.0.2"},"peerDependencies":{"next":">=14.0.0","react":">=18.0.0","react-dom":">=18.0.0"},"_npmOperationalInternal":{"tmp":"tmp/datocms-backup-api_1.0.4_1768414705929_0.2720771656168852","host":"s3://npm-registry-packages-npm-production"}},"1.0.5":{"name":"@casperjuel/datocms-backup-api","version":"1.0.5","keywords":["datocms","backup","api","vercel","signifly"],"author":{"url":"https://signifly.com","name":"Signifly"},"license":"MIT","_id":"@casperjuel/datocms-backup-api@1.0.5","maintainers":[{"name":"casperjuel","email":"info@casperjuel.dk"}],"homepage":"https://github.com/signifly/datocms-plugin-signifly-backups","bugs":{"url":"https://github.com/signifly/datocms-plugin-signifly-backups/issues"},"dist":{"shasum":"218ae8bd1aab0fd72b34410a27f7b242ec1983e5","tarball":"https://registry.npmjs.org/@casperjuel/datocms-backup-api/-/datocms-backup-api-1.0.5.tgz","fileCount":39,"integrity":"sha512-r+9asyL0/rYWP73H+yS3iArF+eRnAUgkmF4vj1g2itATTXPTWKPwOnrM6PTQjJezZhaJeDtqWBHJ/ev/6JrNHg==","signatures":[{"sig":"MEQCIGZV5N2hIdH0SvOBShdt26iJn0xEAjUt29EEtA1I3oNSAiB5P01dVnEexSCVLnrQvCSjbqSKwhAUKa7l/Aj04Rvmfg==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":177946},"main":"dist/index.js","type":"module","types":"dist/index.d.ts","exports":{".":{"types":"./dist/index.d.ts","default":"./dist/index.js"},"./auth":{"types":"./dist/lib/auth/verify.d.ts","default":"./dist/lib/auth/verify.js"},"./backup":{"types":"./dist/lib/backup/index.d.ts","default":"./dist/lib/backup/index.js"},"./crypto":{"types":"./dist/lib/crypto/encryption.d.ts","default":"./dist/lib/crypto/encryption.js"},"./datocms":{"types":"./dist/lib/datocms/index.d.ts","default":"./dist/lib/datocms/index.js"},"./storage":{"types":"./dist/lib/storage/kv.d.ts","default":"./dist/lib/storage/kv.js"},"./middleware":{"types":"./dist/middleware.d.ts","default":"./dist/middleware.js"},"./validation":{"types":"./dist/lib/validation/index.d.ts","default":"./dist/lib/validation/index.js"}},"gitHead":"f7e6215aba4f0ee58bdd37a575bb5680590b51d2","private":false,"scripts":{"dev":"next dev --port 3001","lint":"next lint","build":"npm run build:package && npm run build:next","start":"next start","typecheck":"tsc --noEmit","build:next":"next build","build:package":"tsc -p tsconfig.build.json","prepublishOnly":"npm run build:package"},"_npmUser":{"name":"casperjuel","email":"info@casperjuel.dk"},"repository":{"url":"git+https://github.com/signifly/datocms-plugin-signifly-backups.git","type":"git","directory":"apps/api"},"_npmVersion":"10.9.2","description":"Backend API for DatoCMS automatic environment backups","directories":{},"_nodeVersion":"23.11.0","dependencies":{"uuid":"^11.0.4","@vercel/kv":"^3.0.0","cron-parser":"^4.9.0","@datocms/cma-client":"^3.4.0","@casperjuel/datocms-backup-shared":"^1.0.0"},"_hasShrinkwrap":false,"devDependencies":{"next":"^15.1.3","react":"^19.0.0","react-dom":"^19.0.0","typescript":"^5.7.2","@types/node":"^22.10.5","@types/uuid":"^10.0.0","@types/react":"^19.0.2","@types/react-dom":"^19.0.2"},"peerDependencies":{"next":">=14.0.0","react":">=18.0.0","react-dom":">=18.0.0"},"_npmOperationalInternal":{"tmp":"tmp/datocms-backup-api_1.0.5_1768414913986_0.9205750903338723","host":"s3://npm-registry-packages-npm-production"}},"1.0.6":{"name":"@casperjuel/datocms-backup-api","version":"1.0.6","keywords":["datocms","backup","api","vercel","signifly"],"author":{"url":"https://signifly.com","name":"Signifly"},"license":"MIT","_id":"@casperjuel/datocms-backup-api@1.0.6","maintainers":[{"name":"casperjuel","email":"info@casperjuel.dk"}],"homepage":"https://github.com/signifly/datocms-plugin-signifly-backups","bugs":{"url":"https://github.com/signifly/datocms-plugin-signifly-backups/issues"},"dist":{"shasum":"4872c27f8cd124b13bb64649c5658fa58da8c6f5","tarball":"https://registry.npmjs.org/@casperjuel/datocms-backup-api/-/datocms-backup-api-1.0.6.tgz","fileCount":39,"integrity":"sha512-DysDr707aDBwd9/e8TyEdR/JsJpvScem7YbtVy+hAvV8PbUTpylskb4syguOQRJDaFQI3m4H3PDVgaJHc425ow==","signatures":[{"sig":"MEQCIDSUBe0S+8u0JcIjCl+Pn+QmAza/k67tbk2Rp1rEdSmbAiAFAXM1U2MwmJdz3qLT71nHdvCaQEf6IW2npaBPmR3hfw==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":178282},"main":"dist/index.js","type":"module","types":"dist/index.d.ts","exports":{".":{"types":"./dist/index.d.ts","default":"./dist/index.js"},"./auth":{"types":"./dist/lib/auth/verify.d.ts","default":"./dist/lib/auth/verify.js"},"./backup":{"types":"./dist/lib/backup/index.d.ts","default":"./dist/lib/backup/index.js"},"./crypto":{"types":"./dist/lib/crypto/encryption.d.ts","default":"./dist/lib/crypto/encryption.js"},"./datocms":{"types":"./dist/lib/datocms/index.d.ts","default":"./dist/lib/datocms/index.js"},"./storage":{"types":"./dist/lib/storage/kv.d.ts","default":"./dist/lib/storage/kv.js"},"./middleware":{"types":"./dist/middleware.d.ts","default":"./dist/middleware.js"},"./validation":{"types":"./dist/lib/validation/index.d.ts","default":"./dist/lib/validation/index.js"}},"gitHead":"03a120509a87c445d3e2afbf74c8413d2d02bb5e","private":false,"scripts":{"dev":"next dev --port 3001","lint":"next lint","build":"npm run build:package && npm run build:next","start":"next start","typecheck":"tsc --noEmit","build:next":"next build","build:package":"tsc -p tsconfig.build.json","prepublishOnly":"npm run build:package"},"_npmUser":{"name":"casperjuel","email":"info@casperjuel.dk"},"repository":{"url":"git+https://github.com/signifly/datocms-plugin-signifly-backups.git","type":"git","directory":"apps/api"},"_npmVersion":"10.9.2","description":"Backend API for DatoCMS automatic environment backups","directories":{},"_nodeVersion":"23.11.0","dependencies":{"uuid":"^11.0.4","@vercel/kv":"^3.0.0","cron-parser":"^4.9.0","@datocms/cma-client":"^3.4.0","@casperjuel/datocms-backup-shared":"^1.0.0"},"_hasShrinkwrap":false,"devDependencies":{"next":"^15.1.3","react":"^19.0.0","react-dom":"^19.0.0","typescript":"^5.7.2","@types/node":"^22.10.5","@types/uuid":"^10.0.0","@types/react":"^19.0.2","@types/react-dom":"^19.0.2"},"peerDependencies":{"next":">=14.0.0","react":">=18.0.0","react-dom":">=18.0.0"},"_npmOperationalInternal":{"tmp":"tmp/datocms-backup-api_1.0.6_1768759184225_0.10372259978977061","host":"s3://npm-registry-packages-npm-production"}},"1.0.7":{"name":"@casperjuel/datocms-backup-api","version":"1.0.7","keywords":["datocms","backup","api","vercel","signifly"],"author":{"url":"https://signifly.com","name":"Signifly"},"license":"MIT","_id":"@casperjuel/datocms-backup-api@1.0.7","maintainers":[{"name":"casperjuel","email":"info@casperjuel.dk"}],"homepage":"https://github.com/signifly/datocms-plugin-signifly-backups","bugs":{"url":"https://github.com/signifly/datocms-plugin-signifly-backups/issues"},"dist":{"shasum":"eb8b1ea352e732b7812b746ab12bd5049604aaee","tarball":"https://registry.npmjs.org/@casperjuel/datocms-backup-api/-/datocms-backup-api-1.0.7.tgz","fileCount":39,"integrity":"sha512-pd9jYL38Rym1TkmfV2ZWGSGRT8SyLl0PimB94d/upckS+v91DkgGDtYQyUvpt6zfdv6KGQ0t8zgAtVIz0EP8YQ==","signatures":[{"sig":"MEQCIFjHWmilqAxcj03817Ydx8br9QmmbeDkUB4B4PvVzNo/AiBa/hpzVI5qLuDs1D3AQEkJkcvnc1Ev1lIaz6yA0ECa7g==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":179150},"main":"dist/index.js","type":"module","types":"dist/index.d.ts","exports":{".":{"types":"./dist/index.d.ts","default":"./dist/index.js"},"./auth":{"types":"./dist/lib/auth/verify.d.ts","default":"./dist/lib/auth/verify.js"},"./backup":{"types":"./dist/lib/backup/index.d.ts","default":"./dist/lib/backup/index.js"},"./crypto":{"types":"./dist/lib/crypto/encryption.d.ts","default":"./dist/lib/crypto/encryption.js"},"./datocms":{"types":"./dist/lib/datocms/index.d.ts","default":"./dist/lib/datocms/index.js"},"./storage":{"types":"./dist/lib/storage/kv.d.ts","default":"./dist/lib/storage/kv.js"},"./middleware":{"types":"./dist/middleware.d.ts","default":"./dist/middleware.js"},"./validation":{"types":"./dist/lib/validation/index.d.ts","default":"./dist/lib/validation/index.js"}},"gitHead":"7d44d7e204ba9e43514da42d76d56f4a2d685cf8","private":false,"scripts":{"dev":"next dev --port 3001","lint":"next lint","build":"npm run build:package && npm run build:next","start":"next start","typecheck":"tsc --noEmit","build:next":"next build","build:package":"tsc -p tsconfig.build.json","prepublishOnly":"npm run build:package"},"_npmUser":{"name":"casperjuel","email":"info@casperjuel.dk"},"repository":{"url":"git+https://github.com/signifly/datocms-plugin-signifly-backups.git","type":"git","directory":"apps/api"},"_npmVersion":"10.9.2","description":"Backend API for DatoCMS automatic environment backups","directories":{},"_nodeVersion":"23.11.0","dependencies":{"uuid":"^11.0.4","@vercel/kv":"^3.0.0","cron-parser":"^4.9.0","@datocms/cma-client":"^3.4.0","@casperjuel/datocms-backup-shared":"^1.0.0"},"_hasShrinkwrap":false,"devDependencies":{"next":"^15.1.3","react":"^19.0.0","react-dom":"^19.0.0","typescript":"^5.7.2","@types/node":"^22.10.5","@types/uuid":"^10.0.0","@types/react":"^19.0.2","@types/react-dom":"^19.0.2"},"peerDependencies":{"next":">=14.0.0","react":">=18.0.0","react-dom":">=18.0.0"},"_npmOperationalInternal":{"tmp":"tmp/datocms-backup-api_1.0.7_1768761496782_0.12626274779630275","host":"s3://npm-registry-packages-npm-production"}},"1.0.8":{"name":"@casperjuel/datocms-backup-api","version":"1.0.8","keywords":["datocms","backup","api","vercel","signifly"],"author":{"url":"https://signifly.com","name":"Signifly"},"license":"MIT","_id":"@casperjuel/datocms-backup-api@1.0.8","maintainers":[{"name":"casperjuel","email":"info@casperjuel.dk"}],"homepage":"https://github.com/signifly/datocms-plugin-signifly-backups","bugs":{"url":"https://github.com/signifly/datocms-plugin-signifly-backups/issues"},"dist":{"shasum":"6c718f0c81b25b49955a083e270897594ebbf572","tarball":"https://registry.npmjs.org/@casperjuel/datocms-backup-api/-/datocms-backup-api-1.0.8.tgz","fileCount":42,"integrity":"sha512-SnzdZHBkbm3CNv44ZeACfCKgAYtMhjGMmxq1EkEBI9j5pUbaO/32CyodhP1bPid3WhEyqWI7jyFL4I5hUk76+A==","signatures":[{"sig":"MEQCIEXyQQezNUXudlTOcm3ZuuEvxzpGe3P+/MzOgfMSRUJMAiA7yGcjy2j4pm1mh+ODmCNtdcMuAdA61RCq+Eikudu1Xg==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":188564},"main":"dist/index.js","type":"module","types":"dist/index.d.ts","exports":{".":{"types":"./dist/index.d.ts","default":"./dist/index.js"},"./auth":{"types":"./dist/lib/auth/verify.d.ts","default":"./dist/lib/auth/verify.js"},"./backup":{"types":"./dist/lib/backup/index.d.ts","default":"./dist/lib/backup/index.js"},"./crypto":{"types":"./dist/lib/crypto/encryption.d.ts","default":"./dist/lib/crypto/encryption.js"},"./datocms":{"types":"./dist/lib/datocms/index.d.ts","default":"./dist/lib/datocms/index.js"},"./storage":{"types":"./dist/lib/storage/kv.d.ts","default":"./dist/lib/storage/kv.js"},"./middleware":{"types":"./dist/middleware.d.ts","default":"./dist/middleware.js"},"./validation":{"types":"./dist/lib/validation/index.d.ts","default":"./dist/lib/validation/index.js"}},"gitHead":"635576a37a84aec74fe8cb7ebdffe99f0f789a5d","private":false,"scripts":{"dev":"next dev --port 3001","lint":"next lint","build":"npm run build:package && npm run build:next","start":"next start","typecheck":"tsc --noEmit","build:next":"next build","build:package":"tsc -p tsconfig.build.json","prepublishOnly":"npm run build:package"},"_npmUser":{"name":"casperjuel","email":"info@casperjuel.dk"},"repository":{"url":"git+https://github.com/signifly/datocms-plugin-signifly-backups.git","type":"git","directory":"apps/api"},"_npmVersion":"10.9.2","description":"Backend API for DatoCMS automatic environment backups","directories":{},"_nodeVersion":"23.11.0","dependencies":{"uuid":"^11.0.4","@vercel/kv":"^3.0.0","cron-parser":"^4.9.0","@datocms/cma-client":"^3.4.0","@casperjuel/datocms-backup-shared":"^1.0.0"},"_hasShrinkwrap":false,"devDependencies":{"next":"^15.1.3","react":"^19.0.0","react-dom":"^19.0.0","typescript":"^5.7.2","@types/node":"^22.10.5","@types/uuid":"^10.0.0","@types/react":"^19.0.2","@types/react-dom":"^19.0.2"},"peerDependencies":{"next":">=14.0.0","react":">=18.0.0","react-dom":">=18.0.0"},"_npmOperationalInternal":{"tmp":"tmp/datocms-backup-api_1.0.8_1769001837533_0.3047926564118486","host":"s3://npm-registry-packages-npm-production"}},"1.0.9":{"name":"@casperjuel/datocms-backup-api","version":"1.0.9","keywords":["datocms","backup","api","vercel","signifly"],"author":{"url":"https://signifly.com","name":"Signifly"},"license":"MIT","_id":"@casperjuel/datocms-backup-api@1.0.9","maintainers":[{"name":"casperjuel","email":"info@casperjuel.dk"}],"homepage":"https://github.com/signifly/datocms-plugin-signifly-backups","bugs":{"url":"https://github.com/signifly/datocms-plugin-signifly-backups/issues"},"dist":{"shasum":"1a6cde00142b7ef64721c043f202f8dc306d9ad3","tarball":"https://registry.npmjs.org/@casperjuel/datocms-backup-api/-/datocms-backup-api-1.0.9.tgz","fileCount":42,"integrity":"sha512-rQELMA2rHmaON+QjuCj4jR1CT43MQzteVNlq5MiLgBSVwpjf7AYieN1FTwHImTJyysc0Bzd635OwBVcYVth2dQ==","signatures":[{"sig":"MEUCIG50BNK30jnsn4XmiNkuIYT0KKo7tpUs5KDvM6jchQGUAiEA8CnGQGOhGf55Cya90cAZwgL1sdJFCgOFz2wmUjfbgoQ=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":188599},"main":"dist/index.js","type":"module","types":"dist/index.d.ts","exports":{".":{"types":"./dist/index.d.ts","default":"./dist/index.js"},"./auth":{"types":"./dist/lib/auth/verify.d.ts","default":"./dist/lib/auth/verify.js"},"./backup":{"types":"./dist/lib/backup/index.d.ts","default":"./dist/lib/backup/index.js"},"./crypto":{"types":"./dist/lib/crypto/encryption.d.ts","default":"./dist/lib/crypto/encryption.js"},"./datocms":{"types":"./dist/lib/datocms/index.d.ts","default":"./dist/lib/datocms/index.js"},"./storage":{"types":"./dist/lib/storage/kv.d.ts","default":"./dist/lib/storage/kv.js"},"./middleware":{"types":"./dist/middleware.d.ts","default":"./dist/middleware.js"},"./validation":{"types":"./dist/lib/validation/index.d.ts","default":"./dist/lib/validation/index.js"}},"gitHead":"8c7ab9c9b3b4262858462287b57f0630c30f22d0","private":false,"scripts":{"dev":"next dev --port 3001","lint":"next lint","build":"npm run build:package && npm run build:next","start":"next start","typecheck":"tsc --noEmit","build:next":"next build","build:package":"tsc -p tsconfig.build.json","prepublishOnly":"npm run build:package"},"_npmUser":{"name":"casperjuel","email":"info@casperjuel.dk"},"repository":{"url":"git+https://github.com/signifly/datocms-plugin-signifly-backups.git","type":"git","directory":"apps/api"},"_npmVersion":"10.9.2","description":"Backend API for DatoCMS automatic environment backups","directories":{},"_nodeVersion":"23.11.0","dependencies":{"uuid":"^11.0.4","@vercel/kv":"^3.0.0","cron-parser":"^4.9.0","@datocms/cma-client":"^3.4.0","@casperjuel/datocms-backup-shared":"^1.0.0"},"_hasShrinkwrap":false,"devDependencies":{"next":"^15.1.3","react":"^19.0.0","react-dom":"^19.0.0","typescript":"^5.7.2","@types/node":"^22.10.5","@types/uuid":"^10.0.0","@types/react":"^19.0.2","@types/react-dom":"^19.0.2"},"peerDependencies":{"next":">=14.0.0","react":">=18.0.0","react-dom":">=18.0.0"},"_npmOperationalInternal":{"tmp":"tmp/datocms-backup-api_1.0.9_1770192671845_0.09285187622518487","host":"s3://npm-registry-packages-npm-production"}},"1.0.10":{"name":"@casperjuel/datocms-backup-api","version":"1.0.10","private":false,"description":"Backend API for DatoCMS automatic environment backups","homepage":"https://github.com/signifly/datocms-plugin-signifly-backups","repository":{"type":"git","url":"git+https://github.com/signifly/datocms-plugin-signifly-backups.git","directory":"apps/api"},"license":"MIT","author":{"name":"Signifly","url":"https://signifly.com"},"keywords":["datocms","backup","api","vercel","signifly"],"type":"module","main":"dist/index.js","types":"dist/index.d.ts","exports":{".":{"types":"./dist/index.d.ts","default":"./dist/index.js"},"./storage":{"types":"./dist/lib/storage/kv.d.ts","default":"./dist/lib/storage/kv.js"},"./auth":{"types":"./dist/lib/auth/verify.d.ts","default":"./dist/lib/auth/verify.js"},"./datocms":{"types":"./dist/lib/datocms/index.d.ts","default":"./dist/lib/datocms/index.js"},"./backup":{"types":"./dist/lib/backup/index.d.ts","default":"./dist/lib/backup/index.js"},"./crypto":{"types":"./dist/lib/crypto/encryption.d.ts","default":"./dist/lib/crypto/encryption.js"},"./validation":{"types":"./dist/lib/validation/index.d.ts","default":"./dist/lib/validation/index.js"},"./middleware":{"types":"./dist/middleware.d.ts","default":"./dist/middleware.js"}},"scripts":{"dev":"next dev --port 3001","build":"npm run build:package && npm run build:next","build:package":"tsc -p tsconfig.build.json","build:next":"next build","start":"next start","lint":"next lint","typecheck":"tsc --noEmit","prepublishOnly":"npm run build:package"},"dependencies":{"@datocms/cma-client":"^3.4.0","@casperjuel/datocms-backup-shared":"^1.0.0","@vercel/kv":"^3.0.0","cron-parser":"^4.9.0","uuid":"^11.0.4"},"peerDependencies":{"next":">=14.0.0","react":">=18.0.0","react-dom":">=18.0.0"},"devDependencies":{"@types/node":"^22.10.5","@types/react":"^19.0.2","@types/react-dom":"^19.0.2","@types/uuid":"^10.0.0","next":"^15.1.3","react":"^19.0.0","react-dom":"^19.0.0","typescript":"^5.7.2"},"_id":"@casperjuel/datocms-backup-api@1.0.10","gitHead":"612d3668f4aa93e706a7e95e1c02b9ef51330fd9","bugs":{"url":"https://github.com/signifly/datocms-plugin-signifly-backups/issues"},"_nodeVersion":"23.11.0","_npmVersion":"10.9.2","dist":{"integrity":"sha512-jcRs/aYKjvhUeeRDaOlZSFdUmg9Kch3NJ1wn0yIGewcY2Oic8dPRlgsBZ9ub/n0QQllQ66UCCiw8NZQH4Jr3TQ==","shasum":"812d81873bca1f951a765ee59b20455374506c45","tarball":"https://registry.npmjs.org/@casperjuel/datocms-backup-api/-/datocms-backup-api-1.0.10.tgz","fileCount":42,"unpackedSize":189176,"signatures":[{"keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U","sig":"MEUCIQCmlYGXItDzPR4fERdERx7vP4Ll/8mnxGsJDsSr6SlzSAIgWZ4D9DN3xloYv5dqtdUBOamx/XaJnp0PCzMsj6rWUB8="}]},"_npmUser":{"name":"casperjuel","email":"info@casperjuel.dk"},"directories":{},"maintainers":[{"name":"casperjuel","email":"info@casperjuel.dk"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/datocms-backup-api_1.0.10_1770193155382_0.7985889548391403"},"_hasShrinkwrap":false}},"time":{"created":"2026-01-13T11:28:38.579Z","modified":"2026-02-04T08:19:15.664Z","1.0.0":"2026-01-13T11:28:38.838Z","1.0.1":"2026-01-13T11:29:32.734Z","1.0.2":"2026-01-13T11:30:39.272Z","1.0.3":"2026-01-14T18:13:08.329Z","1.0.4":"2026-01-14T18:18:26.063Z","1.0.5":"2026-01-14T18:21:54.137Z","1.0.6":"2026-01-18T17:59:44.383Z","1.0.7":"2026-01-18T18:38:16.967Z","1.0.8":"2026-01-21T13:23:57.702Z","1.0.9":"2026-02-04T08:11:12.037Z","1.0.10":"2026-02-04T08:19:15.572Z"},"bugs":{"url":"https://github.com/signifly/datocms-plugin-signifly-backups/issues"},"author":{"name":"Signifly","url":"https://signifly.com"},"license":"MIT","homepage":"https://github.com/signifly/datocms-plugin-signifly-backups","keywords":["datocms","backup","api","vercel","signifly"],"repository":{"type":"git","url":"git+https://github.com/signifly/datocms-plugin-signifly-backups.git","directory":"apps/api"},"description":"Backend API for DatoCMS automatic environment backups","maintainers":[{"name":"casperjuel","email":"info@casperjuel.dk"}],"readme":"# @casperjuel/datocms-backup-api\n\nBackend API utilities for DatoCMS automatic environment backups. Used by the [DatoCMS Backup API Template](https://github.com/signifly/datocms-backup-api-template).\n\n## Installation\n\n```bash\nnpm install @casperjuel/datocms-backup-api\n```\n\n## Quick Start\n\nDeploy your own backup API using our template:\n\n[![Deploy with Vercel](https://vercel.com/button)](https://vercel.com/new/clone?repository-url=https%3A%2F%2Fgithub.com%2Fsignifly%2Fdatocms-backup-api-template&project-name=datocms-backup-api&env=CRON_SECRET,API_SECRET&stores=%5B%7B%22type%22%3A%22kv%22%7D%5D)\n\n## Usage\n\nThis package exports utilities for building DatoCMS backup APIs:\n\n```typescript\nimport {\n  // Storage\n  getConfig,\n  setConfig,\n  addRun,\n  getRunHistory,\n\n  // Auth\n  verifyCronSecret,\n  getApiToken,\n\n  // DatoCMS operations\n  createBackup,\n  cleanupOldBackups,\n\n  // Scheduling\n  getScheduledBackups,\n  generateBackupEnvironmentId,\n  enforceRetention,\n\n  // Validation\n  validateProjectId,\n  validateApiTokenFormat,\n\n  // Types\n  type BackupConfig,\n  type BackupRun,\n} from '@casperjuel/datocms-backup-api';\n```\n\n## Environment Variables\n\n| Variable | Required | Description |\n|----------|----------|-------------|\n| `KV_REST_API_URL` | Yes | Vercel KV REST API URL |\n| `KV_REST_API_TOKEN` | Yes | Vercel KV REST API token |\n| `CRON_SECRET` | Yes | Secret for cron endpoint authentication |\n| `API_SECRET` | No | Secret for API endpoint authentication |\n| `ENCRYPTION_KEY` | No | 64 hex chars for encrypting stored tokens |\n\n## API Endpoints\n\nWhen used with the template, provides these endpoints:\n\n| Endpoint | Method | Description |\n|----------|--------|-------------|\n| `/api/health` | GET | Health check |\n| `/api/config` | GET, PUT, DELETE | Configuration management |\n| `/api/backup/trigger` | POST | Trigger manual backup |\n| `/api/backup/history` | GET | Get backup history |\n| `/api/cron/backup` | GET | Cron endpoint (Vercel cron) |\n\n## Related\n\n- [DatoCMS Backup API Template](https://github.com/signifly/datocms-backup-api-template) - Deploy template\n- [@casperjuel/datocms-backup-shared](https://www.npmjs.com/package/@casperjuel/datocms-backup-shared) - Shared types\n\n## License\n\nMIT\n","readmeFilename":"README.md"}