Files
calendar/packages/features/routing-forms/lib/findFieldValueByIdentifier.ts
T
Hariom BalharaGitHubhariom@cal.com <hariombalhara@gmail.com>Devin AI <158243242+devin-ai-integration[bot]@users.noreply.github.com>
9d39590510 feat: create BookingHistoryViewerService to combine audit logs with routing form submissions (#26045)
* 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>
2026-01-05 11:11:05 +00:00

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 };
}