APIv4 put /teams/{team_id}/patch (#5860)
Этот коммит содержится в:
коммит произвёл
Joram Wilander
родитель
4c1eb7ff55
Коммит
d0af931e6e
@@ -781,6 +781,16 @@ func (c *Client4) UpdateTeam(team *Team) (*Team, *Response) {
|
||||
}
|
||||
}
|
||||
|
||||
// PatchTeam partially updates a team. Any missing fields are not updated.
|
||||
func (c *Client4) PatchTeam(teamId string, patch *TeamPatch) (*Team, *Response) {
|
||||
if r, err := c.DoApiPut(c.GetTeamRoute(teamId)+"/patch", patch.ToJson()); err != nil {
|
||||
return nil, &Response{StatusCode: r.StatusCode, Error: err}
|
||||
} else {
|
||||
defer closeBody(r)
|
||||
return TeamFromJson(r.Body), BuildResponse(r)
|
||||
}
|
||||
}
|
||||
|
||||
// GetTeamMembers returns team members based on the provided team id string.
|
||||
func (c *Client4) GetTeamMembers(teamId string, page int, perPage int, etag string) ([]*TeamMember, *Response) {
|
||||
query := fmt.Sprintf("?page=%v&per_page=%v", page, perPage)
|
||||
|
||||
@@ -41,6 +41,14 @@ type Team struct {
|
||||
AllowOpenInvite bool `json:"allow_open_invite"`
|
||||
}
|
||||
|
||||
type TeamPatch struct {
|
||||
DisplayName *string `json:"display_name"`
|
||||
Description *string `json:"description"`
|
||||
CompanyName *string `json:"company_name"`
|
||||
InviteId *string `json:"invite_id"`
|
||||
AllowOpenInvite *bool `json:"allow_open_invite"`
|
||||
}
|
||||
|
||||
type Invites struct {
|
||||
Invites []map[string]string `json:"invites"`
|
||||
}
|
||||
@@ -278,3 +286,45 @@ func (o *Team) SanitizeForNotLoggedIn() {
|
||||
o.InviteId = ""
|
||||
}
|
||||
}
|
||||
|
||||
func (t *Team) Patch(patch *TeamPatch) {
|
||||
if patch.DisplayName != nil {
|
||||
t.DisplayName = *patch.DisplayName
|
||||
}
|
||||
|
||||
if patch.Description != nil {
|
||||
t.Description = *patch.Description
|
||||
}
|
||||
|
||||
if patch.CompanyName != nil {
|
||||
t.CompanyName = *patch.CompanyName
|
||||
}
|
||||
|
||||
if patch.InviteId != nil {
|
||||
t.InviteId = *patch.InviteId
|
||||
}
|
||||
|
||||
if patch.AllowOpenInvite != nil {
|
||||
t.AllowOpenInvite = *patch.AllowOpenInvite
|
||||
}
|
||||
}
|
||||
|
||||
func (t *TeamPatch) ToJson() string {
|
||||
b, err := json.Marshal(t)
|
||||
if err != nil {
|
||||
return ""
|
||||
}
|
||||
|
||||
return string(b)
|
||||
}
|
||||
|
||||
func TeamPatchFromJson(data io.Reader) *TeamPatch {
|
||||
decoder := json.NewDecoder(data)
|
||||
var team TeamPatch
|
||||
err := decoder.Decode(&team)
|
||||
if err != nil {
|
||||
return nil
|
||||
}
|
||||
|
||||
return &team
|
||||
}
|
||||
|
||||
Ссылка в новой задаче
Block a user