* feat: create BookingHistoryViewerService to combine audit logs with routing form submissions Co-Authored-By: hariom@cal.com <hariombalhara@gmail.com> * refactor(booking): rename audit log query and enhance type safety - Updated the booking logs view to use the new getBookingHistory query instead of getAuditLogs. - Introduced DisplayBookingAuditLog type for improved clarity in BookingAuditViewerService. - Refactored BookingHistoryViewerService to utilize the new DisplayBookingAuditLog type and added sorting functionality for history logs. - Adjusted related types and methods to ensure consistency across services. * refactor(routing-forms): streamline imports and enhance type definitions - Consolidated type exports and imports from the features library for better organization. - Removed redundant type definitions and functions in zod.ts, findFieldValueByIdentifier.ts, getFieldIdentifier.ts, and parseRoutingFormResponse.ts. - Introduced new utility functions for handling field responses and parsing routing form responses. - Improved type safety and clarity across routing form response handling. * fix: remove double prefix from uniqueId in form submission entry Co-Authored-By: hariom@cal.com <hariombalhara@gmail.com> * 1c97f9cc5d50416788c01876fe539bcc9750e9b2 (#26453) --------- Co-authored-by: Devin AI <158243242+devin-ai-integration[bot]@users.noreply.github.com>
22 lines
697 B
TypeScript
22 lines
697 B
TypeScript
import getFieldIdentifier from "./getFieldIdentifier";
|
|
import type { RoutingFormResponseData } from "./types";
|
|
|
|
type FindFieldValueByIdentifierResult =
|
|
| { success: true; data: string | string[] | number | null }
|
|
| { success: false; error: string };
|
|
|
|
export function findFieldValueByIdentifier(
|
|
data: RoutingFormResponseData,
|
|
identifier: string
|
|
): FindFieldValueByIdentifierResult {
|
|
const field = data.fields.find((field) => getFieldIdentifier(field) === identifier);
|
|
if (!field) {
|
|
return { success: false, error: `Field with identifier ${identifier} not found` };
|
|
}
|
|
|
|
const fieldValue = data.response[field.id]?.value;
|
|
|
|
return { success: true, data: fieldValue ?? null };
|
|
}
|
|
|