fix: keep growth analysis available per terminal
This commit is contained in:
@@ -55,7 +55,7 @@ func (s *Service) Create(ctx context.Context, userID, merchantID int64, request
|
||||
})
|
||||
if err != nil {
|
||||
if errors.Is(err, ErrRefreshLimited) {
|
||||
next, quotaErr := s.repository.NextRefreshAt(ctx, merchantID, now)
|
||||
next, quotaErr := s.repository.NextRefreshAt(ctx, merchantID, request.TerminalID, now)
|
||||
if quotaErr != nil {
|
||||
return Record{}, false, quotaErr
|
||||
}
|
||||
@@ -64,18 +64,22 @@ func (s *Service) Create(ctx context.Context, userID, merchantID int64, request
|
||||
return Record{}, false, err
|
||||
}
|
||||
record.Cached = cached
|
||||
record.NextRefreshAt, err = s.repository.NextRefreshAt(ctx, merchantID, now)
|
||||
record.NextRefreshAt, err = s.repository.NextRefreshAt(ctx, merchantID, request.TerminalID, now)
|
||||
return record, cached, err
|
||||
}
|
||||
func (s *Service) Get(ctx context.Context, merchantID int64, id string) (Record, error) {
|
||||
record, err := s.repository.Get(ctx, merchantID, id)
|
||||
if err == nil {
|
||||
record.NextRefreshAt, _ = s.repository.NextRefreshAt(ctx, merchantID, s.now())
|
||||
terminalID := ""
|
||||
if record.Scope.TerminalID != nil {
|
||||
terminalID = *record.Scope.TerminalID
|
||||
}
|
||||
record.NextRefreshAt, _ = s.repository.NextRefreshAt(ctx, merchantID, terminalID, s.now())
|
||||
}
|
||||
return record, err
|
||||
}
|
||||
func (s *Service) Latest(ctx context.Context, merchantID int64, terminalID string) (Record, error) {
|
||||
record, err := s.repository.Latest(ctx, merchantID, terminalID)
|
||||
record, err := s.repository.Latest(ctx, merchantID, terminalID, growth.AnalyticsVersion)
|
||||
if err == nil {
|
||||
record.Cached = true
|
||||
watermark, start, metadataErr := s.repository.DatasetMetadata(ctx)
|
||||
@@ -84,7 +88,7 @@ func (s *Service) Latest(ctx context.Context, merchantID int64, terminalID strin
|
||||
} else {
|
||||
record.Stale = record.Fingerprint != s.fingerprint(merchantID, terminalID, watermark, start)
|
||||
}
|
||||
record.NextRefreshAt, _ = s.repository.NextRefreshAt(ctx, merchantID, s.now())
|
||||
record.NextRefreshAt, _ = s.repository.NextRefreshAt(ctx, merchantID, terminalID, s.now())
|
||||
}
|
||||
return record, err
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user