func (resource ServiceInstancesSummaries) ToModels() (instances []models.ServiceInstance) { for _, instanceSummary := range resource.ServiceInstances { applicationNames := resource.findApplicationNamesForInstance(instanceSummary.Name) planSummary := instanceSummary.ServicePlan servicePlan := models.ServicePlanFields{} servicePlan.Name = planSummary.Name servicePlan.Guid = planSummary.Guid offeringSummary := planSummary.ServiceOffering serviceOffering := models.ServiceOfferingFields{} serviceOffering.Label = offeringSummary.Label serviceOffering.Provider = offeringSummary.Provider serviceOffering.Version = offeringSummary.Version instance := models.ServiceInstance{} instance.Name = instanceSummary.Name instance.ApplicationNames = applicationNames instance.ServicePlan = servicePlan instance.ServiceOffering = serviceOffering instances = append(instances, instance) } return }
func (resource ServiceOfferingResource) ToModel() (offering models.ServiceOffering) { offering.ServiceOfferingFields = resource.ToFields() for _, p := range resource.Entity.ServicePlans { servicePlan := models.ServicePlanFields{} servicePlan.Name = p.Entity.Name servicePlan.Guid = p.Metadata.Guid offering.Plans = append(offering.Plans, servicePlan) } return offering }
func (actor ServicePlanHandler) UpdatePlanAndOrgForService(serviceName, planName, orgName string, setPlanVisibility bool) (PlanAccess, error) { service, err := actor.serviceBuilder.GetServiceByNameForOrg(serviceName, orgName) if err != nil { return PlanAccessError, err } org, err := actor.orgRepo.FindByName(orgName) if err != nil { return PlanAccessError, err } found := false var servicePlan models.ServicePlanFields for i, val := range service.Plans { if val.Name == planName { found = true servicePlan = service.Plans[i] } } if !found { return PlanAccessError, errors.New(fmt.Sprintf("Service plan %s not found", planName)) } if !servicePlan.Public && setPlanVisibility { if servicePlan.OrgHasVisibility(orgName) { return Limited, nil } // Enable service access err = actor.servicePlanVisibilityRepo.Create(servicePlan.Guid, org.Guid) if err != nil { return PlanAccessError, err } } else if !servicePlan.Public && !setPlanVisibility { // Disable service access if servicePlan.OrgHasVisibility(org.Name) { err = actor.deleteServicePlanVisibilities(map[string]string{"organization_guid": org.Guid, "service_plan_guid": servicePlan.Guid}) if err != nil { return PlanAccessError, err } } } access := actor.findPlanAccess(servicePlan) return access, nil }