1
0
mirror of https://github.com/muety/wakapi.git synced 2023-08-10 21:12:56 +03:00

fix: support project query param for alltime endpoint

This commit is contained in:
Ferdinand Mütsch
2020-09-11 20:22:33 +02:00
parent 84e9559860
commit a8009e107d
4 changed files with 31 additions and 7 deletions

View File

@ -2,11 +2,11 @@ package v1
// https://wakatime.com/developers#all_time_since_today
type AllTimeVieModel struct {
Data *AllTimeVieModelData `json:"data"`
type AllTimeViewModel struct {
Data *AllTimeViewModelData `json:"data"`
}
type AllTimeVieModelData struct {
type AllTimeViewModelData struct {
Seconds float32 `json:"seconds"` // total number of seconds logged since account created
Text string `json:"text"` // total time logged since account created as human readable string>
IsUpToDate bool `json:"is_up_to_date"` // true if the stats are up to date; when false, a 202 response code is returned and stats will be refreshed soon>

View File

@ -138,3 +138,21 @@ func (s *Summary) TotalTime() time.Duration {
return timeSum
}
func (s *Summary) TotalTimeBy(entityType uint8, key string) time.Duration {
var timeSum time.Duration
mappedItems := s.MappedItems()
// calculate total duration from any of the present sets of items
if items := mappedItems[entityType]; len(*items) > 0 {
for _, item := range *items {
if item.Key != key {
continue
}
timeSum += item.Total
}
}
return timeSum
}