MM-20977 - Inviting multiple users with valid/allowed and inva… (#13372)

Этот коммит содержится в:
Eli Yukelzon
2020-01-14 15:29:50 +02:00
коммит произвёл GitHub
родитель 51a61f6bc1
Коммит e77ef9733c
10 изменённых файлов: 204 добавлений и 8 удалений

Просмотреть файл

@@ -1861,6 +1861,22 @@ func (c *Client4) AddTeamMembers(teamId string, userIds []string) ([]*TeamMember
return TeamMembersFromJson(r.Body), BuildResponse(r)
}
// AddTeamMembers adds a number of users to a team and returns the team members.
func (c *Client4) AddTeamMembersGracefully(teamId string, userIds []string) ([]*TeamMemberWithError, *Response) {
var members []*TeamMember
for _, userId := range userIds {
member := &TeamMember{TeamId: teamId, UserId: userId}
members = append(members, member)
}
r, err := c.DoApiPost(c.GetTeamMembersRoute(teamId)+"/batch?graceful=true", TeamMembersToJson(members))
if err != nil {
return nil, BuildErrorResponse(r, err)
}
defer closeBody(r)
return TeamMembersWithErrorFromJson(r.Body), BuildResponse(r)
}
// RemoveTeamMember will remove a user from a team.
func (c *Client4) RemoveTeamMember(teamId, userId string) (bool, *Response) {
r, err := c.DoApiDelete(c.GetTeamMemberRoute(teamId, userId))

Просмотреть файл

@@ -32,6 +32,12 @@ type TeamMemberForExport struct {
TeamName string
}
type TeamMemberWithError struct {
UserId string `json:"user_id"`
Member *TeamMember `json:"member"`
Error *AppError `json:"error"`
}
func (o *TeamMember) ToJson() string {
b, _ := json.Marshal(o)
return string(b)
@@ -54,6 +60,30 @@ func TeamUnreadFromJson(data io.Reader) *TeamUnread {
return o
}
func TeamMembersWithErrorToTeamMembers(o []*TeamMemberWithError) []*TeamMember {
var ret []*TeamMember
for _, o := range o {
if o.Error == nil {
ret = append(ret, o.Member)
}
}
return ret
}
func TeamMembersWithErrorToJson(o []*TeamMemberWithError) string {
if b, err := json.Marshal(o); err != nil {
return "[]"
} else {
return string(b)
}
}
func TeamMembersWithErrorFromJson(data io.Reader) []*TeamMemberWithError {
var o []*TeamMemberWithError
json.NewDecoder(data).Decode(&o)
return o
}
func TeamMembersToJson(o []*TeamMember) string {
if b, err := json.Marshal(o); err != nil {
return "[]"