22
33use HMS \Entities \Role ;
44use HMS \Entities \Profile ;
5+ use libphonenumber \RegionCode ;
56use Illuminate \Database \Seeder ;
67use HMS \Repositories \RoleRepository ;
78use HMS \Repositories \UserRepository ;
9+ use Faker \Generator as FakerGenerator ;
810use Doctrine \ORM \EntityManagerInterface ;
11+ use libphonenumber \NumberParseException ;
12+ use Propaganistas \LaravelPhone \PhoneNumber ;
913
1014class ProfileTableSeeder extends Seeder
1115{
@@ -24,18 +28,29 @@ class ProfileTableSeeder extends Seeder
2428 */
2529 protected $ entityManager ;
2630
31+ /**
32+ * @var FakerGenerator
33+ */
34+ protected $ faker ;
35+
2736 /**
2837 * Create a new TableSeeder instance.
2938 *
3039 * @param RoleRepository $roleRepository
31- * @param UserRepository $userRepository,
40+ * @param UserRepository $userRepository
3241 * @param EntityManagerInterface $entityManager
42+ * @param FakerGenerator $faker
3343 */
34- public function __construct (RoleRepository $ roleRepository , UserRepository $ userRepository , EntityManagerInterface $ entityManager )
35- {
44+ public function __construct (
45+ RoleRepository $ roleRepository ,
46+ UserRepository $ userRepository ,
47+ EntityManagerInterface $ entityManager ,
48+ FakerGenerator $ faker
49+ ) {
3650 $ this ->roleRepository = $ roleRepository ;
3751 $ this ->userRepository = $ userRepository ;
3852 $ this ->entityManager = $ entityManager ;
53+ $ this ->faker = $ faker ;
3954 }
4055
4156 /**
@@ -65,6 +80,18 @@ public function run()
6580 $ p = entity (Profile::class)->make (['user ' => $ user ]);
6681 break ;
6782 }
83+
84+ // validate and format phoneNumbers
85+ $ e164 = null ;
86+ do {
87+ try {
88+ $ e164 = PhoneNumber::make ($ this ->faker ->phoneNumber , RegionCode::GB )->formatE164 ();
89+ } catch (NumberParseException $ e ) {
90+ //
91+ }
92+ } while ($ e164 == null );
93+ $ p ->setContactNumber ($ e164 );
94+
6895 $ this ->entityManager ->persist ($ p );
6996 }
7097 }
0 commit comments