73 lines
1.9 KiB
PHP
73 lines
1.9 KiB
PHP
<?php
|
|
|
|
declare(strict_types=1);
|
|
|
|
use App\Models\Profesional;
|
|
use App\Models\CredencialProfesional;
|
|
use App\Models\Foto;
|
|
use App\Models\Persona;
|
|
use Illuminate\Contracts\Console\Kernel;
|
|
use Illuminate\Support\Facades\DB;
|
|
use Illuminate\Support\Facades\Hash;
|
|
|
|
require __DIR__ . '/vendor/autoload.php';
|
|
|
|
$app = require __DIR__ . '/bootstrap/app.php';
|
|
$app->make(Kernel::class)->bootstrap();
|
|
|
|
$usuario = env('PROFESIONAL_USUARIO', 'profesional');
|
|
$passwordPlano = env('PROFESIONAL_PASSWORD', 'profesional1234');
|
|
$correo = env('PROFESIONAL_CORREO', 'profesional@abogadaslitoral.com');
|
|
$dni = env('PROFESIONAL_DNI', '40000000');
|
|
$nombre = env('PROFESIONAL_NOMBRE', 'Usuario');
|
|
$apellido = env('PROFESIONAL_APELLIDO', 'Profesional');
|
|
$cuil = env('PROFESIONAL_CUIL', '20-40000000-0');
|
|
$fechaNac = env('PROFESIONAL_FECHANAC', '2026-01-01');
|
|
|
|
try {
|
|
DB::transaction(function () use ($usuario, $passwordPlano, $correo, $dni, $nombre, $apellido, $cuil, $fechaNac): void {
|
|
$foto = Foto::firstOrCreate(
|
|
['ruta' => 'avatars/profesional-default.png'],
|
|
[
|
|
'extension' => 'png',
|
|
'nombre' => 'profesional-default',
|
|
'mime_type' => 'image/png',
|
|
'tamanio_bytes' => 0,
|
|
]
|
|
);
|
|
|
|
$persona = Persona::updateOrCreate(
|
|
['dni' => $dni],
|
|
[
|
|
'nombre' => $nombre,
|
|
'apellido' => $apellido,
|
|
'cuil' => $cuil,
|
|
'fechanac' => $fechaNac,
|
|
'foto_id' => $foto->id,
|
|
]
|
|
);
|
|
|
|
$credencial = CredencialProfesional::updateOrCreate(
|
|
['usuario' => $usuario],
|
|
[
|
|
'contra' => Hash::make($passwordPlano),
|
|
'rol' => 'PROFESIONAL',
|
|
]
|
|
);
|
|
|
|
Profesional::updateOrCreate(
|
|
['dni' => $dni, 'correo' => $correo],
|
|
[
|
|
'persona_id' => $persona->id,
|
|
'credencialprofesional_id' => $credencial->id,
|
|
]
|
|
);
|
|
});
|
|
|
|
echo "Profesional creado correctamente." . PHP_EOL;
|
|
echo "Usuario: {$usuario}" . PHP_EOL;
|
|
echo "Correo: {$correo}" . PHP_EOL;
|
|
} catch (Throwable $e) {
|
|
fwrite(STDERR, 'Error al crear profesional: ' . $e->getMessage() . PHP_EOL);
|
|
exit(1);
|
|
} |