From 0ee01e06a44c8b8ffba69950df5b7eb592195ab9 Mon Sep 17 00:00:00 2001 From: BenJameto Date: Mon, 1 Jul 2024 00:04:37 -0600 Subject: [PATCH] se creo la api solicitada --- .gitignore | 1 + Dockerfile | 20 ++++++++++++++++++++ main.go | 40 ++++++++++++++++++++-------------------- notes.db | Bin 0 -> 12288 bytes 4 files changed, 41 insertions(+), 20 deletions(-) create mode 100644 Dockerfile create mode 100644 notes.db diff --git a/.gitignore b/.gitignore index 2b6b356..0238e7d 100644 --- a/.gitignore +++ b/.gitignore @@ -1,2 +1,3 @@ *.mod *.sum +*.tar \ No newline at end of file diff --git a/Dockerfile b/Dockerfile new file mode 100644 index 0000000..88b03bf --- /dev/null +++ b/Dockerfile @@ -0,0 +1,20 @@ +# Usar una imagen base de Go +FROM golang:1.22.2 + +# Establecer el directorio de trabajo +WORKDIR /app + +# Copiar los archivos del proyecto +COPY . . + +# Descargar las dependencias +RUN go mod download + +# Compilar la aplicación +RUN go build -o main . + +# Exponer el puerto en el que se ejecutará la API +EXPOSE 8080 + +# Ejecutar la aplicación +CMD ["./main"] diff --git a/main.go b/main.go index fd2254f..1cdbf8f 100644 --- a/main.go +++ b/main.go @@ -9,14 +9,14 @@ import ( _ "github.com/mattn/go-sqlite3" ) -type Note struct{ - ID int 'json:"id"' - Title string 'json:"title"' - Message string 'json:"message"' +type Note struct { + ID int `json:"id"` + Title string `json:"title"` + Message string `json:"message"` } -func main(){ - app:=fiber.New() +func main() { + app := fiber.New() app.Use(logger.New()) db, err := sql.Open("sqlite3", "./notes.db") @@ -25,9 +25,9 @@ func main(){ } defer db.Close() - app.Get("/notes", func(c *fiber.Ctx) error{ + app.Get("/notes", func(c *fiber.Ctx) error { rows, err := db.Query("SELECT id, title, message FROM notes") - if err != nil{ + if err != nil { return c.Status(500).JSON(fiber.Map{"error": err.Error()}) } defer rows.Close() @@ -35,8 +35,8 @@ func main(){ var notes []Note for rows.Next() { var note Note - if err := rows.Scan(¬e.ID, ¬e.Title, ¬e.Message); err != nil{ - return c.Status(500).JSON(fiber.Map("error": err.Error())) + if err := rows.Scan(¬e.ID, ¬e.Title, ¬e.Message); err != nil { + return c.Status(500).JSON(fiber.Map{"error": err.Error()}) } notes = append(notes, note) } @@ -48,34 +48,34 @@ func main(){ if err := c.BodyParser(&newNote); err != nil { return c.Status(400).JSON(fiber.Map{"error": err.Error()}) } - _, err := db.Exec("INSERT INTO notes (title, message) VALUES (?, ?)", newNote,Title, newNote.Message) + _, err := db.Exec("INSERT INTO notes (title, message) VALUES (?, ?)", newNote.Title, newNote.Message) if err != nil { return c.Status(500).JSON(fiber.Map{"error": err.Error()}) } - return c.Status(201).SendString("nota creada exitosamente") + return c.Status(201).SendString("Nota creada exitosamente") }) - app.Put("/notes/:id" func(c *fiber.Ctx) error{ + app.Put("/notes/:id", func(c *fiber.Ctx) error { id := c.Params("id") var updateNote Note if err := c.BodyParser(&updateNote); err != nil { return c.Status(400).JSON(fiber.Map{"error": err.Error()}) } - _, err := db.Exec("UPDATE notes SET title = ?, message = ? WERE id = ?", updateNote.Title, updateNote.Message, id) + _, err := db.Exec("UPDATE notes SET title = ?, message = ? WHERE id = ?", updateNote.Title, updateNote.Message, id) if err != nil { return c.Status(500).JSON(fiber.Map{"error": err.Error()}) } - return c.SendString("Nota actualizada con exito") + return c.SendString("Nota actualizada con exito") }) - app.Delete("/notes/:id" func(c *fiber.Ctx) error{ + app.Delete("/notes/:id", func(c *fiber.Ctx) error { id := c.Params("id") - _,err := db.Exec("DELETE FROM notes WHERE id = ?", id) - if err != nil{ - return c.Status(500).JSON(fiber.Map["error": err.Error()]) + _, err := db.Exec("DELETE FROM notes WHERE id = ?", id) + if err != nil { + return c.Status(500).JSON(fiber.Map{"error": err.Error()}) } return c.SendString("Nota borrada con exito") }) log.Fatal(app.Listen(":8080")) -} \ No newline at end of file +} diff --git a/notes.db b/notes.db new file mode 100644 index 0000000000000000000000000000000000000000..07c49bafe1281bae0411f6b1a1736b4465e689cf GIT binary patch literal 12288 zcmeI&ze~eF6bJCTq$my&x2$ihw20u=$tZ^u)3nAbS{&qTPdUgB+ni1=I_dxAzvS*E z*ugFZos{n*cga28%kbGA$@y7qtft#?kt<6FY=?2q4v83JEw_BPmciXaom)nIUKcI4 z_xQH$s=Q#I1ut$xKmY;|fB*y_009U<00Izz00jPkz{uMOI~_i;>L%0GJafbIb*1MI zx|psW{o_pFLz_+}V}{Q07JWl>sPHJkUXy-88q%&4D8aUxP0 zrTsyaPUuujC>qOQKXDBMk;pDtV>3-sTuMrYZjIx(OS!Hpb+?k=Fpd@y$*AOHafKmY;|fB*y_009U<00I#BPXb%q4|(%P Gf&U3-9gVI4 literal 0 HcmV?d00001