Add true up review status history, add migration for persisting history, add store to create, get, and update true up review history entries, cleanup errors, etc.

Этот коммит содержится в:
Conor Macpherson
2022-12-22 14:59:05 -05:00
родитель 91bc4b3c80
Коммит 88090ea40b
19 изменённых файлов: 488 добавлений и 17 удалений

Просмотреть файл

@@ -54,6 +54,7 @@ type TimerLayer struct {
TermsOfServiceStore store.TermsOfServiceStore
ThreadStore store.ThreadStore
TokenStore store.TokenStore
TrueUpReviewStore store.TrueUpReviewStore
UploadSessionStore store.UploadSessionStore
UserStore store.UserStore
UserAccessTokenStore store.UserAccessTokenStore
@@ -205,6 +206,10 @@ func (s *TimerLayer) Token() store.TokenStore {
return s.TokenStore
}
func (s *TimerLayer) TrueUpReview() store.TrueUpReviewStore {
return s.TrueUpReviewStore
}
func (s *TimerLayer) UploadSession() store.UploadSessionStore {
return s.UploadSessionStore
}
@@ -405,6 +410,11 @@ type TimerLayerTokenStore struct {
Root *TimerLayer
}
type TimerLayerTrueUpReviewStore struct {
store.TrueUpReviewStore
Root *TimerLayer
}
type TimerLayerUploadSessionStore struct {
store.UploadSessionStore
Root *TimerLayer
@@ -9549,6 +9559,38 @@ func (s *TimerLayerTokenStore) Save(recovery *model.Token) error {
return err
}
func (s *TimerLayerTrueUpReviewStore) CreateTrueUpReviewStatusRecord(reviewStatus *model.TrueUpReviewStatus) (*model.TrueUpReviewStatus, error) {
start := time.Now()
result, err := s.TrueUpReviewStore.CreateTrueUpReviewStatusRecord(reviewStatus)
elapsed := float64(time.Since(start)) / float64(time.Second)
if s.Root.Metrics != nil {
success := "false"
if err == nil {
success = "true"
}
s.Root.Metrics.ObserveStoreMethodDuration("TrueUpReviewStore.CreateTrueUpReviewStatusRecord", success, elapsed)
}
return result, err
}
func (s *TimerLayerTrueUpReviewStore) GetTrueUpReviewStatus(dueDate string) (*model.TrueUpReviewStatus, error) {
start := time.Now()
result, err := s.TrueUpReviewStore.GetTrueUpReviewStatus(dueDate)
elapsed := float64(time.Since(start)) / float64(time.Second)
if s.Root.Metrics != nil {
success := "false"
if err == nil {
success = "true"
}
s.Root.Metrics.ObserveStoreMethodDuration("TrueUpReviewStore.GetTrueUpReviewStatus", success, elapsed)
}
return result, err
}
func (s *TimerLayerUploadSessionStore) Delete(id string) error {
start := time.Now()
@@ -11573,6 +11615,7 @@ func New(childStore store.Store, metrics einterfaces.MetricsInterface) *TimerLay
newStore.TermsOfServiceStore = &TimerLayerTermsOfServiceStore{TermsOfServiceStore: childStore.TermsOfService(), Root: &newStore}
newStore.ThreadStore = &TimerLayerThreadStore{ThreadStore: childStore.Thread(), Root: &newStore}
newStore.TokenStore = &TimerLayerTokenStore{TokenStore: childStore.Token(), Root: &newStore}
newStore.TrueUpReviewStore = &TimerLayerTrueUpReviewStore{TrueUpReviewStore: childStore.TrueUpReview(), Root: &newStore}
newStore.UploadSessionStore = &TimerLayerUploadSessionStore{UploadSessionStore: childStore.UploadSession(), Root: &newStore}
newStore.UserStore = &TimerLayerUserStore{UserStore: childStore.User(), Root: &newStore}
newStore.UserAccessTokenStore = &TimerLayerUserAccessTokenStore{UserAccessTokenStore: childStore.UserAccessToken(), Root: &newStore}