From 2cb04db52661b346bed26daeb94402f460195797 Mon Sep 17 00:00:00 2001
From: Unknwon <u@gogs.io>
Date: Thu, 11 Aug 2016 15:29:39 -0700
Subject: [PATCH] Fix #3391

---
 routers/api/v1/api.go       | 1 +
 routers/api/v1/user/user.go | 9 ++++++---
 2 files changed, 7 insertions(+), 3 deletions(-)

diff --git a/routers/api/v1/api.go b/routers/api/v1/api.go
index 198036207d..ce0452a247 100644
--- a/routers/api/v1/api.go
+++ b/routers/api/v1/api.go
@@ -195,6 +195,7 @@ func RegisterRoutes(m *macaron.Macaron) {
 		}, reqToken())
 
 		m.Group("/user", func() {
+			m.Get("", user.GetAuthenticatedUser)
 			m.Combo("/emails").Get(user.ListEmails).
 				Post(bind(api.CreateEmailOption{}), user.AddEmail).
 				Delete(bind(api.CreateEmailOption{}), user.DeleteEmail)
diff --git a/routers/api/v1/user/user.go b/routers/api/v1/user/user.go
index 98571ae69d..87a9c08623 100644
--- a/routers/api/v1/user/user.go
+++ b/routers/api/v1/user/user.go
@@ -11,9 +11,9 @@ import (
 
 	"github.com/gogits/gogs/models"
 	"github.com/gogits/gogs/modules/context"
+	"github.com/gogits/gogs/routers/api/v1/convert"
 )
 
-// https://github.com/gogits/go-gogs-client/wiki/Users#search-users
 func Search(ctx *context.APIContext) {
 	opts := &models.SearchUserOptions{
 		Keyword:  ctx.Query("q"),
@@ -52,7 +52,6 @@ func Search(ctx *context.APIContext) {
 	})
 }
 
-// https://github.com/gogits/go-gogs-client/wiki/Users#get-a-single-user
 func GetInfo(ctx *context.APIContext) {
 	u, err := models.GetUserByName(ctx.Params(":username"))
 	if err != nil {
@@ -68,5 +67,9 @@ func GetInfo(ctx *context.APIContext) {
 	if !ctx.IsSigned {
 		u.Email = ""
 	}
-	ctx.JSON(200, &api.User{u.ID, u.Name, u.FullName, u.Email, u.AvatarLink()})
+	ctx.JSON(200, convert.ToUser(u))
+}
+
+func GetAuthenticatedUser(ctx *context.APIContext) {
+	ctx.JSON(200, convert.ToUser(ctx.User))
 }