From e96786e03971eaa0b713ea189647a45f7b554519 Mon Sep 17 00:00:00 2001 From: IO420 <320154041@pcpuma.acatlan.unam.mx> Date: Fri, 7 Nov 2025 11:44:25 -0600 Subject: [PATCH] modified to work --- src/app/(Operador)/escaner/page.tsx | 21 ++- src/components/AgregarEquipo.tsx | 165 ++++++++++----------- src/components/Editar.tsx | 24 +-- src/data/procesadores.ts | 221 +++++++++++++++++----------- src/data/so_por_equipo.ts | 88 +++++++---- 5 files changed, 306 insertions(+), 213 deletions(-) diff --git a/src/app/(Operador)/escaner/page.tsx b/src/app/(Operador)/escaner/page.tsx index b9909e0..2105340 100644 --- a/src/app/(Operador)/escaner/page.tsx +++ b/src/app/(Operador)/escaner/page.tsx @@ -2,11 +2,12 @@ import { useState } from "react"; import { useRouter } from "next/navigation"; -import "../../styles/layout/escaner.scss"; import BarcodeScanner from "@/components/BarcodeScanner"; import axios from "axios"; import Image from "next/image"; import toast from "react-hot-toast"; +import Cookies from "js-cookie"; +import "../../styles/layout/escaner.scss"; export default function Page() { const router = useRouter(); @@ -17,12 +18,16 @@ export default function Page() { const buscarEquipo = async () => { if (!search) return toast.error("Ingresa un número de inventario"); + const token = Cookies.get("token"); + const headers = { Authorization: `Bearer ${token}` }; try { - const { data } = await axios.get(`${api_url}/equipos/${search}`); + const { data } = await axios.get(`${api_url}/equipos/buscar/${search}`, { + headers, + }); if (data) { - router.push(`/editar?equipoId=${data.id}`); + router.push(`/editar?equipoId=${data.inventario}`); } else { toast.error("Equipo no encontrado"); } @@ -35,14 +40,18 @@ export default function Page() { setIsScanning(false); if (!code) return; + const token = Cookies.get("token"); + const headers = { Authorization: `Bearer ${token}` }; try { - const { data } = await axios.get(`${api_url}/equipos/${code}`); + const { data } = await axios.get(`${api_url}/equipos/buscar/${code}`, { + headers, + }); if (data) { - router.push(`/editar?equipoId=${data.id}`); + router.push(`/editar?equipoId=${data.inventario}`); } else { - router.push(`/agregarEquipo?equipoId=${data.id}`); + router.push(`/agregarEquipo?equipoId=${data.inventario}`); } } catch (error) { toast.error("Error No se encontro el equipo"); diff --git a/src/components/AgregarEquipo.tsx b/src/components/AgregarEquipo.tsx index 9e94c70..40ab880 100644 --- a/src/components/AgregarEquipo.tsx +++ b/src/components/AgregarEquipo.tsx @@ -23,18 +23,17 @@ export default function Page() { serie: "", lugar: "", fechaFactura: new Date(), - antiguedad: "0 años", + antiguedad: "MENORES DE 2", modelo: "", - estado: "", - adscripcion: "", - tipoEquipo: "", - sistemaOperativo: "", - procesador: "", - tipoUso: "", - marca: "", - tipoPeriferico: "", - isImpresora: , - observaciones: "", + id_estado: "", + id_adscripcion: "", + id_tipo_equipo: "", + id_sistema_operativo: "", + id_procesador: "", + id_uso: "", + id_marca: "", + id_periferico: "", + isImpresora: false, }); useEffect(() => { @@ -99,7 +98,7 @@ export default function Page() { adscripcion: [] as string[], }); - const mostrarCamposComputadora = formData.tipoEquipo !== "PERIFÉRICO"; + const mostrarCamposComputadora = formData.id_tipo_equipo !== "9"; const api_url = process.env.NEXT_PUBLIC_API_URL; useEffect(() => { @@ -157,7 +156,7 @@ export default function Page() { const headers = { Authorization: `Bearer ${token}` }; const response = await axios.get( - `${api_url}/equipos/procesador-tipo-equipos/${formData.tipoEquipo}`, + `${api_url}/equipos/procesador-tipo-equipos/${formData.id_tipo_equipo}`, { headers, } @@ -170,7 +169,7 @@ export default function Page() { useEffect(() => { const fetchPerifericos = async () => { - if (formData.tipoEquipo !== "PERIFÉRICO") return; + if (formData.id_tipo_equipo !== "9") return; const token = Cookies.get("token"); const headers = { Authorization: `Bearer ${token}` }; @@ -187,32 +186,26 @@ export default function Page() { }; fetchPerifericos(); - }, [formData.tipoEquipo]); + }, [formData.id_tipo_equipo]); - const handleInputChange = (field: string, value: string) => { - setFormData((prev) => ({ ...prev, [field]: value })); + const handleInputChange = (field: string, value: any) => { + setFormData((prev) => { + let newValue = value; - if (field === "adscripcion") { - if (value.length < 3) { - setSuggestions((prev) => ({ ...prev, adscripcion: [] })); - return; + if (field.startsWith("id_")) { + newValue = value ? Number(value) : ""; } - const normalize = (str: string) => - str - .normalize("NFD") - .replace(/[\u0300-\u036f]/g, "") - .toLowerCase() - .trim(); + if (field === "id_tipo_equipo") { + const tipoSeleccionado = tiposEquipo.find( + (t) => t.id_tipo_de_equipo === Number(value) + ); + const esPeriferico = tipoSeleccionado?.tipo_equipo === "PERIFÉRICO"; + return { ...prev, [field]: newValue, isImpresora: esPeriferico }; + } - const searchValue = normalize(value); - - const matches = AREAS.map((a) => a.label) - .filter((label) => normalize(label).includes(searchValue)) - .slice(0, 5); - - setSuggestions((prev) => ({ ...prev, adscripcion: matches })); - } + return { ...prev, [field]: newValue }; + }); }; const handleSelectSuggestion = (field: string, value: string) => { @@ -221,35 +214,20 @@ export default function Page() { }; const handleGuardar = async () => { - const adscripcionesValidas = AREAS.map((a) => a.label); - if (!adscripcionesValidas.includes(formData.adscripcion)) { - toast.error("Debes seleccionar una adscripción válida."); - return; - } - try { const token = Cookies.get("token"); const headers = { Authorization: `Bearer ${token}` }; - await axios.post(`${api_url}/equipos/crear`, formData, { headers }); + + const dataToSend = { + ...formData, + fechaFactura: new Date(formData.fechaFactura) + .toISOString() + .split("T")[0], // "YYYY-MM-DD" + antiguedad: formData.antiguedad || "0 años", + }; + + await axios.post(`${api_url}/equipos/crear`, dataToSend, { headers }); toast.success("Equipo guardado correctamente"); - setFormData({ - inventario: "", - serie: "", - fechaFactura: new Date(), - antiguedad: "", - marca: "", - modelo: "", - tipoEquipo: "", - estado: "", - sistemaOperativo: "", - procesador: "", - tipoUso: "", - observaciones: "", - adscripcion: "", - lugar: "", - isImpresora:"", - tipoPeriferico: "", - }); } catch (err) { toast.error("Error al guardar el equipo"); } @@ -293,12 +271,12 @@ export default function Page() { Marca handleInputChange("marca", e.target.value)} + value={formData.id_marca} + onChange={(e) => handleInputChange("id_marca", e.target.value)} > Selecciona una marca {marcas.map((m) => ( - + {m.marca} ))} @@ -319,14 +297,14 @@ export default function Page() { Tipo de equipo - handleInputChange("tipoEquipo", e.target.value) + handleInputChange("id_tipo_equipo", e.target.value) } > Selecciona tipo de equipo {tiposEquipo.map((t) => ( - + {t.tipo_equipo} ))} @@ -339,12 +317,12 @@ export default function Page() { Estado handleInputChange("estado", e.target.value)} + value={formData.id_estado} + onChange={(e) => handleInputChange("id_estado", e.target.value)} > Selecciona estado {estados.map((e) => ( - + {e.estado} ))} @@ -355,12 +333,12 @@ export default function Page() { Tipo de uso handleInputChange("tipoUso", e.target.value)} + value={formData.id_uso} + onChange={(e) => handleInputChange("id_uso", e.target.value)} > Selecciona tipo de uso {tiposUso.map((t) => ( - + {t.tipo_uso} ))} @@ -372,32 +350,37 @@ export default function Page() { Procesador - handleInputChange("procesador", e.target.value) + handleInputChange("id_procesador", e.target.value) } > Selecciona procesador - {PROCESADORES_POR_EQUIPO[formData.tipoEquipo]?.map((p) => ( - - {p} - - ))} + {PROCESADORES_POR_EQUIPO[formData.id_tipo_equipo]?.map( + (p) => ( + + {p.procesador} + + ) + )} Sistema operativo - handleInputChange("sistemaOperativo", e.target.value) + handleInputChange("id_sistema_operativo", e.target.value) } > Selecciona sistema operativo - {SO_POR_EQUIPO[formData.tipoEquipo]?.map((so) => ( - - {so} + {SO_POR_EQUIPO[formData.id_tipo_equipo]?.map((so) => ( + + {so.sistema_operativo} ))} @@ -409,14 +392,14 @@ export default function Page() { Tipos de Periféricos - handleInputChange("tipoPeriferico", e.target.value) + handleInputChange("id_periferico", e.target.value) } > Selecciona periférico {perifericos.map((p) => ( - + {p.periferico} ))} @@ -430,9 +413,9 @@ export default function Page() { required type="text" placeholder="Ingresa adscripcion" - value={formData.adscripcion} + value={formData.id_adscripcion} onChange={(e) => - handleInputChange("adscripcion", e.target.value) + handleInputChange("id_adscripcion", e.target.value) } /> {suggestions.adscripcion.length > 0 && ( @@ -462,7 +445,7 @@ export default function Page() { /> - + {/* Observaciones - + */} Procesador - setFormData({ ...formData, procesador: e.target.value }) + handleInputChange("id_procesador", e.target.value) } > Selecciona procesador {PROCESADORES_POR_EQUIPO[formData.tipoEquipo]?.map((p) => ( - - {p} + + {p.procesador} ))} @@ -467,8 +470,11 @@ export default function Editar() { > Selecciona sistema operativo {SO_POR_EQUIPO[formData.tipoEquipo]?.map((so) => ( - - {so} + + {so.sistema_operativo} ))} diff --git a/src/data/procesadores.ts b/src/data/procesadores.ts index c90c9c4..655bfa5 100644 --- a/src/data/procesadores.ts +++ b/src/data/procesadores.ts @@ -1,97 +1,154 @@ -export const PROCESADORES_POR_EQUIPO: Record = { +export const PROCESADORES_POR_EQUIPO: Record< + string, + { id_procesador: number; procesador: string }[] +> = { "ESCRITORIO PC": [ - "i7 o equivalentes (13a generación en adelante)", - "i7 o equivalentes (9a - 12a generación)", - "i7 o equivalentes (5a - 8a generación)", - "i7 o equivalentes (1a - 4a generación)", - "i5 o equivalentes (13a generación en adelante)", - "i5 o equivalentes (9a - 12a generación)", - "i5 o equivalentes (5a - 8a generación)", - "i5 o equivalentes (1a - 4a generación)", - "i3 o equivalentes (13a generación en adelante)", - "i3 o equivalentes (9a - 12a generación)", - "i3 o equivalentes (5a - 8a generación)", - "i3 o equivalentes (1a - 4a generación)", - "Pentium Silver O Gold", - "Pentium Dual Core o anteriores", - "Celeron (adquirido en 2018 hasta la fecha)", - "Celeron Dual Core o anteriores", - "Core2 Duo, Quad Core, Pentium Dual Core o anteriores", - "Pentium Series J, G", - "Celeron Serie J, G", + { + id_procesador: 1, + procesador: "i7 o equivalentes (13a generación en adelante)", + }, + { id_procesador: 2, procesador: "i7 o equivalentes (9a - 12a generación)" }, + { id_procesador: 3, procesador: "i7 o equivalentes (5a - 8a generación)" }, + { id_procesador: 4, procesador: "i7 o equivalentes (1a - 4a generación)" }, + { + id_procesador: 5, + procesador: "i5 o equivalentes (13a generación en adelante)", + }, + { id_procesador: 6, procesador: "i5 o equivalentes (9a - 12a generación)" }, + { id_procesador: 7, procesador: "i5 o equivalentes (5a - 8a generación)" }, + { id_procesador: 8, procesador: "i5 o equivalentes (1a - 4a generación)" }, + { + id_procesador: 9, + procesador: "i3 o equivalentes (13a generación en adelante)", + }, + { + id_procesador: 10, + procesador: "i3 o equivalentes (9a - 12a generación)", + }, + { id_procesador: 11, procesador: "i3 o equivalentes (5a - 8a generación)" }, + { id_procesador: 12, procesador: "i3 o equivalentes (1a - 4a generación)" }, + { id_procesador: 13, procesador: "Pentium Silver O Gold" }, + { id_procesador: 14, procesador: "Pentium Dual Core o anteriores" }, + { + id_procesador: 15, + procesador: "Celeron (adquirido en 2018 hasta la fecha)", + }, + { id_procesador: 16, procesador: "Celeron Dual Core o anteriores" }, + { + id_procesador: 17, + procesador: "Core2 Duo, Quad Core, Pentium Dual Core o anteriores", + }, + { id_procesador: 18, procesador: "Pentium Series J, G" }, + { id_procesador: 19, procesador: "Celeron Serie J, G" }, ], "ESCRITORIO LINUX": [ - "i7 o equivalentes (13a generación en adelante)", - "i7 o equivalentes (9a - 12a generación)", - "i7 o equivalentes (5a - 8a generación)", - "i7 o equivalentes (1a - 4a generación)", - "i5 o equivalentes (13a generación en adelante)", - "i5 o equivalentes (9a - 12a generación)", - "i5 o equivalentes (5a - 8a generación)", - "i5 o equivalentes (1a - 4a generación)", - "i3 o equivalentes (13a generación en adelante)", - "i3 o equivalentes (9a - 12a generación)", - "i3 o equivalentes (5a - 8a generación)", - "i3 o equivalentes (1a - 4a generación)", - "Pentium Silver O Gold", - "Pentium Dual Core o anteriores", + { + id_procesador: 1, + procesador: "i7 o equivalentes (13a generación en adelante)", + }, + { id_procesador: 2, procesador: "i7 o equivalentes (9a - 12a generación)" }, + { id_procesador: 3, procesador: "i7 o equivalentes (5a - 8a generación)" }, + { id_procesador: 4, procesador: "i7 o equivalentes (1a - 4a generación)" }, + { + id_procesador: 5, + procesador: "i5 o equivalentes (13a generación en adelante)", + }, + { id_procesador: 6, procesador: "i5 o equivalentes (9a - 12a generación)" }, + { id_procesador: 7, procesador: "i5 o equivalentes (5a - 8a generación)" }, + { id_procesador: 8, procesador: "i5 o equivalentes (1a - 4a generación)" }, + { + id_procesador: 9, + procesador: "i3 o equivalentes (13a generación en adelante)", + }, + { + id_procesador: 10, + procesador: "i3 o equivalentes (9a - 12a generación)", + }, + { id_procesador: 11, procesador: "i3 o equivalentes (5a - 8a generación)" }, + { id_procesador: 12, procesador: "i3 o equivalentes (1a - 4a generación)" }, + { id_procesador: 13, procesador: "Pentium Silver O Gold" }, + { id_procesador: 14, procesador: "Pentium Dual Core o anteriores" }, ], "PORTÁTILES WINDOWS": [ - "i7 o equivalentes (13a generación en adelante)", - "i7 o equivalentes (9a - 12a generación)", - "i7 o equivalentes (5a - 8a generación)", - "i7 o equivalentes (1a - 4a generación)", - "i5 o equivalentes (13a generación en adelante)", - "i5 o equivalentes (9a - 12a generación)", - "i5 o equivalentes (5a - 8a generación)", - "i5 o equivalentes (1a - 4a generación)", - "i3 o equivalentes (13a generación en adelante)", - "i3 o equivalentes (9a - 12a generación)", - "i3 o equivalentes (5a - 8a generación)", - "i3 o equivalentes (1a - 4a generación)", - "Pentium Silver O Gold", - "Pentium Dual Core o anteriores", + { + id_procesador: 1, + procesador: "i7 o equivalentes (13a generación en adelante)", + }, + { id_procesador: 2, procesador: "i7 o equivalentes (9a - 12a generación)" }, + { id_procesador: 3, procesador: "i7 o equivalentes (5a - 8a generación)" }, + { id_procesador: 4, procesador: "i7 o equivalentes (1a - 4a generación)" }, + { + id_procesador: 5, + procesador: "i5 o equivalentes (13a generación en adelante)", + }, + { id_procesador: 6, procesador: "i5 o equivalentes (9a - 12a generación)" }, + { id_procesador: 7, procesador: "i5 o equivalentes (5a - 8a generación)" }, + { id_procesador: 8, procesador: "i5 o equivalentes (1a - 4a generación)" }, + { + id_procesador: 9, + procesador: "i3 o equivalentes (13a generación en adelante)", + }, + { + id_procesador: 10, + procesador: "i3 o equivalentes (9a - 12a generación)", + }, + { id_procesador: 11, procesador: "i3 o equivalentes (5a - 8a generación)" }, + { id_procesador: 12, procesador: "i3 o equivalentes (1a - 4a generación)" }, + { id_procesador: 13, procesador: "Pentium Silver O Gold" }, + { id_procesador: 14, procesador: "Pentium Dual Core o anteriores" }, ], "PORTÁTILES CHROMEBOOK": [ - "i7 o equivalentes (13a generación en adelante)", - "i7 o equivalentes (9a - 12a generación)", - "i7 o equivalentes (5a - 8a generación)", - "i7 o equivalentes (1a - 4a generación)", - "i5 o equivalentes (13a generación en adelante)", - "i5 o equivalentes (9a - 12a generación)", - "i5 o equivalentes (5a - 8a generación)", - "i5 o equivalentes (1a - 4a generación)", - "i3 o equivalentes (13a generación en adelante)", - "i3 o equivalentes (9a - 12a generación)", - "i3 o equivalentes (5a - 8a generación)", - "i3 o equivalentes (1a - 4a generación)", + { + id_procesador: 1, + procesador: "i7 o equivalentes (13a generación en adelante)", + }, + { id_procesador: 2, procesador: "i7 o equivalentes (9a - 12a generación)" }, + { id_procesador: 3, procesador: "i7 o equivalentes (5a - 8a generación)" }, + { id_procesador: 4, procesador: "i7 o equivalentes (1a - 4a generación)" }, + { + id_procesador: 5, + procesador: "i5 o equivalentes (13a generación en adelante)", + }, + { id_procesador: 6, procesador: "i5 o equivalentes (9a - 12a generación)" }, + { id_procesador: 7, procesador: "i5 o equivalentes (5a - 8a generación)" }, + { id_procesador: 8, procesador: "i5 o equivalentes (1a - 4a generación)" }, + { + id_procesador: 9, + procesador: "i3 o equivalentes (13a generación en adelante)", + }, + { + id_procesador: 10, + procesador: "i3 o equivalentes (9a - 12a generación)", + }, + { id_procesador: 11, procesador: "i3 o equivalentes (5a - 8a generación)" }, + { id_procesador: 12, procesador: "i3 o equivalentes (1a - 4a generación)" }, ], "ESCRITORIO MAC OS": [ - "Familia M2", - "Familia M1", - "i7 o equivalentes (9a - 12a generación)", - "i7 o equivalentes (1a - 4a generación)", - "i5 o equivalentes (9a - 12a generación)", - "i5 o equivalentes (5a - 8a generación)", - "i5 o equivalentes (1a - 4a generación)", - "i3 o equivalentes (1a - 4a generación)", - "Core2 Mac, Quad Core o anteriores", + { id_procesador: 20, procesador: "Familia M2" }, + { id_procesador: 21, procesador: "Familia M1" }, + { id_procesador: 2, procesador: "i7 o equivalentes (9a - 12a generación)" }, + { id_procesador: 4, procesador: "i7 o equivalentes (1a - 4a generación)" }, + { id_procesador: 6, procesador: "i5 o equivalentes (9a - 12a generación)" }, + { id_procesador: 7, procesador: "i5 o equivalentes (5a - 8a generación)" }, + { id_procesador: 8, procesador: "i5 o equivalentes (1a - 4a generación)" }, + { id_procesador: 12, procesador: "i3 o equivalentes (1a - 4a generación)" }, + { id_procesador: 22, procesador: "Core2 Mac, Quad Core o anteriores" }, ], "PORTÁTILES MAC OS": [ - "Familia M2", - "Familia M1", - "i7 o equivalentes (9a - 12a generación)", - "i7 o equivalentes (1a - 4a generación)", - "i5 o equivalentes (9a - 12a generación)", - "i5 o equivalentes (5a - 8a generación)", - "i5 o equivalentes (1a - 4a generación)", - "i3 o equivalentes (1a - 4a generación)", - "Core2 Mac, Quad Core o anteriores", + { id_procesador: 20, procesador: "Familia M2" }, + { id_procesador: 21, procesador: "Familia M1" }, + { id_procesador: 2, procesador: "i7 o equivalentes (9a - 12a generación)" }, + { id_procesador: 4, procesador: "i7 o equivalentes (1a - 4a generación)" }, + { id_procesador: 6, procesador: "i5 o equivalentes (9a - 12a generación)" }, + { id_procesador: 7, procesador: "i5 o equivalentes (5a - 8a generación)" }, + { id_procesador: 8, procesador: "i5 o equivalentes (1a - 4a generación)" }, + { id_procesador: 12, procesador: "i3 o equivalentes (1a - 4a generación)" }, + { id_procesador: 22, procesador: "Core2 Mac, Quad Core o anteriores" }, ], SERVIDOR: [ - "Xeon Bronce, Plata, Oro 1a generación", - "Xeon E3, E5, E7", - "Xeon Phi", - "Xeon o anteriores", + { id_procesador: 23, procesador: "Xeon Bronce, Plata, Oro 1a generación" }, + { id_procesador: 24, procesador: "Xeon E3, E5, E7" }, + { id_procesador: 25, procesador: "Xeon Phi" }, + { id_procesador: 26, procesador: "Xeon o anteriores" }, ], }; diff --git a/src/data/so_por_equipo.ts b/src/data/so_por_equipo.ts index 0958ac0..e6e7dd5 100644 --- a/src/data/so_por_equipo.ts +++ b/src/data/so_por_equipo.ts @@ -1,36 +1,74 @@ -export const SO_POR_EQUIPO: Record = { +export const SO_POR_EQUIPO: Record< + string, + { id_sistema_operativo: number; sistema_operativo: string }[] +> = { "ESCRITORIO PC": [ - "Windows 11", - "Windows 10", - "Windows 7/8", - "Windows XP/Vista", - "Linux", + { id_sistema_operativo: 1, sistema_operativo: "Windows 11" }, + { id_sistema_operativo: 2, sistema_operativo: "Windows 10" }, + { id_sistema_operativo: 3, sistema_operativo: "Windows 7/8" }, + { id_sistema_operativo: 4, sistema_operativo: "Windows XP/Vista" }, + { id_sistema_operativo: 5, sistema_operativo: "Linux" }, ], "ESCRITORIO APPLE": [ - "Mac OS (13 - Ventura, 14 - Sonoma)", - "Mac OS X (Mojave, Catalina, 11 - Big Sur, 12 - Monterrey)", - "Mac OS X (Yosemite, El Capitan, Sierra, High Sierra)", - "Mac OS X (Snow Leopard, Lion, Mountain Lion, Mavericks)", + { + id_sistema_operativo: 6, + sistema_operativo: "Mac OS (13 - Ventura, 14 - Sonoma)", + }, + { + id_sistema_operativo: 7, + sistema_operativo: + "Mac OS X (Mojave, Catalina, 11 - Big Sur, 12 - Monterrey)", + }, + { + id_sistema_operativo: 8, + sistema_operativo: "Mac OS X (Yosemite, El Capitan, Sierra, High Sierra)", + }, + { + id_sistema_operativo: 9, + sistema_operativo: + "Mac OS X (Snow Leopard, Lion, Mountain Lion, Mavericks)", + }, ], "TABLETA ANDROID": [ - "Windows 11", - "Windows 10", - "Windows 7/8", - "Windows XP/Vista", - "Chrome OS", + { id_sistema_operativo: 1, sistema_operativo: "Windows 11" }, + { id_sistema_operativo: 2, sistema_operativo: "Windows 10" }, + { id_sistema_operativo: 3, sistema_operativo: "Windows 7/8" }, + { id_sistema_operativo: 4, sistema_operativo: "Windows XP/Vista" }, + { id_sistema_operativo: 10, sistema_operativo: "Chrome OS" }, ], "TABLETA iPAD OS": [ - "Mac OS (13 - Ventura, 14 - Sonoma)", - "Mac OS X (Mojave, Catalina, 11 - Big Sur, 12 - Monterrey)", - "Mac OS X (Yosemite, El Capitan, Sierra, High Sierra)", - "Mac OS X (Snow Leopard, Lion, Mountain Lion, Mavericks)", + { + id_sistema_operativo: 6, + sistema_operativo: "Mac OS (13 - Ventura, 14 - Sonoma)", + }, + { + id_sistema_operativo: 7, + sistema_operativo: + "Mac OS X (Mojave, Catalina, 11 - Big Sur, 12 - Monterrey)", + }, + { + id_sistema_operativo: 8, + sistema_operativo: "Mac OS X (Yosemite, El Capitan, Sierra, High Sierra)", + }, + { + id_sistema_operativo: 9, + sistema_operativo: + "Mac OS X (Snow Leopard, Lion, Mountain Lion, Mavericks)", + }, ], SERVIDOR: [ - "Linux (CentOS, Fedora, Ubuntu, Red Hat Enterprise, entre otros)", - "Unix (AIX, MAC OS Server, Solaris, entre otros)", - "Windows Server 2022/2023", - "Windows Server 2016/2019", - "Windows Server 2008/2012", - "Windows Server 2000/2003", + { + id_sistema_operativo: 12, + sistema_operativo: + "Linux (CentOS, Fedora, Ubuntu, Red Hat Enterprise, entre otros)", + }, + { + id_sistema_operativo: 13, + sistema_operativo: "Unix (AIX, MAC OS Server, Solaris, entre otros)", + }, + { id_sistema_operativo: 14, sistema_operativo: "Windows Server 2022/2023" }, + { id_sistema_operativo: 15, sistema_operativo: "Windows Server 2016/2019" }, + { id_sistema_operativo: 16, sistema_operativo: "Windows Server 2008/2012" }, + { id_sistema_operativo: 17, sistema_operativo: "Windows Server 2000/2003" }, ], };