Arreglo de error en detalle y data con espacio en cursos.
This commit is contained in:
commit
3d0f898a8a
30 files changed
+8081
No files matched your search
@@ -0,0 +1,62 @@
|
||||
import { NextRequest, NextResponse } from "next/server";
|
||||
|
||||
//const API = process.env.NEXT_PUBLIC_API_URL ?? "https://api.devops.norteamericano.cl";
|
||||
const API_BASE_EMPRESAS = "https://api.devops.norteamericano.cl/api/Empresas";
|
||||
const API_BASE_INFORMES = "https://api.devops.norteamericano.cl/api/Informes/cursos-empresa";
|
||||
|
||||
export async function GET(req: NextRequest) {
|
||||
try {
|
||||
const { searchParams } = new URL(req.url);
|
||||
const tipo = searchParams.get("tipo");
|
||||
const varA = searchParams.get("varA");
|
||||
const varB = searchParams.get("varB");
|
||||
const varC = searchParams.get("varC");
|
||||
const cursoId = searchParams.get("cursoId");
|
||||
const varZ = searchParams.get("varZ");
|
||||
const varY = searchParams.get("varY");
|
||||
const varX = searchParams.get("varX");
|
||||
|
||||
const usaInformes = tipo && varA !== null && varB !== null && varC !== null && cursoId !== null;
|
||||
|
||||
if (usaInformes) {
|
||||
const url = `${API_BASE_INFORMES}?tipo=${encodeURIComponent(tipo)}&varA=${encodeURIComponent(varA)}&varB=${encodeURIComponent(varB)}&varC=${encodeURIComponent(varC)}&cursoId=${encodeURIComponent(cursoId)}`;
|
||||
const res = await fetch(url);
|
||||
const data = await res.json();
|
||||
|
||||
if (!data || (Array.isArray(data) && data.length === 0)) {
|
||||
return NextResponse.json(
|
||||
{ error: "No se encontraron cursos" },
|
||||
{ status: 404 }
|
||||
);
|
||||
}
|
||||
|
||||
return NextResponse.json(data, { status: res.status });
|
||||
}
|
||||
|
||||
if (!tipo || varZ === null || varY === null || varX === null) {
|
||||
return NextResponse.json(
|
||||
{ error: "Faltan parámetros obligatorios: tipo, varZ, varY, varX (Empresas) o tipo, varA, varB, varC, cursoId (Informes)" },
|
||||
{ status: 400 }
|
||||
);
|
||||
}
|
||||
|
||||
const url = `${API_BASE_EMPRESAS}?tipo=${encodeURIComponent(tipo)}&varZ=${encodeURIComponent(varZ)}&varY=${encodeURIComponent(varY)}&varX=${encodeURIComponent(varX)}`;
|
||||
|
||||
const res = await fetch(url);
|
||||
const data = await res.json();
|
||||
|
||||
if (!data || (Array.isArray(data) && data.length === 0)) {
|
||||
return NextResponse.json(
|
||||
{ error: "No se encontraron cursos" },
|
||||
{ status: 404 }
|
||||
);
|
||||
}
|
||||
|
||||
return NextResponse.json(data, { status: res.status });
|
||||
} catch {
|
||||
return NextResponse.json(
|
||||
{ error: "Error al obtener datos" },
|
||||
{ status: 500 }
|
||||
);
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,40 @@
|
||||
import { NextRequest, NextResponse } from "next/server";
|
||||
|
||||
const API_BASE = "https://api.devops.norteamericano.cl/api/Informes/cursos-empresa";
|
||||
|
||||
export async function GET(req: NextRequest) {
|
||||
try {
|
||||
const { searchParams } = new URL(req.url);
|
||||
const tipo = searchParams.get("tipo");
|
||||
const varA = searchParams.get("varA");
|
||||
const varB = searchParams.get("varB");
|
||||
const varC = searchParams.get("varC");
|
||||
const cursoId = searchParams.get("cursoId");
|
||||
|
||||
if (!tipo || !varA || !varB || !varC || !cursoId) {
|
||||
return NextResponse.json(
|
||||
{ error: "Faltan parámetros: tipo, varA, varB, varC, cursoId" },
|
||||
{ status: 400 }
|
||||
);
|
||||
}
|
||||
|
||||
const url = `${API_BASE}?tipo=${encodeURIComponent(tipo)}&varA=${encodeURIComponent(varA)}&varB=${encodeURIComponent(varB)}&varC=${encodeURIComponent(varC)}&cursoId=${encodeURIComponent(cursoId)}`;
|
||||
|
||||
const res = await fetch(url);
|
||||
const data = await res.json();
|
||||
|
||||
if (!data || (Array.isArray(data) && data.length === 0)) {
|
||||
return NextResponse.json(
|
||||
{ error: "No se encontraron cursos" },
|
||||
{ status: 404 }
|
||||
);
|
||||
}
|
||||
|
||||
return NextResponse.json(data, { status: res.status });
|
||||
} catch {
|
||||
return NextResponse.json(
|
||||
{ error: "Error al obtener datos del dashboard" },
|
||||
{ status: 500 }
|
||||
);
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,28 @@
|
||||
import { NextResponse } from "next/server";
|
||||
|
||||
const API_ENDPOINT = "https://api.devops.norteamericano.cl/api/Auth/portal-login";
|
||||
|
||||
export async function POST(req: Request) {
|
||||
try {
|
||||
const { rut, password } = await req.json();
|
||||
|
||||
if (!rut || !password) {
|
||||
return NextResponse.json(
|
||||
{ error: "Rut y contraseña son requeridos" },
|
||||
{ status: 400 }
|
||||
);
|
||||
}
|
||||
const res = await fetch(API_ENDPOINT, {
|
||||
method: "POST",
|
||||
headers: { "Content-Type": "application/json" },
|
||||
body: JSON.stringify({ rut, password }),
|
||||
});
|
||||
const data = await res.json();
|
||||
return NextResponse.json(data, { status: res.status });
|
||||
} catch {
|
||||
return NextResponse.json(
|
||||
{ error: "Usuario o contraseña incorrectos" },
|
||||
{ status: 401 }
|
||||
);
|
||||
}
|
||||
}
|
||||
Reference in new issue
Block a user