| 1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374 | package logicimport (	"encoding/json"	"github.com/gravitl/netmaker/database")type serverData struct {	PrivateKey string `json:"privatekey,omitempty" bson:"privatekey,omitempty"`}// StorePrivKey - stores server client WireGuard privatekey if neededfunc 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 keyfunc 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 keyfunc RemovePrivKey(serverID string) error {	return database.DeleteRecord(database.SERVERCONF_TABLE_NAME, serverID)}// FetchJWTSecret - fetches jwt secret from dbfunc FetchJWTSecret() (string, error) {	var dbData string	var err error	var fetchedData = serverData{}	dbData, err = database.FetchRecord(database.SERVERCONF_TABLE_NAME, "nm-jwt-secret")	if err != nil {		return "", err	}	err = json.Unmarshal([]byte(dbData), &fetchedData)	if err != nil {		return "", err	}	return fetchedData.PrivateKey, nil}// StoreJWTSecret - stores server jwt secret if neededfunc StoreJWTSecret(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("nm-jwt-secret", string(data), database.SERVERCONF_TABLE_NAME)}
 |