From 9a9a2901d5c4c435a59d38b388a64bc856c1d670 Mon Sep 17 00:00:00 2001
From: benbroadaway <4554569+benbroadaway@users.noreply.github.com>
Date: Tue, 5 Sep 2023 14:33:26 -0500
Subject: [PATCH] server: return 404 when repository is not found

---
 .../server/org/project/ProjectRepositoryManager.java     | 9 ++++++++-
 1 file changed, 8 insertions(+), 1 deletion(-)

diff --git a/server/impl/src/main/java/com/walmartlabs/concord/server/org/project/ProjectRepositoryManager.java b/server/impl/src/main/java/com/walmartlabs/concord/server/org/project/ProjectRepositoryManager.java
index 9ff8547609..bc931aa6e6 100644
--- a/server/impl/src/main/java/com/walmartlabs/concord/server/org/project/ProjectRepositoryManager.java
+++ b/server/impl/src/main/java/com/walmartlabs/concord/server/org/project/ProjectRepositoryManager.java
@@ -33,6 +33,7 @@
 import com.walmartlabs.concord.server.policy.PolicyManager;
 import com.walmartlabs.concord.server.policy.PolicyUtils;
 import com.walmartlabs.concord.server.repository.RepositoryRefresher;
+import com.walmartlabs.concord.server.sdk.ConcordApplicationException;
 import org.immutables.value.Value;
 import org.jooq.DSLContext;
 import org.sonatype.siesta.ValidationErrorsException;
@@ -71,7 +72,13 @@ public ProjectRepositoryManager(ProjectAccessManager projectAccessManager,
     }
 
     public RepositoryEntry get(UUID projectId, String repositoryName) {
-        return repositoryDao.get(projectId, repositoryName);
+        RepositoryEntry r = repositoryDao.get(projectId, repositoryName);
+
+        if (r == null) {
+            throw new ConcordApplicationException("Repository not found: " + repositoryName, Response.Status.NOT_FOUND);
+        }
+
+        return r;
     }
 
     public RepositoryEntry get(UUID orgId, String projectName, String repositoryName) {