feat(SPG-10) Research & Testing PG to Couch, Couch to PG

master
ashar 2024-05-30 09:36:51 +07:00
parent e78d1c90d1
commit 1124307453
3 changed files with 83 additions and 0 deletions

View File

@ -0,0 +1,17 @@
import { ConfigModule } from "@nestjs/config";
import { CouchDataController } from "./infrastructure/couch.controller";
import { Module } from "@nestjs/common";
@Module({
imports: [
ConfigModule.forRoot(),
// TypeOrmModule.forFeature([UserPrivilegeModel], CONNECTION_NAME.DEFAULT),
// CqrsModule,
],
controllers: [
CouchDataController
],
providers: [
],
})
export class CouchModule {}

View File

View File

@ -0,0 +1,66 @@
import { Body, Controller, Get, Post } from "@nestjs/common";
import { ApiTags } from "@nestjs/swagger";
import { Unprotected } from "src/core/guards";
import * as Nano from 'nano'
import { CreateUserPrivilegeDto } from "src/modules/user-related/user-privilege/infrastructure/dto/create-user-privilege.dto";
@ApiTags(`couch`)
@Controller('couch')
@Unprotected()
export class CouchDataController {
@Post()
async createDoc(
@Body() entity: CreateUserPrivilegeDto
) {
try {
let n = Nano('http://admin:secret@127.0.0.1:5984')
let db = await n.db.create(entity.name)
} catch (error) {
console.log(error, 'dsa')
}
}
@Post('doc')
async createDocs(
@Body() entity: CreateUserPrivilegeDto
) {
try {
const nano = require("nano")("http://admin:secret@127.0.0.1:5984");
const people = nano.db.use('string');
console.log(await people.info())
const data = {
id: '1212',
name: 'dsadas'
}
// await people.insert(data)
people.changesReader.start()
.on('change', (change) => { console.log(change) })
.on('batch', (b) => {
console.log('a batch of', b.length, 'changes has arrived');
}).on('seq', (s) => {
console.log('sequence token', s);
}).on('error', (e) => {
console.error('error', e);
})
} catch (error) {
console.log(error, 'dsa')
}
}
@Get()
async getDoc(
) {
try {
let n = Nano('http://admin:secret@127.0.0.1:5984')
const people = n.use('string');
// return people.get();
} catch (error) {
console.log(error, 'dsa')
}
}
}