Actualización de modelos, controladores y middleware

This commit is contained in:
Lucho
2026-06-24 16:25:36 -03:00
parent ff2fa9b70f
commit 317d85b5c3
22 changed files with 494 additions and 125 deletions
+2
View File
@@ -14,6 +14,8 @@ class Administrador extends Model
'persona_id',
'dni',
'correo',
'pregunta_secreta_hash',
'respuesta_secreta_hash',
'credencialprofesional_id',
];
+3 -3
View File
@@ -232,10 +232,10 @@ class Agenda extends Model
}
$diasPreferidosIds = array_values(array_unique($diasPreferidosIds));
// Toma la duración de turno de la agenda; si no existe, usa 40 minutos.
$duracionTurno = (int) (self::where('id', $agendaId)->value('duracionturno') ?? 40);
// Toma la duración de turno de la agenda; si no existe, usa 30 minutos.
$duracionTurno = (int) (self::where('id', $agendaId)->value('duracionturno') ?? 30);
if ($duracionTurno <= 0) {
$duracionTurno = 40;
$duracionTurno = 30;
}
// Define el punto de inicio de la búsqueda desde el día siguiente (para evitar asignar turnos inmediatos del día actual).
+22
View File
@@ -0,0 +1,22 @@
<?php
namespace App\Models;
use Illuminate\Database\Eloquent\Model;
class AsistenteSinRespuesta extends Model
{
public $timestamps = false;
protected $table = 'asistente_sin_respuesta';
protected $fillable = [
'consulta',
'revisado',
];
protected $casts = [
'revisado' => 'boolean',
'created_at' => 'datetime',
];
}
+1 -1
View File
@@ -11,7 +11,7 @@ class Baja extends Model
protected $table = 'bajas';
protected $fillable = [
'motivo',
'descripcion',
];
//tiene una
+1 -1
View File
@@ -44,7 +44,7 @@ class Cliente extends Model
public function profesionales()
{
return $this->belongsToMany(Profesional::class, 'profesional_cliente','cliente_id', 'profesional_id')
return $this->belongsToMany(Profesional::class, 'profesionales_clientes','cliente_id', 'profesional_id')
->withPivot('estadorelacion')
->withTimestamps();
}
+2
View File
@@ -15,6 +15,8 @@ class CredencialCliente extends Model
'correo',
'token',
'fecha_hora',
'reset_token',
'reset_expira_en',
];
//tiene un
+2
View File
@@ -16,6 +16,8 @@ class CredencialProfesional extends Model
'rol',
'token',
'fecha_hora',
'reset_token',
'reset_expira_en',
];
public function profesional()
-1
View File
@@ -12,7 +12,6 @@ use HasFactory;
protected $table = 'diasdeatenciones';
protected $fillable = [
'descripcion',
'agenda_id',
'dia_id',
];
-22
View File
@@ -1,22 +0,0 @@
<?php
namespace App\Models;
use Illuminate\Database\Eloquent\Model;
use Illuminate\Database\Eloquent\Factories\HasFactory;
class EstadoProfesional extends Model
{
use HasFactory;
protected $table = 'estadosprofesionales';
protected $fillable = [
'descripcion',
];
public function profesional()
{
return $this->hasMany(Profesional::class, 'estadoprofesional_id', 'id');
}
}
+26
View File
@@ -0,0 +1,26 @@
<?php
namespace App\Models;
use Illuminate\Database\Eloquent\Factories\HasFactory;
use Illuminate\Database\Eloquent\Model;
class FaqAsistente extends Model
{
use HasFactory;
protected $table = 'faq_asistentes';
protected $fillable = [
'intencion',
'palabras_clave',
'respuesta',
'orden',
'activo',
];
protected $casts = [
'palabras_clave' => 'array',
'activo' => 'boolean',
];
}
+1
View File
@@ -15,6 +15,7 @@ class Formulario extends Model
'nombrecompleto',
'correo',
'celular',
'ip_origen',
'estado',
'profesion_id',
'servicio_id',
+3
View File
@@ -10,6 +10,7 @@ class LogSeguridad extends Model
use HasFactory;
protected $table = 'logseguridades';
public $timestamps = false;
protected $fillable = [
'descripcion',
@@ -18,6 +19,8 @@ class LogSeguridad extends Model
'rol',
'persona_id',
'accion_id',
'accion_descripcion',
'responsable_nombre',
];
//pertenece a
+21
View File
@@ -0,0 +1,21 @@
<?php
namespace App\Models;
use Illuminate\Database\Eloquent\Factories\HasFactory;
use Illuminate\Database\Eloquent\Model;
class Notificacion extends Model
{
use HasFactory;
protected $table = 'notificaciones';
protected $primaryKey = 'notificacion_id';
public $timestamps = false;
protected $fillable = [
'tipo',
'mensaje_inicio',
'mensaje_final',
];
}
+5
View File
@@ -20,4 +20,9 @@ class Profesion extends Model
{
return $this->hasMany(Profesional::class, 'profesion_id', 'id');
}
public function profesionalesAsociados()
{
return $this->belongsToMany(Profesional::class, 'profesionales_profesiones', 'profesion_id', 'profesional_id');
}
}
+6 -7
View File
@@ -16,7 +16,6 @@ class Profesional extends Model
'correo',
'dni',
'credencialprofesional_id',
'estadoprofesional_id',
'persona_id',
'baja_id',
'profesion_id',
@@ -30,16 +29,16 @@ class Profesional extends Model
return $this->belongsTo(Profesion::class, 'profesion_id', 'id');
}
public function profesiones()
{
return $this->belongsToMany(Profesion::class, 'profesionales_profesiones', 'profesional_id', 'profesion_id');
}
public function credencialProfesional()
{
return $this->belongsTo(CredencialProfesional::class, 'credencialprofesional_id', 'id');
}
public function estadoProfesional()
{
return $this->belongsTo(EstadoProfesional::class, 'estadoprofesional_id', 'id');
}
public function persona()
{
return $this->belongsTo(Persona::class, 'persona_id');
@@ -86,7 +85,7 @@ class Profesional extends Model
public function clientes()
{
return $this->belongsToMany(Cliente::class, 'profesionales_cliente', 'profesional_id', 'cliente_id')
return $this->belongsToMany(Cliente::class, 'profesionales_clientes', 'profesional_id', 'cliente_id')
->withPivot('estadorelacion')
->withTimestamps();
}
+1
View File
@@ -15,6 +15,7 @@ class Servicio extends Model
'titulo',
'estado',
'descripcion',
'visibleenweb',
'contenidoweb_id',
'profesion_id',
'foto_id',
+1
View File
@@ -13,6 +13,7 @@ class Turno extends Model
protected $fillable = [
'inicio',
'correo',
'celular',
'nombrecompleto',
'descripcion',
'cliente_id',