<?php
require_once __DIR__ . '/../../../code/app.php';
!class_exists("tiposOtrosIngresos") && require_once __DIR__ . '/../Models/tiposOtrosIngresosModel.php';

header("Content-Type: application/json; charset=utf-8");

$respuesta = (object)[];

$permisos = App::verificarAcceso();

$idUsuarioActual = App::obtenerIdUsuario();

if ($_SERVER['REQUEST_METHOD'] == 'GET') {
    $accion = isset($_GET['accion']) ? $_GET['accion'] : null;

    switch ($accion) {
        case 'obtenerOtroTipoRegistro':
            $respuesta = tiposOtrosIngresos::obtenerRegistroTiposOtrosIngresos();
            break;
        default:
            $respuesta->status = 400;
            $respuesta->message = "Acción no válida";
            break;
    }
}

if ($_SERVER['REQUEST_METHOD'] == 'POST') {
    $input = json_decode(file_get_contents('php://input'), true);
    !empty($_POST) && $input = $_POST;
    $accion = isset($input['accion']) ? $input['accion'] : null;

    switch ($accion) {
        case 'guardar':
            $tipo = new tiposOtrosIngresos();

            $tipo->codtipo = $input['codtipo'];
            $tipo->tipoOtroIngreso = trim($input['tipoOtroIngreso']);
            $tipo->planillaComplementaria = $input['planillaComplementaria'];
            $tipo->aplicaCotizaciones = $input['aplicaCotizaciones'];
            $tipo->aplicaRenta = $input['aplicaRenta'];

            $respuesta = $tipo->guardar();
            break;
        case 'eliminar':
            $tipo = new tiposOtrosIngresos();

            $tipo->codtipo = $input['codtipo'];

            $respuesta = $tipo->eliminar();
            break;
        default:
            $respuesta->status = 400;
            $respuesta->message = 'Acción no válida';
            break;
    }
}

$httpCode = isset($respuesta->status) ? $respuesta->status : 500;
http_response_code($httpCode);
echo json_encode($respuesta);
