<?php

namespace App\Http\Controllers\api;

use App\Http\Controllers\Controller;
use Illuminate\Http\Request;
use App\Models\Tasks\TiposInformacion;
use Illuminate\Support\Facades\DB;

class TiposInfoGeneralController extends Controller
{
    public function mostrarTodos(){
        $tiposInformacion = DB::table('informaciongeneral_tipos')->get();
        return response()->json($tiposInformacion);
    }

    public function crear(Request $request){
        $message = '';
        $status = 0;
        try{
            $tiposInformacion = DB::table('informaciongeneral_tipos')->insert([
                'idEscuela' => 'COLEGIOABC',
                'idInformacionGeneralTipos' => $request->clave,
                'nombreInformacionGeneralTipos' => $request->nombre,
                'estado' => 'Activo'
            ]);
            $message = 'Tipo de información creado correctamente'; $status = 200;
        } catch(\Exception $e){
            $message = 'Error al crear el tipo de información'; $status = 500;
        }
        return response()->json(['mensaje' => $message], $status);
    }

    public function editar(Request $request, $id){
        $id = base64_decode($id);
        $message = '';
        $status = 0;
        try{
            $tiposInformacion = DB::table('informaciongeneral_tipos')
            ->where('idInformacionGeneralTipos', $id)
            ->update([
                'nombreInformacionGeneralTipos' => $request->nombre
            ]);
            $message = 'Tipo de información actualizado correctamente'; $status = 200;
        } catch(\Exception $e){
            $message = 'Error al actualizar el tipo de información'; $status = 500;
        }
        return response()->json(['mensaje' => $message], $status);
    }

    public function eliminarEstado($id){
        $id= base64_decode($id);
       $message = '';
       $status = 0;
        try{
            $tiposInformacion = DB::table('informaciongeneral_tipos')
            ->where('idInformacionGeneralTipos', $id)
            ->update([
                'estado' => 'Eliminado'
            ]);
            $message = 'Tipo de información deshabilitado correctamente'; $status = 200;
        } catch(\Exception $e){
            $message = 'Error al deshabilitar el tipo de información'; $status = 500;
        }
        return response()->json(['mensaje' => $message], $status);
    } 

    public function habilitarEstado($id){
        $id= base64_decode($id);
        $message = '';
        $status = 0;
        try{
            $tiposInformacion = DB::table('informaciongeneral_tipos')
            ->where('idInformacionGeneralTipos', $id)
            ->update([
                'estado' => 'Activo'
            ]);
            $message = 'Tipo de información habilitado correctamente'; $status = 200;
        } catch(\Exception $e){
            $message = 'Error al habilitar el tipo de información'; $status = 500;
        }
        return response()->json(['mensaje' => $message], $status);
    } 

}
