up
This commit is contained in:
@@ -12,7 +12,6 @@ import (
|
||||
|
||||
"github.com/gofiber/fiber/v2"
|
||||
"github.com/sujit-baniya/fiber-boilerplate/pkg/models"
|
||||
"github.com/sujit-baniya/fiber-boilerplate/pkg/services"
|
||||
)
|
||||
|
||||
// ─── Admin pages ──────────────────────────────────────────────────────────────
|
||||
@@ -67,7 +66,7 @@ func LoadProyectos(c *fiber.Ctx) error {
|
||||
|
||||
func CreateProyecto(c *fiber.Ctx) error {
|
||||
type Req struct {
|
||||
ClienteID string `json:"cliente_id"`
|
||||
ClienteID uint `json:"cliente_id"`
|
||||
Nombre string `json:"nombre"`
|
||||
Slug string `json:"slug"`
|
||||
Descripcion string `json:"descripcion"`
|
||||
@@ -78,8 +77,7 @@ func CreateProyecto(c *fiber.Ctx) error {
|
||||
if err := c.BodyParser(&req); err != nil {
|
||||
return c.Status(400).JSON(fiber.Map{"error": err.Error()})
|
||||
}
|
||||
clienteID, _ := strconv.ParseUint(req.ClienteID, 10, 64)
|
||||
if clienteID == 0 || strings.TrimSpace(req.Nombre) == "" {
|
||||
if req.ClienteID == 0 || strings.TrimSpace(req.Nombre) == "" {
|
||||
return c.Status(400).JSON(fiber.Map{"error": "cliente y nombre son requeridos"})
|
||||
}
|
||||
if req.Slug == "" {
|
||||
@@ -92,7 +90,7 @@ func CreateProyecto(c *fiber.Ctx) error {
|
||||
req.Estado = "activo"
|
||||
}
|
||||
p := &models.Proyecto{
|
||||
ClienteID: uint(clienteID),
|
||||
ClienteID: req.ClienteID,
|
||||
Nombre: req.Nombre,
|
||||
Slug: req.Slug,
|
||||
Descripcion: req.Descripcion,
|
||||
@@ -111,7 +109,7 @@ func UpdateProyecto(c *fiber.Ctx) error {
|
||||
return c.Status(400).JSON(fiber.Map{"error": "ID inválido"})
|
||||
}
|
||||
type Req struct {
|
||||
ClienteID string `json:"cliente_id"`
|
||||
ClienteID uint `json:"cliente_id"`
|
||||
Nombre string `json:"nombre"`
|
||||
Slug string `json:"slug"`
|
||||
Descripcion string `json:"descripcion"`
|
||||
@@ -123,9 +121,8 @@ func UpdateProyecto(c *fiber.Ctx) error {
|
||||
if err := c.BodyParser(&req); err != nil {
|
||||
return c.Status(400).JSON(fiber.Map{"error": err.Error()})
|
||||
}
|
||||
updateClienteID, _ := strconv.ParseUint(req.ClienteID, 10, 64)
|
||||
p := &models.Proyecto{
|
||||
ClienteID: uint(updateClienteID),
|
||||
ClienteID: req.ClienteID,
|
||||
Nombre: req.Nombre,
|
||||
Slug: req.Slug,
|
||||
Descripcion: req.Descripcion,
|
||||
@@ -459,11 +456,6 @@ func AdminResponderTicket(c *fiber.Ctx) error {
|
||||
}
|
||||
// Cambiar estado a en_progreso si estaba abierto
|
||||
_ = models.UpdateTicketEstado(uint(ticketID), "en_progreso")
|
||||
// Notificar al portal user
|
||||
ticket, _ := models.GetTicketByID(uint(ticketID))
|
||||
if ticket != nil {
|
||||
go services.DispatchTicketRespuestaAdmin(ticket, req.Contenido, ticket.Proyecto.Nombre)
|
||||
}
|
||||
return c.Status(201).JSON(msg)
|
||||
}
|
||||
|
||||
@@ -506,21 +498,3 @@ func mimeFromHeader(fh *multipart.FileHeader) string {
|
||||
}
|
||||
return ct
|
||||
}
|
||||
|
||||
// ─── Tickets global (admin) ───────────────────────────────────────────────────
|
||||
|
||||
func TicketsAdminIndex(c *fiber.Ctx) error {
|
||||
return c.Render("tickets_admin", fiber.Map{
|
||||
"user": c.Locals("user"),
|
||||
"modules": c.Locals("userModules"),
|
||||
}, "layouts/main")
|
||||
}
|
||||
|
||||
func GetAllTicketsAdmin(c *fiber.Ctx) error {
|
||||
estado := c.Query("estado", "todos")
|
||||
items, err := models.GetAllTickets(estado)
|
||||
if err != nil {
|
||||
return c.Status(500).JSON(fiber.Map{"error": err.Error()})
|
||||
}
|
||||
return c.JSON(items)
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user