Skip to content

Commit

Permalink
Add assets-manager client (#125)
Browse files Browse the repository at this point in the history
  • Loading branch information
unanoc authored Jan 20, 2022
1 parent 122ca6e commit 47cf91e
Show file tree
Hide file tree
Showing 4 changed files with 77 additions and 44 deletions.
25 changes: 25 additions & 0 deletions client/api/assets-manager/client.go
Original file line number Diff line number Diff line change
@@ -0,0 +1,25 @@
package assetsmanager

import (
"github.com/trustwallet/go-libs/client"
)

type Client struct {
req client.Request
}

func InitClient(url string, errorHandler client.HttpErrorHandler) Client {
return Client{
req: client.InitJSONClient(url, errorHandler),
}
}

func (c *Client) ValidateAssetInfo(req *AssetValidationReq) (result AssetValidationResp, err error) {
err = c.req.Post(&result, "/v1/validate/asset_info", req)
return result, err
}

func (c *Client) GetTagValues() (result TagValuesResp, err error) {
err = c.req.Get(&result, "/v1/values/tags", nil)
return result, err
}
52 changes: 52 additions & 0 deletions client/api/assets-manager/model.go
Original file line number Diff line number Diff line change
@@ -0,0 +1,52 @@
package assetsmanager

type (
AssetValidationReq struct {
Name *string `json:"name,omitempty"`
Symbol *string `json:"symbol,omitempty"`
Type *string `json:"type,omitempty"`
Decimals *int `json:"decimals,omitempty"`
Description *string `json:"description,omitempty"`
Website *string `json:"website,omitempty"`
Explorer *string `json:"explorer,omitempty"`
Research string `json:"research,omitempty"`
Status *string `json:"status,omitempty"`
ID *string `json:"id,omitempty"`
Links []struct {
Name *string `json:"name,omitempty"`
URL *string `json:"url,omitempty"`
} `json:"links,omitempty"`
ShortDesc *string `json:"short_desc,omitempty"`
Audit *string `json:"audit,omitempty"`
AuditReport *string `json:"audit_report,omitempty"`
Tags []string `json:"tags,omitempty"`
Code *string `json:"code,omitempty"`
Ticker *string `json:"ticker,omitempty"`
ExplorerEth *string `json:"explorer-ETH,omitempty"`
Address *string `json:"address,omitempty"`
Twitter *string `json:"twitter,omitempty"`
CoinMarketcap *string `json:"coinmarketcap,omitempty"`
DataSource *string `json:"data_source,omitempty"`
}

AssetValidationResp struct {
Status string `json:"status"`
Errors []Error `json:"errors"`
}

Error struct {
Message string `json:"message"`
}
)

type (
TagValuesResp struct {
Tags []Tag `json:"tags"`
}

Tag struct {
ID string `json:"id"`
Name string `json:"name"`
Description string `json:"description"`
}
)
5 changes: 0 additions & 5 deletions client/api/backend/client.go
Original file line number Diff line number Diff line change
Expand Up @@ -16,11 +16,6 @@ func InitClient(url string, errorHandler client.HttpErrorHandler) Client {
}
}

func (c *Client) ValidateAssetInfo(req *AssetValidationReq) (result AssetValidationResp, err error) {
err = c.req.Post(&result, "/v1/validate/asset_info", req)
return result, err
}

func (c *Client) GetAssetInfo(assetID string) (result AssetInfoResp, err error) {
err = c.req.Get(&result, fmt.Sprintf("/v1/assets/%s", assetID), nil)
return result, err
Expand Down
39 changes: 0 additions & 39 deletions client/api/backend/model.go
Original file line number Diff line number Diff line change
@@ -1,44 +1,5 @@
package backend

type (
AssetValidationReq struct {
Name *string `json:"name,omitempty"`
Symbol *string `json:"symbol,omitempty"`
Type *string `json:"type,omitempty"`
Decimals *int `json:"decimals,omitempty"`
Description *string `json:"description,omitempty"`
Website *string `json:"website,omitempty"`
Explorer *string `json:"explorer,omitempty"`
Research string `json:"research,omitempty"`
Status *string `json:"status,omitempty"`
ID *string `json:"id,omitempty"`
Links []struct {
Name *string `json:"name,omitempty"`
URL *string `json:"url,omitempty"`
} `json:"links,omitempty"`
ShortDesc *string `json:"short_desc,omitempty"`
Audit *string `json:"audit,omitempty"`
AuditReport *string `json:"audit_report,omitempty"`
Tags []string `json:"tags,omitempty"`
Code *string `json:"code,omitempty"`
Ticker *string `json:"ticker,omitempty"`
ExplorerEth *string `json:"explorer-ETH,omitempty"`
Address *string `json:"address,omitempty"`
Twitter *string `json:"twitter,omitempty"`
CoinMarketcap *string `json:"coinmarketcap,omitempty"`
DataSource *string `json:"data_source,omitempty"`
}

AssetValidationResp struct {
Status string `json:"status"`
Errors []Error `json:"errors"`
}

Error struct {
Message string `json:"message"`
}
)

type (
AssetInfoResp struct {
Name string `json:"name"`
Expand Down

0 comments on commit 47cf91e

Please sign in to comment.