Security News
RubyGems.org Adds New Maintainer Role
RubyGems.org has added a new "maintainer" role that allows for publishing new versions of gems. This new permission type is aimed at improving security for gem owners and the service overall.
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
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
RubyGems.org has added a new "maintainer" role that allows for publishing new versions of gems. This new permission type is aimed at improving security for gem owners and the service overall.
Security News
Node.js will be enforcing stricter semver-major PR policies a month before major releases to enhance stability and ensure reliable release candidates.
Security News
Research
Socket's threat research team has detected five malicious npm packages targeting Roblox developers, deploying malware to steal credentials and personal data.