File manager - Edit - /var/www/html/spdc/api/app/Observers/GlobalModelObserver.php
Back
<?php // app/Observers/GlobalModelObserver.php namespace App\Observers; use App\Enums\ClassName; use App\Models\MinuteBook; use Illuminate\Database\Eloquent\Model; class GlobalModelObserver { public function creating(Model $model) { // Handle creating event for any model // You can dispatch a general event here // For example: // event(new \App\Events\ModelCreated($model)); } public function created(Model $model) { // Handle created event for any model // You can dispatch a general event here // For example: // event(new \App\Events\ModelCreated($model)); $currentUser = request()->user; if (isset($currentUser)) { $modelName = get_class($model); $modelLabel = ClassName::getKeyByValue($modelName); MinuteBook::create([ 'user_id' => $currentUser['id'], 'title' => 'Criação', 'description' => "O usuário {$currentUser['name']} inseriu um novo registro do tipo {$modelLabel}.", 'modified_attributes' => null, 'date' => now(), 'related_model' => $modelName ]); } } public function updating(Model $model) { // Handle updating event for any model // You can dispatch a general event here // For example: // event(new \App\Events\ModelUpdated($model)); } public function updated(Model $model) { // Handle updated event for any model // You can dispatch a general event here // For example: // event(new \App\Events\ModelUpdated($model)); $currentUser = request()->user; if (isset($currentUser)) { $modelName = get_class($model); $modelLabel = ClassName::getKeyByValue($modelName); // Check if the model has modified attributes if ($model->wasChanged()) { // Get the modified attributes $modifiedAttributes = $model->getDirty(); MinuteBook::create([ 'user_id' => $currentUser['id'], 'title' => 'Atualização', 'description' => "O usuário {$currentUser['name']} modificou um registro tipo {$modelLabel}.", 'modified_attributes' => json_encode($modifiedAttributes), 'date' => now(), 'related_model' => $modelName ]); } } } public function deleting(Model $model) { // Handle deleting event for any model // You can dispatch a general event here // For example: // event(new \App\Events\ModelDeleted($model)); } public function deleted(Model $model) { // Handle deleted event for any model // You can dispatch a general event here // For example: // event(new \App\Events\ModelDeleted($model)); $currentUser = request()->user; if ($currentUser) { $modelName = get_class($model); $modelLabel = ClassName::getKeyByValue($modelName); // Serialize the model data $serializedModel = $model->toArray(); MinuteBook::create([ 'user_id' => $currentUser['id'], 'title' => 'Remoção', 'description' => "O usuário {$currentUser['name']} removeu um registro tipo {$modelLabel}.", 'modified_attributes' => json_encode($serializedModel), 'date' => now(), 'related_model' => $modelName ]); } } public function restoring(Model $model) { // Handle restoring event for any model // You can dispatch a general event here // For example: // event(new \App\Events\ModelRestored($model)); } public function restored(Model $model) { // Handle restored event for any model // You can dispatch a general event here // For example: // event(new \App\Events\ModelRestored($model)); } // Add other methods as needed for different events }
| ver. 1.4 |
Github
|
.
| PHP 8.3.28 | Generation time: 0.02 |
proxy
|
phpinfo
|
Settings