@ministryofjustice/hmpps-digital-prison-reporting-frontend
Version:
The Digital Prison Reporting Frontend contains templates and code to help display data effectively in UI applications.
84 lines (83 loc) • 3.22 kB
TypeScript
import { Request, Response } from 'express';
import { components } from '../../../types/api';
import { Services } from '../../../types/Services';
import { LoadType, RequestedReport } from '../../../types/UserReports';
import { ReportData } from '../my-reports/builder';
/**
* Apply interactive query to a REPORT
*
* @param {Request} req
* @param {Response} res
* @param {Services} services
* @param {('columns' | 'filters')} applyType
* @return {*}
*/
export declare const applyReportInteractiveQuery: (req: Request, res: Response, services: Services, applyType: "columns" | "filters", loadType: LoadType) => Promise<void>;
/**
* Apply interactive query to a DASHBOARD
*
* @param {Request} req
* @param {Response} res
* @param {Services} services
* @param {('columns' | 'filters')} applyType
* @return {*}
*/
export declare const applyDashboardInteractiveQuery: (req: Request, res: Response, applyType: "columns" | "filters", loadType: LoadType) => Promise<void>;
/**
* Redirects the report to use the defaults
*
* @param {Response} res
* @param {Request} req
* @return {*}
*/
export declare const redirectWithDefaults: (res: Response, req: Request) => boolean;
/**
* Updates the report state to expired and redirects
*
* @param {Request} req
* @param {Response} res
* @param {Services} services
*/
export declare const updateStateToExpiredAndRedirect: (req: Request, res: Response, services: Services) => Promise<void>;
/**
* Updates the state for a viewed ASYNC report
*
* @param {Request} req
* @param {Response} res
* @param {Services} services
* @param {RequestedReport} reportStateData
* @param {string} userId
* @param {components['schemas']['FieldDefinition'][]} fields
*/
export declare const updateLastViewedAsync: (req: Request, res: Response, services: Services, reportStateData: RequestedReport, userId: string, fields: components["schemas"]["FieldDefinition"][]) => Promise<void>;
/**
* Updates the last viewed state for a sync report
*
* @param {Request} req
* @param {Services} services
* @param {*} stateData
* @param {string} userId
* @param {components['schemas']['FieldDefinition'][]} fields
*/
export declare const updateLastViewedSync: (req: Request, res: Response, services: Services, reportData: ReportData, userId: string, fields: components["schemas"]["FieldDefinition"][]) => Promise<void>;
declare const _default: {
applyDashboardInteractiveQuery: (req: Request, res: Response, applyType: "columns" | "filters", loadType: LoadType) => Promise<void>;
applyReportInteractiveQuery: (req: Request, res: Response, services: Services, applyType: "columns" | "filters", loadType: LoadType) => Promise<void>;
resetFilters: (req: Request, res: Response, sessionKey: {
id: string;
reportId: string;
tableId?: string;
}) => void;
resetFiltersQueryString: (req: Request, sessionKey: {
id: string;
reportId: string;
tableId?: string;
}) => string;
resetColumnsQueryString: (req: Request, sessionKey: {
id: string;
reportId: string;
tableId?: string;
}) => string;
redirectWithDefaults: (res: Response, req: Request) => boolean;
};
export default _default;