se creo la api solicitada

This commit is contained in:
2024-07-01 00:04:37 -06:00
parent 0790a506eb
commit 0ee01e06a4
4 changed files with 41 additions and 20 deletions

40
main.go
View File

@@ -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(&note.ID, &note.Title, &note.Message); err != nil{
return c.Status(500).JSON(fiber.Map("error": err.Error()))
if err := rows.Scan(&note.ID, &note.Title, &note.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"))
}
}