<?php

namespace App\Http\Controllers;

use App\Models\CoEnte;
use App\Models\User;
use Illuminate\Http\Request;
use Illuminate\Support\Facades\Hash;
use PhpParser\Node\Expr\Cast\Array_;

class LoginController extends Controller
{
    //
    function LoginGetToken(Request $r)
    {
        try {
            $usuario = $r['identificacion'];
            $contrasena = $r['clave'];
            $token = $r['token'];
            if (trim($usuario) == '' or trim($contrasena) == '') {
                return response()->json(['status' => 'error', 'message' => 'ingrese un usuario y contraseña validos!.', 'data' => null, 'token' => '']);
            }

            $verificado = User::where('cedula', trim($usuario))->first();
            if (!$verificado) {
                return response()->json(['status' => 'error', 'message' => 'el usuario no existe en el sistema!.', 'data' => null, 'token' => '']);
            }

            $SystemPass =   $verificado->passworapp;
            if (!Hash::check(trim($contrasena), $SystemPass)) {
                return response()->json(['status' => 'error', 'message' => 'Las Credenciales son Incorrectas!.', 'data' => null, 'token' => '']);
            }
            $dataUsuario = CoEnte::where('num_docum_iden', $usuario)->select([
                'id_ente',
                'nombre_completo', 'activo', 'num_docum_iden', 'p_sexo', 'p_estado_civil', 'p_fecha_nacimiento', 'p_direccion', 'p_telefono', 'p_celular', 'p_correo', 'tipolicencia'
            ])->first();

            if ($dataUsuario->activo != 'A') {
                return response()->json(['status' => 'error', 'message' => 'Estas Credenciales se encuentran bloqueadas.!']);
            }
            $dataUsuario->token = $token;
            $dataUsuario->save();
            $token = $verificado->createToken('myapptoken')->plainTextToken;
            return response()->json(['status' => 'ok', 'message' => '', 'data' => $dataUsuario, 'token' => $token]);
        } catch (\Throwable $th) {
            return response()->json(['status' => 'error', 'message' => $th->getMessage(), 'data' => null, 'token' => '']);
        }
    }

    public function PerfilSocio($id)
    {

        $dataUsuario = CoEnte::where('id_ente', $id)->select([
            'id_ente',
            'nombre_completo', 'num_docum_iden', 'p_sexo', 'p_estado_civil', 'p_fecha_nacimiento', 'p_direccion', 'p_telefono', 'p_celular', 'p_correo', 'tipolicencia'
        ])->first();
        return response()->json(['status' => 'ok', 'message' => '', 'data' => $dataUsuario,]);
    }
}
