Security News
Combatting Alert Fatigue by Prioritizing Malicious Intent
In 2023, data breaches surged 78% from zero-day and supply chain attacks, but developers are still buried under alerts that are unable to prevent these threats.
couch_adapter
Advanced tools
couch_adapter is a simple abstraction that removes dependencies from couch specific logic and mechanisms from your API and/or website. It provides a simple CRUD interface that can be extended, modified, or replaced with another module at a later time, if couchDB needs replaced.
npm install couch_adapter
Creating a new adapter instance is as easy as:
let adapter = require("couch_adapter")(options);
Constructor Options is an object that can contain the following:
Creating an adapter returns an object with 7 methods: create, read, update, delete, readBulk, getVersion, and logLevel. All methods return a promise.
Creates a document in the configured database.
adapter.create(doc).then((result) => {
console.log(result);
});
Retrieves a document that matches ID from database
adapter.read(id).then((result) => {
console.log(result);
});
Retrieves a set of documents from the database
adapter.readBulk(skip, limit).then((result) => {
console.log(result);
});;
Updates a document in the database. doc is document
adapter.update(doc).then((result) => {
console.log(result);
});
Deletes a document in the database that matches the passed id.
adapter.delete(id).then((result) => {
console.log(result);
});
Retrieves the version of the module.
adapter.getVersion().then((result) => {
console.log(result);
});
Retrieves the logLevel of the object.
adapter.logLevel().then((result) => {
console.log(result);
});
{
"ok": true,
"id": "awest2",
"rev": "1-f371adad4ce4b07c5702f103ae9f0864"
}
{
"total_rows": 3,
"offset": 0,
"rows":
[
{ "id": "awest", "key": "EDL", "value": "awest" },
{ "id": "ckent", "key": "ID", "value": "ckent" },
{ "id": "jtest", "key": "PDL", "value": "jtest" }
]
}
Note: Read Bulk does not attach documents to the results.
{
"total_rows": 1,
"offset": 0,
"rows":
[ { "id": "awest", "key": "EDL", "value": "awest", "doc": { }} ]
}
{
"version": "1.0.0"
}
{
"logLevel": "info"
}
Tests require a couch instance to execute. Configure settings in ./test/configData/config.json.
Scripts available:
npm test : Runs all tests in the /test/ directory
npm run coverage : generates an instanbul coverage report
npm run lint : Performs linting of the files with my style using jshint and jscs
Logs are generaged at either process.env.LOG_DIR or at the root directory of the calling application. Logs are generated using PINO, and follow the naming schema: couch_adapter_MMDDYYYY.log
If you have any questions, suggestions, or issues please contact me at jashworth@validusa.com.
Contributors Welcome!
Thanks
FAQs
An adpater to the couchdb that gives CRUD API for a database
The npm package couch_adapter receives a total of 0 weekly downloads. As such, couch_adapter popularity was classified as not popular.
We found that couch_adapter demonstrated a not healthy version release cadence and project activity because the last version was released a year ago. It has 1 open source maintainer collaborating on the project.
Did you know?
Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.
Security News
In 2023, data breaches surged 78% from zero-day and supply chain attacks, but developers are still buried under alerts that are unable to prevent these threats.
Security News
Solo open source maintainers face burnout and security challenges, with 60% unpaid and 60% considering quitting.
Security News
License exceptions modify the terms of open source licenses, impacting how software can be used, modified, and distributed. Developers should be aware of the legal implications of these exceptions.