| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990 | 
							- <?php
 
- use App\Shop\Employees\Employee;
 
- use App\Shop\Permissions\Permission;
 
- use App\Shop\Roles\Repositories\RoleRepository;
 
- use App\Shop\Roles\Role;
 
- use Illuminate\Database\Seeder;
 
- class EmployeesTableSeeder extends Seeder
 
- {
 
-     public function run()
 
-     {
 
-         $createProductPerm = factory(Permission::class)->create([
 
-             'name' => 'create-product',
 
-             'display_name' => 'Create product'
 
-         ]);
 
-         $viewProductPerm = factory(Permission::class)->create([
 
-             'name' => 'view-product',
 
-             'display_name' => 'View product'
 
-         ]);
 
-         $updateProductPerm = factory(Permission::class)->create([
 
-             'name' => 'update-product',
 
-             'display_name' => 'Update product'
 
-         ]);
 
-         $deleteProductPerm = factory(Permission::class)->create([
 
-             'name' => 'delete-product',
 
-             'display_name' => 'Delete product'
 
-         ]);
 
-         $updateOrderPerm = factory(Permission::class)->create([
 
-             'name' => 'update-order',
 
-             'display_name' => 'Update order'
 
-         ]);
 
-         $employee = factory(Employee::class)->create([
 
-             'email' => 'john@doe.com'
 
-         ]);
 
-         $super = factory(Role::class)->create([
 
-             'name' => 'superadmin',
 
-             'display_name' => 'Super Admin'
 
-         ]);
 
-         $roleSuperRepo = new RoleRepository($super);
 
-         $roleSuperRepo->attachToPermission($createProductPerm);
 
-         $roleSuperRepo->attachToPermission($viewProductPerm);
 
-         $roleSuperRepo->attachToPermission($updateProductPerm);
 
-         $roleSuperRepo->attachToPermission($deleteProductPerm);
 
-         $roleSuperRepo->attachToPermission($updateOrderPerm);
 
-         $employee->roles()->save($super);
 
-         $employee = factory(Employee::class)->create([
 
-             'email' => 'admin@doe.com'
 
-         ]);
 
-         $admin = factory(Role::class)->create([
 
-             'name' => 'admin',
 
-             'display_name' => 'Admin'
 
-         ]);
 
-         $roleAdminRepo = new RoleRepository($admin);
 
-         $roleAdminRepo->attachToPermission($createProductPerm);
 
-         $roleAdminRepo->attachToPermission($viewProductPerm);
 
-         $roleAdminRepo->attachToPermission($updateProductPerm);
 
-         $roleAdminRepo->attachToPermission($deleteProductPerm);
 
-         $roleAdminRepo->attachToPermission($updateOrderPerm);
 
-         $employee->roles()->save($admin);
 
-         $employee = factory(Employee::class)->create([
 
-             'email' => 'clerk@doe.com'
 
-         ]);
 
-         $clerk = factory(Role::class)->create([
 
-             'name' => 'clerk',
 
-             'display_name' => 'Clerk'
 
-         ]);
 
-         $roleClerkRepo = new RoleRepository($clerk);
 
-         $roleClerkRepo->attachToPermission($createProductPerm);
 
-         $roleClerkRepo->attachToPermission($viewProductPerm);
 
-         $roleClerkRepo->attachToPermission($updateProductPerm);
 
-         $employee->roles()->save($clerk);
 
-     }
 
- }
 
 
  |