From 86c0644cd73916d21f6282686e6727ad20bfca95 Mon Sep 17 00:00:00 2001 From: mahdi purHosseini Date: Mon, 11 Sep 2023 14:10:19 +0330 Subject: [PATCH] fix some problems 2 --- ...019_04_11_105200_create_options_table.php} | 0 .../2023_08_27_124700_update_items_table.php | 34 +++++++ ...023_08_27_124945_update_packages_table.php | 32 ++++++ database/seeds/AccessSeeder.php | 50 ++++++++++ database/seeds/DatabaseSeeder.php | 2 +- database/seeds/PermissionSeeder.php | 61 ++++++++++++ database/seeds/UserTableSeeder.php | 98 +++++++++++++++++++ routes/api.php | 2 +- 8 files changed, 277 insertions(+), 2 deletions(-) rename database/{2019_04_11_105508_create_options_table.php => 2019_04_11_105200_create_options_table.php} (100%) create mode 100644 database/migrations/2023_08_27_124700_update_items_table.php create mode 100644 database/migrations/2023_08_27_124945_update_packages_table.php create mode 100644 database/seeds/AccessSeeder.php create mode 100644 database/seeds/PermissionSeeder.php create mode 100644 database/seeds/UserTableSeeder.php diff --git a/database/2019_04_11_105508_create_options_table.php b/database/2019_04_11_105200_create_options_table.php similarity index 100% rename from database/2019_04_11_105508_create_options_table.php rename to database/2019_04_11_105200_create_options_table.php diff --git a/database/migrations/2023_08_27_124700_update_items_table.php b/database/migrations/2023_08_27_124700_update_items_table.php new file mode 100644 index 00000000..9c16c4a8 --- /dev/null +++ b/database/migrations/2023_08_27_124700_update_items_table.php @@ -0,0 +1,34 @@ +string('udi')->nullable(); + $table->tinyInteger('status')->default(0); + }); + } + + /** + * Reverse the migrations. + * + * @return void + */ + public function down() + { + Schema::table('items', function (Blueprint $table) { + $table->dropColumn('udi'); + $table->dropColumn('status'); + }); + } +} diff --git a/database/migrations/2023_08_27_124945_update_packages_table.php b/database/migrations/2023_08_27_124945_update_packages_table.php new file mode 100644 index 00000000..69bffc4e --- /dev/null +++ b/database/migrations/2023_08_27_124945_update_packages_table.php @@ -0,0 +1,32 @@ +string('uid')->nullable(); + }); + } + + /** + * Reverse the migrations. + * + * @return void + */ + public function down() + { + Schema::table('packages', function (Blueprint $table) { + $table->dropColumn('uid'); + }); + } +} diff --git a/database/seeds/AccessSeeder.php b/database/seeds/AccessSeeder.php new file mode 100644 index 00000000..f125bc6d --- /dev/null +++ b/database/seeds/AccessSeeder.php @@ -0,0 +1,50 @@ +assignAllRoleToAdministrator() ) { + dump( 'Success.' ); + } else { + dump( 'Error: Please Check And Run Again.' ); + } + } + + private function assignAllRoleToAdministrator() + { + $roleModel = new Role(); + if ( $roleModel->where( 'name' , 'administrator' )->first() == null ) { + Role::create( [ + 'name' => 'administrator' + ] ); + } + + // assign role to user id 1 + $user = User::find( 1 ); + $user->assignRole( 'administrator' ); + + // get all permission + $permissions = []; + foreach ( Permission::all() as $item ) { + $permissions[ 'permissions' ][ $item ] = "1"; + } + + // assign all permissions to role administrator + foreach ($permissions['permissions'] as $permission) { + $role = Role::where('id', 1)->first(); + $role->syncPermissions(array_keys($permission)); + } + return true; + } + } diff --git a/database/seeds/DatabaseSeeder.php b/database/seeds/DatabaseSeeder.php index 91cb6d1c..a7539016 100644 --- a/database/seeds/DatabaseSeeder.php +++ b/database/seeds/DatabaseSeeder.php @@ -11,6 +11,6 @@ class DatabaseSeeder extends Seeder */ public function run() { - // $this->call(UsersTableSeeder::class); + $this->call(UserTableSeeder::class); } } diff --git a/database/seeds/PermissionSeeder.php b/database/seeds/PermissionSeeder.php new file mode 100644 index 00000000..c98826c9 --- /dev/null +++ b/database/seeds/PermissionSeeder.php @@ -0,0 +1,61 @@ +assignAllRoleToAdministrator()){ + dump('Success: Created Role Administrator'); + + // create roles default - admin + $roleMain = new RoleMain(); + if($roleMain->getItems()->where('name', 'admin')->first() == null){ + if(!$roleMain->storeToDB(['name' => 'admin'])){ + dump('Error: Can Not Create Role Admin'); + }else{ + dump('Success: Created Role Admin'); + } + } + + // create roles default - user + $roleMain = new RoleMain(); + if($roleMain->getItems()->where('name','user')->first() == null){ + if(!$roleMain->storeToDB(['name' => 'user'])){ + dump('Error: Can Not Create Role User'); + }else{ + dump('Success: Created Role User'); + } + } + + // create roles default - caller + $roleMain = new RoleMain(); + if($roleMain->getItems()->where('name','caller')->first() == null){ + if(!$roleMain->storeToDB(['name' => 'caller'])){ + dump('Error: Can Not Create Role Caller'); + }else{ + dump('Success: Created Role Caller'); + } + } + + }else{ + dump('Error: Please Check And Run Again.'); + } + } +} diff --git a/database/seeds/UserTableSeeder.php b/database/seeds/UserTableSeeder.php new file mode 100644 index 00000000..d2224918 --- /dev/null +++ b/database/seeds/UserTableSeeder.php @@ -0,0 +1,98 @@ +registerData(); + } + + public function registerData() + { + $faker = Factory::create(); + + $user = User::create( [ + 'is_admin' => 1 , + 'department_id' => 1 , + 'first_name' => 'سیداحمد' , + 'last_name' => 'موسوی' , + 'name_en' => 'Seyyed Ahmad Mousavi' , + 'tel' => '09214309687' , + 'national_code' => '0371661773' , + 'password' => Hash::make( '12345678' ) , + 'birth_date' => '1998/05/22' , + 'marriage_date' => '1998/05/22' , + ] ); + if ( $permissions = Department::find( $user->department_id )->permissionsArray ) { + foreach ( $permissions as $permission ) { + UserPermission::create( [ + 'user_id' => $user->id , + 'permission_id' => $permission , + ] ); + }; + } + + + UserPhone::create( [ + 'user_id' => $user->id , + 'type' => 1 , + 'phone' => '09214309687' , + ] ); + + $user = User::create( [ + 'is_admin' => 1 , + 'department_id' => 1 , + 'first_name' => 'حسین' , + 'last_name' => 'بایگان' , + 'name_en' => 'Hossein Bayegan' , + 'tel' => '09021950725' , + 'national_code' => '0371661773' , + 'password' => Hash::make( '12345678' ) , + 'birth_date' => '1998/05/22' , + 'marriage_date' => '1998/05/22' , + ] ); + if ( $permissions = Department::find( $user->department_id )->permissionsArray ) { + foreach ( $permissions as $permission ) { + UserPermission::create( [ + 'user_id' => $user->id , + 'permission_id' => $permission , + ] ); + }; + } + + for ( $i = 0 ; $i < 15 ; $i++ ) { + $tel = Faker::mobile(); + $user = User::create( [ + 'is_admin' => 0 , + 'department_id' => Department::where( 'id' , '!=' , 1 )->inRandomOrder()->first()->id , + 'first_name' => Faker::firstName() , + 'last_name' => Faker::lastName() , + 'tel' => $tel , + 'code' => random_int( 1000 , 9999 ) , + 'national_code' => Faker::melliCode() , + 'password' => Hash::make( '12345678' ) , + 'birth_date' => $faker->date() , + 'marriage_date' => $faker->date() , + ] ); + UserPhone::create( [ + 'user_id' => $user->id , + 'type' => 1 , + 'phone' => $tel , + ] ); + + } + + } + } diff --git a/routes/api.php b/routes/api.php index c29369cd..845a4e61 100644 --- a/routes/api.php +++ b/routes/api.php @@ -24,7 +24,6 @@ Route::group(['namespace' => 'Api'],function () { Route::middleware('auth:api')->group(function () { - Route::get('/TestResults/ListFilterItems', 'TestResultController@listFilterItems'); Route::post('/TestResults/Verify/{TestResult}/{Value}', 'TestResultController@verifyTestResult'); Route::get('TestTypes/ListNames', 'TestTypeController@listNames'); @@ -49,6 +48,7 @@ Route::middleware('auth:api')->group(function () { Route::resource('Items', 'ItemController'); + Route::post('Items/ChangeStatus/{Item}', 'ItemController@changeStatus'); Route::resource('Packages', 'PackageController')->except(['showPackage']); Route::resource('Labels', 'LabelController');