func (cmd *CreateRoute) CreateRoute(hostName string, domain models.DomainFields, space models.SpaceFields) (route models.Route, apiErr error) { cmd.ui.Say("Creating route %s for org %s / space %s as %s...", terminal.EntityNameColor(domain.UrlForHost(hostName)), terminal.EntityNameColor(cmd.config.OrganizationFields().Name), terminal.EntityNameColor(space.Name), terminal.EntityNameColor(cmd.config.Username()), ) route, apiErr = cmd.routeRepo.CreateInSpace(hostName, domain.Guid, space.Guid) if apiErr != nil { var findApiResponse error route, findApiResponse = cmd.routeRepo.FindByHostAndDomain(hostName, domain) if findApiResponse != nil || route.Space.Guid != space.Guid || route.Domain.Guid != domain.Guid { return } apiErr = nil cmd.ui.Ok() cmd.ui.Warn("Route %s already exists", route.URL()) return } cmd.ui.Ok() return }
func (cmd *CreateRoute) CreateRoute(hostName string, domain models.DomainFields, space models.SpaceFields) (route models.Route, apiErr error) { cmd.ui.Say(T("Creating route {{.Hostname}} for org {{.OrgName}} / space {{.SpaceName}} as {{.Username}}...", map[string]interface{}{ "Hostname": terminal.EntityNameColor(domain.UrlForHost(hostName)), "OrgName": terminal.EntityNameColor(cmd.config.OrganizationFields().Name), "SpaceName": terminal.EntityNameColor(space.Name), "Username": terminal.EntityNameColor(cmd.config.Username())})) route, apiErr = cmd.routeRepo.CreateInSpace(hostName, domain.Guid, space.Guid) if apiErr != nil { var findApiResponse error route, findApiResponse = cmd.routeRepo.FindByHostAndDomain(hostName, domain) if findApiResponse != nil || route.Space.Guid != space.Guid || route.Domain.Guid != domain.Guid { return } apiErr = nil cmd.ui.Ok() cmd.ui.Warn(T("Route {{.URL}} already exists", map[string]interface{}{"URL": route.URL()})) return } cmd.ui.Ok() return }
func (routeActor RouteActor) FindOrCreateRoute(hostname string, domain models.DomainFields) (route models.Route) { route, apiErr := routeActor.routeRepo.FindByHostAndDomain(hostname, domain) switch apiErr.(type) { case nil: routeActor.ui.Say("Using route %s", terminal.EntityNameColor(route.URL())) case *errors.ModelNotFoundError: routeActor.ui.Say("Creating route %s...", terminal.EntityNameColor(domain.UrlForHost(hostname))) route, apiErr = routeActor.routeRepo.Create(hostname, domain) if apiErr != nil { routeActor.ui.Failed(apiErr.Error()) } routeActor.ui.Ok() routeActor.ui.Say("") default: routeActor.ui.Failed(apiErr.Error()) } return }