pos-be/src/modules/configuration/couch/infrastructure/couch.controller.ts

65 lines
1.7 KiB
TypeScript

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('v1/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');
}
}
}