diff --git a/app/uk/gov/hmrc/apidocumentation/controllers/DownloadController.scala b/app/uk/gov/hmrc/apidocumentation/controllers/DownloadController.scala index 80f302db..4a365023 100644 --- a/app/uk/gov/hmrc/apidocumentation/controllers/DownloadController.scala +++ b/app/uk/gov/hmrc/apidocumentation/controllers/DownloadController.scala @@ -78,10 +78,10 @@ class DownloadController @Inject() ( )) findVersion(apiOption) match { - case Some((api, _, VersionVisibility(ApiAccessType.CONTROLLED | ApiAccessType.INTERNAL, false, _))) => + case Some((api, _, VersionVisibility(ApiAccessType.INTERNAL, false, _))) => redirectToLoginPage(api.serviceName) - case Some((api, selectedVersion, VersionVisibility(_, _, true))) => + case Some((api, selectedVersion, VersionVisibility(_, _, _))) => downloadConnector.fetch(api.serviceName, selectedVersion.version, validResource) .map(_.fold(renderNotFoundPage)(Future.successful)) .flatten diff --git a/app/uk/gov/hmrc/apidocumentation/views/helpers/Helpers.scala b/app/uk/gov/hmrc/apidocumentation/views/helpers/Helpers.scala index 0cd1c35f..e133710f 100644 --- a/app/uk/gov/hmrc/apidocumentation/views/helpers/Helpers.scala +++ b/app/uk/gov/hmrc/apidocumentation/views/helpers/Helpers.scala @@ -97,17 +97,17 @@ object ShowBaseURL { object VersionDocsVisible { def apply(availability: Option[VersionVisibility]): DocsVisibility = availability match { - case Some(VersionVisibility(ApiAccessType.PUBLIC, _, _)) => DocsVisibility.VISIBLE // PUBLIC - case Some(VersionVisibility(_, true, true)) => DocsVisibility.VISIBLE // Not Public, logged in, authorised (subscribed) - case Some(VersionVisibility(ApiAccessType.CONTROLLED, _, false)) => DocsVisibility.OVERVIEW_ONLY // CONTROLLED but not authorised (not subscribed) - case _ => DocsVisibility.NOT_VISIBLE + case Some(VersionVisibility(ApiAccessType.PUBLIC | ApiAccessType.CONTROLLED, _, _)) => DocsVisibility.VISIBLE // PUBLIC or CONTROLLED(signed in or out), both can see API documentation + // case Some(VersionVisibility(ApiAccessType.CONTROLLED, _, _)) => DocsVisibility.VISIBLE // CONTROLLED but not authorised (not subscribed) + case Some(VersionVisibility(_, true, true)) => DocsVisibility.VISIBLE // Not Public, logged in, authorised (subscribed) + case _ => DocsVisibility.NOT_VISIBLE } def apply(version: ExtendedApiVersion): DocsVisibility = VersionVisibility(version) match { - case Some(VersionVisibility(ApiAccessType.PUBLIC, _, _)) => DocsVisibility.VISIBLE // PUBLIC - case Some(VersionVisibility(_, true, true)) => DocsVisibility.VISIBLE // Not Public, logged in, authorised (subscribed) - case Some(VersionVisibility(ApiAccessType.CONTROLLED, _, false)) => DocsVisibility.OVERVIEW_ONLY // CONTROLLED but not authorised (not subscribed) - case _ => DocsVisibility.NOT_VISIBLE + case Some(VersionVisibility(ApiAccessType.PUBLIC | ApiAccessType.CONTROLLED, _, _)) => DocsVisibility.VISIBLE // PUBLIC or CONTROLLED(signed in or out), both can see API documentation + // case Some(VersionVisibility(ApiAccessType.CONTROLLED, _, _)) => DocsVisibility.VISIBLE // CONTROLLED but not authorised (not subscribed) + case Some(VersionVisibility(_, true, true)) => DocsVisibility.VISIBLE // Not Public, logged in, authorised (subscribed) + case _ => DocsVisibility.NOT_VISIBLE } } diff --git a/app/uk/gov/hmrc/apidocumentation/views/openapispec/ParentPageView.scala.html b/app/uk/gov/hmrc/apidocumentation/views/openapispec/ParentPageView.scala.html index 4db68ca0..60183d75 100644 --- a/app/uk/gov/hmrc/apidocumentation/views/openapispec/ParentPageView.scala.html +++ b/app/uk/gov/hmrc/apidocumentation/views/openapispec/ParentPageView.scala.html @@ -29,6 +29,13 @@ @(markdownBlocks: List[DocumentationItem], title: String, maybeVersion: Option[ExtendedApiVersion], maybeApi: Option[ExtendedApiDefinition], loggedIn: Boolean = false )(implicit requestHeader: RequestHeader) +@requestAccess(version: ExtendedApiVersion) = { + @{version.sandboxAvailability.orElse(version.productionAvailability).map(x => x.access) match { + case Some(ApiAccessType.CONTROLLED) => Request access + case _ => "" + }} +} +
| + View endpoints + | +
| + @requestAccess(version) + | +