github.com/Axway/agent-sdk@v1.1.101/pkg/agent/cache/credentialrequestdefinitions.go (about) 1 package cache 2 3 import v1 "github.com/Axway/agent-sdk/pkg/apic/apiserver/models/api/v1" 4 5 // Credential request definition cache management 6 7 // AddCredentialRequestDefinition - add/update CredentialRequestDefinition resource in cache 8 func (c *cacheManager) AddCredentialRequestDefinition(resource *v1.ResourceInstance) { 9 defer c.setCacheUpdated(true) 10 11 c.crdMap.SetWithSecondaryKey(resource.Metadata.ID, resource.Name, resource) 12 } 13 14 // GetCredentialRequestDefinitionKeys - returns keys for CredentialRequestDefinition cache 15 func (c *cacheManager) GetCredentialRequestDefinitionKeys() []string { 16 c.ApplyResourceReadLock() 17 defer c.ReleaseResourceReadLock() 18 19 return c.crdMap.GetKeys() 20 } 21 22 func (c *cacheManager) ListCredentialRequestDefinitions() []*v1.ResourceInstance { 23 keys := c.GetCredentialRequestDefinitionKeys() 24 c.ApplyResourceReadLock() 25 defer c.ReleaseResourceReadLock() 26 27 var instances []*v1.ResourceInstance 28 29 for _, key := range keys { 30 item, _ := c.crdMap.Get(key) 31 if item != nil { 32 instance, ok := item.(*v1.ResourceInstance) 33 if ok { 34 instances = append(instances, instance) 35 } 36 } 37 } 38 39 return instances 40 } 41 42 // GetCredentialRequestDefinitionByName - returns resource from CredentialRequestDefinition cache based on resource name 43 func (c *cacheManager) GetCredentialRequestDefinitionByName(name string) (*v1.ResourceInstance, error) { 44 c.ApplyResourceReadLock() 45 defer c.ReleaseResourceReadLock() 46 47 item, err := c.crdMap.GetBySecondaryKey(name) 48 if item != nil { 49 if ard, ok := item.(*v1.ResourceInstance); ok { 50 return ard, nil 51 } 52 } 53 return nil, err 54 } 55 56 // GetCredentialRequestDefinitionByID - returns resource from CredentialRequestDefinition cache based on resource id 57 func (c *cacheManager) GetCredentialRequestDefinitionByID(id string) (*v1.ResourceInstance, error) { 58 c.ApplyResourceReadLock() 59 defer c.ReleaseResourceReadLock() 60 61 item, err := c.crdMap.Get(id) 62 if item != nil { 63 if ard, ok := item.(*v1.ResourceInstance); ok { 64 return ard, nil 65 } 66 } 67 return nil, err 68 } 69 70 // DeleteCredentialRequestDefinition - deletes the CredentialRequestDefinition cache based on resource id 71 func (c *cacheManager) DeleteCredentialRequestDefinition(id string) error { 72 defer c.setCacheUpdated(true) 73 74 return c.crdMap.Delete(id) 75 }