import { registerDecorator, ValidationOptions } from 'class-validator';

export function IsIranianPhoneNumber(validationOptions?: ValidationOptions) {
  return function (object: Object, propertyName: string) {
    registerDecorator({
      name: 'isIranianPhoneNumber',
      target: object.constructor,
      propertyName,
      options: validationOptions,
      validator: {
        validate(value: any) {
          return typeof value === 'string' && /^09\d{9}$/.test(value);
        },
        defaultMessage: () => 'شماره موبایل نامعتبر است. باید با 09 شروع شود و 11 رقم باشد.',
      },
    });
  };
}
