more account stuff

This commit is contained in:
Torkel Ödegaard 2014-09-20 13:24:06 +02:00
parent 992efda7f6
commit 015c929bd7
4 changed files with 39 additions and 4 deletions

View File

@ -5,11 +5,27 @@ import "github.com/gin-gonic/gin"
func init() {
addRoutes(func(self *HttpServer) {
self.addRoute("POST", "/api/account/collaborators/add", self.addCollaborator)
self.addRoute("GET", "/api/account/", self.getAccount)
})
}
type addCollaboratorDto struct {
Email string `json:"email" binding:"required"`
func (self *HttpServer) getAccount(c *gin.Context, auth *authContext) {
var account = auth.userAccount
model := accountInfoDto{
Login: account.Login,
Email: account.Email,
AccountName: account.AccountName,
}
for _, collaborator := range account.Collaborators {
model.Collaborators = append(model.Collaborators, &collaboratorInfoDto{
AccountId: collaborator.AccountId,
Role: collaborator.Role,
})
}
c.JSON(200, model)
}
func (self *HttpServer) addCollaborator(c *gin.Context, auth *authContext) {

18
pkg/api/api_dtos.go Normal file
View File

@ -0,0 +1,18 @@
package api
type accountInfoDto struct {
Login string `json:"login"`
Email string `json:"email"`
AccountName string `json:"accountName"`
Collaborators []*collaboratorInfoDto `json:"collaborators"`
}
type collaboratorInfoDto struct {
AccountId int `json:"accountId"`
Email string `json:"email"`
Role string `json:"role"`
}
type addCollaboratorDto struct {
Email string `json:"email" binding:"required"`
}

View File

@ -28,7 +28,6 @@ func (self *HttpServer) registerUserPost(c *gin.Context) {
}
account := models.Account{
UserName: registerModel.Email,
Login: registerModel.Email,
Email: registerModel.Email,
Password: registerModel.Password,

View File

@ -14,15 +14,17 @@ type CollaboratorLink struct {
type Account struct {
Id int `gorethink:"id"`
UserName string
Version int
Login string
Email string
AccountName string
Password string
NextDashboardId int
UsingAccountId int
Collaborators []CollaboratorLink
CreatedOn time.Time
ModifiedOn time.Time
LastLoginOn time.Time
}
func (account *Account) AddCollaborator(accountId int) error {