Browse Source

revamp pro trial invocation

abhishek9686 1 year ago
parent
commit
040e700099
3 changed files with 22 additions and 9 deletions
  1. 0 1
      main_ee.go
  2. 20 7
      pro/initialize.go
  3. 2 1
      pro/trial.go

+ 0 - 1
main_ee.go

@@ -6,6 +6,5 @@ package main
 import "github.com/gravitl/netmaker/pro"
 import "github.com/gravitl/netmaker/pro"
 
 
 func init() {
 func init() {
-	pro.InitTrial()
 	pro.InitPro()
 	pro.InitPro()
 }
 }

+ 20 - 7
pro/initialize.go

@@ -7,6 +7,7 @@ import (
 	"time"
 	"time"
 
 
 	controller "github.com/gravitl/netmaker/controllers"
 	controller "github.com/gravitl/netmaker/controllers"
+	"github.com/gravitl/netmaker/logger"
 	"github.com/gravitl/netmaker/logic"
 	"github.com/gravitl/netmaker/logic"
 	"github.com/gravitl/netmaker/models"
 	"github.com/gravitl/netmaker/models"
 	"github.com/gravitl/netmaker/mq"
 	"github.com/gravitl/netmaker/mq"
@@ -34,16 +35,28 @@ func InitPro() {
 	logic.EnterpriseCheckFuncs = append(logic.EnterpriseCheckFuncs, func() {
 	logic.EnterpriseCheckFuncs = append(logic.EnterpriseCheckFuncs, func() {
 		// == License Handling ==
 		// == License Handling ==
 		enableLicenseHook := false
 		enableLicenseHook := false
-		trialEndDate, err := getTrialEndDate()
-		if err != nil {
-			slog.Error("failed to get trial end date", "error", err)
+		licenseKeyValue := servercfg.GetLicenseKey()
+		netmakerTenantID := servercfg.GetNetmakerTenantID()
+		if licenseKeyValue != "" && netmakerTenantID != "" {
 			enableLicenseHook = true
 			enableLicenseHook = true
 		}
 		}
-		// check if trial ended
-		if time.Now().After(trialEndDate) {
-			// trial ended already
-			enableLicenseHook = true
+		if !enableLicenseHook {
+			err := initTrial()
+			if err != nil {
+				logger.FatalLog0("failed to init trail", err.Error())
+			}
+			trialEndDate, err := getTrialEndDate()
+			if err != nil {
+				slog.Error("failed to get trial end date", "error", err)
+				enableLicenseHook = true
+			}
+			// check if trial ended
+			if time.Now().After(trialEndDate) {
+				// trial ended already
+				enableLicenseHook = true
+			}
 		}
 		}
+
 		if enableLicenseHook {
 		if enableLicenseHook {
 			slog.Info("starting license checker")
 			slog.Info("starting license checker")
 			ClearLicenseCache()
 			ClearLicenseCache()

+ 2 - 1
pro/trial.go

@@ -41,7 +41,7 @@ const trial_table_name = "trial"
 const trial_data_key = "trialdata"
 const trial_data_key = "trialdata"
 
 
 // store trial date
 // store trial date
-func InitTrial() error {
+func initTrial() error {
 	telData, err := logic.FetchTelemetryData()
 	telData, err := logic.FetchTelemetryData()
 	if err != nil {
 	if err != nil {
 		return err
 		return err
@@ -52,6 +52,7 @@ func InitTrial() error {
 	err = database.CreateTable(trial_table_name)
 	err = database.CreateTable(trial_table_name)
 	if err != nil {
 	if err != nil {
 		slog.Error("failed to create table", "table name", trial_table_name, "err", err.Error())
 		slog.Error("failed to create table", "table name", trial_table_name, "err", err.Error())
+		if errors.Is
 		return err
 		return err
 	}
 	}
 	// setup encryption keys
 	// setup encryption keys