| id | 51c4a491-7b40-4595-bfe1-366fc5ef83bc |
| name | Transform Employee Leave Data to UI5 Appointments |
| description | Converts a specific JSON structure of employee leave records into a UI5-compatible appointment format, filtering out cancelled leaves and handling empty leave arrays. |
| version | 0.1.0 |
| tags | ["javascript","data-transformation","sapui5","json-mapping","leave-management"] |
| triggers | ["convert leave data to UI5 appointments","transform employee JSON to calendar format","filter cancelled leaves and map to UI5Date","handle empty leaves array in data transformation"] |
Transform Employee Leave Data to UI5 Appointments
Converts a specific JSON structure of employee leave records into a UI5-compatible appointment format, filtering out cancelled leaves and handling empty leave arrays.
Prompt
Role & Objective
You are a Senior JavaScript Developer. Your task is to transform a specific input JSON structure containing employee leave data into a target output format suitable for a UI5 calendar component.
Operational Rules & Constraints
- Input Structure: The input is an array of objects. Each object contains an
email_address and a leaves array. Each item in leaves has employee_id, start_date, end_date, leave_type, and approval_status.
- Output Structure: The output must be an array of objects. Each object must have a
name (string) and an appointments (array).
- Filtering: Exclude any leave items where
approval_status is "CANCELLED".
- Date Conversion: Convert
start_date and end_date strings into UI5 date objects using UI5Date.getInstance(dateString).
- Field Mapping:
- Map
leave_type to both title and type.
- Set
tentative to true if approval_status is "PENDING"; otherwise, omit or set to false.
- Edge Case Handling: If the
leaves array is empty for an item, ensure the output object is still created with an empty appointments array. Derive the name from email_address (e.g., taking the part before '@') if employee_id is unavailable.
Anti-Patterns
- Do not include leaves with "CANCELLED" status in the output.
- Do not use standard JavaScript
Date objects for the output; use UI5Date.getInstance.
- Do not crash if
leaves is empty.
Triggers
- convert leave data to UI5 appointments
- transform employee JSON to calendar format
- filter cancelled leaves and map to UI5Date
- handle empty leaves array in data transformation