DEV Community

Adonis Aleman
Adonis Aleman

Posted on

Código

Parte 1. Archivo main

import { PrismaClient } from "@prisma/client";

const prisma = new PrismaClient();

async function main() {
  const nuevoestudiante = await prisma.estudiante.create({
    data: {
      email: "adonis@gmail.com",
      nombre: "adonis",
      pais: "Costa Rica",
    },
  });
  console.log("Nuevo profesor creado: ", nuevoestudiante);
  const todosEstudiantes = await prisma.estudiante.findMany();
  console.log("Todos los todosEstudiantes: ");
  console.dir(todosEstudiantes, { depth: null });
}

main()
  .catch((e) => {
    console.error(e);
    process.exit(1);
  })
  .finally(async () => {
    await prisma.$disconnect();
  });
Enter fullscreen mode Exit fullscreen mode

Parte 2
Este es e apartado del Index

import { PrismaClient } from "@prisma/client";
import express from "express";

const prisma = new PrismaClient();

const app = express();

app.use(express.json());

app.get("/", async (req, res) => {
  // console.log("Hola a todos");
  res.send("¡Hola a todos! Bienvenidos a mi aplicación.");
});

app.use((req, res, next) => {
  res.status(404);
  return res.json({
    success: false,
    payload: null,
    message: `APY SAYS: Endpoint not not found for path: ${req.path}`,
  });
});

app.listen(process.env.PORT || 8001, () =>
  console.log(`🚀 Server ready at: http://localhost:8001`)
);
Enter fullscreen mode Exit fullscreen mode

CRUD empezamos con el get este nos ayuda a obtener la información con la que se cuenta en las tablas de pgAdmin4

app.get("/estudiantes", async (req, res) => {
  const estudiante = await prisma.estudiante.findMany();
  res.json({
    success: true,
    payload: estudiante,
    message: "Operation Successful",
  });
});
Enter fullscreen mode Exit fullscreen mode

Post agrega datos pgAdmin4

app.post("/crear_estudiante", async (req, res) => {
  const result = await prisma.estudiante.create({
    data: req.body,
  });
  res.json(result);
});
Enter fullscreen mode Exit fullscreen mode

Delete agrega datos pgAdmin4

app.delete(`/estudiante/:id`, async (req, res) => {
  const { id } = req.params;
  const estudiante = await prisma.estudiante.delete({
    where: {
      id: Number(id),
    },
  });
  res.json(`La estudiante con el id ${id} fue eliminada exitosamente`);
});
Enter fullscreen mode Exit fullscreen mode

Put agrega datos pgAdmin4

app.put("/estudiante/:id", async (req, res) => {
  const { id } = req.params;
  try {
    const datosActualizados = await prisma.estudiante.update({
      where: { id: Number(id) },
      // req.body es la info que manda el usuario para actualizar
      data: req.body,
    });
    res.json({
      datos: datosActualizados,
      mensaje: `La estudainte con el id ${id} fue actulizado exitosamente`,
    });
  } catch (e) {
    res.json({ error: `La estudiante con el id ${id} no existe` });
  }
});
Enter fullscreen mode Exit fullscreen mode

Top comments (0)