|
@@ -33,7 +33,7 @@ var EnrollmentErrors = struct {
|
|
|
}
|
|
|
var (
|
|
|
enrollmentkeyCacheMutex = &sync.RWMutex{}
|
|
|
- enrollmentkeyCacheMap = make(map[string]*models.EnrollmentKey)
|
|
|
+ enrollmentkeyCacheMap = make(map[string]models.EnrollmentKey)
|
|
|
)
|
|
|
|
|
|
// CreateEnrollmentKey - creates a new enrollment key in db
|
|
@@ -110,21 +110,21 @@ func UpdateEnrollmentKey(keyId string, relayId uuid.UUID) (*models.EnrollmentKey
|
|
|
|
|
|
key.Relay = relayId
|
|
|
|
|
|
- if err = upsertEnrollmentKey(key); err != nil {
|
|
|
+ if err = upsertEnrollmentKey(&key); err != nil {
|
|
|
return nil, err
|
|
|
}
|
|
|
|
|
|
- return key, nil
|
|
|
+ return &key, nil
|
|
|
}
|
|
|
|
|
|
// GetAllEnrollmentKeys - fetches all enrollment keys from DB
|
|
|
// TODO drop double pointer
|
|
|
-func GetAllEnrollmentKeys() ([]*models.EnrollmentKey, error) {
|
|
|
+func GetAllEnrollmentKeys() ([]models.EnrollmentKey, error) {
|
|
|
currentKeys, err := getEnrollmentKeysMap()
|
|
|
if err != nil {
|
|
|
return nil, err
|
|
|
}
|
|
|
- var currentKeysList = []*models.EnrollmentKey{}
|
|
|
+ var currentKeysList = []models.EnrollmentKey{}
|
|
|
for k := range currentKeys {
|
|
|
currentKeysList = append(currentKeysList, currentKeys[k])
|
|
|
}
|
|
@@ -133,15 +133,15 @@ func GetAllEnrollmentKeys() ([]*models.EnrollmentKey, error) {
|
|
|
|
|
|
// GetEnrollmentKey - fetches a single enrollment key
|
|
|
// returns nil and error if not found
|
|
|
-func GetEnrollmentKey(value string) (*models.EnrollmentKey, error) {
|
|
|
+func GetEnrollmentKey(value string) (key models.EnrollmentKey, err error) {
|
|
|
currentKeys, err := getEnrollmentKeysMap()
|
|
|
if err != nil {
|
|
|
- return nil, err
|
|
|
+ return key, err
|
|
|
}
|
|
|
if key, ok := currentKeys[value]; ok {
|
|
|
return key, nil
|
|
|
}
|
|
|
- return nil, EnrollmentErrors.NoKeyFound
|
|
|
+ return key, EnrollmentErrors.NoKeyFound
|
|
|
}
|
|
|
|
|
|
func deleteEnrollmentkeyFromCache(key string) {
|
|
@@ -218,7 +218,7 @@ func DeTokenize(b64Token string) (*models.EnrollmentKey, error) {
|
|
|
if err != nil {
|
|
|
return nil, err
|
|
|
}
|
|
|
- return k, nil
|
|
|
+ return &k, nil
|
|
|
}
|
|
|
|
|
|
// == private ==
|
|
@@ -233,11 +233,11 @@ func decrementEnrollmentKey(value string) (*models.EnrollmentKey, error) {
|
|
|
return nil, EnrollmentErrors.NoUsesRemaining
|
|
|
}
|
|
|
k.UsesRemaining = k.UsesRemaining - 1
|
|
|
- if err = upsertEnrollmentKey(k); err != nil {
|
|
|
+ if err = upsertEnrollmentKey(&k); err != nil {
|
|
|
return nil, err
|
|
|
}
|
|
|
|
|
|
- return k, nil
|
|
|
+ return &k, nil
|
|
|
}
|
|
|
|
|
|
func upsertEnrollmentKey(k *models.EnrollmentKey) error {
|
|
@@ -251,7 +251,7 @@ func upsertEnrollmentKey(k *models.EnrollmentKey) error {
|
|
|
err = database.Insert(k.Value, string(data), database.ENROLLMENT_KEYS_TABLE_NAME)
|
|
|
if err == nil {
|
|
|
if servercfg.CacheEnabled() {
|
|
|
- storeEnrollmentkeyInCache(k.Value, k)
|
|
|
+ storeEnrollmentkeyInCache(k.Value, *k)
|
|
|
}
|
|
|
}
|
|
|
return nil
|
|
@@ -269,17 +269,17 @@ func getUniqueEnrollmentID() (string, error) {
|
|
|
return newID, nil
|
|
|
}
|
|
|
|
|
|
-func getEnrollmentkeysFromCache() map[string]*models.EnrollmentKey {
|
|
|
+func getEnrollmentkeysFromCache() map[string]models.EnrollmentKey {
|
|
|
return enrollmentkeyCacheMap
|
|
|
}
|
|
|
|
|
|
-func storeEnrollmentkeyInCache(key string, enrollmentkey *models.EnrollmentKey) {
|
|
|
+func storeEnrollmentkeyInCache(key string, enrollmentkey models.EnrollmentKey) {
|
|
|
enrollmentkeyCacheMutex.Lock()
|
|
|
enrollmentkeyCacheMap[key] = enrollmentkey
|
|
|
enrollmentkeyCacheMutex.Unlock()
|
|
|
}
|
|
|
|
|
|
-func getEnrollmentKeysMap() (map[string]*models.EnrollmentKey, error) {
|
|
|
+func getEnrollmentKeysMap() (map[string]models.EnrollmentKey, error) {
|
|
|
if servercfg.CacheEnabled() {
|
|
|
keys := getEnrollmentkeysFromCache()
|
|
|
if len(keys) != 0 {
|
|
@@ -295,16 +295,16 @@ func getEnrollmentKeysMap() (map[string]*models.EnrollmentKey, error) {
|
|
|
if records == nil {
|
|
|
records = make(map[string]string)
|
|
|
}
|
|
|
- currentKeys := make(map[string]*models.EnrollmentKey, 0)
|
|
|
+ currentKeys := make(map[string]models.EnrollmentKey, 0)
|
|
|
if len(records) > 0 {
|
|
|
for k := range records {
|
|
|
var currentKey models.EnrollmentKey
|
|
|
if err = json.Unmarshal([]byte(records[k]), ¤tKey); err != nil {
|
|
|
continue
|
|
|
}
|
|
|
- currentKeys[k] = ¤tKey
|
|
|
+ currentKeys[k] = currentKey
|
|
|
if servercfg.CacheEnabled() {
|
|
|
- storeEnrollmentkeyInCache(currentKey.Value, ¤tKey)
|
|
|
+ storeEnrollmentkeyInCache(currentKey.Value, currentKey)
|
|
|
}
|
|
|
}
|
|
|
}
|