httpapi

package
v0.0.0-...-5038352 Latest Latest
Warning

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

Go to latest
Published: Jul 25, 2022 License: Apache-2.0 Imports: 12 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

View Source
var (
	ErrInternalServerError = errors.New("internal server error")

	ErrInvalidPagination = errors.New("invalid pagination type")
	ErrInvalidPage       = errors.New("invalid page number")
	ErrInvalidLimit      = errors.New("invalid page limit")

	ErrInvalidQuery = errors.New("invalid query parameter")
)
View Source
var (
	SERVER_STATUS_HEALTHY       ServerStatus = "healthy"
	SERVER_STATUS_SYNCHRONIZING              = "synchronizing"
	SERVER_STATUS_DEGRADED                   = "degraded"
)
View Source
var (
	TENDERMINT_STATUS_HEALTHY  TendermintStatus = "healthy"
	TENDERMINT_STATUS_DEGRADED                  = "degraded"
	TENDERMINT_STATUS_OFFLINE                   = "offline"
)

Functions

func BadRequest

func BadRequest(resp http.ResponseWriter, errResp error)

func InternalServerError

func InternalServerError(resp http.ResponseWriter)

func LoggerMiddleware

func LoggerMiddleware(logger usecase.Logger) func(http.Handler) http.Handler

func NotFound

func NotFound(
	resp http.ResponseWriter,
)

func ParsePagination

func ParsePagination(req *http.Request) (*viewrepo.Pagination, error)

func Success

func Success(resp http.ResponseWriter, result interface{})

func SuccessWithPagination

func SuccessWithPagination(
	resp http.ResponseWriter,
	result interface{},
	paginationResult *viewrepo.PaginationResult,
)

Types

type ActivitiesHandler

type ActivitiesHandler struct {
	// contains filtered or unexported fields
}

func NewActivitiesHandler

func NewActivitiesHandler(logger usecase.Logger, routePath RoutePath, activityView viewrepo.ActivityViewRepo) *ActivitiesHandler

func (*ActivitiesHandler) FindEventByBlockHeightEventPosition

func (handler *ActivitiesHandler) FindEventByBlockHeightEventPosition(resp http.ResponseWriter, req *http.Request)

func (*ActivitiesHandler) FindTransactionByTxId

func (handler *ActivitiesHandler) FindTransactionByTxId(resp http.ResponseWriter, req *http.Request)

func (*ActivitiesHandler) ListEvents

func (handler *ActivitiesHandler) ListEvents(resp http.ResponseWriter, req *http.Request)

func (*ActivitiesHandler) ListTransactions

func (handler *ActivitiesHandler) ListTransactions(resp http.ResponseWriter, req *http.Request)

type BlocksHandler

type BlocksHandler struct {
	// contains filtered or unexported fields
}

func NewBlocksHandler

func NewBlocksHandler(logger usecase.Logger, routePath RoutePath, blockView viewrepo.BlockViewRepo) *BlocksHandler

func (*BlocksHandler) FindBlock

func (handler *BlocksHandler) FindBlock(resp http.ResponseWriter, req *http.Request)

func (*BlocksHandler) ListBlockEvents

func (handler *BlocksHandler) ListBlockEvents(resp http.ResponseWriter, req *http.Request)

func (*BlocksHandler) ListBlockTransactions

func (handler *BlocksHandler) ListBlockTransactions(resp http.ResponseWriter, req *http.Request)

func (*BlocksHandler) ListBlocks

func (handler *BlocksHandler) ListBlocks(resp http.ResponseWriter, req *http.Request)

type ChainStatus

type ChainStatus struct {
	Version                string          `json:"version"`
	SyncBlockHeight        uint64          `json:"sync_block_height"`
	TendermintBlockHeight  uint64          `json:"tendermint_block_height"`
	TransactionCount       uint64          `json:"transaction_count"`
	TotalReward            *bignum.WBigInt `json:"total_reward"`
	TotalRewardMinted      *bignum.WBigInt `json:"total_reward_minted"`
	CouncilNodeCount       uint64          `json:"council_node_count"`
	TotalCouncilNodeStaked *bignum.WBigInt `json:"total_council_node_staked"`
}

type ChainStatusHandler

type ChainStatusHandler struct {
	// contains filtered or unexported fields
}

func NewChainStatusHandler

func NewChainStatusHandler(
	logger usecase.Logger,

	syncService usecase.SyncService,
	activityView viewrepo.ActivityViewRepo,
	rewardView viewrepo.RewardViewRepo,
	councilNodeView viewrepo.CouncilNodeViewRepo,
) *ChainStatusHandler

func (*ChainStatusHandler) GetChainStatus

func (handler *ChainStatusHandler) GetChainStatus(resp http.ResponseWriter, req *http.Request)

type ChainStatusReward

type ChainStatusReward struct {
	Minted *bignum.WBigInt `json:"minted"`
	Total  *bignum.WBigInt `json:"total"`
}

type CouncilNodesHandler

type CouncilNodesHandler struct {
	// contains filtered or unexported fields
}

func NewCouncilNodesHandler

func NewCouncilNodesHandler(logger usecase.Logger, routePath RoutePath, councilNodeView viewrepo.CouncilNodeViewRepo) *CouncilNodesHandler

func (*CouncilNodesHandler) FindById

func (handler *CouncilNodesHandler) FindById(resp http.ResponseWriter, req *http.Request)

func (*CouncilNodesHandler) ListActive

func (handler *CouncilNodesHandler) ListActive(resp http.ResponseWriter, req *http.Request)

func (*CouncilNodesHandler) ListActivitiesById

func (handler *CouncilNodesHandler) ListActivitiesById(resp http.ResponseWriter, req *http.Request)

type PagedResponse

type PagedResponse struct {
	Response

	OffsetPagination *PaginationOffsetResponse `json:"pagination,omitempty"`
}

type PaginationOffsetResponse

type PaginationOffsetResponse struct {
	TotalRecord uint64 `json:"total_record"`
	TotalPage   uint64 `json:"total_page"`
	CurrentPage uint64 `json:"current_page"`
	Limit       uint64 `json:"limit"`
}

func OptPaginationOffsetResponseFromResult

func OptPaginationOffsetResponseFromResult(offsetResult *viewrepo.PaginationOffsetResult) *PaginationOffsetResponse

type Response

type Response struct {
	Result interface{} `json:"result"`
	Err    string      `json:"error,omitempty"`
}

type RoutePath

type RoutePath interface {
	Vars(*http.Request) map[string]string
}

type Router

type Router interface {
	Use(middlewar func(http.Handler) http.Handler)
	Get(path string, handler func(http.ResponseWriter, *http.Request))
	Handler() http.Handler
}

type RoutesRegistry

type RoutesRegistry struct {
	// contains filtered or unexported fields
}

func NewRoutesRegistry

func NewRoutesRegistry(
	router Router,

	statusHandler *StatusHandler,
	chainStatusHandler *ChainStatusHandler,
	activitiesHandler *ActivitiesHandler,
	blocksHandler *BlocksHandler,
	councilNodesHandler *CouncilNodesHandler,
	searchHandler *SearchHandler,
) *RoutesRegistry

func (*RoutesRegistry) RegisterHandlers

func (api *RoutesRegistry) RegisterHandlers()

type SearchAllResult

type SearchAllResult struct {
	Blocks          []viewrepo.Block          `json:"blocks"`
	Transactions    []viewrepo.Transaction    `json:"transactions"`
	Events          []viewrepo.Event          `json:"events"`
	StakingAccounts []viewrepo.StakingAccount `json:"staking_accounts"`
	CouncilNodes    []viewrepo.CouncilNode    `json:"council_nodes"`
}

type SearchHandler

type SearchHandler struct {
	// contains filtered or unexported fields
}

func NewSearchHandler

func NewSearchHandler(
	logger usecase.Logger,

	activityView viewrepo.ActivityViewRepo,
	blockView viewrepo.BlockViewRepo,
	stakingAccountView viewrepo.StakingAccountViewRepo,
	councilNodeView viewrepo.CouncilNodeViewRepo,
) *SearchHandler

func (*SearchHandler) All

func (handler *SearchHandler) All(resp http.ResponseWriter, req *http.Request)

type ServerStatus

type ServerStatus = string

type Status

type Status struct {
	ServerStatus     ServerStatus     `json:"server_status"`
	TendermintStatus TendermintStatus `json:"tendermint_status"`
}

type StatusHandler

type StatusHandler struct{}

func NewStatusHandler

func NewStatusHandler() *StatusHandler

func (*StatusHandler) Health

func (handler *StatusHandler) Health(resp http.ResponseWriter, _ *http.Request)

func (*StatusHandler) Status

func (handler *StatusHandler) Status(resp http.ResponseWriter, _ *http.Request)

type TendermintStatus

type TendermintStatus = string

Directories

Path Synopsis

Jump to

Keyboard shortcuts

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