export function cleanPayload<T extends Record<string, any>>(data: T): T {
    const result: Record<string, any> = {};
  
    for (const key in data) {
      const value = data[key];
  
      // Recursively clean nested objects like `phone` or `planValidity`
      if (value && typeof value === "object" && !Array.isArray(value)) {
        const nested = cleanPayload(value);
        if (Object.keys(nested).length > 0) {
          result[key] = nested;
        }
      } else if (
        value !== undefined &&
        value !== null &&
        value !== "" // 🚨 this removes empty strings
      ) {
        result[key] = value;
      }
    }
  
    return result as T;
  }
  