mirror of
https://github.com/grafana/grafana.git
synced 2025-07-30 07:42:23 +08:00
40 lines
1013 B
Go
40 lines
1013 B
Go
package api
|
|
|
|
import (
|
|
"github.com/grafana/grafana/pkg/api/dtos"
|
|
"github.com/grafana/grafana/pkg/bus"
|
|
"github.com/grafana/grafana/pkg/middleware"
|
|
m "github.com/grafana/grafana/pkg/models"
|
|
"github.com/grafana/grafana/pkg/util"
|
|
)
|
|
|
|
func GetPendingOrgInvites(c *middleware.Context) Response {
|
|
query := m.GetTempUsersForOrgQuery{OrgId: c.OrgId}
|
|
|
|
if err := bus.Dispatch(&query); err != nil {
|
|
return ApiError(500, "Failed to get invites from db", err)
|
|
}
|
|
|
|
return Json(200, query.Result)
|
|
}
|
|
|
|
func AddOrgInvite(c *middleware.Context, inviteDto dtos.AddInviteForm) Response {
|
|
if !inviteDto.Role.IsValid() {
|
|
return ApiError(400, "Invalid role specified", nil)
|
|
}
|
|
|
|
cmd := m.CreateTempUserCommand{}
|
|
cmd.OrgId = c.OrgId
|
|
cmd.Email = inviteDto.Email
|
|
cmd.Name = inviteDto.Name
|
|
cmd.IsInvite = true
|
|
cmd.InvitedByUserId = c.UserId
|
|
cmd.Code = util.GetRandomString(30)
|
|
|
|
if err := bus.Dispatch(&cmd); err != nil {
|
|
return ApiError(500, "Failed to save invite to database", err)
|
|
}
|
|
|
|
return ApiSuccess("ok, done!")
|
|
}
|