Returns NotFound() if the repository does not exist.

This commit is contained in:
takezoe
2013-06-16 13:38:36 +09:00
parent ffd0c4f195
commit 0461b586ea

View File

@@ -30,10 +30,13 @@ trait WikiControllerBase extends ControllerBase {
get("/:owner/:repository/wiki")(readableRepository { get("/:owner/:repository/wiki")(readableRepository {
val owner = params("owner") val owner = params("owner")
val repository = params("repository") val repository = params("repository")
getWikiPage(owner, repository, "Home") match { getRepository(owner, repository, baseUrl) match {
case Some(page) => wiki.html.wiki("Home", page, getRepository(owner, repository, baseUrl).get, isWritable(owner, repository)) case Some(repoInfo) => getWikiPage(owner, repository, "Home") match {
case None => redirect("/%s/%s/wiki/Home/_edit".format(owner, repository)) case Some(page) => wiki.html.wiki("Home", page, repoInfo, isWritable(owner, repository))
case None => redirect("/%s/%s/wiki/Home/_edit".format(owner, repository))
}
case None => NotFound()
} }
}) })
@@ -52,10 +55,12 @@ trait WikiControllerBase extends ControllerBase {
val owner = params("owner") val owner = params("owner")
val repository = params("repository") val repository = params("repository")
val page = params("page") val page = params("page")
JGitUtil.withGit(getWikiRepositoryDir(owner, repository)){ git => getRepository(owner, repository, baseUrl) match {
wiki.html.wikihistory(Some(page), case Some(repoInfo) => JGitUtil.withGit(getWikiRepositoryDir(owner, repository)){ git =>
JGitUtil.getCommitLog(git, "master", path = page + ".md")._1, getRepository(owner, repository, baseUrl).get) wiki.html.wikihistory(Some(page), JGitUtil.getCommitLog(git, "master", path = page + ".md")._1, repoInfo)
}
case None => NotFound()
} }
}) })
@@ -75,10 +80,12 @@ trait WikiControllerBase extends ControllerBase {
val owner = params("owner") val owner = params("owner")
val repository = params("repository") val repository = params("repository")
val commitId = params("commitId").split("\\.\\.\\.") val commitId = params("commitId").split("\\.\\.\\.")
JGitUtil.withGit(getWikiRepositoryDir(owner, repository)){ git => getRepository(owner, repository, baseUrl) match {
wiki.html.wikicompare(None, case Some(repoInfo) => JGitUtil.withGit(getWikiRepositoryDir(owner, repository)){ git =>
getWikiDiffs(git, commitId(0), commitId(1)), getRepository(owner, repository, baseUrl).get) wiki.html.wikicompare(None, getWikiDiffs(git, commitId(0), commitId(1)), repoInfo)
}
case None => NotFound()
} }
}) })
@@ -86,9 +93,11 @@ trait WikiControllerBase extends ControllerBase {
val owner = params("owner") val owner = params("owner")
val repository = params("repository") val repository = params("repository")
val page = params("page") val page = params("page")
wiki.html.wikiedit(page, getRepository(owner, repository, baseUrl) match {
getWikiPage(owner, repository, page), getRepository(owner, repository, baseUrl).get) case Some(repoInfo) => wiki.html.wikiedit(page, getWikiPage(owner, repository, page), repoInfo)
case None => NotFound()
}
}) })
post("/:owner/:repository/wiki/_edit", editForm)(writableRepository { form => post("/:owner/:repository/wiki/_edit", editForm)(writableRepository { form =>
@@ -104,8 +113,11 @@ trait WikiControllerBase extends ControllerBase {
get("/:owner/:repository/wiki/_new")(writableRepository { get("/:owner/:repository/wiki/_new")(writableRepository {
val owner = params("owner") val owner = params("owner")
val repository = params("repository") val repository = params("repository")
wiki.html.wikiedit("", None, getRepository(owner, repository, baseUrl).get) getRepository(owner, repository, baseUrl) match {
case Some(repoInfo) => wiki.html.wikiedit("", None, repoInfo)
case None => NotFound()
}
}) })
post("/:owner/:repository/wiki/_new", newForm)(writableRepository { form => post("/:owner/:repository/wiki/_new", newForm)(writableRepository { form =>
@@ -131,17 +143,22 @@ trait WikiControllerBase extends ControllerBase {
get("/:owner/:repository/wiki/_pages")(readableRepository { get("/:owner/:repository/wiki/_pages")(readableRepository {
val owner = params("owner") val owner = params("owner")
val repository = params("repository") val repository = params("repository")
wiki.html.wikipages(getWikiPageList(owner, repository), getRepository(owner, repository, baseUrl).get, isWritable(owner, repository)) getRepository(owner, repository, baseUrl) match {
case Some(repoInfo) => wiki.html.wikipages(getWikiPageList(owner, repository), repoInfo, isWritable(owner, repository))
case None => NotFound()
}
}) })
get("/:owner/:repository/wiki/_history")(readableRepository { get("/:owner/:repository/wiki/_history")(readableRepository {
val owner = params("owner") val owner = params("owner")
val repository = params("repository") val repository = params("repository")
JGitUtil.withGit(getWikiRepositoryDir(owner, repository)){ git => getRepository(owner, repository, baseUrl) match {
wiki.html.wikihistory(None, case Some(repoInfo) => JGitUtil.withGit(getWikiRepositoryDir(owner, repository)){ git =>
JGitUtil.getCommitLog(git, "master")._1, getRepository(owner, repository, baseUrl).get) wiki.html.wikihistory(None, JGitUtil.getCommitLog(git, "master")._1, repoInfo)
}
case None => NotFound()
} }
}) })
@@ -150,8 +167,13 @@ trait WikiControllerBase extends ControllerBase {
val repository = params("repository") val repository = params("repository")
val path = multiParams("splat").head val path = multiParams("splat").head
contentType = "application/octet-stream" getFileContent(owner, repository, path) match {
getFileContent(owner, repository, path).get case Some(content) => {
contentType = "application/octet-stream"
content
}
case None => NotFound()
}
}) })
/** /**