{"_id":"duzzle","_rev":"26-98cbc6b0abe7b86e6038a2d82e8e2439","name":"duzzle","dist-tags":{"latest":"2.4.5"},"versions":{"2.1.2":{"name":"duzzle","version":"2.1.2","keywords":["mongoose","mongodb","db","dbmanager","mongoose-manager","mongodb-manager","express","http","httpserver","https","httpsserver","expressserver","backend","app"],"author":{"name":"amrandblack"},"license":"MIT","_id":"duzzle@2.1.2","maintainers":[{"name":"amrmohamed1","email":"derasa123123@gmail.com"}],"dist":{"shasum":"67fef89bef6859cb5eaa3247b47f758c638c738e","tarball":"https://registry.npmjs.org/duzzle/-/duzzle-2.1.2.tgz","fileCount":19,"integrity":"sha512-UFw4TdkPskdDruTt+WLdu0wV3oueGqsY6+qcOW/zQOede2O+t86VBJ+lJl/2h0fcOxm4on+pjoVvydZa4tcQ3w==","signatures":[{"sig":"MEYCIQDbnvMlKZ0o03c1gjcDVXeoIWVZVgqKQZUUnBPf/QOxIAIhAPBc370vA1QtggxZ6w2ovpcQ91JFpAHCAG+VhmNJBGVP","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":41888},"main":"dist/index.js","gitHead":"bf893777b10db3492ef0aa41dcaba1dc83f9b71e","scripts":{"dev":"tsc","test":"echo \"Error: no test specified\" && exit 1"},"_npmUser":{"name":"amrmohamed1","email":"derasa123123@gmail.com"},"deprecated":"This version is deprecated. Please use version 2.4.3.","_npmVersion":"10.5.0","description":"Best package to manage your mongodb and server with case and easy","directories":{},"_nodeVersion":"21.7.3","dependencies":{"cors":"^2.8.5","bcrypt":"^5.1.1","events":"^3.3.0","helmet":"^8.0.0","express":"^4.21.2","mongoose":"^8.9.3","express-rate-limit":"^7.5.0"},"_hasShrinkwrap":false,"devDependencies":{"@types/cors":"^2.8.17","@types/bcrypt":"^5.0.2","@types/events":"^3.0.3","@types/express":"^5.0.0","@types/methods":"^1.1.4"},"_npmOperationalInternal":{"tmp":"tmp/duzzle_2.1.2_1736451645652_0.9896327826149465","host":"s3://npm-registry-packages-npm-production"}},"2.2.2":{"name":"duzzle","version":"2.2.2","keywords":["mongoose","mongodb","db","dbmanager","mongoose-manager","mongodb-manager","express","http","httpserver","https","httpsserver","expressserver","backend","app"],"author":{"name":"amrandblack"},"license":"MIT","_id":"duzzle@2.2.2","maintainers":[{"name":"amrmohamed1","email":"derasa123123@gmail.com"},{"name":"blackdis","email":"largclan8@gmail.com"}],"dist":{"shasum":"b50f9170e8139f873414af0a72da7806faa17d00","tarball":"https://registry.npmjs.org/duzzle/-/duzzle-2.2.2.tgz","fileCount":16,"integrity":"sha512-Nii/DZO+HRWjcHvT3o5Fd5iiqnJYMsxROwsKkZop8Sjl7xgn0DPD4sH1Pu9M8Xz1w2XRAyafYGtJ9ZNAuqsyGA==","signatures":[{"sig":"MEUCIE9zzvAZGRby7qC8gAGsz8CvsVJfmdy8zf0y1WUVjt8tAiEA1Nu4GjaL6DAJK9fGnzXVjCxh5+2KCIw+a9vPkAIHzqQ=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":45589},"main":"dist/index.js","types":"./index.d.ts","gitHead":"bf893777b10db3492ef0aa41dcaba1dc83f9b71e","scripts":{"dev":"tsc","test":"echo \"Error: no test specified\" && exit 1"},"_npmUser":{"name":"amrmohamed1","email":"derasa123123@gmail.com"},"deprecated":"This version is deprecated. Please use version 2.4.3.","_npmVersion":"10.5.0","description":"Best package to manage your mongodb and server with case and easy","directories":{},"_nodeVersion":"21.7.3","dependencies":{"cors":"^2.8.5","bcrypt":"^5.1.1","events":"^3.3.0","helmet":"^8.0.0","express":"^4.21.2","mongoose":"^8.9.3","express-rate-limit":"^7.5.0"},"_hasShrinkwrap":false,"devDependencies":{"@types/cors":"^2.8.17","@types/bcrypt":"^5.0.2","@types/events":"^3.0.3","@types/express":"^5.0.0","@types/methods":"^1.1.4"},"_npmOperationalInternal":{"tmp":"tmp/duzzle_2.2.2_1736465280899_0.005500505294716795","host":"s3://npm-registry-packages-npm-production"}},"2.3.2":{"name":"duzzle","version":"2.3.2","keywords":["mongoose","mongodb","db","dbmanager","mongoose-manager","mongodb-manager","express","http","httpserver","https","httpsserver","expressserver","backend","app"],"author":{"name":"amrandblack"},"license":"MIT","_id":"duzzle@2.3.2","maintainers":[{"name":"amrmohamed1","email":"derasa123123@gmail.com"},{"name":"blackdis","email":"largclan8@gmail.com"}],"dist":{"shasum":"4d271147e37ae8aa9f2033853a27c3c52aab889a","tarball":"https://registry.npmjs.org/duzzle/-/duzzle-2.3.2.tgz","fileCount":16,"integrity":"sha512-tM6/VwCkiZWx5mhHNBCumH/a4VCmI1aGiLLYUjFdSj5xicqmsBQxsGWtQkdFF/7W6MMMnqPfZSQp0dyNz85uNg==","signatures":[{"sig":"MEYCIQCh4TjOsR2erd5U9f854iZpI8aqMdy+qJ95/AxFDN3CGgIhAMZvIjTqP3aZT2NlMEK/TEIAzc8kcKnFTOyNYZCryH0h","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":45750},"main":"dist/index.js","types":"./index.d.ts","gitHead":"4621a2b162511567b4d6d639d908042e3bdf4c1d","scripts":{"dev":"tsc","test":"echo \"Error: no test specified\" && exit 1"},"_npmUser":{"name":"amrmohamed1","email":"derasa123123@gmail.com"},"deprecated":"This version is deprecated. Please use version 2.4.3.","_npmVersion":"10.5.0","description":"Best package to manage your mongodb and server with case and easy","directories":{},"_nodeVersion":"21.7.3","dependencies":{"cors":"^2.8.5","bcrypt":"^5.1.1","events":"^3.3.0","helmet":"^8.0.0","express":"^4.21.2","mongoose":"^8.9.3","express-rate-limit":"^7.5.0"},"_hasShrinkwrap":false,"devDependencies":{"@types/cors":"^2.8.17","@types/bcrypt":"^5.0.2","@types/events":"^3.0.3","@types/express":"^5.0.0","@types/methods":"^1.1.4"},"_npmOperationalInternal":{"tmp":"tmp/duzzle_2.3.2_1736516971462_0.05797267860975763","host":"s3://npm-registry-packages-npm-production"}},"2.3.3":{"name":"duzzle","version":"2.3.3","keywords":["mongoose","mongodb","db","dbmanager","mongoose-manager","mongodb-manager","express","http","httpserver","https","httpsserver","expressserver","backend","app"],"author":{"name":"amrandblack"},"license":"MIT","_id":"duzzle@2.3.3","maintainers":[{"name":"amrmohamed1","email":"derasa123123@gmail.com"},{"name":"blackdis","email":"largclan8@gmail.com"}],"dist":{"shasum":"3d4d62ccc3b03af740dc4ef4f27f2f78568fa796","tarball":"https://registry.npmjs.org/duzzle/-/duzzle-2.3.3.tgz","fileCount":33,"integrity":"sha512-OQ7COxaNvSTlkjIvGaRPhHYDvGzQWmc302P95t45sxiymQtQOK1BPnY/ENOs5cfnBaRFfixNRiBQgqS1sFaWMw==","signatures":[{"sig":"MEYCIQDuu1EOS3ebQwzTR4T39tBVzWpTCC4LIjRs/yS5KonoMAIhAN2EfZJFhcu9lAvnqp0g2fn7BvrKM8XJtJWNN62J+4nR","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":85953},"main":"dist/index.js","types":"./index.d.ts","gitHead":"4621a2b162511567b4d6d639d908042e3bdf4c1d","scripts":{"dev":"tsc","test":"echo \"Error: no test specified\" && exit 1"},"_npmUser":{"name":"amrmohamed1","email":"derasa123123@gmail.com"},"deprecated":"This version is deprecated. Please use version 2.4.3.","_npmVersion":"10.5.0","description":"Best package to manage your mongodb and server with case and easy","directories":{},"_nodeVersion":"21.7.3","dependencies":{"cors":"^2.8.5","bcrypt":"^5.1.1","events":"^3.3.0","helmet":"^8.0.0","express":"^4.21.2","mongoose":"^8.9.3","express-rate-limit":"^7.5.0"},"_hasShrinkwrap":false,"devDependencies":{"@types/cors":"^2.8.17","@types/bcrypt":"^5.0.2","@types/events":"^3.0.3","@types/express":"^5.0.0","@types/methods":"^1.1.4"},"_npmOperationalInternal":{"tmp":"tmp/duzzle_2.3.3_1736520560195_0.5666280995860777","host":"s3://npm-registry-packages-npm-production"}},"2.3.4":{"name":"duzzle","version":"2.3.4","keywords":["mongoose","mongodb","db","dbmanager","mongoose-manager","mongodb-manager","express","http","httpserver","https","httpsserver","expressserver","backend","app"],"author":{"name":"amrandblack"},"license":"MIT","_id":"duzzle@2.3.4","maintainers":[{"name":"amrmohamed1","email":"derasa123123@gmail.com"},{"name":"blackdis","email":"largclan8@gmail.com"}],"dist":{"shasum":"2996059180d63cc5f129b2243b1e9f6c9a74b912","tarball":"https://registry.npmjs.org/duzzle/-/duzzle-2.3.4.tgz","fileCount":33,"integrity":"sha512-LXlq2rpQAth4/rbCDH18Oq5SC5pqBcDw1kKH1yrn6Re/fKaISCReFD2jGn5OEm0IxYmnQgf1WcaC4mGUL4kAtA==","signatures":[{"sig":"MEUCIEoXNNa2jCPf6Zks214W941G7vgSMLPuZzh6fyhhiE39AiEAnErVzlfYKFp6smoM888xh1LGK1jxJaSwSzop6t2hwbI=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":85959},"main":"dist/index.js","types":"./index.d.ts","gitHead":"4621a2b162511567b4d6d639d908042e3bdf4c1d","scripts":{"dev":"tsc","test":"echo \"Error: no test specified\" && exit 1"},"_npmUser":{"name":"amrmohamed1","email":"derasa123123@gmail.com"},"deprecated":"This version is deprecated. Please use version 2.4.3.","_npmVersion":"10.5.0","description":"Best package to manage your mongodb and server with case and easy","directories":{},"_nodeVersion":"21.7.3","dependencies":{"cors":"^2.8.5","bcrypt":"^5.1.1","events":"^3.3.0","helmet":"^8.0.0","express":"^4.21.2","mongoose":"^8.9.3","express-rate-limit":"^7.5.0"},"_hasShrinkwrap":false,"devDependencies":{"@types/cors":"^2.8.17","@types/bcrypt":"^5.0.2","@types/events":"^3.0.3","@types/express":"^5.0.0","@types/methods":"^1.1.4"},"_npmOperationalInternal":{"tmp":"tmp/duzzle_2.3.4_1736520770991_0.97423539373737","host":"s3://npm-registry-packages-npm-production"}},"2.3.5":{"name":"duzzle","version":"2.3.5","keywords":["mongoose","mongodb","db","dbmanager","mongoose-manager","mongodb-manager","express","http","httpserver","https","httpsserver","expressserver","backend","app"],"author":{"name":"amrandblack"},"license":"MIT","_id":"duzzle@2.3.5","maintainers":[{"name":"amrmohamed1","email":"derasa123123@gmail.com"},{"name":"blackdis","email":"largclan8@gmail.com"}],"dist":{"shasum":"7d22fa4b8952e477687f67050f6578d8f67928cf","tarball":"https://registry.npmjs.org/duzzle/-/duzzle-2.3.5.tgz","fileCount":16,"integrity":"sha512-MSHTTJhCc5biAglsTJKzCRozypUBtPhAM77CBkDA4oPKa1xskU2/Lh1/IXYD+FQfku2uZrsZ5VrcnGV/eeBrtw==","signatures":[{"sig":"MEUCIQDkQfysy6QolM1Yyqnb6oK01T56akEBzNutFpka8F+QdQIgdSSgIkkXZx1wS3eXxzsUCss+mwvCT5uKZueEEVZrRBs=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":45751},"main":"dist/index.js","types":"./index.d.ts","gitHead":"4621a2b162511567b4d6d639d908042e3bdf4c1d","scripts":{"dev":"tsc","test":"echo \"Error: no test specified\" && exit 1"},"_npmUser":{"name":"amrmohamed1","email":"derasa123123@gmail.com"},"deprecated":"This version is deprecated. Please use version 2.4.3.","_npmVersion":"10.5.0","description":"Best package to manage your mongodb and server with case and easy","directories":{},"_nodeVersion":"21.7.3","dependencies":{"cors":"^2.8.5","bcrypt":"^5.1.1","events":"^3.3.0","helmet":"^8.0.0","express":"^4.21.2","mongoose":"^8.9.3","express-rate-limit":"^7.5.0"},"_hasShrinkwrap":false,"devDependencies":{"@types/cors":"^2.8.17","@types/bcrypt":"^5.0.2","@types/events":"^3.0.3","@types/express":"^5.0.0","@types/methods":"^1.1.4"},"_npmOperationalInternal":{"tmp":"tmp/duzzle_2.3.5_1736521046685_0.26265492948302893","host":"s3://npm-registry-packages-npm-production"}},"2.3.6":{"name":"duzzle","version":"2.3.6","keywords":["mongoose","mongodb","db","dbmanager","mongoose-manager","mongodb-manager","express","http","httpserver","https","httpsserver","expressserver","backend","app"],"author":{"name":"amrandblack"},"license":"MIT","_id":"duzzle@2.3.6","maintainers":[{"name":"amrmohamed1","email":"derasa123123@gmail.com"},{"name":"blackdis","email":"largclan8@gmail.com"}],"dist":{"shasum":"3828f0ecb6fcca69b929751d6518039dd6d85a8f","tarball":"https://registry.npmjs.org/duzzle/-/duzzle-2.3.6.tgz","fileCount":16,"integrity":"sha512-4Gqd/8xmfXLK2PfABmESi3fU7VHtrbUvEwTs7pRwVqGz7rhKoae4lJkjVVyaqLJ8D1TXp45qjy9fu8sexJ5Yhw==","signatures":[{"sig":"MEYCIQCeifnBYlYPUYikXZqcymE3BaJDNYGIT5vbB40e9jQRxwIhALyKWUHjxZKfPjfGG1cLHoTRDnys7QmdoG2h8jSddTg6","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":45763},"main":"dist/index.js","types":"./index.d.ts","gitHead":"4621a2b162511567b4d6d639d908042e3bdf4c1d","scripts":{"dev":"tsc","test":"echo \"Error: no test specified\" && exit 1"},"_npmUser":{"name":"amrmohamed1","email":"derasa123123@gmail.com"},"deprecated":"This version is deprecated. Please use version 2.4.3.","_npmVersion":"10.5.0","description":"Best package to manage your mongodb and server with case and easy","directories":{},"_nodeVersion":"21.7.3","dependencies":{"cors":"^2.8.5","bcrypt":"^5.1.1","events":"^3.3.0","helmet":"^8.0.0","express":"^4.21.2","mongoose":"^8.9.3","express-rate-limit":"^7.5.0"},"_hasShrinkwrap":false,"devDependencies":{"@types/cors":"^2.8.17","@types/bcrypt":"^5.0.2","@types/events":"^3.0.3","@types/express":"^5.0.0","@types/methods":"^1.1.4"},"_npmOperationalInternal":{"tmp":"tmp/duzzle_2.3.6_1736521440225_0.8422983403635578","host":"s3://npm-registry-packages-npm-production"}},"2.3.9":{"name":"duzzle","version":"2.3.9","keywords":["mongoose","mongodb","db","dbmanager","mongoose-manager","mongodb-manager","express","http","httpserver","https","httpsserver","expressserver","backend","app"],"author":{"name":"amrandblack"},"license":"MIT","_id":"duzzle@2.3.9","maintainers":[{"name":"amrmohamed1","email":"derasa123123@gmail.com"},{"name":"blackdis","email":"largclan8@gmail.com"}],"dist":{"shasum":"b873cf605474ea22c8354bcf56aa3344ad15833d","tarball":"https://registry.npmjs.org/duzzle/-/duzzle-2.3.9.tgz","fileCount":16,"integrity":"sha512-x3ffIo7/oB/IaAxIRvvyXbvJqurrUBLWOxajgdeR/Mm63TSC9DzKirChwTFLX8/uQ7AvtAE3UyEu087PnBIX1Q==","signatures":[{"sig":"MEUCICsp0JekFx3Or/U5g875wIX1ZIQ6FH6Go82thiKwpmajAiEAjWe1urzLhleEt8jHUE286+wVU5sSV1M2twxQD3hEisU=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":45760},"main":"dist/index.js","types":"./index.d.ts","gitHead":"4621a2b162511567b4d6d639d908042e3bdf4c1d","scripts":{"dev":"tsc","test":"echo \"Error: no test specified\" && exit 1"},"_npmUser":{"name":"amrmohamed1","email":"derasa123123@gmail.com"},"deprecated":"This version is deprecated. Please use version 2.4.3.","_npmVersion":"10.5.0","description":"Best package to manage your mongodb and server with case and easy","directories":{},"_nodeVersion":"21.7.3","dependencies":{"cors":"^2.8.5","bcrypt":"^5.1.1","events":"^3.3.0","helmet":"^8.0.0","express":"^4.21.2","mongoose":"^8.9.3","express-rate-limit":"^7.5.0"},"_hasShrinkwrap":false,"devDependencies":{"@types/cors":"^2.8.17","@types/bcrypt":"^5.0.2","@types/events":"^3.0.3","@types/express":"^5.0.0","@types/methods":"^1.1.4"},"_npmOperationalInternal":{"tmp":"tmp/duzzle_2.3.9_1736521848630_0.669950539065792","host":"s3://npm-registry-packages-npm-production"}},"2.3.1":{"name":"duzzle","version":"2.3.1","keywords":["mongoose","mongodb","db","dbmanager","mongoose-manager","mongodb-manager","express","http","httpserver","https","httpsserver","expressserver","backend","app"],"author":{"name":"amrandblack"},"license":"MIT","_id":"duzzle@2.3.1","maintainers":[{"name":"amrmohamed1","email":"derasa123123@gmail.com"},{"name":"blackdis","email":"largclan8@gmail.com"}],"dist":{"shasum":"8f3b2df3ca950c84b4e6f59202abf1f4448b1ccf","tarball":"https://registry.npmjs.org/duzzle/-/duzzle-2.3.1.tgz","fileCount":16,"integrity":"sha512-toPYctvXGdc/thPJzx6a7GRQ/KyWD8zCw5y8u64ZqEQC6QO67ytlbvOuYCorKmyXKWiP0KiiWQXw5U7Zo3xkyg==","signatures":[{"sig":"MEUCIQCJuTTU2I6v54IQdBboqrUE+0SfUUyD/29e54u7L4LLZgIgfrXMCHH/CdX3H48nQVB8ApDNnWnjqJBe3P4wAakGPOQ=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":45751},"main":"dist/index.js","types":"./index.d.ts","gitHead":"4621a2b162511567b4d6d639d908042e3bdf4c1d","scripts":{"dev":"tsc","test":"echo \"Error: no test specified\" && exit 1"},"_npmUser":{"name":"amrmohamed1","email":"derasa123123@gmail.com"},"deprecated":"This version is deprecated. Please use version 2.4.3.","_npmVersion":"10.5.0","description":"Best package to manage your mongodb and server with case and easy","directories":{},"_nodeVersion":"21.7.3","dependencies":{"cors":"^2.8.5","bcrypt":"^5.1.1","events":"^3.3.0","helmet":"^8.0.0","express":"^4.21.2","mongoose":"^8.9.3","express-rate-limit":"^7.5.0"},"_hasShrinkwrap":false,"devDependencies":{"@types/cors":"^2.8.17","@types/bcrypt":"^5.0.2","@types/events":"^3.0.3","@types/express":"^5.0.0","@types/methods":"^1.1.4"},"_npmOperationalInternal":{"tmp":"tmp/duzzle_2.3.1_1736537703215_0.09105039216429445","host":"s3://npm-registry-packages-npm-production"}},"2.4.1":{"name":"duzzle","version":"2.4.1","keywords":["mongoose","mongodb","db","dbmanager","mongoose-manager","mongodb-manager","express","http","httpserver","https","httpsserver","expressserver","backend","app"],"author":{"name":"amrandblack"},"license":"MIT","_id":"duzzle@2.4.1","maintainers":[{"name":"amrmohamed1","email":"derasa123123@gmail.com"},{"name":"blackdis","email":"largclan8@gmail.com"}],"dist":{"shasum":"142ade970155f0a64fdee37db4e49f853c23e3bc","tarball":"https://registry.npmjs.org/duzzle/-/duzzle-2.4.1.tgz","fileCount":16,"integrity":"sha512-ODAHg1ExN+VpSwe+t1t5rVGsI8u118vwc7H+ptwJj40frqwBwOixqXfRzpL6ibcTV/31FNNkuvfi2a3dZP4wRw==","signatures":[{"sig":"MEUCIQDE/29uAA3RJ25WTlrTCIU86lBJas0Owic6aZrW/5aAKAIgCi1lEZOO0bJe0+0fBEHhZFmljepAWUK87pem2Y7KB4U=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":44791},"main":"dist/index.js","types":"./index.d.ts","gitHead":"3c4876fade470566232dac2d4439a9753a71bf7c","scripts":{"dev":"tsc","test":"echo \"Error: no test specified\" && exit 1"},"_npmUser":{"name":"amrmohamed1","email":"derasa123123@gmail.com"},"deprecated":"This version is deprecated. Please use version 2.4.3.","_npmVersion":"10.5.0","description":"Best package to manage your mongodb and server with case and easy","directories":{},"_nodeVersion":"21.7.3","dependencies":{"cors":"^2.8.5","bcrypt":"^5.1.1","events":"^3.3.0","helmet":"^8.0.0","express":"^4.21.2","mongoose":"^8.9.3","express-rate-limit":"^7.5.0"},"_hasShrinkwrap":false,"devDependencies":{"@types/cors":"^2.8.17","@types/bcrypt":"^5.0.2","@types/events":"^3.0.3","@types/express":"^5.0.0","@types/methods":"^1.1.4"},"_npmOperationalInternal":{"tmp":"tmp/duzzle_2.4.1_1736623138268_0.994332621924203","host":"s3://npm-registry-packages-npm-production"}},"2.4.2":{"name":"duzzle","version":"2.4.2","keywords":["mongoose","mongodb","db","dbmanager","mongoose-manager","mongodb-manager","express","http","httpserver","https","httpsserver","expressserver","backend","app"],"author":{"name":"amr_and_black"},"license":"MIT","_id":"duzzle@2.4.2","maintainers":[{"name":"amrmohamed1","email":"derasa123123@gmail.com"},{"name":"blackdis","email":"largclan8@gmail.com"}],"dist":{"shasum":"8371772deb20c28f42afd6cf1f09d43830458c49","tarball":"https://registry.npmjs.org/duzzle/-/duzzle-2.4.2.tgz","fileCount":34,"integrity":"sha512-v0V3t5eLpCxM+TTeo9KREOySASnub92MPKVz25Kgl0tbLIJLw0jIPOWdQUIeywVOsatByru8AKvA1YUDyvSF4g==","signatures":[{"sig":"MEUCIQDc8NRPxmUtDWSt4N/ZURnM5xmUieWqz3zhmlE0yKp8cwIgZmVzdjBSkG041pfDCvjrO59TaxuBtvtmrYBqWzRhytQ=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":85882},"main":"dist/index.js","types":"./index.d.ts","gitHead":"3c4876fade470566232dac2d4439a9753a71bf7c","scripts":{"dev":"tsc","test":"echo \"Error: no test specified\" && exit 1"},"_npmUser":{"name":"blackdis","email":"largclan8@gmail.com"},"deprecated":"This version is deprecated. Please use version 2.4.3.","_npmVersion":"10.8.1","description":"Best package to manage your mongodb and server with case and easy","directories":{},"_nodeVersion":"20.16.0","dependencies":{"cors":"^2.8.5","bcrypt":"^5.1.1","events":"^3.3.0","helmet":"^8.0.0","express":"^4.21.2","mongoose":"^8.9.3","express-rate-limit":"^7.5.0"},"_hasShrinkwrap":false,"devDependencies":{"@types/cors":"^2.8.17","@types/bcrypt":"^5.0.2","@types/events":"^3.0.3","@types/express":"^5.0.0","@types/methods":"^1.1.4"},"_npmOperationalInternal":{"tmp":"tmp/duzzle_2.4.2_1736630462638_0.7799283119225306","host":"s3://npm-registry-packages-npm-production"}},"2.4.3":{"name":"duzzle","version":"2.4.3","keywords":["mongoose","mongodb","db","dbmanager","mongoose-manager","mongodb-manager","express","http","httpserver","https","httpsserver","expressserver","backend","app"],"author":{"name":"amr_and_black"},"license":"MIT","_id":"duzzle@2.4.3","maintainers":[{"name":"amrmohamed1","email":"derasa123123@gmail.com"},{"name":"blackdis","email":"largclan8@gmail.com"}],"dist":{"shasum":"8a871b0116df9f889ba62d1d6698dcc734c7dd93","tarball":"https://registry.npmjs.org/duzzle/-/duzzle-2.4.3.tgz","fileCount":17,"integrity":"sha512-o/+WEMa58L4h+xP0GPW9BvfrrR6hphgQS5QfuhRvyyqq7ltzRtNobN1XmhLVqUm9bOMmVsoCi1RAxxL4US0pTA==","signatures":[{"sig":"MEYCIQDsqvn+KC/4EP4lpebIbkGw6J+PowW1R/MafrXEUf37qQIhAOvXaiNBQAB1Ki1kLFZjoDhgERI8wqnem8NlPduiWCF5","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":45075},"main":"dist/index.js","types":"./index.d.ts","gitHead":"3c4876fade470566232dac2d4439a9753a71bf7c","scripts":{"dev":"tsc","test":"echo \"Error: no test specified\" && exit 1"},"_npmUser":{"name":"blackdis","email":"largclan8@gmail.com"},"_npmVersion":"10.8.1","description":"Best package to manage your mongodb and server with case and easy","directories":{},"_nodeVersion":"20.16.0","dependencies":{"cors":"^2.8.5","bcrypt":"^5.1.1","events":"^3.3.0","helmet":"^8.0.0","express":"^4.21.2","mongoose":"^8.9.3","express-rate-limit":"^7.5.0"},"_hasShrinkwrap":false,"devDependencies":{"@types/cors":"^2.8.17","@types/bcrypt":"^5.0.2","@types/events":"^3.0.3","@types/express":"^5.0.0","@types/methods":"^1.1.4"},"_npmOperationalInternal":{"tmp":"tmp/duzzle_2.4.3_1736631475971_0.5185028682217498","host":"s3://npm-registry-packages-npm-production"}},"2.4.4":{"name":"duzzle","version":"2.4.4","keywords":["mongoose","mongodb","db","dbmanager","mongoose-manager","mongodb-manager","express","http","httpserver","https","httpsserver","expressserver","backend","app"],"author":{"name":"amr_and_black"},"license":"MIT","_id":"duzzle@2.4.4","maintainers":[{"name":"amrmohamed1","email":"derasa123123@gmail.com"},{"name":"blackdis","email":"largclan8@gmail.com"}],"homepage":"https://github.com/AmrMohamed2007/Duzzle","bugs":{"url":"https://github.com/AmrMohamed2007/Duzzle/issues"},"dist":{"shasum":"198e988e5469e75e805dc4afd99061024bc2c2a7","tarball":"https://registry.npmjs.org/duzzle/-/duzzle-2.4.4.tgz","fileCount":17,"integrity":"sha512-BpcHly/R0Groe9Tp6vUVIWX6Ik3ZFA3DOcY4mySFZvUJNMucsnFPba7uDXamIUDKatS9+eRq52aLFgPlHJh2qQ==","signatures":[{"sig":"MEUCIBSxRHjD/MyzOvt2FrhzTZS6BxiKJvEFlLau5aVVAPk5AiEAscgcGSEK06pWZLW3NKX5Xge2WkxSpDKO963eTXHTHt4=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":45195},"main":"dist/index.js","types":"./index.d.ts","gitHead":"59c815f86cf37b91d352c6dd97bd597643d9ef28","scripts":{"dev":"tsc","test":"echo \"Error: no test specified\" && exit 1"},"_npmUser":{"name":"blackdis","email":"largclan8@gmail.com"},"repository":{"url":"git+https://github.com/AmrMohamed2007/Duzzle.git","type":"git"},"_npmVersion":"10.8.1","description":"Best package to manage your mongodb and server with case and easy","directories":{},"_nodeVersion":"20.16.0","dependencies":{"cors":"^2.8.5","bcrypt":"^5.1.1","events":"^3.3.0","helmet":"^8.0.0","express":"^4.21.2","mongoose":"^8.9.3","express-rate-limit":"^7.5.0"},"_hasShrinkwrap":false,"devDependencies":{"@types/cors":"^2.8.17","@types/bcrypt":"^5.0.2","@types/events":"^3.0.3","@types/express":"^5.0.0","@types/methods":"^1.1.4"},"_npmOperationalInternal":{"tmp":"tmp/duzzle_2.4.4_1736690442171_0.938820745986443","host":"s3://npm-registry-packages-npm-production"}},"2.4.5":{"name":"duzzle","version":"2.4.5","description":"Best package to manage your mongodb and server with case and easy","main":"dist/index.js","types":"./index.d.ts","scripts":{"test":"echo \"Error: no test specified\" && exit 1","dev":"tsc"},"keywords":["mongoose","mongodb","db","dbmanager","mongoose-manager","mongodb-manager","express","http","httpserver","https","httpsserver","expressserver","backend","app"],"author":{"name":"amr_and_black"},"license":"MIT","repository":{"type":"git","url":"git+https://github.com/AmrMohamed2007/Duzzle.git"},"homepage":"https://github.com/AmrMohamed2007/Duzzle","dependencies":{"bcrypt":"^5.1.1","cors":"^2.8.5","events":"^3.3.0","express":"^4.21.2","express-rate-limit":"^7.5.0","helmet":"^8.0.0","mongoose":"^8.9.3"},"devDependencies":{"@types/bcrypt":"^5.0.2","@types/cors":"^2.8.17","@types/events":"^3.0.3","@types/express":"^5.0.0","@types/methods":"^1.1.4"},"_id":"duzzle@2.4.5","gitHead":"59c815f86cf37b91d352c6dd97bd597643d9ef28","bugs":{"url":"https://github.com/AmrMohamed2007/Duzzle/issues"},"_nodeVersion":"20.16.0","_npmVersion":"10.8.1","dist":{"integrity":"sha512-WT6IooceR/ke71fpwv5UvofzdKM3FinZTPbpXMRB0XoCaLohGSZJ86w7P+lkC6eOIu0Gmri+KxBJhZvYGevnnw==","shasum":"6108d45cc0c02bb3f52f5522b9d0d62df9fba0c1","tarball":"https://registry.npmjs.org/duzzle/-/duzzle-2.4.5.tgz","fileCount":17,"unpackedSize":45101,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIDi2Dk5I6mySWsxQMXEDCjJBQfqMtVxu2DaTtPGJkqjeAiEA6fOu1WwRr3THdnt4Pc1LVD1DGi1K3ns+qFSv6TTxJ6o="}]},"_npmUser":{"name":"blackdis","email":"largclan8@gmail.com"},"directories":{},"maintainers":[{"name":"amrmohamed1","email":"derasa123123@gmail.com"},{"name":"blackdis","email":"largclan8@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/duzzle_2.4.5_1736704437056_0.10720080266756393"},"_hasShrinkwrap":false}},"time":{"created":"2025-01-09T19:40:45.651Z","modified":"2025-01-12T17:53:57.418Z","1.0.2":"2025-01-05T19:13:13.507Z","1.0.3":"2025-01-05T19:24:12.778Z","1.0.4":"2025-01-05T19:26:33.837Z","1.0.5":"2025-01-05T19:37:31.267Z","2.1.7":"2025-01-08T15:14:41.598Z","2.1.8":"2025-01-08T15:17:01.765Z","2.1.9":"2025-01-08T15:47:48.747Z","2.1.2":"2025-01-09T19:40:45.992Z","2.2.2":"2025-01-09T23:28:01.098Z","2.3.2":"2025-01-10T13:49:31.671Z","2.3.3":"2025-01-10T14:49:20.377Z","2.3.4":"2025-01-10T14:52:51.199Z","2.3.5":"2025-01-10T14:57:26.851Z","2.3.6":"2025-01-10T15:04:00.377Z","2.3.9":"2025-01-10T15:10:48.847Z","2.3.1":"2025-01-10T19:35:03.407Z","2.4.1":"2025-01-11T19:18:58.523Z","2.4.2":"2025-01-11T21:21:02.822Z","2.4.3":"2025-01-11T21:37:56.167Z","2.4.4":"2025-01-12T14:00:42.432Z","2.4.5":"2025-01-12T17:53:57.244Z"},"bugs":{"url":"https://github.com/AmrMohamed2007/Duzzle/issues"},"author":{"name":"amr_and_black"},"license":"MIT","homepage":"https://github.com/AmrMohamed2007/Duzzle","keywords":["mongoose","mongodb","db","dbmanager","mongoose-manager","mongodb-manager","express","http","httpserver","https","httpsserver","expressserver","backend","app"],"repository":{"type":"git","url":"git+https://github.com/AmrMohamed2007/Duzzle.git"},"description":"Best package to manage your mongodb and server with case and easy","maintainers":[{"name":"amrmohamed1","email":"derasa123123@gmail.com"},{"name":"blackdis","email":"largclan8@gmail.com"}],"readme":"# Duzzle Library\r\n\r\nThis library provides a utility for managing MongoDB schemas and interacting with them using a clean and structured interface. It includes two core classes: `Shape` , `App` and `Server` , each extending the `EventEmitter` class for event-driven programming. The package allows you to dynamically define schemas using the `createShape` function, with the schema data being directly represented by the `Shape` class and you can make a server app and manag it easy.\r\n\r\n## Installation\r\n\r\nInstall the package using npm:\r\n```bash\r\nbun add duzzle\r\nnpm install duzzle\r\n```\r\n\r\n## Usage\r\n\r\n### Setting up the `App` Class\r\nThe `App` class handles the database connection and manages different `Shape` instances.\r\n\r\n```typescript\r\nimport { App } from 'duzzle';\r\n\r\n// Create a new instance of App\r\nconst app = new App('mongodb://localhost:27017/mydatabase');\r\n\r\n// Connect to the database\r\napp.connect().then(() => {\r\n    console.log('Connected to the database!');\r\n}).catch(err => {\r\n    console.error('Failed to connect to the database:', err);\r\n});\r\n\r\n// Disconnect when done\r\napp.disconnect().then(() => {\r\n    console.log('Disconnected from the database!');\r\n});\r\n```\r\n\r\n### Dynamically Creating Shapes with `App`\r\nThe `createShape` function allows you to dynamically define schemas and manage them through `Shape` instances.\r\n\r\n```typescript\r\nimport { ShapeAdd } from 'duzzle';\r\n\r\nconst shapeOptions: ShapeAdd = {\r\n    name: 'Product',\r\n    SchemaData: {\r\n        title: String,\r\n        price: Number,\r\n        products: [{name: String, price: Number}]\r\n    }\r\n};\r\n\r\nconst shape = await app.createShape(shapeOptions)\r\n\r\n    shape.searchWI({ key: 'title', value: 'Laptop', type: 1 }).then(result => {\r\n        console.log('Product search results:', result);\r\n    });\r\n\r\n     shape.searchWI({ key: 'products.name', value: 'Laptop', type: 1 }).then(result => {\r\n        console.log('Product search results:', result);\r\n    });\r\n```\r\n\r\n### Create A HTTP Server\r\nthe `start` function it stats a server with port you provided in `parametar`\r\n\r\n```typescript\r\nimport { Server } from \"duzzle\"\r\n\r\nconst app = new Server(300* /* Server Port */)\r\n\r\n\r\n// Strat the http server\r\n\r\n app.start()\r\n    .then(() => console.log('Server started on port 3000'))\r\n    .catch((r) => console.error)\r\n\r\n // server with security options:\r\n\r\n app.start({\r\n    enableRateLimit: true, enableHelmet: true,\r\n    cors: {\r\n        enable: true,\r\n        origin: \"http://localhost:3000\",\r\n        methods: [\"GET\", \"POST\", \"PUT\", \"DELETE\"],\r\n        jsonLimit: \"500kb\",       \r\n        urlencoded: \"500mb\",\r\n        allowdHeaders: [\"Content-Type\"], \r\n    }\r\n})\r\n    .then(() => console.log('Server started on port 3000'))\r\n    .catch((r) => console.error)\r\n\r\n// [get, delete, put, patch, post...]\r\n    app.get(\"/hello\", [/*middlewares if no put it empty arr*/], {\r\n        run: (req, res) => {\r\n            res.send(\"hello world\")\r\n        }\r\n    })\r\n\r\n    // create a route\r\n    const Route = app.Route()\r\n    \r\n    Route.get(\"/\", (req, res) => res.send(\"hi\"))\r\n\r\n    app.useRouter(\"/main\", Route)\r\n\r\n```\r\n\r\n### Connect To Duzzle Db Using HTTP Server\r\n```typescript\r\n\r\nlet db = await app.connectDb(\"mongourl\")\r\n\r\n// Security Options\r\n\r\nlet db = await app.connectDb(\"mongourl\", {\r\n    autoHash: {\r\n        enable: true,\r\n        words: [\"password\"]\r\n    }\r\n})\r\n```\r\n\r\n\r\n### Create Shape In HTTPS Server\r\n\r\n```typescript\r\n\r\n    const UserShape = await db.createShape({\r\n        name: \"users\", SchemaData: {\r\n            name: String,\r\n            dash: String,\r\n            password: String\r\n        }\r\n    }) \r\n\r\n// Insert Function\r\n\r\nawait UserShape.model.insertMany(...[\r\n    {name: \"ahmed\", products: [{name:\"mouse\", price:15}] /* Document */}, {name: \"amr\" , products: [{name:\"mouse\", price:15}]}\r\n    ])\r\n\r\n\r\n    // Edit With Item\r\n   \r\n\r\n const S = await UserShape.editWI({ key: \"name\", value: \"amr\" }, { key: \"products.name\", value: \"keyboard\" }, 1)\r\n```\r\n\r\n## API Reference\r\n\r\n### Class: `Shape`\r\n#### Constructor\r\n```typescript\r\nnew Shape(name: string, schemaData: Record<string, unknown>); // <Promise<Shape>\r\n```\r\n- `name`: The name of the shape.\r\n- `schemaData`: The schema definition as a record of fields and their types.\r\n\r\n#### Methods\r\n- `searchWI(options: Query): Promise<Document | Document[] | null>`\r\n  - Searches the database using the given query.\r\n\r\n- `editWI(filter: QueryU, update: QueryUpdate | Record<string, unknown>, type: TOSU, options?: Uptions): Promise<Document | Document[] | UpdateWriteOpResult | null>`\r\n  - Edits documents in the database based on the filter and update instructions.\r\n\r\n  - `model`\r\n  - Returns Schema's Model in mongoose\r\n\r\n\r\n### Class: `App`\r\n#### Constructor\r\n```typescript\r\nnew App(url: string, {\r\n    autoHash: {\r\n        enable: true,\r\n        words: [\"password\"]\r\n    }\r\n});\r\n```\r\n- `url`: MongoDB connection string.\r\n- `extentions`: Some extentions to make a db easier\r\n\r\n#### Methods\r\n- `connect(): Promise<void | mongoose.Mongoose>`\r\n  - Connects to the MongoDB database.\r\n\r\n- `disconnect(): Promise<void>`\r\n  - Disconnects from the database.\r\n\r\n- `createShape(options: ShapeAdd): Promise<Shape>`\r\n  - Dynamically defines a new schema and returns a `Shape` instance.\r\n\r\n\r\n## Types and Interfaces\r\n\r\n### Interface: `ShapeAdd`\r\n```typescript\r\ninterface ShapeAdd {\r\n    name: string;\r\n    SchemaData: Record<string, unknown>;\r\n}\r\n```\r\n- `name`: The name of the schema to be created.\r\n- `SchemaData`: The schema definition as a record of fields and their types.\r\n\r\n### Interface: `Query`\r\n```typescript\r\ninterface Query {\r\n    key?: string;\r\n    value: any;\r\n    type: TOSN;\r\n}\r\n```\r\n- `key`: The field to query.\r\n- `value`: The value to search for.\r\n- `type`: Type of query (`TOSN` enum).\r\n\r\n### Interface: `QueryU`\r\n```typescript\r\ninterface QueryU {\r\n    key?: string;\r\n    value: any;\r\n}\r\n```\r\n- `key`: The field to filter by.\r\n- `value`: The filter value.\r\n\r\n### Interface: `QueryUpdate`\r\n```typescript\r\ninterface QueryUpdate {\r\n    key: string;\r\n    value: any;\r\n}\r\n```\r\n- `key`: The field to update.\r\n- `value`: The new value for the field.\r\n\r\n### Interface: `Uptions`\r\n```typescript\r\ninterface Uptions {\r\n    createNew?: boolean;\r\n    arrayMethod?: \"push\" | \"pop\" | \"set\";\r\n}\r\n```\r\n- `createNew`: Whether to create a new document if no match is found.\r\n- `arrayMethod`: Method to apply when updating array fields.\r\n\r\n### Enum: `TOSU`\r\n```typescript\r\nenum TOSU {\r\n    all = 0,\r\n    one = 1\r\n}\r\n```\r\n- `all`: Apply to all matching documents.\r\n- `one`: Apply to a single matching document.\r\n\r\n### Enum: `TOSN`\r\n```typescript\r\nenum TOSN {\r\n    all = 0,\r\n    one = 1,\r\n    id = 2\r\n}\r\n```\r\n- `all`: Search all documents.\r\n- `one`: Search for a single document.\r\n- `id`: Search by document ID.\r\n\r\n## License\r\n\r\nThis project is licensed under the MIT License.","readmeFilename":"readme.md"}