3declare(strict_types=1);
5namespace Bitrix\Socialnetwork\Collab\Onboarding\Internals\Validation\Validator;
8use Bitrix\Main\Validation\ValidationError;
9use Bitrix\Main\Validation\ValidationResult;
10use Bitrix\Main\Validation\Validator\MinValidator;
11use Bitrix\Main\Validation\Validator\ValidatorInterface;
12use Bitrix\Socialnetwork\Collab\Onboarding\Internals\Type;
20 if (!is_array($value))
28 !array_key_exists(
'collabId', $value)
29 || !array_key_exists(
'userId', $value)
30 || !array_key_exists(
'id', $value)
31 || !array_key_exists(
'type', $value)
32 || !array_key_exists(
'createdDate', $value)
33 || !array_key_exists(
'nextExecution', $value)
41 if (Type::tryFrom($value[
'type']) ===
null)
43 $result->addError(
new Error(
'Wrong onboarding job type'));
49 if (!$positiveNumberValidator->validate($value[
'collabId'])->isSuccess())
56 if (!$positiveNumberValidator->validate($value[
'userId'])->isSuccess())
63 if ($value[
'id'] !==
null && (
int)$value[
'id'] <= 0)