Update API
This commit is contained in:
@@ -0,0 +1,59 @@
|
||||
package handler
|
||||
|
||||
import (
|
||||
"BE-MiniERP/database"
|
||||
"BE-MiniERP/modules/sales/models"
|
||||
"BE-MiniERP/modules/sales/repository"
|
||||
"strconv"
|
||||
|
||||
"github.com/gofiber/fiber/v2"
|
||||
)
|
||||
|
||||
type CustomerHandler struct {
|
||||
Repo *repository.CustomerRepository
|
||||
}
|
||||
|
||||
func NewCustomerHandler() *CustomerHandler {
|
||||
return &CustomerHandler{
|
||||
Repo: repository.NewCustomerRepository(database.DB),
|
||||
}
|
||||
}
|
||||
|
||||
func (h *CustomerHandler) GetAll(c *fiber.Ctx) error {
|
||||
customers, err := h.Repo.FindAll()
|
||||
if err != nil {
|
||||
return c.Status(500).JSON(fiber.Map{"error": "Failed to fetch customers"})
|
||||
}
|
||||
return c.JSON(customers)
|
||||
}
|
||||
|
||||
func (h *CustomerHandler) Create(c *fiber.Ctx) error {
|
||||
var input models.Customer
|
||||
if err := c.BodyParser(&input); err != nil {
|
||||
return c.Status(400).JSON(fiber.Map{"error": "Invalid input"})
|
||||
}
|
||||
if err := h.Repo.Create(&input); err != nil {
|
||||
return c.Status(500).JSON(fiber.Map{"error": "Failed to create customer"})
|
||||
}
|
||||
return c.JSON(input)
|
||||
}
|
||||
|
||||
func (h *CustomerHandler) Update(c *fiber.Ctx) error {
|
||||
id, _ := strconv.Atoi(c.Params("id"))
|
||||
var input models.Customer
|
||||
if err := c.BodyParser(&input); err != nil {
|
||||
return c.Status(400).JSON(fiber.Map{"error": "Invalid input"})
|
||||
}
|
||||
if err := h.Repo.Update(uint(id), &input); err != nil {
|
||||
return c.Status(500).JSON(fiber.Map{"error": "Failed to update customer"})
|
||||
}
|
||||
return c.JSON(fiber.Map{"message": "Updated"})
|
||||
}
|
||||
|
||||
func (h *CustomerHandler) Delete(c *fiber.Ctx) error {
|
||||
id, _ := strconv.Atoi(c.Params("id"))
|
||||
if err := h.Repo.Delete(uint(id)); err != nil {
|
||||
return c.Status(500).JSON(fiber.Map{"error": "Failed to delete customer"})
|
||||
}
|
||||
return c.JSON(fiber.Map{"message": "Deleted"})
|
||||
}
|
||||
@@ -0,0 +1,59 @@
|
||||
package handler
|
||||
|
||||
import (
|
||||
"BE-MiniERP/database"
|
||||
"BE-MiniERP/modules/sales/models"
|
||||
"BE-MiniERP/modules/sales/repository"
|
||||
"strconv"
|
||||
|
||||
"github.com/gofiber/fiber/v2"
|
||||
)
|
||||
|
||||
type InvoiceHandler struct {
|
||||
Repo *repository.InvoiceRepository
|
||||
}
|
||||
|
||||
func NewInvoiceHandler() *InvoiceHandler {
|
||||
return &InvoiceHandler{
|
||||
Repo: repository.NewInvoiceRepository(database.DB),
|
||||
}
|
||||
}
|
||||
|
||||
func (h *InvoiceHandler) GetAll(c *fiber.Ctx) error {
|
||||
result, err := h.Repo.FindAll()
|
||||
if err != nil {
|
||||
return c.Status(500).JSON(fiber.Map{"error": "Failed to fetch invoices"})
|
||||
}
|
||||
return c.JSON(result)
|
||||
}
|
||||
|
||||
func (h *InvoiceHandler) Create(c *fiber.Ctx) error {
|
||||
var input models.Invoice
|
||||
if err := c.BodyParser(&input); err != nil {
|
||||
return c.Status(400).JSON(fiber.Map{"error": "Invalid input"})
|
||||
}
|
||||
if err := h.Repo.Create(&input); err != nil {
|
||||
return c.Status(500).JSON(fiber.Map{"error": "Failed to create invoice"})
|
||||
}
|
||||
return c.JSON(input)
|
||||
}
|
||||
|
||||
func (h *InvoiceHandler) Update(c *fiber.Ctx) error {
|
||||
id, _ := strconv.Atoi(c.Params("id"))
|
||||
var input models.Invoice
|
||||
if err := c.BodyParser(&input); err != nil {
|
||||
return c.Status(400).JSON(fiber.Map{"error": "Invalid input"})
|
||||
}
|
||||
if err := h.Repo.Update(uint(id), &input); err != nil {
|
||||
return c.Status(500).JSON(fiber.Map{"error": "Failed to update invoice"})
|
||||
}
|
||||
return c.JSON(fiber.Map{"message": "Updated"})
|
||||
}
|
||||
|
||||
func (h *InvoiceHandler) Delete(c *fiber.Ctx) error {
|
||||
id, _ := strconv.Atoi(c.Params("id"))
|
||||
if err := h.Repo.Delete(uint(id)); err != nil {
|
||||
return c.Status(500).JSON(fiber.Map{"error": "Failed to delete invoice"})
|
||||
}
|
||||
return c.JSON(fiber.Map{"message": "Deleted"})
|
||||
}
|
||||
@@ -0,0 +1,59 @@
|
||||
package handler
|
||||
|
||||
import (
|
||||
"BE-MiniERP/database"
|
||||
"BE-MiniERP/modules/sales/models"
|
||||
"BE-MiniERP/modules/sales/repository"
|
||||
"strconv"
|
||||
|
||||
"github.com/gofiber/fiber/v2"
|
||||
)
|
||||
|
||||
type InvoiceLineHandler struct {
|
||||
Repo *repository.InvoiceLineRepository
|
||||
}
|
||||
|
||||
func NewInvoiceLineHandler() *InvoiceLineHandler {
|
||||
return &InvoiceLineHandler{
|
||||
Repo: repository.NewInvoiceLineRepository(database.DB),
|
||||
}
|
||||
}
|
||||
|
||||
func (h *InvoiceLineHandler) GetAll(c *fiber.Ctx) error {
|
||||
data, err := h.Repo.FindAll()
|
||||
if err != nil {
|
||||
return c.Status(500).JSON(fiber.Map{"error": "Failed to fetch invoice lines"})
|
||||
}
|
||||
return c.JSON(data)
|
||||
}
|
||||
|
||||
func (h *InvoiceLineHandler) Create(c *fiber.Ctx) error {
|
||||
var input models.InvoiceLine
|
||||
if err := c.BodyParser(&input); err != nil {
|
||||
return c.Status(400).JSON(fiber.Map{"error": "Invalid input"})
|
||||
}
|
||||
if err := h.Repo.Create(&input); err != nil {
|
||||
return c.Status(500).JSON(fiber.Map{"error": "Failed to create invoice line"})
|
||||
}
|
||||
return c.JSON(input)
|
||||
}
|
||||
|
||||
func (h *InvoiceLineHandler) Update(c *fiber.Ctx) error {
|
||||
id, _ := strconv.Atoi(c.Params("id"))
|
||||
var input models.InvoiceLine
|
||||
if err := c.BodyParser(&input); err != nil {
|
||||
return c.Status(400).JSON(fiber.Map{"error": "Invalid input"})
|
||||
}
|
||||
if err := h.Repo.Update(uint(id), &input); err != nil {
|
||||
return c.Status(500).JSON(fiber.Map{"error": "Failed to update invoice line"})
|
||||
}
|
||||
return c.JSON(fiber.Map{"message": "Updated"})
|
||||
}
|
||||
|
||||
func (h *InvoiceLineHandler) Delete(c *fiber.Ctx) error {
|
||||
id, _ := strconv.Atoi(c.Params("id"))
|
||||
if err := h.Repo.Delete(uint(id)); err != nil {
|
||||
return c.Status(500).JSON(fiber.Map{"error": "Failed to delete invoice line"})
|
||||
}
|
||||
return c.JSON(fiber.Map{"message": "Deleted"})
|
||||
}
|
||||
@@ -0,0 +1,59 @@
|
||||
package handler
|
||||
|
||||
import (
|
||||
"BE-MiniERP/database"
|
||||
"BE-MiniERP/modules/sales/models"
|
||||
"BE-MiniERP/modules/sales/repository"
|
||||
"strconv"
|
||||
|
||||
"github.com/gofiber/fiber/v2"
|
||||
)
|
||||
|
||||
type PaymentHandler struct {
|
||||
Repo *repository.PaymentRepository
|
||||
}
|
||||
|
||||
func NewPaymentHandler() *PaymentHandler {
|
||||
return &PaymentHandler{
|
||||
Repo: repository.NewPaymentRepository(database.DB),
|
||||
}
|
||||
}
|
||||
|
||||
func (h *PaymentHandler) GetAll(c *fiber.Ctx) error {
|
||||
result, err := h.Repo.FindAll()
|
||||
if err != nil {
|
||||
return c.Status(500).JSON(fiber.Map{"error": "Failed to fetch payments"})
|
||||
}
|
||||
return c.JSON(result)
|
||||
}
|
||||
|
||||
func (h *PaymentHandler) Create(c *fiber.Ctx) error {
|
||||
var input models.Payment
|
||||
if err := c.BodyParser(&input); err != nil {
|
||||
return c.Status(400).JSON(fiber.Map{"error": "Invalid input"})
|
||||
}
|
||||
if err := h.Repo.Create(&input); err != nil {
|
||||
return c.Status(500).JSON(fiber.Map{"error": "Failed to create payment"})
|
||||
}
|
||||
return c.JSON(input)
|
||||
}
|
||||
|
||||
func (h *PaymentHandler) Update(c *fiber.Ctx) error {
|
||||
id, _ := strconv.Atoi(c.Params("id"))
|
||||
var input models.Payment
|
||||
if err := c.BodyParser(&input); err != nil {
|
||||
return c.Status(400).JSON(fiber.Map{"error": "Invalid input"})
|
||||
}
|
||||
if err := h.Repo.Update(uint(id), &input); err != nil {
|
||||
return c.Status(500).JSON(fiber.Map{"error": "Failed to update payment"})
|
||||
}
|
||||
return c.JSON(fiber.Map{"message": "Updated"})
|
||||
}
|
||||
|
||||
func (h *PaymentHandler) Delete(c *fiber.Ctx) error {
|
||||
id, _ := strconv.Atoi(c.Params("id"))
|
||||
if err := h.Repo.Delete(uint(id)); err != nil {
|
||||
return c.Status(500).JSON(fiber.Map{"error": "Failed to delete payment"})
|
||||
}
|
||||
return c.JSON(fiber.Map{"message": "Deleted"})
|
||||
}
|
||||
@@ -0,0 +1,59 @@
|
||||
package handler
|
||||
|
||||
import (
|
||||
"BE-MiniERP/database"
|
||||
"BE-MiniERP/modules/sales/models"
|
||||
"BE-MiniERP/modules/sales/repository"
|
||||
"strconv"
|
||||
|
||||
"github.com/gofiber/fiber/v2"
|
||||
)
|
||||
|
||||
type SalesOrderHandler struct {
|
||||
Repo *repository.SalesOrderRepository
|
||||
}
|
||||
|
||||
func NewSalesOrderHandler() *SalesOrderHandler {
|
||||
return &SalesOrderHandler{
|
||||
Repo: repository.NewSalesOrderRepository(database.DB),
|
||||
}
|
||||
}
|
||||
|
||||
func (h *SalesOrderHandler) GetAll(c *fiber.Ctx) error {
|
||||
data, err := h.Repo.FindAll()
|
||||
if err != nil {
|
||||
return c.Status(500).JSON(fiber.Map{"error": "Failed to fetch sales orders"})
|
||||
}
|
||||
return c.JSON(data)
|
||||
}
|
||||
|
||||
func (h *SalesOrderHandler) Create(c *fiber.Ctx) error {
|
||||
var input models.SalesOrder
|
||||
if err := c.BodyParser(&input); err != nil {
|
||||
return c.Status(400).JSON(fiber.Map{"error": "Invalid input"})
|
||||
}
|
||||
if err := h.Repo.Create(&input); err != nil {
|
||||
return c.Status(500).JSON(fiber.Map{"error": "Failed to create sales order"})
|
||||
}
|
||||
return c.JSON(input)
|
||||
}
|
||||
|
||||
func (h *SalesOrderHandler) Update(c *fiber.Ctx) error {
|
||||
id, _ := strconv.Atoi(c.Params("id"))
|
||||
var input models.SalesOrder
|
||||
if err := c.BodyParser(&input); err != nil {
|
||||
return c.Status(400).JSON(fiber.Map{"error": "Invalid input"})
|
||||
}
|
||||
if err := h.Repo.Update(uint(id), &input); err != nil {
|
||||
return c.Status(500).JSON(fiber.Map{"error": "Failed to update sales order"})
|
||||
}
|
||||
return c.JSON(fiber.Map{"message": "Updated"})
|
||||
}
|
||||
|
||||
func (h *SalesOrderHandler) Delete(c *fiber.Ctx) error {
|
||||
id, _ := strconv.Atoi(c.Params("id"))
|
||||
if err := h.Repo.Delete(uint(id)); err != nil {
|
||||
return c.Status(500).JSON(fiber.Map{"error": "Failed to delete sales order"})
|
||||
}
|
||||
return c.JSON(fiber.Map{"message": "Deleted"})
|
||||
}
|
||||
@@ -0,0 +1,59 @@
|
||||
package handler
|
||||
|
||||
import (
|
||||
"BE-MiniERP/database"
|
||||
"BE-MiniERP/modules/sales/models"
|
||||
"BE-MiniERP/modules/sales/repository"
|
||||
"strconv"
|
||||
|
||||
"github.com/gofiber/fiber/v2"
|
||||
)
|
||||
|
||||
type SalesOrderItemHandler struct {
|
||||
Repo *repository.SalesOrderItemRepository
|
||||
}
|
||||
|
||||
func NewSalesOrderItemHandler() *SalesOrderItemHandler {
|
||||
return &SalesOrderItemHandler{
|
||||
Repo: repository.NewSalesOrderItemRepository(database.DB),
|
||||
}
|
||||
}
|
||||
|
||||
func (h *SalesOrderItemHandler) GetAll(c *fiber.Ctx) error {
|
||||
data, err := h.Repo.FindAll()
|
||||
if err != nil {
|
||||
return c.Status(500).JSON(fiber.Map{"error": "Failed to fetch items"})
|
||||
}
|
||||
return c.JSON(data)
|
||||
}
|
||||
|
||||
func (h *SalesOrderItemHandler) Create(c *fiber.Ctx) error {
|
||||
var input models.SalesOrderItem
|
||||
if err := c.BodyParser(&input); err != nil {
|
||||
return c.Status(400).JSON(fiber.Map{"error": "Invalid input"})
|
||||
}
|
||||
if err := h.Repo.Create(&input); err != nil {
|
||||
return c.Status(500).JSON(fiber.Map{"error": "Failed to create item"})
|
||||
}
|
||||
return c.JSON(input)
|
||||
}
|
||||
|
||||
func (h *SalesOrderItemHandler) Update(c *fiber.Ctx) error {
|
||||
id, _ := strconv.Atoi(c.Params("id"))
|
||||
var input models.SalesOrderItem
|
||||
if err := c.BodyParser(&input); err != nil {
|
||||
return c.Status(400).JSON(fiber.Map{"error": "Invalid input"})
|
||||
}
|
||||
if err := h.Repo.Update(uint(id), &input); err != nil {
|
||||
return c.Status(500).JSON(fiber.Map{"error": "Failed to update item"})
|
||||
}
|
||||
return c.JSON(fiber.Map{"message": "Updated"})
|
||||
}
|
||||
|
||||
func (h *SalesOrderItemHandler) Delete(c *fiber.Ctx) error {
|
||||
id, _ := strconv.Atoi(c.Params("id"))
|
||||
if err := h.Repo.Delete(uint(id)); err != nil {
|
||||
return c.Status(500).JSON(fiber.Map{"error": "Failed to delete item"})
|
||||
}
|
||||
return c.JSON(fiber.Map{"message": "Deleted"})
|
||||
}
|
||||
Reference in New Issue
Block a user