Documentation
¶
Index ¶
- func ActivateCurrency(currencySvc *currencysvc.Service) fiber.Handler
- func CheckCurrencySupported(currencySvc *currencysvc.Service) fiber.Handler
- func DeactivateCurrency(currencySvc *currencysvc.Service) fiber.Handler
- func GetCurrency(currencySvc *currencysvc.Service) fiber.Handler
- func GetCurrencyStatistics(currencySvc *currencysvc.Service) fiber.Handler
- func GetDefaultCurrency(currencySvc *currencysvc.Service) fiber.Handler
- func ListCurrencies(currencySvc *currencysvc.Service) fiber.Handler
- func ListSupportedCurrencies(currencySvc *currencysvc.Service) fiber.Handler
- func RegisterCurrency(currencySvc *currencysvc.Service) fiber.Handler
- func Routes(app *fiber.App, currencySvc *currencysvc.Service, authSvc *authsvc.Service, ...)
- func SearchCurrencies(currencySvc *currencysvc.Service) fiber.Handler
- func SearchCurrenciesByRegion(currencySvc *currencysvc.Service) fiber.Handler
- func UnregisterCurrency(currencySvc *currencysvc.Service) fiber.Handler
- type RegisterCurrencyRequest
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
func ActivateCurrency ¶
func ActivateCurrency(currencySvc *currencysvc.Service) fiber.Handler
ActivateCurrency activates a currency (admin only) @Summary Activate currency @Description Activate a currency (admin only) @Tags currencies @Accept json @Produce json @Param code path string true "Currency code" @Success 200 {object} common.Response @Failure 400 {object} common.ProblemDetails @Failure 401 {object} common.ProblemDetails @Failure 404 {object} common.ProblemDetails @Failure 500 {object} common.ProblemDetails @Router /api/currencies/admin/{code}/activate [put]
func CheckCurrencySupported ¶
func CheckCurrencySupported( currencySvc *currencysvc.Service, ) fiber.Handler
CheckCurrencySupported checks if a currency is supported @Summary Check if currency is supported @Description Check if a currency code is supported @Tags currencies @Accept json @Produce json @Param code path string true "Currency code (e.g., USD, EUR)" @Success 200 {object} common.Response @Failure 400 {object} common.ProblemDetails @Router /api/currencies/{code}/supported [get]
func DeactivateCurrency ¶
func DeactivateCurrency(currencySvc *currencysvc.Service) fiber.Handler
DeactivateCurrency deactivates a currency (admin only) @Summary Deactivate currency @Description Deactivate a currency (admin only) @Tags currencies @Accept json @Produce json @Param code path string true "Currency code" @Success 200 {object} common.Response @Failure 400 {object} common.ProblemDetails @Failure 401 {object} common.ProblemDetails @Failure 404 {object} common.ProblemDetails @Failure 500 {object} common.ProblemDetails @Router /api/currencies/admin/{code}/deactivate [put]
func GetCurrency ¶
func GetCurrency( currencySvc *currencysvc.Service, ) fiber.Handler
GetCurrency returns currency information by code @Summary Get currency by code @Description Get currency information by ISO 4217 code @Tags currencies @Accept json @Produce json @Param code path string true "Currency code (e.g., USD, EUR)" @Success 200 {object} currency.Meta @Failure 400 {object} common.ProblemDetails @Failure 404 {object} common.ProblemDetails @Failure 500 {object} common.ProblemDetails @Router /api/currencies/{code} [get]
func GetCurrencyStatistics ¶
func GetCurrencyStatistics( currencySvc *currencysvc.Service, ) fiber.Handler
GetCurrencyStatistics returns currency statistics @Summary Get currency statistics @Description Get currency registry statistics @Tags currencies @Accept json @Produce json @Success 200 {object} common.Response @Failure 500 {object} common.ProblemDetails @Router /api/currencies/statistics [get]
func GetDefaultCurrency ¶
func GetDefaultCurrency( currencySvc *currencysvc.Service, ) fiber.Handler
GetDefaultCurrency returns the default currency information @Summary Get default currency @Description Get the default currency information @Tags currencies @Accept json @Produce json @Success 200 {object} currency.Meta @Failure 500 {object} common.ProblemDetails @Router /api/currencies/default [get]
func ListCurrencies ¶
func ListCurrencies( currencySvc *currencysvc.Service, ) fiber.Handler
ListCurrencies returns a Fiber handler for listing all available currencies. @Summary List all currencies @Description Get a list of all available currencies in the system @Tags currencies @Accept json @Produce json @Success 200 {object} common.Response @Failure 400 {object} common.ProblemDetails @Failure 401 {object} common.ProblemDetails @Failure 429 {object} common.ProblemDetails @Failure 500 {object} common.ProblemDetails @Router /currency [get] @Security Bearer
func ListSupportedCurrencies ¶
func ListSupportedCurrencies( currencySvc *currencysvc.Service, ) fiber.Handler
ListSupportedCurrencies returns all supported currency codes @Summary List supported currencies @Description Get all supported currency codes @Tags currencies @Accept json @Produce json @Success 200 {array} string @Failure 500 {object} common.ProblemDetails @Router /api/currencies/supported [get]
func RegisterCurrency ¶
func RegisterCurrency( currencySvc *currencysvc.Service, ) fiber.Handler
RegisterCurrency registers a new currency (admin only) @Summary Register currency @Description Register a new currency (admin only) @Tags currencies @Accept json @Produce json @Param currency body RegisterCurrencyRequest true "Currency information" @Success 201 {object} currency.Meta @Failure 400 {object} common.ProblemDetails @Failure 401 {object} common.ProblemDetails @Failure 409 {object} common.ProblemDetails @Failure 500 {object} common.ProblemDetails @Router /api/currencies/admin [post]
func Routes ¶
func Routes( app *fiber.App, currencySvc *currencysvc.Service, authSvc *authsvc.Service, cfg *config.AppConfig, )
Routes registers HTTP routes for currency-related operations. Sets up endpoints for listing, searching, and managing currencies.
func SearchCurrencies ¶
func SearchCurrencies( currencySvc *currencysvc.Service, ) fiber.Handler
SearchCurrencies searches for currencies by name @Summary Search currencies @Description Search for currencies by name @Tags currencies @Accept json @Produce json @Param q query string true "Search query" @Success 200 {array} currency.Meta @Failure 400 {object} common.ProblemDetails @Failure 500 {object} common.ProblemDetails @Router /api/currencies/search [get]
func SearchCurrenciesByRegion ¶
func SearchCurrenciesByRegion( currencySvc *currencysvc.Service, ) fiber.Handler
SearchCurrenciesByRegion searches for currencies by region @Summary Search currencies by region @Description Search for currencies by region @Tags currencies @Accept json @Produce json @Param region path string true "Region name" @Success 200 {array} currency.Meta @Failure 400 {object} common.ProblemDetails @Failure 500 {object} common.ProblemDetails @Router /api/currencies/region/{region} [get]
func UnregisterCurrency ¶
func UnregisterCurrency(currencySvc *currencysvc.Service) fiber.Handler
UnregisterCurrency removes a currency from the registry (admin only) @Summary Unregister currency @Description Remove a currency from the registry (admin only) @Tags currencies @Accept json @Produce json @Param code path string true "Currency code" @Success 200 {object} common.Response @Failure 400 {object} common.ProblemDetails @Failure 401 {object} common.ProblemDetails @Failure 404 {object} common.ProblemDetails @Failure 500 {object} common.ProblemDetails @Router /api/currencies/admin/{code} [delete]
Types ¶
type RegisterCurrencyRequest ¶
type RegisterCurrencyRequest struct {
Code string `json:"code" validate:"required,len=3,uppercase"`
Name string `json:"name" validate:"required"`
Symbol string `json:"symbol" validate:"required"`
Decimals int `json:"decimals" validate:"required,min=0,max=8"`
Country string `json:"country,omitempty"`
Region string `json:"region,omitempty"`
Active bool `json:"active"`
Metadata map[string]string `json:"metadata,omitempty"`
}
RegisterCurrencyRequest represents the request body for registering a currency.