6 "git.immae.eu/Cryptoportfolio/Front.git/db"
9 type GetAllPortfoliosQuery struct {
13 Out map[string]Portfolio
16 func (q GetAllPortfoliosQuery) ValidateParams() *Error {
17 if q.In.Market != "poloniex" {
18 return &Error{BadRequest, "invalid market name", fmt.Errorf("'%v' is not a valid market name", q.In.Market)}
24 func (q GetAllPortfoliosQuery) Run() (interface{}, *Error) {
25 u, err := db.GetActiveUsers()
27 return nil, NewInternalError(err)
30 q.Out = make(map[string]Portfolio)
32 for _, marketConfig := range u {
33 report, err := GetWeekPortfolio(marketConfig)
34 if ErrorIs(err, NotFound) {
39 return nil, NewInternalError(err)
42 q.Out[marketConfig.User.Email] = report.Round()