From a49af93fafe824cdd375318d15de420b3ed61e79 Mon Sep 17 00:00:00 2001
From: Unknwon <u@gogs.io>
Date: Mon, 21 Dec 2015 04:24:11 -0800
Subject: #1692 APIs: Users Followers

- User profile un/follow
- List user's followers/following
---
 routers/api/v1/api.go | 19 ++++++++++++++++---
 1 file changed, 16 insertions(+), 3 deletions(-)

(limited to 'routers/api/v1/api.go')

diff --git a/routers/api/v1/api.go b/routers/api/v1/api.go
index cc169f70..e1a23f0d 100644
--- a/routers/api/v1/api.go
+++ b/routers/api/v1/api.go
@@ -135,19 +135,32 @@ func RegisterRoutes(m *macaron.Macaron) {
 		m.Group("/users", func() {
 			m.Group("/:username", func() {
 				m.Get("/keys", user.ListPublicKeys)
+
+				m.Get("/followers", user.ListFollowers)
+				m.Group("/following", func() {
+					m.Get("", user.ListFollowing)
+					m.Get("/:target", user.CheckFollowing)
+				})
 			})
 		}, ReqToken())
 
 		m.Group("/user", func() {
+			m.Combo("/emails").Get(user.ListEmails).
+				Post(bind(api.CreateEmailOption{}), user.AddEmail).
+				Delete(bind(api.CreateEmailOption{}), user.DeleteEmail)
+
+			m.Get("/followers", user.ListMyFollowers)
+			m.Group("/following", func() {
+				m.Get("", user.ListMyFollowing)
+				m.Combo("/:username").Get(user.CheckMyFollowing).Put(user.Follow).Delete(user.Unfollow)
+			})
+
 			m.Group("/keys", func() {
 				m.Combo("").Get(user.ListMyPublicKeys).
 					Post(bind(api.CreateKeyOption{}), user.CreatePublicKey)
 				m.Combo("/:id").Get(user.GetPublicKey).
 					Delete(user.DeletePublicKey)
 			})
-			m.Combo("/emails").Get(user.ListEmails).
-				Post(bind(api.CreateEmailOption{}), user.AddEmail).
-				Delete(bind(api.CreateEmailOption{}), user.DeleteEmail)
 		}, ReqToken())
 
 		// Repositories
-- 
cgit v1.2.3