controllers

package
v0.0.0-...-aebde51 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Dec 18, 2023 License: MIT Imports: 13 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

This section is empty.

Types

type AuthController

type AuthController struct {
	Config *config.Config
	Logger *zerolog.Logger
}

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

type UserController struct {
	Config *config.Config
	Logger *zerolog.Logger
}

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

type WalletController struct {
	Config *config.Config
	Logger *zerolog.Logger
}

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]

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL