add trial end date to server status api

This commit is contained in:
abhishek9686 2024-01-20 01:30:09 +05:30
parent e390398e8c
commit 7a39ef3e4e
3 changed files with 15 additions and 39 deletions

View file

@ -5,6 +5,7 @@ import (
"net/http"
"strings"
"syscall"
"time"
"github.com/gorilla/mux"
"golang.org/x/exp/slog"
@ -109,22 +110,24 @@ func getUsage(w http.ResponseWriter, _ *http.Request) {
// 200: serverConfigResponse
func getStatus(w http.ResponseWriter, r *http.Request) {
type status struct {
DB bool `json:"db_connected"`
Broker bool `json:"broker_connected"`
LicenseError string `json:"license_error"`
IsPro bool `json:"is_pro"`
DB bool `json:"db_connected"`
Broker bool `json:"broker_connected"`
LicenseError string `json:"license_error"`
IsPro bool `json:"is_pro"`
TrialEndDate time.Time `json:"trial_end_date"`
}
licenseErr := ""
if servercfg.ErrLicenseValidation != nil {
licenseErr = servercfg.ErrLicenseValidation.Error()
}
trialEndDate, _ := logic.GetTrialEndDate()
currentServerStatus := status{
DB: database.IsConnected(),
Broker: mq.IsConnected(),
LicenseError: licenseErr,
IsPro: servercfg.IsPro,
TrialEndDate: trialEndDate,
}
w.Header().Set("Content-Type", "application/json")

View file

@ -2,6 +2,8 @@ package logic
import (
"encoding/json"
"time"
"github.com/gravitl/netmaker/database"
"github.com/gravitl/netmaker/servercfg"
)
@ -19,46 +21,16 @@ var (
EgressesLimit = 1000000000
// FreeTier - specifies if free tier
FreeTier = false
GetTrialEndDate = func() (time.Time, error) {
return time.Time{}, nil
}
)
type serverData struct {
PrivateKey string `json:"privatekey,omitempty" bson:"privatekey,omitempty"`
}
// StorePrivKey - stores server client WireGuard privatekey if needed
func StorePrivKey(serverID string, privateKey string) error {
var newData = serverData{}
var err error
var data []byte
newData.PrivateKey = privateKey
data, err = json.Marshal(&newData)
if err != nil {
return err
}
return database.Insert(serverID, string(data), database.SERVERCONF_TABLE_NAME)
}
// FetchPrivKey - fetches private key
func FetchPrivKey(serverID string) (string, error) {
var dbData string
var err error
var fetchedData = serverData{}
dbData, err = database.FetchRecord(database.SERVERCONF_TABLE_NAME, serverID)
if err != nil {
return "", err
}
err = json.Unmarshal([]byte(dbData), &fetchedData)
if err != nil {
return "", err
}
return fetchedData.PrivateKey, nil
}
// RemovePrivKey - removes a private key
func RemovePrivKey(serverID string) error {
return database.DeleteRecord(database.SERVERCONF_TABLE_NAME, serverID)
}
// FetchJWTSecret - fetches jwt secret from db
func FetchJWTSecret() (string, error) {
var dbData string

View file

@ -96,6 +96,7 @@ func InitPro() {
logic.RelayUpdates = proLogic.RelayUpdates
logic.IsInternetGw = proLogic.IsInternetGw
logic.SetInternetGw = proLogic.SetInternetGw
logic.GetTrialEndDate = getTrialEndDate
mq.UpdateMetrics = proLogic.MQUpdateMetrics
mq.UpdateMetricsFallBack = proLogic.MQUpdateMetricsFallBack
}