$input */ public function create(array $input): User { Validator::make($input, [ 'name' => ['required', 'string', 'max:255'], 'email' => [ 'required', 'string', 'email', 'max:255', Rule::unique(User::class), ], 'ic_number' => ['required', 'string', 'max:255'], 'password' => ['required', 'string', 'min:8'], ])->validate(); $user = User::create([ 'name' => $input['name'], 'uuid' => Str::uuid(), 'email' => $input['email'], 'password' => Hash::make($input['password']), 'ic_number' => $input['ic_number'], 'status' => 'pending', ]); // Assign role using Spatie permissions $role = Role::where('name', 'Anggota')->first(); if ($role) { $user->assignRole($role); } return $user; } }