MM-20977 - Inviting multiple users with valid/allowed and inva… (#13372)
Этот коммит содержится в:
коммит произвёл
GitHub
родитель
51a61f6bc1
Коммит
e77ef9733c
@@ -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 "[]"
|
||||
|
||||
Ссылка в новой задаче
Block a user