Skip to content

Commit

Permalink
filter files
Browse files Browse the repository at this point in the history
  • Loading branch information
dzikoysk committed Aug 18, 2024
1 parent ba57ef1 commit 8b8b940
Show file tree
Hide file tree
Showing 3 changed files with 15 additions and 4 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -88,6 +88,17 @@ class MavenFacade internal constructor(
handler = handler
)

fun getAvailableFiles(request: LookupRequest, directoryInfo: DirectoryInfo): List<FileDetails> =
getRepository(request.repository)!!.let { repository ->
directoryInfo.files.filter {
repositorySecurityProvider.canBrowseResource(
accessToken = request.accessToken,
repository = repository,
gav = request.gav.resolve(it.name)
).isOk
}
}

fun createLatestBadge(lookupRequest: LatestBadgeRequest): Result<String, ErrorResponse> =
findLatestVersion(lookupRequest.toVersionLookupRequest())
.flatMap { latestService.createLatestBadge(lookupRequest, it.version) }
Expand Down
Original file line number Diff line number Diff line change
@@ -1,9 +1,9 @@
package com.reposilite.maven.infrastructure

import com.reposilite.storage.api.DirectoryInfo
import com.reposilite.storage.api.FileDetails
import com.reposilite.storage.api.FileType

internal fun createDirectoryIndexPage(basePath: String, uri: String, directory: DirectoryInfo): String {
internal fun createDirectoryIndexPage(basePath: String, uri: String, authenticatedFiles: List<FileDetails>): String {
val formattedUri = basePath + uri.removePrefix("/")

// language=html
Expand Down Expand Up @@ -34,7 +34,7 @@ internal fun createDirectoryIndexPage(basePath: String, uri: String, directory:
<li class='back'>
<a href='${formattedUri.substringBeforeLast("/")}'>Parent Directory</a>
</li>
${directory.files.flatMap {
${authenticatedFiles.flatMap {
listOf(
"<li class='${it.type.name.lowercase()}'>",
"<a href='$formattedUri/${it.name}'>${it.name}${if (it.type == FileType.DIRECTORY) "/" else ""}</a>",
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -101,7 +101,7 @@ internal class MavenEndpoints(
createDirectoryIndexPage(
basePath = frontendFacade.formattedBasePath.get(),
uri = ctx.uri(),
directory = details,
authenticatedFiles = mavenFacade.getAvailableFiles(request, details),
)
)
else ->
Expand Down

0 comments on commit 8b8b940

Please sign in to comment.