Замена конвертера url на правильный
This commit is contained in:
parent
dbcd699cdb
commit
c8fce4cbda
4 changed files with 13 additions and 26 deletions
|
|
@ -22,7 +22,6 @@ import { TelegramBotService } from './telegram-bot/telegram-bot.service';
|
|||
import { UserMetaInfoService } from './user-meta-info/user-meta-info.service';
|
||||
import { UserMetaInfo } from './couchdb-datasources/user-meta-info';
|
||||
import { PersonalNotificationAdapterService } from './notifications/adapters/personal-notification.adapter/personal-notification.adapter.service';
|
||||
import { PublicUrlAdapterService } from './notifications/adapters/public-url.adapter.service';
|
||||
import { StatusChangeAdapterService } from './notifications/adapters/status-change.adapter.service';
|
||||
|
||||
@Module({
|
||||
|
|
@ -49,7 +48,6 @@ import { StatusChangeAdapterService } from './notifications/adapters/status-chan
|
|||
UserMetaInfoService,
|
||||
UserMetaInfo,
|
||||
PersonalNotificationAdapterService,
|
||||
PublicUrlAdapterService,
|
||||
StatusChangeAdapterService,
|
||||
],
|
||||
})
|
||||
|
|
|
|||
|
|
@ -1,3 +1,4 @@
|
|||
import { RedmineTypes } from '@app/event-emitter/models/redmine-types';
|
||||
import { Injectable } from '@nestjs/common';
|
||||
import { ConfigService } from '@nestjs/config';
|
||||
|
||||
|
|
@ -14,4 +15,13 @@ export class RedminePublicUrlConverter {
|
|||
convert(issueId: number | string): string {
|
||||
return `${this.redminePublicUrlPrefix}/issues/${issueId}`;
|
||||
}
|
||||
|
||||
getUrl(issueId: number | string): string {
|
||||
return this.convert(issueId);
|
||||
}
|
||||
|
||||
getHtmlHref(issue: RedmineTypes.Issue): string {
|
||||
const url = this.getUrl(issue.id);
|
||||
return `<a href="${url}">${issue.tracker.name} #${issue.id}</a>`;
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -4,7 +4,7 @@ import { ConfigService } from '@nestjs/config';
|
|||
import { IssueAndPersonalParsedMessageModel } from 'src/models/issue-and-personal-parsed-message.model';
|
||||
import { TelegramBotService } from 'src/telegram-bot/telegram-bot.service';
|
||||
import Handlebars from 'handlebars';
|
||||
import { PublicUrlAdapterService } from '../public-url.adapter.service';
|
||||
import { RedminePublicUrlConverter } from 'src/converters/redmine-public-url.converter';
|
||||
|
||||
@Injectable()
|
||||
export class PersonalNotificationAdapterService {
|
||||
|
|
@ -14,7 +14,7 @@ export class PersonalNotificationAdapterService {
|
|||
private telegramBotService: TelegramBotService,
|
||||
private configService: ConfigService,
|
||||
private usersService: UsersService,
|
||||
private publicUrlAdapterService: PublicUrlAdapterService,
|
||||
private redminePublicUrlConverter: RedminePublicUrlConverter,
|
||||
) {
|
||||
const template = this.configService.get<string>('personalMessageTemplate');
|
||||
this.personalMessageTemplate = Handlebars.compile(template);
|
||||
|
|
@ -26,7 +26,7 @@ export class PersonalNotificationAdapterService {
|
|||
const promises = issueAndMessages.personalParsedMessage.recipients.map(
|
||||
async (recipient) => {
|
||||
const redmineId = recipient;
|
||||
const issueUrlHtml = this.publicUrlAdapterService.getHtmlHref(
|
||||
const issueUrlHtml = this.redminePublicUrlConverter.getHtmlHref(
|
||||
issueAndMessages.issue,
|
||||
);
|
||||
const sender = await this.usersService.getUser(
|
||||
|
|
|
|||
|
|
@ -1,21 +0,0 @@
|
|||
import { RedmineTypes } from '@app/event-emitter/models/redmine-types';
|
||||
import { Injectable } from '@nestjs/common';
|
||||
import { ConfigService } from '@nestjs/config';
|
||||
|
||||
@Injectable()
|
||||
export class PublicUrlAdapterService {
|
||||
private publicUrl: string;
|
||||
|
||||
constructor(private configService: ConfigService) {
|
||||
this.publicUrl = this.configService.get<string>('redmineUrlPublic');
|
||||
}
|
||||
|
||||
getUrl(issueId: number): string {
|
||||
return `${this.publicUrl}/issues/${issueId}`;
|
||||
}
|
||||
|
||||
getHtmlHref(issue: RedmineTypes.Issue): string {
|
||||
const url = this.getUrl(issue.id);
|
||||
return `<a href="${url}">${issue.tracker.name} #${issue.id}</a>`;
|
||||
}
|
||||
}
|
||||
Loading…
Reference in a new issue