{"id":20109855,"url":"https://github.com/hyper63/hyper-adapter-couchdb","last_synced_at":"2025-03-02T18:24:56.094Z","repository":{"id":40384825,"uuid":"377896476","full_name":"hyper63/hyper-adapter-couchdb","owner":"hyper63","description":"CouchDB adapter for Hyper Data port","archived":false,"fork":false,"pushed_at":"2023-11-28T23:42:04.000Z","size":197,"stargazers_count":3,"open_issues_count":4,"forks_count":0,"subscribers_count":3,"default_branch":"main","last_synced_at":"2025-01-13T05:41:39.985Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":"","language":"JavaScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"apache-2.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/hyper63.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":".github/FUNDING.yml","license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null},"funding":{"github":"hyper63"}},"created_at":"2021-06-17T16:32:31.000Z","updated_at":"2023-12-14T16:32:35.000Z","dependencies_parsed_at":"2025-01-13T05:40:47.433Z","dependency_job_id":"e489f34e-fe1e-4391-b719-14322c7453f2","html_url":"https://github.com/hyper63/hyper-adapter-couchdb","commit_stats":null,"previous_names":[],"tags_count":21,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/hyper63%2Fhyper-adapter-couchdb","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/hyper63%2Fhyper-adapter-couchdb/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/hyper63%2Fhyper-adapter-couchdb/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/hyper63%2Fhyper-adapter-couchdb/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/hyper63","download_url":"https://codeload.github.com/hyper63/hyper-adapter-couchdb/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":241550092,"owners_count":19980648,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":[],"created_at":"2024-11-13T18:09:39.496Z","updated_at":"2025-03-02T18:24:56.057Z","avatar_url":"https://github.com/hyper63.png","language":"JavaScript","readme":"\u003ch1 align=\"center\"\u003ehyper-adapter-couchdb\u003c/h1\u003e\n\u003cp align=\"center\"\u003eA Data port adapter that uses CouchDB in the \u003ca href=\"https://hyper.io/\"\u003ehyper\u003c/a\u003e  service framework\u003c/p\u003e\n\u003c/p\u003e\n\u003cp align=\"center\"\u003e\n  \u003ca href=\"https://nest.land/package/hyper-adapter-couchdb\"\u003e\u003cimg src=\"https://nest.land/badge.svg\" alt=\"Nest Badge\" /\u003e\u003c/a\u003e\n  \u003ca href=\"https://github.com/hyper63/hyper-adapter-couchdb/actions/workflows/test-and-publish.yml\"\u003e\u003cimg src=\"https://github.com/hyper63/hyper-adapter-couchdb/actions/workflows/test-and-publish.yml/badge.svg\" alt=\"Test\" /\u003e\u003c/a\u003e\n  \u003ca href=\"https://github.com/hyper63/hyper-adapter-couchdb/tags/\"\u003e\u003cimg src=\"https://img.shields.io/github/tag/hyper63/hyper-adapter-couchdb\" alt=\"Current Version\" /\u003e\u003c/a\u003e\n\u003c/p\u003e\n\n---\n\n\u003c!-- toc --\u003e\n\n- [Table of Contents](#table-of-contents)\n- [Getting Started](#getting-started)\n  - [Credentials from ENV VARS](#credentials-from-env-vars)\n- [Installation](#installation)\n- [Features](#features)\n- [Methods](#methods)\n- [Contributing](#contributing)\n- [Testing](#testing)\n- [Setup a standalone couchdb server using docker](#setup-a-standalone-couchdb-server-using-docker)\n- [License](#license)\n\n\u003c!-- tocstop --\u003e\n\n## Getting Started\n\n`hyper.config.js`\n\n```js\nimport { default as couchdb } from 'https://x.nest.land/hyper-adapter-couchdb@VERSION/mod.js'\n\nexport default {\n  app,\n  adapter: [\n    { port: 'data', plugins: [couchdb({ url: 'http://localhost:5984' })] },\n  ],\n}\n```\n\nThe value of the connection url should be in the following format:\n\n\u003e `[protocol]://[key]:[secret]@[host]:[port]`\n\nWhen a new database is created, the following roles will be added to the security document:\n\n- db-admin\n- db-user\n\nUsing this adapter, you will not have any access to the \\_users table or the _replicator table\n\n### Credentials from ENV VARS\n\nWhen using this adapter, you will need to configure three environment variables, one for the\n`server-admin` credentials, so that the adapter can create/delete databases, and one for the\n`db-admin` user so a search index can be created. And finally one for the `db-user` user to manage\ndocuments.\n\n.env\n\n```\nDATA_SVR_ADMIN=XXX_URL\nDATA_DB_ADMIN=XXX_URL\nDATA_DB_USER=XXX_URL\n```\n\n## Installation\n\nThis is a Deno module available to import from\n[nest.land](https://nest.land/package/hyper-adapter-couchdb)\n\ndeps.js\n\n```js\nexport { default as couchdb } from 'https://x.nest.land/hyper-adapter-couchdb@VERSION/mod.js'\n```\n\n## Features\n\n- Create a `CouchDB` datastore\n- Remove a `CouchDB` datastore\n- Create a document in a `CouchDB` datastore\n- Retrieve a document in a `CouchDB` datastore\n- Update a document in a `CouchDB` datastore\n- Remove a document from a `CouchDB` datastore\n- List documents in a `CouchDB` datastore\n- Query documents in a `CouchDB` datastore\n- Index documents in a `CouchDB` datastore\n- Bulk create documents in a `CouchDB` datastore\n\n## Methods\n\nThis adapter fully implements the Data port and can be used as the\n[hyper Data service](https://docs.hyper.io/oss/data-api) adapter\n\nSee the full port [here](https://nest.land/package/hyper-port-data)\n\n## Contributing\n\nContributions are welcome! See the hyper\n[contribution guide](https://docs.hyper.io/contributing-to-hyper)\n\n## Testing\n\n```\n./scripts/test.sh\n```\n\nTo lint, check formatting, and run unit tests\n\n## Setup a standalone couchdb server using docker\n\n`Dockerfile`\n\n```\nFROM couchdb:3.1.1\n\nRUN echo '[couchdb]' \u003e /opt/couchdb/etc/local.d/10-single-node.ini\nRUN echo 'single_node=true' \u003e\u003e /opt/couchdb/etc/local.d/10-single-node.ini\n```\n\nThen run\n\n```sh\ndocker build -t single-couchdb:1 .\ndocker run -d -p 5984:5984 -e COUCHDB_USER=admin -e COUCHDB_PASSWORD=password --name couch single-couchdb:1\n```\n\n## License\n\nApache-2.0\n","funding_links":["https://github.com/sponsors/hyper63"],"categories":[],"sub_categories":[],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fhyper63%2Fhyper-adapter-couchdb","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fhyper63%2Fhyper-adapter-couchdb","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fhyper63%2Fhyper-adapter-couchdb/lists"}