diff --git a/service/internal/entities/storage.go b/service/internal/entities/storage.go index b94ddf5..5bed05c 100644 --- a/service/internal/entities/storage.go +++ b/service/internal/entities/storage.go @@ -60,10 +60,16 @@ func GetAll() *variableBase { } func GetEntities() entitiesByClass { + rwmutex.RLock() + defer rwmutex.RUnlock() + return contents.Entities } func GetEntityInstances(entityName string) entityInstancesByKey { + rwmutex.RLock() + defer rwmutex.RUnlock() + if entities, ok := contents.Entities[entityName]; ok { return entities } diff --git a/service/internal/entities/templates.go b/service/internal/entities/templates.go index 46b5bff..ccb67f0 100644 --- a/service/internal/entities/templates.go +++ b/service/internal/entities/templates.go @@ -91,7 +91,7 @@ func ParseTemplateWithArgs(source string, ent *Entity, args map[string]string) s } templateVariables := &variableBase{ - OliveTin: contents.OliveTin, + OliveTin: GetAll().OliveTin, Arguments: args, CurrentEntity: entdata, } @@ -126,5 +126,8 @@ func ParseTemplateBoolWith(source string, ent *Entity) bool { } func ClearEntities(entityType string) { + rwmutex.Lock() + defer rwmutex.Unlock() + delete(contents.Entities, entityType) }