package handlers // @Summary Get supported currencies // @Description Returns list of supported currencies // @Tags Multi-Currency // @Produce json // @Success 200 {object} domain.Response{data=[]domain.Currency} // @Router /api/v1/currencies [get] // func (h *Handler) GetSupportedCurrencies(c *fiber.Ctx) error { // currencies, err := h.currSvc.GetSupportedCurrencies(c.Context()) // if err != nil { // return domain.UnExpectedErrorResponse(c) // } // return c.Status(fiber.StatusOK).JSON(domain.Response{ // Success: true, // Message: "Supported currencies retrieved successfully", // Data: currencies, // StatusCode: fiber.StatusOK, // }) // } // @Summary Convert currency // @Description Converts amount from one currency to another // @Tags Multi-Currency // @Produce json // @Param from query string true "Source currency code (e.g., USD)" // @Param to query string true "Target currency code (e.g., ETB)" // @Param amount query number true "Amount to convert" // @Success 200 {object} domain.Response{data=float64} // @Failure 400 {object} domain.ErrorResponse // @Router /api/v1/currencies/convert [get] // func (h *Handler) ConvertCurrency(c *fiber.Ctx) error { // from := domain.IntCurrency(c.Query("from")) // to := domain.IntCurrency(c.Query("to")) // amount := c.QueryFloat("amount", 0) // // if err != nil { // // return domain.BadRequestResponse(c) // // } // converted, err := h.currSvc.Convert(c.Context(), amount, from, to) // if err != nil { // return domain.UnExpectedErrorResponse(c) // } // return c.Status(fiber.StatusOK).JSON(domain.Response{ // Success: true, // Message: "Currency converted successfully", // Data: converted, // StatusCode: fiber.StatusOK, // }) // }