Documentation ¶
Index ¶
- type AuthController
- type UserController
- type WalletController
- func (c *WalletController) CreateController(ctx *fiber.Ctx) error
- func (c *WalletController) DeleteController(ctx *fiber.Ctx) error
- func (c *WalletController) ListController(ctx *fiber.Ctx) error
- func (c *WalletController) ShowController(ctx *fiber.Ctx) error
- func (c *WalletController) UpdateController(ctx *fiber.Ctx) error
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
This section is empty.
Types ¶
type AuthController ¶
func NewAuthController ¶
func NewAuthController(config *config.Config, logger *zerolog.Logger) *AuthController
func (*AuthController) LoginController ¶
func (c *AuthController) LoginController(ctx *fiber.Ctx) error
LoginController handles user login.
@Summary Authenticate user and generate access token @Description Authenticate a user by providing login credentials in the request body and generate an access token. @Tags Users @Accept json @Produce json @Param body body models.UserLoginRequest true "User login payload" @Success 200 {object} response.TokenResponse @Failure 400 {object} response.BadRequest @Failure 502 {object} response.BadGateway @Router /auth/login [post]
func (*AuthController) RegisterController ¶
func (c *AuthController) RegisterController(ctx *fiber.Ctx) error
RegisterController handles user registration.
@Summary Register a new user @Description Register a new user by providing user information in the request body. @Tags Users @Accept json @Produce json @Param body body models.UserRegisterRequest true "User registration payload" @Success 201 {object} models.UserResponse @Failure 400 {object} response.BadRequest @Failure 500 {object} response.ServerError @Router /auth/register [post]
type UserController ¶
func NewUserController ¶
func NewUserController(config *config.Config, logger *zerolog.Logger) *UserController
func (*UserController) InfoController ¶
func (c *UserController) InfoController(ctx *fiber.Ctx) error
InfoController retrieves user information.
@Summary Get user information @Description Retrieve information about the authenticated user. @Tags Users @Accept json @Produce json @Security ApiKeyAuth @Success 200 {object} models.UserResponse @Failure 401 {object} response.Unauthorized @Failure 500 {object} response.ServerError @Router /auth/user [get]
type WalletController ¶
func NewWalletController ¶
func NewWalletController(config *config.Config, logger *zerolog.Logger) *WalletController
func (*WalletController) CreateController ¶
func (c *WalletController) CreateController(ctx *fiber.Ctx) error
CreateController create new wallet.
@Summary Create a new wallet for the authenticated user @Description Creates a new wallet for the user. The user can have a maximum of 3 wallets. @Tags Wallet @Accept json @Produce json @Security ApiKeyAuth @Param payload body models.WalletCreateRequest true "Wallet creation request payload" @Success 201 {object} response.Success @Failure 400 {object} response.BadRequest @Failure 401 {object} response.Unauthorized @Failure 502 {object} response.BadGateway @Failure 500 {object} response.ServerError @Router /wallet [post]
func (*WalletController) DeleteController ¶
func (c *WalletController) DeleteController(ctx *fiber.Ctx) error
DeleteController delete wallet by address.
@Summary Delete a specific wallet @Description Deletes a wallet with the specified address for the authenticated user @Tags Wallet @Accept json @Produce json @Security ApiKeyAuth @Param address path string true "Wallet address" format("string") @Success 204 "No Content" @Failure 400 {object} response.BadRequest @Failure 401 {object} response.Unauthorized @Failure 404 {object} response.NotFound @Failure 502 {object} response.BadGateway @Router /wallet/{address} [delete]
func (*WalletController) ListController ¶
func (c *WalletController) ListController(ctx *fiber.Ctx) error
ListController retrieves wallet information.
@Summary List user's wallets @Description Retrieve a list of wallets belonging to the authenticated user @Tags Wallet @Accept json @Produce json @Security ApiKeyAuth @Success 200 {object} response.Success @Failure 401 {object} response.Unauthorized @Failure 502 {object} response.BadGateway @Router /wallet [get]
func (*WalletController) ShowController ¶
func (c *WalletController) ShowController(ctx *fiber.Ctx) error
ShowController get wallet by address
@Summary Get details of a specific wallet @Description Retrieves details of a wallet with the specified address for the authenticated user @Tags Wallet @Accept json @Produce json @Security ApiKeyAuth @Param address path string true "Wallet address" format("string") @Success 200 {object} response.Success @Failure 400 {object} response.BadRequest @Failure 401 {object} response.Unauthorized @Failure 404 {object} response.NotFound @Failure 500 {object} response.ServerError @Failure 502 {object} response.BadGateway @Router /wallet/{address} [get]
func (*WalletController) UpdateController ¶
func (c *WalletController) UpdateController(ctx *fiber.Ctx) error
UpdateController update wallet by address.
@Summary Update details of a specific wallet @Description Updates details of a wallet with the specified address for the authenticated user @Tags Wallet @Accept json @Produce json @Security ApiKeyAuth @Param address path string true "Wallet address" format("string") @Param payload body models.WalletUpdateRequest true "Wallet update request payload" @Success 200 {object} response.Success @Failure 400 {object} response.BadRequest @Failure 401 {object} response.Unauthorized @Failure 404 {object} response.NotFound @Failure 502 {object} response.BadGateway @Router /wallets/{address} [put]