package controllers import ( "git.secnex.io/secnex/auth-api/services" "git.secnex.io/secnex/auth-api/utils" "git.secnex.io/secnex/masterlog" "github.com/go-playground/validator/v10" "github.com/gofiber/fiber/v2" ) type LoginRequest struct { Username string `json:"username" validate:"required"` Password string `json:"password" validate:"required"` } func LoginController(c *fiber.Ctx) error { var request LoginRequest if err := c.BodyParser(&request); err != nil { return utils.NewErrorResponse(fiber.StatusBadRequest, &fiber.Map{ "message": "Invalid request body", }).Send(c) } masterlog.Debug("Processing login request", map[string]interface{}{"username": request.Username}) validate := validator.New() if err := validate.Struct(request); err != nil { return utils.NewErrorResponse(fiber.StatusBadRequest, &fiber.Map{ "message": "Invalid request body", }).Send(c) } response := services.Login(request.Username, request.Password) return response.Send(c) }