Skip to content
This repository has been archived by the owner on Jan 9, 2024. It is now read-only.

Commit

Permalink
Merge pull request #345 from coticom/openapi
Browse files Browse the repository at this point in the history
chains/active add total_active_chains_number
  • Loading branch information
kaifei Hu authored May 22, 2023
2 parents 5e01ded + d867fc4 commit 9c0aa9d
Show file tree
Hide file tree
Showing 3 changed files with 26 additions and 3 deletions.
12 changes: 12 additions & 0 deletions internal/app/api/rest/chain.go
Original file line number Diff line number Diff line change
Expand Up @@ -37,6 +37,18 @@ func (ctl *ChainController) IbcChainsVolume(c *gin.Context) {
return
}

if req.Chain != "" {
exists, err := chainService.ChainExists(req.Chain)
if err != nil {
c.JSON(http.StatusBadRequest, response.FailBadRequest(err.Error()))
return
}
if !exists {
c.JSON(http.StatusBadRequest, response.FailBadRequest("this chain is not supported, please check or contact us by twitter(https://twitter.com/iobscan_ibc)"))
return
}
}

resp, e := chainService.IbcChainsVolume(req.Chain)
if e != nil {
c.JSON(response.HttpCode(e), response.FailError(e))
Expand Down
3 changes: 2 additions & 1 deletion internal/app/model/vo/chain.go
Original file line number Diff line number Diff line change
Expand Up @@ -30,5 +30,6 @@ type IbcChainsVolumeResp struct {
}

type IbcChainsActiveResp struct {
ChainNameList []string `json:"chain_name_list"`
TotalActiveChainsNumber int `json:"total_active_chains_number"`
ChainNameList []string `json:"chain_name_list"`
}
14 changes: 12 additions & 2 deletions internal/app/service/chain.go
Original file line number Diff line number Diff line change
Expand Up @@ -6,6 +6,7 @@ import (
"github.com/bianjieai/iobscan-ibc-explorer-backend/internal/app/model/vo"
"github.com/bianjieai/iobscan-ibc-explorer-backend/internal/app/utils"
"github.com/qiniu/qmgo"
"sort"
"strconv"
"strings"
"time"
Expand Down Expand Up @@ -114,7 +115,11 @@ func (svc *ChainService) IbcChainsVolume(chainName string) (*vo.IbcChainsVolumeR
}
items = append(items, item)
}

sort.Slice(items, func(i, j int) bool {
iv, _ := strconv.ParseFloat(items[i].IbcTransferVolumeTotal, 64)
jv, _ := strconv.ParseFloat(items[j].IbcTransferVolumeTotal, 64)
return iv > jv
})
var resp vo.IbcChainsVolumeResp
resp.Chains = items
resp.TimeStamp = res.UpdateAt
Expand Down Expand Up @@ -151,6 +156,11 @@ func (svc *ChainService) IbcChainsActive() (*vo.IbcChainsActiveResp, errors.Erro
return nil, errors.Wrap(err)
}
var resp vo.IbcChainsActiveResp
resp.ChainNameList = strings.Split(data.StatisticsInfo, ",")
if data.StatisticsInfo != "" {
resp.ChainNameList = strings.Split(data.StatisticsInfo, ",")
} else {
resp.ChainNameList = []string{}
}
resp.TotalActiveChainsNumber = len(resp.ChainNameList)
return &resp, nil
}

0 comments on commit 9c0aa9d

Please sign in to comment.