+ updateDomainInfo(&updatedProvider, registeredProvider)
+
+ funcsAfterUpdate, err := updateFuncs(updatedProvider.ApiProvFuncs, registeredProvider.ApiProvFuncs)
+ if err == nil {
+ registeredProvider.ApiProvFuncs = funcsAfterUpdate
+
+ pm.registeredProviders[*registeredProvider.ApiProvDomId] = *registeredProvider
+ return nil
+ }
+ return err
+}
+
+func updateDomainInfo(updatedProvider, registeredProvider *provapi.APIProviderEnrolmentDetails) {
+ if updatedProvider.ApiProvDomInfo != nil {
+ registeredProvider.ApiProvDomInfo = updatedProvider.ApiProvDomInfo
+ }
+}
+
+func updateFuncs(updatedFuncs, registeredFuncs *[]provapi.APIProviderFunctionDetails) (*[]provapi.APIProviderFunctionDetails, error) {
+ addedFuncs := []provapi.APIProviderFunctionDetails{}
+ changedFuncs := []provapi.APIProviderFunctionDetails{}
+ for _, function := range *updatedFuncs {