Skip to main content
Glama

Controtto

by contre95
assetsQuerier.go1.24 kB
package querying import ( "controtto/src/domain/pnl" "log/slog" ) type AssetsQuerier struct { assets pnl.Assets } func NewAssetQuerier(a pnl.Assets) *AssetsQuerier { return &AssetsQuerier{a} } type ListAssetsReq struct{} type ListAssetsResp struct { Assets []pnl.Asset } func (aq *AssetsQuerier) ListAssets(req ListAssetsReq) (*ListAssetsResp, error) { var err error assets, err := aq.assets.ListAssets() if err != nil { slog.Error("Error listing assets from DB", "error", err) return nil, err } for _, a := range assets { if _, err := a.Validate(); err != nil { slog.Error("Invalid asset "+a.Symbol, "error", err) } } resp := ListAssetsResp{ Assets: assets, } return &resp, nil } type QueryAssetReq struct { Symbol string } type QueryAssetResp struct { Asset pnl.Asset } func (aq *AssetsQuerier) GetAsset(req QueryAssetReq) (*QueryAssetResp, error) { var err error asset, err := aq.assets.GetAsset(req.Symbol) if err != nil { slog.Error("Error retrieving Asset from DB", "error", err) return nil, err } if _, err := asset.Validate(); err != nil { slog.Error("Invalid asset retrieved from DB", "error", err) return nil, err } resp := QueryAssetResp{ Asset: *asset, } return &resp, nil }

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/contre95/controtto'

If you have feedback or need assistance with the MCP directory API, please join our Discord server