mirror of
https://github.com/gravitl/netmaker.git
synced 2025-09-06 21:24:16 +08:00
add trial end date to server status api
This commit is contained in:
parent
e390398e8c
commit
7a39ef3e4e
3 changed files with 15 additions and 39 deletions
|
@ -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")
|
||||
|
|
|
@ -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
|
||||
|
|
|
@ -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
|
||||
}
|
||||
|
|
Loading…
Add table
Reference in a new issue