Refactor RoleSeeder to use updateOrCreate for permissions; remove unused vehicle permissions; update docker-compose to remove port mapping; add migration to refresh permissions and seed roles
This commit is contained in:
parent
27807c1f29
commit
703ccfe1d7
@ -61,6 +61,12 @@ public function show(Role $role)
|
|||||||
*/
|
*/
|
||||||
public function update(RoleUpdateRequest $request, Role $role)
|
public function update(RoleUpdateRequest $request, Role $role)
|
||||||
{
|
{
|
||||||
|
if(in_array($role->id, [1, 2])) {
|
||||||
|
return ApiResponse::BAD_REQUEST->response([
|
||||||
|
'message' => 'No se puede modificar este rol'
|
||||||
|
]);
|
||||||
|
}
|
||||||
|
|
||||||
$role->update($request->all());
|
$role->update($request->all());
|
||||||
|
|
||||||
return ApiResponse::OK->response();
|
return ApiResponse::OK->response();
|
||||||
@ -71,6 +77,11 @@ public function update(RoleUpdateRequest $request, Role $role)
|
|||||||
*/
|
*/
|
||||||
public function destroy(Role $role)
|
public function destroy(Role $role)
|
||||||
{
|
{
|
||||||
|
if(in_array($role->id, [1, 2])) {
|
||||||
|
return ApiResponse::BAD_REQUEST->response([
|
||||||
|
'message' => 'No se puede eliminar este rol'
|
||||||
|
]);
|
||||||
|
}
|
||||||
$role->delete();
|
$role->delete();
|
||||||
|
|
||||||
return ApiResponse::OK->response();
|
return ApiResponse::OK->response();
|
||||||
|
|||||||
@ -70,6 +70,10 @@
|
|||||||
"composer run post-create-project-cmd",
|
"composer run post-create-project-cmd",
|
||||||
"@php artisan storage:link"
|
"@php artisan storage:link"
|
||||||
],
|
],
|
||||||
|
"db:update": [
|
||||||
|
"@php artisan migrate",
|
||||||
|
"@php artisan migrate --path=database/migrations/data"
|
||||||
|
],
|
||||||
"db:dev": [
|
"db:dev": [
|
||||||
"@php artisan migrate:fresh --seeder=DevSeeder",
|
"@php artisan migrate:fresh --seeder=DevSeeder",
|
||||||
"@php artisan passport:client --personal --name=Holos"
|
"@php artisan passport:client --personal --name=Holos"
|
||||||
|
|||||||
519
composer.lock
generated
519
composer.lock
generated
File diff suppressed because it is too large
Load Diff
@ -0,0 +1,34 @@
|
|||||||
|
<?php
|
||||||
|
|
||||||
|
use Illuminate\Database\Migrations\Migration;
|
||||||
|
use Illuminate\Database\Schema\Blueprint;
|
||||||
|
use Illuminate\Support\Facades\Artisan;
|
||||||
|
use Illuminate\Support\Facades\DB;
|
||||||
|
use Illuminate\Support\Facades\Schema;
|
||||||
|
|
||||||
|
return new class extends Migration
|
||||||
|
{
|
||||||
|
/**
|
||||||
|
* Run the migrations.
|
||||||
|
*/
|
||||||
|
public function up(): void
|
||||||
|
{
|
||||||
|
app()[\Spatie\Permission\PermissionRegistrar::class]->forgetCachedPermissions();
|
||||||
|
|
||||||
|
DB::statement('SET FOREIGN_KEY_CHECKS=0;');
|
||||||
|
DB::table('role_has_permissions')->truncate();
|
||||||
|
DB::table('model_has_permissions')->truncate();
|
||||||
|
\Spatie\Permission\Models\Permission::truncate();
|
||||||
|
DB::statement('SET FOREIGN_KEY_CHECKS=1;');
|
||||||
|
|
||||||
|
Artisan::call('db:seed', ['--class' => 'RoleSeeder', '--force' => true]);
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Reverse the migrations.
|
||||||
|
*/
|
||||||
|
public function down(): void
|
||||||
|
{
|
||||||
|
//
|
||||||
|
}
|
||||||
|
};
|
||||||
@ -25,7 +25,7 @@ class RoleSeeder extends Seeder
|
|||||||
*/
|
*/
|
||||||
public function run(): void
|
public function run(): void
|
||||||
{
|
{
|
||||||
$users = PermissionType::firstOrCreate([
|
$users = PermissionType::updateOrCreate([
|
||||||
'name' => 'Usuarios'
|
'name' => 'Usuarios'
|
||||||
]);
|
]);
|
||||||
|
|
||||||
@ -37,9 +37,8 @@ public function run(): void
|
|||||||
] = $this->onCRUD('users', $users, 'api');
|
] = $this->onCRUD('users', $users, 'api');
|
||||||
|
|
||||||
$userSettings = $this->onPermission('users.settings', 'Configuración de usuarios', $users, 'api');
|
$userSettings = $this->onPermission('users.settings', 'Configuración de usuarios', $users, 'api');
|
||||||
$userOnline = $this->onPermission('users.online', 'Usuarios en linea', $users, 'api');
|
|
||||||
|
|
||||||
$roles = PermissionType::firstOrCreate([
|
$roles = PermissionType::updateOrCreate([
|
||||||
'name' => 'Roles'
|
'name' => 'Roles'
|
||||||
]);
|
]);
|
||||||
|
|
||||||
@ -51,7 +50,7 @@ public function run(): void
|
|||||||
] = $this->onCRUD('roles', $roles, 'api');
|
] = $this->onCRUD('roles', $roles, 'api');
|
||||||
|
|
||||||
// Arcos
|
// Arcos
|
||||||
$arcos = PermissionType::firstOrCreate([
|
$arcos = PermissionType::updateOrCreate([
|
||||||
'name' => 'Gestión de Arcos'
|
'name' => 'Gestión de Arcos'
|
||||||
]);
|
]);
|
||||||
|
|
||||||
@ -66,28 +65,23 @@ public function run(): void
|
|||||||
$arcosDetecciones = $this->onPermission('arcos.detecciones.dia', 'Ver detecciones del día de un arco', $arcos, 'api');
|
$arcosDetecciones = $this->onPermission('arcos.detecciones.dia', 'Ver detecciones del día de un arco', $arcos, 'api');
|
||||||
|
|
||||||
//Consulta de vehículo
|
//Consulta de vehículo
|
||||||
$vehicles = PermissionType::firstOrCreate([
|
$vehicles = PermissionType::updateOrCreate([
|
||||||
'name' => 'Gestión de Vehículos'
|
'name' => 'Gestión de Vehículos'
|
||||||
]);
|
]);
|
||||||
|
|
||||||
$vehiclesConsulta = $this->onPermission('vehicles.consultar', 'Consultar vehículo por placa o VIN', $vehicles, 'api');
|
$vehiclesConsultaAlta = $this->onPermission('vehicles.consultar', 'Buscar un vehiculo y darle alta como Robado', $vehicles, 'api');
|
||||||
$vehiclesRecuperar = $this->onPermission('vehicles.recuperar', 'Marcar vehículo como recuperado', $vehicles, 'api');
|
$vehiclesDetectar = $this->onPermission('vehicles.detectar', 'Historial de búsqueda de vehículo por placa o VIN', $vehicles, 'api');
|
||||||
$vehiclesDetectar = $this->onPermission('vehicles.detectar', 'Buscar vehículo por placa o VIN', $vehicles, 'api');
|
|
||||||
$vehiclesRobados = $this->onPermission('vehicles.robados', 'Listar vehículos robados', $vehicles, 'api');
|
|
||||||
$vehiclesRecuperados = $this->onPermission('vehicles.recuperados', 'Listar vehículos recuperados', $vehicles, 'api');
|
|
||||||
$vehiclesDetecciones = $this->onPermission('vehicles.detecciones', 'Listar todas las detecciones', $vehicles, 'api');
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
// Desarrollador
|
// Desarrollador
|
||||||
Role::firstOrCreate([
|
Role::updateOrCreate([
|
||||||
'name' => 'developer',
|
'name' => 'developer',
|
||||||
'description' => 'Desarrollador',
|
'description' => 'Desarrollador',
|
||||||
'guard_name' => 'api'
|
'guard_name' => 'api'
|
||||||
])->syncPermissions(Permission::all());
|
])->syncPermissions(Permission::all());
|
||||||
|
|
||||||
// Administrador
|
// Administrador
|
||||||
Role::firstOrCreate([
|
Role::updateOrCreate([
|
||||||
'name' => 'admin',
|
'name' => 'admin',
|
||||||
'description' => 'Administrador',
|
'description' => 'Administrador',
|
||||||
'guard_name' => 'api'
|
'guard_name' => 'api'
|
||||||
@ -97,7 +91,6 @@ public function run(): void
|
|||||||
$userEdit,
|
$userEdit,
|
||||||
$userDestroy,
|
$userDestroy,
|
||||||
$userSettings,
|
$userSettings,
|
||||||
$userOnline,
|
|
||||||
$roleIndex,
|
$roleIndex,
|
||||||
$roleCreate,
|
$roleCreate,
|
||||||
$roleEdit,
|
$roleEdit,
|
||||||
@ -108,38 +101,30 @@ public function run(): void
|
|||||||
$arcoDestroy,
|
$arcoDestroy,
|
||||||
$arcosToggleEstado,
|
$arcosToggleEstado,
|
||||||
$arcosDetecciones,
|
$arcosDetecciones,
|
||||||
$vehiclesConsulta, //vehicles
|
$vehiclesConsultaAlta, //vehicles
|
||||||
$vehiclesRecuperar,
|
|
||||||
$vehiclesDetectar,
|
$vehiclesDetectar,
|
||||||
|
|
||||||
);
|
);
|
||||||
|
|
||||||
Role::firstOrCreate([
|
Role::updateOrCreate([
|
||||||
'name' => 'supervisor',
|
'name' => 'supervisor',
|
||||||
'description' => 'Supervisor',
|
'description' => 'Supervisor',
|
||||||
'guard_name' => 'api'
|
'guard_name' => 'api'
|
||||||
])->syncPermissions(
|
])->syncPermissions(
|
||||||
$vehiclesConsulta, //vehicles
|
$vehiclesConsultaAlta, //vehicles
|
||||||
$vehiclesRecuperar,
|
|
||||||
$vehiclesDetectar,
|
$vehiclesDetectar,
|
||||||
$vehiclesRobados,
|
|
||||||
$vehiclesRecuperados,
|
|
||||||
$vehiclesDetecciones
|
|
||||||
);
|
);
|
||||||
|
|
||||||
Role::firstOrCreate([
|
Role::updateOrCreate([
|
||||||
'name' => 'operador',
|
'name' => 'operador',
|
||||||
'description' => 'Operador',
|
'description' => 'Operador',
|
||||||
'guard_name' => 'api'
|
'guard_name' => 'api'
|
||||||
])->syncPermissions(
|
])->syncPermissions(
|
||||||
$vehiclesConsulta, //vehicles
|
$vehiclesConsultaAlta, //vehicles
|
||||||
$vehiclesDetectar,
|
$vehiclesDetectar,
|
||||||
$vehiclesRobados,
|
|
||||||
$vehiclesRecuperados,
|
|
||||||
$vehiclesDetecciones
|
|
||||||
);
|
);
|
||||||
|
|
||||||
Role::firstOrCreate([
|
Role::updateOrCreate([
|
||||||
'name' => 'investigador',
|
'name' => 'investigador',
|
||||||
'description' => 'Investigador',
|
'description' => 'Investigador',
|
||||||
'guard_name' => 'api'
|
'guard_name' => 'api'
|
||||||
|
|||||||
@ -13,8 +13,6 @@ services:
|
|||||||
- DB_PASSWORD=${DB_PASSWORD}
|
- DB_PASSWORD=${DB_PASSWORD}
|
||||||
- DB_DATABASE=${DB_DATABASE}
|
- DB_DATABASE=${DB_DATABASE}
|
||||||
- DB_PORT=${DB_PORT}
|
- DB_PORT=${DB_PORT}
|
||||||
ports:
|
|
||||||
- "8083:8080"
|
|
||||||
volumes:
|
volumes:
|
||||||
- ./:/var/www/arcos-backend
|
- ./:/var/www/arcos-backend
|
||||||
- ./vendor:/var/www/arcos/vendor
|
- ./vendor:/var/www/arcos/vendor
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user