
Product
Introducing Rust Support in Socket
Socket now supports Rust and Cargo, offering package search for all users and experimental SBOM generation for enterprise projects.
@bryopsida/nest-couchdb
Advanced tools
$ npm i @bryopsida/nest-couchdb nano
@bryopsida/nest-couchdb
uses nano as a data provider for CouchDB and the Repository
pattern to handle all documents related operations.
First, let's create an Entity
:
import { Entity, CouchDbEntity } from '@bryopsida/nest-couchdb'
@Entity('cats')
export class Cat extends CouchDbEntity {
name: string
}
Where cats
is the CouchDB database name.
The CouchDbEntity
is a base class which has some common properties:
class CouchDbEntity {
_id: string
_rev: string
}
Then, we need to import CouchDbModule
in our ApplicationModule
:
import { Module } from '@nestjs/common'
import { CouchDbModule } from '@bryopsida/nest-couchdb'
@Module({
imports: [
CouchDbModule.forRoot({
url: 'http://localhost:5984',
username: 'couchdb',
userpass: 'password',
requestDefaults: { jar: true },
}),
],
})
export class ApplicationModule {}
In our CatsModule
we need to initiate repository for our Cat
entity:
import { Module } from '@nestjs/common'
import { CouchDbModule } from '@bryopsida/nest-couchdb'
import { CatsService } from './cats.service'
import { CatsController } from './cats.controller'
import { Cat } from './cat.entity'
@Module({
imports: [CouchDbModule.forFeature([Cat])],
providers: [CatsService],
controllers: [CatsController],
})
export class CatsModule {}
And here is the usage of the repository in the service:
import { DocumentListResponse } from 'nano';
import { Injectable } from '@nestjs/common';
import { InjectRepository, Repository } from '@bryopsida/nest-couchdb';
import { Cat } from './cat.entity';
@Injectable()
export class CatsService {
constructor(
@InjectRepository(Cat)
private readonly catsRepository: Repository<Cat>,
) {}
findAll(): Promise<DocumentListResponse<Cat> {
return this.catsRepository.list();
}
}
$ docker-compose up -d
$ npm test
Created by @zMotivat0r @ Scalio
FAQs
CouchDB module for Nest framework
We found that @bryopsida/nest-couchdb 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.
Product
Socket now supports Rust and Cargo, offering package search for all users and experimental SBOM generation for enterprise projects.
Product
Socket’s precomputed reachability slashes false positives by flagging up to 80% of vulnerabilities as irrelevant, with no setup and instant results.
Product
Socket is launching experimental protection for Chrome extensions, scanning for malware and risky permissions to prevent silent supply chain attacks.