Compare commits

...

2 commits

5 changed files with 20 additions and 4 deletions

View file

@ -34,6 +34,8 @@ export class DashboardsDataService {
widget.widgetParams,
widget.dataLoaderParams,
cfg,
id,
widget.id,
);
if (loadRes.result) {
counter++;
@ -57,6 +59,8 @@ export class DashboardsDataService {
widget.widgetParams,
widget.dataLoaderParams,
cfg,
id,
widgetId,
);
if (loadRes.result) return loadRes.result;
throw createAppError('CANNOT_LOAD_DATA');
@ -67,6 +71,8 @@ export class DashboardsDataService {
widgetParams: DashboardModel.WidgetParams,
dataLoaderParams: DashboardModel.DataLoaderParams,
dashboardParams: DashboardModel.Data,
dashboardId: string,
widgetId: string,
): Promise<Result<any, AppError>> {
const widgetResult = this.widgetsCollectionService.getWidgetByType(type);
if (widgetResult.error) return fail(createAppError(widgetResult.error));
@ -75,6 +81,8 @@ export class DashboardsDataService {
widgetParams,
dataLoaderParams,
dashboardParams,
dashboardId,
widgetId,
);
return renderResult;
}

View file

@ -14,8 +14,15 @@ export class InteractiveWidget
widgetParams: any,
dataLoaderParams: any,
dashboardParams: any,
dashboardId: string,
widgetId: string,
): Promise<Result<any, AppError>> {
const data = await this.dataLoader.load(dataLoaderParams, dashboardParams);
const data = await this.dataLoader.load(
dataLoaderParams,
dashboardParams,
dashboardId,
widgetId,
);
return data.error ? fail(data.error) : success(data.result);
}
}

View file

@ -5,5 +5,7 @@ export interface WidgetDataLoaderInterface<DLP, DBP, R> {
load(
dataLoaderParams: DLP,
dashboardParams: DBP,
dashboardId: string,
widgetId: string,
): Promise<Result<R, AppError>>;
}

View file

@ -15,5 +15,7 @@ export interface WidgetInterface<WP, DLP, DBP, DLR, R> {
widgetParams: WP,
dataLoaderParams: DLP,
dashboardParams: DBP,
dashboardId: string,
widgetId: string,
): Promise<Result<R, AppError>>;
}

View file

@ -158,7 +158,6 @@ export class DailyEccmV2ReportTaskRunnerService {
widget: Widget,
issues: RedmineTypes.Issue[],
previousIssues?: RedmineTypes.Issue[],
previousMetrics?: Record<string, any>,
): Promise<Record<string, any>> {
this.logger.log(
`Analyzing issues metrics for dashboard ${dashboard.id}, widget ${widget.id}`,
@ -528,7 +527,6 @@ export class DailyEccmV2ReportTaskRunnerService {
});
const prevData = prevDataResponse.docs[0];
const prevIssues = prevData ? prevData.reportIssues : [];
const prevMetrics = prevData ? prevData.issuesMetrics : {};
if (prevData) {
prevData.latest = false;
await datasource.insert(prevData);
@ -538,7 +536,6 @@ export class DailyEccmV2ReportTaskRunnerService {
widget,
issues,
prevIssues,
prevMetrics,
);
const item: any = {
_id: id,