@ministryofjustice/hmpps-digital-prison-reporting-frontend
Version:
The Digital Prison Reporting Frontend contains templates and code to help display data effectively in UI applications.
31 lines (28 loc) • 998 B
JavaScript
import { z } from 'zod';
import { StoredReportDataObjectSchema, ParamsConfigSchema, normalizeStoredReportData } from '../validation.js';
// REPORT
const RequestedReportSchema = StoredReportDataObjectSchema.extend({
errorMessage: z.string().optional(),
filters: ParamsConfigSchema.optional(),
sortBy: ParamsConfigSchema.optional(),
}).transform(data => {
const normalized = normalizeStoredReportData(data);
if (!normalized.name || normalized.name.length === 0) {
throw new Error('name or variantName must exist');
}
return normalized;
});
// DASHBOARD
StoredReportDataObjectSchema.extend({
metrics: z.array(z.object({
name: z.string(),
})),
}).transform(data => {
const normalized = normalizeStoredReportData(data);
if (!normalized.name || normalized.name.length === 0) {
throw new Error('name or variantName must exist');
}
return normalized;
});
export { RequestedReportSchema };
//# sourceMappingURL=validation.js.map