ADD: Historial de cambios y correcciones menores
- ADD: Observador de roles - ADD: Activar sesion en API - ADD: Historial de cambios
This commit is contained in:
parent
a076db9521
commit
4f01437bb5
@ -3,12 +3,12 @@
|
|||||||
* @copyright (c) 2024 Notsoweb Software (https://notsoweb.com) - All Rights Reserved
|
* @copyright (c) 2024 Notsoweb Software (https://notsoweb.com) - All Rights Reserved
|
||||||
*/
|
*/
|
||||||
|
|
||||||
|
use App\Models\Role;
|
||||||
use Illuminate\Broadcasting\InteractsWithSockets;
|
use Illuminate\Broadcasting\InteractsWithSockets;
|
||||||
use Illuminate\Broadcasting\PrivateChannel;
|
use Illuminate\Broadcasting\PrivateChannel;
|
||||||
use Illuminate\Contracts\Broadcasting\ShouldBroadcast;
|
use Illuminate\Contracts\Broadcasting\ShouldBroadcast;
|
||||||
use Illuminate\Foundation\Events\Dispatchable;
|
use Illuminate\Foundation\Events\Dispatchable;
|
||||||
use Illuminate\Queue\SerializesModels;
|
use Illuminate\Queue\SerializesModels;
|
||||||
use Spatie\Permission\Models\Role;
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Role de usuario actualizado
|
* Role de usuario actualizado
|
||||||
|
|||||||
@ -7,10 +7,10 @@
|
|||||||
use App\Http\Controllers\Controller;
|
use App\Http\Controllers\Controller;
|
||||||
use App\Http\Requests\Roles\RoleStoreRequest;
|
use App\Http\Requests\Roles\RoleStoreRequest;
|
||||||
use App\Http\Requests\Roles\RoleUpdateRequest;
|
use App\Http\Requests\Roles\RoleUpdateRequest;
|
||||||
|
use App\Models\Role;
|
||||||
use App\Supports\QuerySupport;
|
use App\Supports\QuerySupport;
|
||||||
use Illuminate\Http\Request;
|
use Illuminate\Http\Request;
|
||||||
use Notsoweb\ApiResponse\Enums\ApiResponse;
|
use Notsoweb\ApiResponse\Enums\ApiResponse;
|
||||||
use Spatie\Permission\Models\Role;
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Roles del sistema
|
* Roles del sistema
|
||||||
|
|||||||
94
app/Http/Controllers/ChangelogController.php
Normal file
94
app/Http/Controllers/ChangelogController.php
Normal file
@ -0,0 +1,94 @@
|
|||||||
|
<?php namespace App\Http\Controllers;
|
||||||
|
|
||||||
|
use Notsoweb\ApiResponse\Enums\ApiResponse;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @copyright (c) 2024 Notsoweb Software (https://notsoweb.com) - All Rights Reserved
|
||||||
|
*/
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Controlador de cambios del sistema
|
||||||
|
*
|
||||||
|
* @author Moisés Cortés C. <moises.cortes@notsoweb.com>
|
||||||
|
*
|
||||||
|
* @version 1.0.0
|
||||||
|
*/
|
||||||
|
class ChangelogController extends Controller
|
||||||
|
{
|
||||||
|
/**
|
||||||
|
* Cambios del sistema
|
||||||
|
*/
|
||||||
|
public function __invoke()
|
||||||
|
{
|
||||||
|
return ApiResponse::OK->response(array_reverse([
|
||||||
|
[
|
||||||
|
'version' => '0.9.0',
|
||||||
|
'date' => '2024-12-13',
|
||||||
|
'changes' => [
|
||||||
|
'ADD: Personalización de stubs',
|
||||||
|
'ADD: Notificaciones en tiempo real básico.',
|
||||||
|
'ADD: Registro de usuarios',
|
||||||
|
'ADD: Sistema de autenticación',
|
||||||
|
'ADD: Instalación de Passport',
|
||||||
|
'INIT: Commit inicial',
|
||||||
|
]
|
||||||
|
],
|
||||||
|
[
|
||||||
|
'version' => '0.9.1',
|
||||||
|
'date' => '2024-12-16',
|
||||||
|
'changes' => [
|
||||||
|
'UPDATE: Variables de entorno',
|
||||||
|
'ADD: Logo de aplicación administrado en Backend.',
|
||||||
|
]
|
||||||
|
],
|
||||||
|
[
|
||||||
|
'version' => '0.9.2',
|
||||||
|
'date' => '2024-12-16',
|
||||||
|
'changes' => [
|
||||||
|
'UPDATE: Correcciones visuales en administración de usuarios.',
|
||||||
|
]
|
||||||
|
],
|
||||||
|
[
|
||||||
|
'version' => '0.9.3',
|
||||||
|
'date' => '2024-12-27',
|
||||||
|
'changes' => [
|
||||||
|
'ADD: Visualización de Usuarios conectados en tiempo real.',
|
||||||
|
'UPDATE: Notificaciones en tiempo real personalizadas.',
|
||||||
|
]
|
||||||
|
],
|
||||||
|
[
|
||||||
|
'version' => '0.9.4',
|
||||||
|
'date' => '2024-12-28',
|
||||||
|
'changes' => [
|
||||||
|
'REFACTOR: Refactorización de código y documentación.',
|
||||||
|
]
|
||||||
|
],
|
||||||
|
[
|
||||||
|
'version' => '0.9.5',
|
||||||
|
'date' => '2025-01-03',
|
||||||
|
'changes' => [
|
||||||
|
'ADD: Historial de acciones general.',
|
||||||
|
'ADD: Historial de acciones del los usuarios.',
|
||||||
|
'ADD: Monitorización de aplicación mediante Laravel Pulse.',
|
||||||
|
]
|
||||||
|
],
|
||||||
|
[
|
||||||
|
'version' => '0.9.6',
|
||||||
|
'date' => '2025-01-06',
|
||||||
|
'changes' => [
|
||||||
|
'ADD: Sistema de recuperación de contraseña.',
|
||||||
|
]
|
||||||
|
],
|
||||||
|
[
|
||||||
|
'version' => '0.9.7',
|
||||||
|
'date' => '2025-01-16',
|
||||||
|
'changes' => [
|
||||||
|
'ADD: Historial de cambios retornado en API.',
|
||||||
|
'UPDATE: Permitir el usuario de las sesiones para la API.',
|
||||||
|
'ADD: Comando para iniciar o detener todos los servicios',
|
||||||
|
'ADD: Observador de roles.',
|
||||||
|
]
|
||||||
|
]
|
||||||
|
]));
|
||||||
|
}
|
||||||
|
}
|
||||||
@ -4,9 +4,9 @@
|
|||||||
*/
|
*/
|
||||||
|
|
||||||
use App\Http\Controllers\Controller;
|
use App\Http\Controllers\Controller;
|
||||||
|
use App\Models\Role;
|
||||||
use Notsoweb\ApiResponse\Enums\ApiResponse;
|
use Notsoweb\ApiResponse\Enums\ApiResponse;
|
||||||
use Spatie\Permission\Models\Permission;
|
use Spatie\Permission\Models\Permission;
|
||||||
use Spatie\Permission\Models\Role;
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Recursos del sistema
|
* Recursos del sistema
|
||||||
|
|||||||
20
app/Models/Role.php
Normal file
20
app/Models/Role.php
Normal file
@ -0,0 +1,20 @@
|
|||||||
|
<?php namespace App\Models;
|
||||||
|
/**
|
||||||
|
* @copyright (c) 2024 Notsoweb Software (https://notsoweb.com) - All Rights Reserved
|
||||||
|
*/
|
||||||
|
|
||||||
|
|
||||||
|
use Notsoweb\LaravelCore\Traits\Models\Extended;
|
||||||
|
use Spatie\Permission\Models\Role as ModelsRole;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Roles del sistema
|
||||||
|
*
|
||||||
|
* @author Moisés Cortés C. <moises.cortes@notsoweb.com>
|
||||||
|
*
|
||||||
|
* @version 1.0.0
|
||||||
|
*/
|
||||||
|
class Role extends ModelsRole
|
||||||
|
{
|
||||||
|
use Extended;
|
||||||
|
}
|
||||||
73
app/Observers/RoleObserver.php
Normal file
73
app/Observers/RoleObserver.php
Normal file
@ -0,0 +1,73 @@
|
|||||||
|
<?php namespace App\Observers;
|
||||||
|
/**
|
||||||
|
* @copyright (c) 2025 Notsoweb Software (https://notsoweb.com) - All Rights Reserved
|
||||||
|
*/
|
||||||
|
|
||||||
|
use App\Models\Role;
|
||||||
|
use App\Models\UserEvent;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Observador del modelo Role
|
||||||
|
*
|
||||||
|
* @author Moisés Cortés C. <moises.cortes@notsoweb.com>
|
||||||
|
*
|
||||||
|
* @version 1.0.0
|
||||||
|
*/
|
||||||
|
class RoleObserver
|
||||||
|
{
|
||||||
|
/**
|
||||||
|
* Manipulador del evento "created" del modelo Role
|
||||||
|
*/
|
||||||
|
public function created(Role $role): void
|
||||||
|
{
|
||||||
|
UserEvent::report(
|
||||||
|
model: $role,
|
||||||
|
event: __FUNCTION__
|
||||||
|
);
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Manipulador del evento "updated" del modelo Role
|
||||||
|
*/
|
||||||
|
public function updated(Role $role): void
|
||||||
|
{
|
||||||
|
UserEvent::report(
|
||||||
|
model: $role,
|
||||||
|
event: __FUNCTION__,
|
||||||
|
reportChanges: true
|
||||||
|
);
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Manipulador del evento "deleted" del modelo Role
|
||||||
|
*/
|
||||||
|
public function deleted(Role $role): void
|
||||||
|
{
|
||||||
|
UserEvent::report(
|
||||||
|
model: $role,
|
||||||
|
event: __FUNCTION__,
|
||||||
|
);
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Manipulador del evento "restored" del modelo Role
|
||||||
|
*/
|
||||||
|
public function restored(Role $role): void
|
||||||
|
{
|
||||||
|
UserEvent::report(
|
||||||
|
model: $role,
|
||||||
|
event: __FUNCTION__,
|
||||||
|
);
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Manipulador del evento "force deleted" del modelo Role
|
||||||
|
*/
|
||||||
|
public function forceDeleted(Role $role): void
|
||||||
|
{
|
||||||
|
UserEvent::report(
|
||||||
|
model: $role,
|
||||||
|
event: __FUNCTION__,
|
||||||
|
);
|
||||||
|
}
|
||||||
|
}
|
||||||
@ -3,7 +3,9 @@
|
|||||||
* @copyright (c) 2024 Notsoweb Software (https://notsoweb.com) - All Rights Reserved
|
* @copyright (c) 2024 Notsoweb Software (https://notsoweb.com) - All Rights Reserved
|
||||||
*/
|
*/
|
||||||
|
|
||||||
|
use App\Models\Role;
|
||||||
use App\Models\User;
|
use App\Models\User;
|
||||||
|
use App\Observers\RoleObserver;
|
||||||
use App\Observers\UserObserver;
|
use App\Observers\UserObserver;
|
||||||
use Illuminate\Support\ServiceProvider;
|
use Illuminate\Support\ServiceProvider;
|
||||||
|
|
||||||
@ -30,5 +32,6 @@ public function register(): void
|
|||||||
public function boot(): void
|
public function boot(): void
|
||||||
{
|
{
|
||||||
User::observe([UserObserver::class]);
|
User::observe([UserObserver::class]);
|
||||||
|
Role::observe([RoleObserver::class]);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@ -4,6 +4,7 @@
|
|||||||
use Illuminate\Foundation\Configuration\Exceptions;
|
use Illuminate\Foundation\Configuration\Exceptions;
|
||||||
use Illuminate\Foundation\Configuration\Middleware;
|
use Illuminate\Foundation\Configuration\Middleware;
|
||||||
use Illuminate\Http\Request;
|
use Illuminate\Http\Request;
|
||||||
|
use Illuminate\Session\Middleware\StartSession;
|
||||||
use Notsoweb\ApiResponse\Enums\ApiResponse;
|
use Notsoweb\ApiResponse\Enums\ApiResponse;
|
||||||
use Notsoweb\LaravelCore\Http\APIException;
|
use Notsoweb\LaravelCore\Http\APIException;
|
||||||
use Symfony\Component\HttpKernel\Exception\ServiceUnavailableHttpException;
|
use Symfony\Component\HttpKernel\Exception\ServiceUnavailableHttpException;
|
||||||
@ -20,6 +21,10 @@
|
|||||||
attributes: ['middleware' => ['auth:api']]
|
attributes: ['middleware' => ['auth:api']]
|
||||||
)
|
)
|
||||||
->withMiddleware(function (Middleware $middleware) {
|
->withMiddleware(function (Middleware $middleware) {
|
||||||
|
$middleware->group('api', [
|
||||||
|
StartSession::class,
|
||||||
|
]);
|
||||||
|
|
||||||
$middleware->validateCsrfTokens(except: [
|
$middleware->validateCsrfTokens(except: [
|
||||||
'sanctum/csrf-cookie',
|
'sanctum/csrf-cookie',
|
||||||
'user/*'
|
'user/*'
|
||||||
|
|||||||
@ -98,6 +98,18 @@
|
|||||||
],
|
],
|
||||||
"broadcast:status": [
|
"broadcast:status": [
|
||||||
"pm2 show holos-broadcasts"
|
"pm2 show holos-broadcasts"
|
||||||
|
],
|
||||||
|
"services:start": [
|
||||||
|
"composer run jobs:start",
|
||||||
|
"composer run broadcast:start"
|
||||||
|
],
|
||||||
|
"services:stop": [
|
||||||
|
"composer run jobs:stop",
|
||||||
|
"composer run broadcast:stop"
|
||||||
|
],
|
||||||
|
"services:status": [
|
||||||
|
"composer run jobs:status",
|
||||||
|
"composer run broadcast:status"
|
||||||
]
|
]
|
||||||
},
|
},
|
||||||
"extra": {
|
"extra": {
|
||||||
|
|||||||
@ -12,7 +12,7 @@
|
|||||||
| other UI elements where an application name needs to be displayed.
|
| other UI elements where an application name needs to be displayed.
|
||||||
|
|
|
|
||||||
*/
|
*/
|
||||||
'version' => '0.9.5',
|
'version' => '0.9.7',
|
||||||
|
|
||||||
'name' => env('APP_NAME', 'Laravel'),
|
'name' => env('APP_NAME', 'Laravel'),
|
||||||
|
|
||||||
|
|||||||
@ -24,7 +24,7 @@
|
|||||||
* `Spatie\Permission\Contracts\Role` contract.
|
* `Spatie\Permission\Contracts\Role` contract.
|
||||||
*/
|
*/
|
||||||
|
|
||||||
'role' => Spatie\Permission\Models\Role::class,
|
'role' => App\Models\Role::class,
|
||||||
|
|
||||||
],
|
],
|
||||||
|
|
||||||
|
|||||||
@ -4,10 +4,10 @@
|
|||||||
*/
|
*/
|
||||||
|
|
||||||
use App\Models\PermissionType;
|
use App\Models\PermissionType;
|
||||||
|
use App\Models\Role;
|
||||||
use Illuminate\Database\Seeder;
|
use Illuminate\Database\Seeder;
|
||||||
use Notsoweb\LaravelCore\Traits\MySql\RolePermission;
|
use Notsoweb\LaravelCore\Traits\MySql\RolePermission;
|
||||||
use Spatie\Permission\Models\Permission;
|
use Spatie\Permission\Models\Permission;
|
||||||
use Spatie\Permission\Models\Role;
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Roles y permisos
|
* Roles y permisos
|
||||||
|
|||||||
9
lang/es/role.php
Normal file
9
lang/es/role.php
Normal file
@ -0,0 +1,9 @@
|
|||||||
|
<?php
|
||||||
|
|
||||||
|
return [
|
||||||
|
'created' => 'El rol ":model" ha sido creado',
|
||||||
|
'updated' => 'El rol ":model" ha sido actualizado',
|
||||||
|
'deleted' => 'El rol ":model" ha sido eliminado',
|
||||||
|
'restored' => 'El rol ":model" ha sido restaurado',
|
||||||
|
];
|
||||||
|
|
||||||
@ -1,9 +1,9 @@
|
|||||||
<?php
|
<?php
|
||||||
|
|
||||||
return [
|
return [
|
||||||
'created' => 'El usuario :model ha sido creado',
|
'created' => 'El usuario ":model" ha sido creado',
|
||||||
'updated' => 'El usuario :model ha sido actualizado',
|
'updated' => 'El usuario ":model" ha sido actualizado',
|
||||||
'deleted' => 'El usuario :model ha sido eliminado',
|
'deleted' => 'El usuario ":model" ha sido eliminado',
|
||||||
'restored' => 'El usuario :model ha sido restaurado',
|
'restored' => 'El usuario ":model" ha sido restaurado',
|
||||||
];
|
];
|
||||||
|
|
||||||
|
|||||||
@ -9,6 +9,7 @@
|
|||||||
use App\Http\Controllers\System\NotificationController;
|
use App\Http\Controllers\System\NotificationController;
|
||||||
use App\Http\Controllers\System\SystemController;
|
use App\Http\Controllers\System\SystemController;
|
||||||
use App\Http\Controllers\Admin\UserController;
|
use App\Http\Controllers\Admin\UserController;
|
||||||
|
use App\Http\Controllers\ChangelogController;
|
||||||
use App\Http\Controllers\ServerController;
|
use App\Http\Controllers\ServerController;
|
||||||
use Illuminate\Support\Facades\Route;
|
use Illuminate\Support\Facades\Route;
|
||||||
|
|
||||||
@ -65,6 +66,8 @@
|
|||||||
});
|
});
|
||||||
|
|
||||||
Route::post('auth/logout', [LoginController::class, 'logout'])->name('auth.logout');
|
Route::post('auth/logout', [LoginController::class, 'logout'])->name('auth.logout');
|
||||||
|
|
||||||
|
Route::get('changelogs', ChangelogController::class)->name('changelogs');
|
||||||
});
|
});
|
||||||
|
|
||||||
Route::prefix('resources')->name('resources.')->group(function() {
|
Route::prefix('resources')->name('resources.')->group(function() {
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user