Добавлена функция поиска задач по запросам couchdb

This commit is contained in:
Pavel Gnedov 2022-07-19 11:36:49 +07:00
parent d8b2851366
commit b91f54b26a
2 changed files with 13 additions and 1 deletions

View file

@ -1,4 +1,4 @@
import { Controller, Get, Param } from '@nestjs/common';
import { Body, Controller, Get, Param, Post } from '@nestjs/common';
import { RedmineTypes } from '../models/redmine-types';
import { IssuesService } from './issues.service';
@ -6,6 +6,11 @@ import { IssuesService } from './issues.service';
export class IssuesController {
constructor(private issuesService: IssuesService) {}
@Post('find')
async find(@Body() params: any): Promise<RedmineTypes.Issue[]> {
return await this.issuesService.find(params);
}
@Get(':id')
async getIssue(@Param('id') id: number): Promise<RedmineTypes.Issue> {
return await this.issuesService.getIssue(id);

View file

@ -5,6 +5,7 @@ import { RedmineEventsGateway } from '../events/redmine-events.gateway';
import { RedmineIssuesCacheWriterService } from '../issue-cache-writer/redmine-issues-cache-writer.service';
import { RedmineDataLoader } from '../redmine-data-loader/redmine-data-loader';
import { MemoryCache } from '../utils/memory-cache';
import nano from 'nano';
export const ISSUE_MEMORY_CACHE_LIFETIME = 30 * 1000;
const ISSUE_MEMORY_CACHE_AUTOCLEAN_INTERVAL = 1000 * 60 * 5;
@ -25,6 +26,12 @@ export class IssuesService {
private redmineEventsGateway: RedmineEventsGateway,
) {}
async find(query: nano.MangoQuery): Promise<RedmineTypes.Issue[]> {
const issueDb = await this.issues.getDatasource();
const res = await issueDb.find(query);
return res.docs;
}
async getIssue(
issueId: number,
force = false,