From 2f13d31ff07ca7993b8451446eb756d0521ec897 Mon Sep 17 00:00:00 2001
From: Ethan Koenig <etk39@cornell.edu>
Date: Thu, 9 Feb 2017 20:30:26 -0500
Subject: [PATCH] Fix bug in repos search (#884)

---
 routers/api/v1/repo/repo.go | 14 +++++++++-----
 1 file changed, 9 insertions(+), 5 deletions(-)

diff --git a/routers/api/v1/repo/repo.go b/routers/api/v1/repo/repo.go
index d65f30d729..02c017243e 100644
--- a/routers/api/v1/repo/repo.go
+++ b/routers/api/v1/repo/repo.go
@@ -56,18 +56,22 @@ func Search(ctx *context.APIContext) {
 	}
 
 	results := make([]*api.Repository, len(repos))
-	for i := range repos {
-		if err = repos[i].GetOwner(); err != nil {
+	for i, repo := range repos {
+		if err = repo.GetOwner(); err != nil {
 			ctx.JSON(500, map[string]interface{}{
 				"ok":    false,
 				"error": err.Error(),
 			})
 			return
 		}
-		results[i] = &api.Repository{
-			ID:       repos[i].ID,
-			FullName: path.Join(repos[i].Owner.Name, repos[i].Name),
+		accessMode, err := models.AccessLevel(ctx.User, repo)
+		if err != nil {
+			ctx.JSON(500, map[string]interface{}{
+				"ok":    false,
+				"error": err.Error(),
+			})
 		}
+		results[i] = repo.APIFormat(accessMode)
 	}
 
 	ctx.SetLinkHeader(int(count), setting.API.MaxResponseItems)