fix(NET-1175): use default trial end date

this "more recent" arbitrary date is needed for hubspot to consume exported data without throwing out of date range exeptions
This commit is contained in:
the_aceix 2024-05-03 12:52:37 +00:00
parent 715c3051a9
commit 5d02109252
2 changed files with 11 additions and 9 deletions

View file

@ -21,9 +21,11 @@ var (
EgressesLimit = 1000000000 EgressesLimit = 1000000000
// FreeTier - specifies if free tier // FreeTier - specifies if free tier
FreeTier = false FreeTier = false
// DefaultTrialEndDate - is a placeholder date for not applicable trial end dates
DefaultTrialEndDate, _ = time.Parse("2006-Jan-02", "2021-Apr-01")
GetTrialEndDate = func() (time.Time, error) { GetTrialEndDate = func() (time.Time, error) {
return time.Time{}, nil return DefaultTrialEndDate, nil
} }
) )

View file

@ -124,37 +124,37 @@ func TrialLicenseHook() error {
func getTrialEndDate() (time.Time, error) { func getTrialEndDate() (time.Time, error) {
record, err := database.FetchRecord(trial_table_name, trial_data_key) record, err := database.FetchRecord(trial_table_name, trial_data_key)
if err != nil { if err != nil {
return time.Time{}, err return logic.DefaultTrialEndDate, err
} }
var trialInfo TrialInfo var trialInfo TrialInfo
err = json.Unmarshal([]byte(record), &trialInfo) err = json.Unmarshal([]byte(record), &trialInfo)
if err != nil { if err != nil {
return time.Time{}, err return logic.DefaultTrialEndDate, err
} }
tel, err := logic.FetchTelemetryRecord() tel, err := logic.FetchTelemetryRecord()
if err != nil { if err != nil {
return time.Time{}, err return logic.DefaultTrialEndDate, err
} }
telePrivKey, err := ncutils.ConvertBytesToKey(tel.TrafficKeyPriv) telePrivKey, err := ncutils.ConvertBytesToKey(tel.TrafficKeyPriv)
if err != nil { if err != nil {
return time.Time{}, err return logic.DefaultTrialEndDate, err
} }
trialPubKey, err := ncutils.ConvertBytesToKey(trialInfo.PubKey) trialPubKey, err := ncutils.ConvertBytesToKey(trialInfo.PubKey)
if err != nil { if err != nil {
return time.Time{}, err return logic.DefaultTrialEndDate, err
} }
// decrypt secret // decrypt secret
secretDecrypt, err := ncutils.BoxDecrypt(trialInfo.Secret, trialPubKey, telePrivKey) secretDecrypt, err := ncutils.BoxDecrypt(trialInfo.Secret, trialPubKey, telePrivKey)
if err != nil { if err != nil {
return time.Time{}, err return logic.DefaultTrialEndDate, err
} }
trialDates := TrialDates{} trialDates := TrialDates{}
err = json.Unmarshal(secretDecrypt, &trialDates) err = json.Unmarshal(secretDecrypt, &trialDates)
if err != nil { if err != nil {
return time.Time{}, err return logic.DefaultTrialEndDate, err
} }
if trialDates.TrialEndsAt.IsZero() { if trialDates.TrialEndsAt.IsZero() {
return time.Time{}, errors.New("invalid date") return logic.DefaultTrialEndDate, errors.New("invalid date")
} }
return trialDates.TrialEndsAt, nil return trialDates.TrialEndsAt, nil