Принудительное обновление корневых задач для доски основанной на дереве задач
This commit is contained in:
parent
d031105c9f
commit
fccdee5cbc
1 changed files with 25 additions and 1 deletions
|
|
@ -1,7 +1,11 @@
|
|||
import { DynamicLoader } from '@app/event-emitter/configs/dynamic-loader';
|
||||
import { RedmineEventsGateway } from '@app/event-emitter/events/redmine-events.gateway';
|
||||
import { ListIssuesByUsersLikeJiraWidgetService } from '@app/event-emitter/project-dashboard/widgets/list-issues-by-users-like-jira.widget.service';
|
||||
import { ListIssuesByUsersWidgetService } from '@app/event-emitter/project-dashboard/widgets/list-issues-by-users.widget.service';
|
||||
import { RootIssueSubTreesWidgetService } from '@app/event-emitter/project-dashboard/widgets/root-issue-subtrees.widget.service';
|
||||
import {
|
||||
RootIssueSubTreesWidgetNs,
|
||||
RootIssueSubTreesWidgetService,
|
||||
} from '@app/event-emitter/project-dashboard/widgets/root-issue-subtrees.widget.service';
|
||||
import { Controller, Get, Param, Render } from '@nestjs/common';
|
||||
import { ConfigService } from '@nestjs/config';
|
||||
import { parse } from 'jsonc-parser';
|
||||
|
|
@ -18,6 +22,7 @@ export class SimpleKanbanBoardController {
|
|||
private listIssuesByUsersWidgetService: ListIssuesByUsersWidgetService,
|
||||
private listIssuesByUsersLikeJiraWidgetService: ListIssuesByUsersLikeJiraWidgetService,
|
||||
private issuesByTagsWidgetService: IssuesByTagsWidgetService,
|
||||
private redmineEventsGateway: RedmineEventsGateway,
|
||||
) {
|
||||
this.path = this.configService.get<string>('simpleKanbanBoard.path');
|
||||
}
|
||||
|
|
@ -38,6 +43,25 @@ export class SimpleKanbanBoardController {
|
|||
return await this.getRawData(name);
|
||||
}
|
||||
|
||||
@Get('/tree/:name/refresh')
|
||||
async refreshTree(@Param('name') name: string): Promise<any> {
|
||||
const cfg = this.dynamicLoader.load(name, {
|
||||
path: this.path,
|
||||
ext: 'jsonc',
|
||||
parser: parse,
|
||||
});
|
||||
const issues = [] as number[];
|
||||
issues.push(cfg.rootIssueId);
|
||||
if (cfg.groups) {
|
||||
const groups = cfg.groups as RootIssueSubTreesWidgetNs.Models.GroupCfg;
|
||||
groups.fromIssues.forEach((group) => {
|
||||
issues.push(group.issueId);
|
||||
});
|
||||
}
|
||||
this.redmineEventsGateway.addIssues(issues);
|
||||
return { success: true };
|
||||
}
|
||||
|
||||
@Get('/by-users/:name/raw')
|
||||
async getByUsersRawData(@Param('name') name: string): Promise<any> {
|
||||
const cfg = this.dynamicLoader.load(name, {
|
||||
|
|
|
|||
Loading…
Reference in a new issue