Добавлен вывод debug-логов
This commit is contained in:
parent
f5b02ab184
commit
442e11c419
1 changed files with 11 additions and 4 deletions
|
|
@ -1,28 +1,35 @@
|
||||||
import axios from 'axios';
|
import axios from 'axios';
|
||||||
import { RedmineIssueData } from '../models/RedmineIssueData';
|
import { RedmineIssueData } from '../models/RedmineIssueData';
|
||||||
import { Injectable } from '@nestjs/common';
|
import { Injectable, Logger } from '@nestjs/common';
|
||||||
import { ConfigService } from '@nestjs/config';
|
import { ConfigService } from '@nestjs/config';
|
||||||
|
|
||||||
@Injectable()
|
@Injectable()
|
||||||
export class RedmineDataLoader {
|
export class RedmineDataLoader {
|
||||||
urlPrefix: string;
|
urlPrefix: string;
|
||||||
|
|
||||||
|
private logger = new Logger(RedmineDataLoader.name);
|
||||||
|
|
||||||
constructor(private configService: ConfigService) {
|
constructor(private configService: ConfigService) {
|
||||||
this.urlPrefix = this.configService.get<string>('redmineUrlPrefix');
|
this.urlPrefix = this.configService.get<string>('redmineUrlPrefix');
|
||||||
}
|
}
|
||||||
|
|
||||||
async loadIssues(issues: number[]): Promise<RedmineIssueData[]> {
|
async loadIssues(issues: number[]): Promise<(RedmineIssueData | null)[]> {
|
||||||
const promises = issues.map((issue) => this.loadIssue(issue));
|
const promises = issues.map((issue) => this.loadIssue(issue));
|
||||||
return Promise.all(promises);
|
return Promise.all(promises);
|
||||||
}
|
}
|
||||||
|
|
||||||
async loadIssue(issueNumber: number): Promise<RedmineIssueData> {
|
async loadIssue(issueNumber: number): Promise<RedmineIssueData | null> {
|
||||||
const url = this.getUrl(issueNumber);
|
const url = this.getUrl(issueNumber);
|
||||||
const resp = await axios.get(url);
|
const resp = await axios.get(url);
|
||||||
if (!resp || !resp.data || !resp.data.issue) {
|
if (!resp || !resp.data || !resp.data.issue) {
|
||||||
console.error('Failed to load data from redmine');
|
this.logger.error(
|
||||||
|
`Failed to load data for from redmine, issueNumber = ${issueNumber}`,
|
||||||
|
);
|
||||||
return null;
|
return null;
|
||||||
}
|
}
|
||||||
|
this.logger.debug(
|
||||||
|
`Loaded issue, issueNumber = ${issueNumber}, subject = ${resp.data.issue.subject}`,
|
||||||
|
);
|
||||||
return resp.data.issue;
|
return resp.data.issue;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
||||||
Loading…
Reference in a new issue