in dashboards-reports/server/routes/utils/converters/backendToUi.ts [173:273]
report_definition: backendToUiReportDefinition(
backendReportDefinitionDetails,
serverBasePath
),
},
};
}
);
return res;
};
const getVisualReportCoreParams = (
fileFormat: BACKEND_REPORT_FORMAT,
header: string = '',
footer: string = '',
duration: string,
baseUrl: string,
origin: string
): VisualReportSchemaType => {
let res: VisualReportSchemaType = {
base_url: baseUrl,
report_format: <FORMAT.pdf | FORMAT.png>getUiReportFormat(fileFormat),
header: header,
footer: footer,
time_duration: duration,
origin: origin,
};
return res;
};
// queryUrl = baseUrl + time range
const getUiQueryUrl = (
baseUrl: string,
beginTimeMs: number,
endTimeMs: number,
tenant?: string
) => {
const timeFrom = moment(beginTimeMs).toISOString();
const timeTo = moment(endTimeMs).toISOString();
let queryUrl = `${baseUrl}?_g=(time:(from:'${timeFrom}',to:'${timeTo}'))`;
if (tenant !== undefined) {
if (tenant === '') {
tenant = 'global';
} else if (tenant === '__user__') {
tenant = 'private';
}
queryUrl = addTenantToURL(queryUrl, tenant);
}
return queryUrl;
};
const getBaseUrl = (sourceType: BACKEND_REPORT_SOURCE, sourceId: string) => {
//TODO: AES domain has different prefix, need figure out a general solution
const baseUrl = `${URL_PREFIX_DICT[sourceType]}${sourceId}`;
return baseUrl;
};
const getDataReportCoreParams = (
limit: number = DEFAULT_MAX_SIZE,
sourceId: string,
fileFormat: BACKEND_REPORT_FORMAT,
duration: string,
baseUrl: string,
origin: string
): DataReportSchemaType => {
let res: DataReportSchemaType = {
base_url: baseUrl,
report_format: <FORMAT.csv>getUiReportFormat(fileFormat),
limit: limit,
time_duration: duration,
saved_search_id: sourceId,
origin: origin,
};
return res;
};
const getUiScheduleParams = (
schedule: CronType | IntervalType | undefined,
createdTimeMs: number,
isEnabled: boolean
) => {
let res = {
trigger_params: {
enabled_time: createdTimeMs,
enabled: isEnabled,
schedule_type:
schedule && 'cron' in schedule
? SCHEDULE_TYPE.cron
: SCHEDULE_TYPE.recurring,
schedule: schedule,
},
};
return res;
};
const getUiTriggerType = (backendField: string): TRIGGER_TYPE => {
let res: any;
for (let [ui, backendFieldList] of Object.entries(TRIGGER_TYPE_DICT)) {
for (let item of backendFieldList) {
if (item === backendField) {