github.com/Axway/agent-sdk@v1.1.101/pkg/agent/handler/credentialrequestdefinition.go (about) 1 package handler 2 3 import ( 4 "context" 5 6 agentcache "github.com/Axway/agent-sdk/pkg/agent/cache" 7 apiv1 "github.com/Axway/agent-sdk/pkg/apic/apiserver/models/api/v1" 8 management "github.com/Axway/agent-sdk/pkg/apic/apiserver/models/management/v1alpha1" 9 "github.com/Axway/agent-sdk/pkg/watchmanager/proto" 10 ) 11 12 type crdHandler struct { 13 agentCacheManager agentcache.Manager 14 } 15 16 // NewCRDHandler creates a Handler for Credential Request Definitions 17 func NewCRDHandler(agentCacheManager agentcache.Manager) Handler { 18 return &crdHandler{ 19 agentCacheManager: agentCacheManager, 20 } 21 } 22 23 // Handle processes grpc events triggered for Credentials 24 func (h *crdHandler) Handle(ctx context.Context, _ *proto.EventMeta, resource *apiv1.ResourceInstance) error { 25 action := GetActionFromContext(ctx) 26 if resource.Kind != management.CredentialRequestDefinitionGVK().Kind { 27 return nil 28 } 29 30 if action != proto.Event_DELETED { 31 h.agentCacheManager.AddCredentialRequestDefinition(resource) 32 return nil 33 } 34 35 return h.agentCacheManager.DeleteCredentialRequestDefinition(resource.Metadata.ID) 36 }