package com.hepl.tunefortwo.utils;
import com.google.i18n.phonenumbers.NumberParseException;
import com.google.i18n.phonenumbers.PhoneNumberUtil;
import com.google.i18n.phonenumbers.Phonenumber.PhoneNumber;

import jakarta.validation.ConstraintValidator;
import jakarta.validation.ConstraintValidatorContext;

public class PhoneNumberValidator implements ConstraintValidator<ValidPhoneNumber, String> {

	 private final PhoneNumberUtil phoneNumberUtil = PhoneNumberUtil.getInstance();
	
	 @Override
	    public boolean isValid(String phoneNumber, ConstraintValidatorContext context) {
	        if (phoneNumber == null || phoneNumber.isEmpty()) {
	            return true; 
	        }
	        try {
	            PhoneNumber number = phoneNumberUtil.parse(phoneNumber, "IN"); 
	            return phoneNumberUtil.isValidNumber(number);
	        } catch (NumberParseException e) {
	            return false;
	        }
	    }

}
