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

41 lines
906 B
Go
Raw Normal View History

2020-11-06 23:19:54 +03:00
package view
import (
conf "github.com/muety/wakapi/config"
"github.com/muety/wakapi/models"
"time"
)
2021-12-16 14:39:41 +03:00
2020-11-06 23:19:54 +03:00
type SummaryViewModel struct {
Messages
2021-12-16 14:39:41 +03:00
*models.Summary
*models.SummaryParams
User *models.User
AvatarURL string
EditorColors map[string]string
2021-12-16 14:39:41 +03:00
LanguageColors map[string]string
OSColors map[string]string
2021-12-16 14:39:41 +03:00
ApiKey string
RawQuery string
UserFirstData time.Time
}
func (s SummaryViewModel) UserDataExpiring() bool {
cfg := conf.Get()
return cfg.Subscriptions.Enabled &&
cfg.App.DataRetentionMonths > 0 &&
!s.UserFirstData.IsZero() &&
!s.User.HasActiveSubscription() &&
time.Now().AddDate(0, -cfg.App.DataRetentionMonths, 0).After(s.UserFirstData)
2020-11-06 23:19:54 +03:00
}
func (s *SummaryViewModel) WithSuccess(m string) *SummaryViewModel {
s.SetSuccess(m)
2020-11-06 23:19:54 +03:00
return s
}
func (s *SummaryViewModel) WithError(m string) *SummaryViewModel {
s.SetError(m)
2020-11-06 23:19:54 +03:00
return s
}