feat(invite): worked on pending invitations list, revoke invite now works, #2353

This commit is contained in:
Torkel Ödegaard
2015-07-20 10:57:39 +02:00
parent 4ac652b127
commit 3242354a4b
11 changed files with 116 additions and 65 deletions
+1
View File
@@ -94,6 +94,7 @@ func Register(r *macaron.Macaron) {
// invites
r.Get("/invites", wrap(GetPendingOrgInvites))
r.Post("/invites", bind(dtos.AddInviteForm{}), wrap(AddOrgInvite))
r.Patch("/invites/:id/revoke", wrap(RevokeInvite))
}, regOrgAdmin)
// create new org
+17 -2
View File
@@ -10,7 +10,7 @@ import (
)
func GetPendingOrgInvites(c *middleware.Context) Response {
query := m.GetTempUsersForOrgQuery{OrgId: c.OrgId}
query := m.GetTempUsersForOrgQuery{OrgId: c.OrgId, Status: m.TmpUserInvitePending}
if err := bus.Dispatch(&query); err != nil {
return ApiError(500, "Failed to get invites from db", err)
@@ -47,10 +47,11 @@ func AddOrgInvite(c *middleware.Context, inviteDto dtos.AddInviteForm) Response
cmd.OrgId = c.OrgId
cmd.Email = inviteDto.Email
cmd.Name = inviteDto.Name
cmd.IsInvite = true
cmd.Status = m.TmpUserInvitePending
cmd.InvitedByUserId = c.UserId
cmd.Code = util.GetRandomString(30)
cmd.Role = inviteDto.Role
cmd.RemoteAddr = c.Req.RemoteAddr
if err := bus.Dispatch(&cmd); err != nil {
return ApiError(500, "Failed to save invite to database", err)
@@ -77,3 +78,17 @@ func AddOrgInvite(c *middleware.Context, inviteDto dtos.AddInviteForm) Response
return ApiSuccess("ok, done!")
}
func RevokeInvite(c *middleware.Context) Response {
cmd := m.UpdateTempUserStatusCommand{
Id: c.ParamsInt64(":id"),
OrgId: c.OrgId,
Status: m.TmpUserRevoked,
}
if err := bus.Dispatch(&cmd); err != nil {
return ApiError(500, "Failed to update invite status", err)
}
return ApiSuccess("Invite revoked")
}