added handlers, rest, angular skeleton

This commit is contained in:
Brad Rydzewski
2015-04-08 15:43:59 -07:00
parent 09bd7cf71a
commit 9298f16155
37 changed files with 2625 additions and 4 deletions

59
server/user.go Normal file
View File

@@ -0,0 +1,59 @@
package server
import (
"github.com/gin-gonic/gin"
"github.com/gin-gonic/gin/binding"
"github.com/drone/drone/common"
"github.com/drone/drone/common/gravatar"
)
// GetUserCurr accepts a request to retrieve the
// currently authenticated user from the datastore
// and return in JSON format.
//
// GET /api/user
//
func GetUserCurr(c *gin.Context) {
c.JSON(200, ToUser(c))
}
// PutUserCurr accepts a request to update the currently
// authenticated User profile.
//
// PUT /api/user
//
func PutUserCurr(c *gin.Context) {
ds := ToDatastore(c)
me := ToUser(c)
in := &common.User{}
if !c.BindWith(in, binding.JSON) {
return
}
me.Email = in.Email
me.Gravatar = gravatar.Generate(in.Email)
err := ds.UpdateUser(me)
if err != nil {
c.Fail(400, err)
} else {
c.JSON(200, me)
}
}
// GetUserRepos accepts a request to get the currently
// authenticated user's repository list from the datastore,
// encoded and returned in JSON format.
//
// GET /api/user/repos
//
func GetUserRepos(c *gin.Context) {
ds := ToDatastore(c)
me := ToUser(c)
repos, err := ds.GetUserRepos(me.Login)
if err != nil {
c.Fail(400, err)
} else {
c.JSON(200, &repos)
}
}