Ir al contenido principal

Entradas

Condicionales y discriminantes para tipos de datos en Typescript

 Consigna: typescript tipar un boolean que discrimine que la siguiente propiedad sea número o fecha Respuesta: Para discriminar si una propiedad es de tipo number o Date basándote en un valor booleano (o una condición), la técnica más robusta en TypeScript es usar tipos condicionales con la palabra clave extends . Esto permite definir un tipo que cambia dinámicamente según la estructura de los datos.  Aquí tienes la implementación directa: // 1. Definir el tipo condicional // Si T tiene una propiedad 'esNumero' true, devuelve number. Si no, devuelve Date. type PropiedadDiscriminada = T extends { esNumero : true } ? number : Date ; // 2. Uso en una función o interfaz function procesarDato<T extends { esNumero : boolean }>( datos : T, valor : PropiedadDiscriminada ): void { console . log (valor); } // Caso A: esNumero es true -> El segundo argumento debe ser number procesarDato ({ esNumero : true }, 42 ); // ✅ Correcto // Cas...

Estado actual de desarrollo de odonto-app

  ✅ Estado Actual Componente Estado Spatie/laravel-permission ✅ Instalado Tabla metricas_mensuales ✅ Creada DashboardService ✅ Creado DashboardController ✅ Creado Componentes React del dashboard ✅ Creados Comando dashboard:calcular-metricas ✅ Creado y programado Campos creado_por y consultorio_id en propuestas ✅ Agregados Modelo TratamientoPropuesta actualizado ✅ Con relaciones Controller de emisión actualizado ✅ Con asignación de creador y consultorio 📋 Próximos Pasos Pendientes Orden Módulo Estado 1 Dashboard Odontólogo (Mi Productividad) ⏳ Pendiente de prueba 2 Exportación PDF (vista Blade) ⏳ Pendiente 3 Exportación Excel ⏳ Pendiente 4 Reporte automático por email ⏳ Pendiente 🚀 ¿Por dónde seguimos? Te propongo: Probar el Dashboard Odontólogo (verificar que funcione con los nuevos campos) Crear la vista Blade para PDF Implementar la exportación a Excel Configurar el reporte automático por email

Spatie/Laravel-Permission quick reference

  spatie/laravel-permission howto add a role to a user Respuesta rápida To add a role to a user using the Spatie laravel-permission package, you must first ensure your User model uses the HasRoles trait.   Once configured, you can assign roles directly using the assignRole method or by chaining it with user creation.  1. Prepare the User Model Add the HasRoles trait to your User model: use Illuminate \ Foundation \ Auth \ User as Authenticatable ; use Spatie \ Permission \ Traits \ HasRoles ; class User extends Authenticatable { use HasRoles ; // ... } 2. Assign a Role to an Existing User Retrieve the user and call assignRole with the role name or instance: $user = User :: find ( 1 ); $user -> assignRole ( 'admin' ); // Assign multiple roles at once $user -> assignRole ([ 'writer' , 'admin' ]); $user -> assignRole ([ 'writer' , 'admin' ]); // or as an array 3. Assign a Role During User Creation Chain the assi...