github.com/google/go-github/v71@v71.0.0/github/orgs_security_managers.go (about)

     1  // Copyright 2022 The go-github AUTHORS. All rights reserved.
     2  //
     3  // Use of this source code is governed by a BSD-style
     4  // license that can be found in the LICENSE file.
     5  
     6  package github
     7  
     8  import (
     9  	"context"
    10  	"fmt"
    11  )
    12  
    13  // ListSecurityManagerTeams lists all security manager teams for an organization.
    14  //
    15  // Deprecated: Please use `client.Organizations.ListTeamsAssignedToOrgRole` instead.
    16  //
    17  // GitHub API docs: https://docs.github.com/rest/orgs/security-managers#list-security-manager-teams
    18  //
    19  //meta:operation GET /orgs/{org}/security-managers
    20  func (s *OrganizationsService) ListSecurityManagerTeams(ctx context.Context, org string) ([]*Team, *Response, error) {
    21  	u := fmt.Sprintf("orgs/%v/security-managers", org)
    22  
    23  	req, err := s.client.NewRequest("GET", u, nil)
    24  	if err != nil {
    25  		return nil, nil, err
    26  	}
    27  
    28  	var teams []*Team
    29  	resp, err := s.client.Do(ctx, req, &teams)
    30  	if err != nil {
    31  		return nil, resp, err
    32  	}
    33  
    34  	return teams, resp, nil
    35  }
    36  
    37  // AddSecurityManagerTeam adds a team to the list of security managers for an organization.
    38  //
    39  // Deprecated: Please use `client.Organizations.AssignOrgRoleToTeam` instead.
    40  //
    41  // GitHub API docs: https://docs.github.com/rest/orgs/security-managers#add-a-security-manager-team
    42  //
    43  //meta:operation PUT /orgs/{org}/security-managers/teams/{team_slug}
    44  func (s *OrganizationsService) AddSecurityManagerTeam(ctx context.Context, org, team string) (*Response, error) {
    45  	u := fmt.Sprintf("orgs/%v/security-managers/teams/%v", org, team)
    46  	req, err := s.client.NewRequest("PUT", u, nil)
    47  	if err != nil {
    48  		return nil, err
    49  	}
    50  
    51  	return s.client.Do(ctx, req, nil)
    52  }
    53  
    54  // RemoveSecurityManagerTeam removes a team from the list of security managers for an organization.
    55  //
    56  // Deprecated: Please use `client.Organizations.RemoveOrgRoleFromTeam` instead.
    57  //
    58  // GitHub API docs: https://docs.github.com/rest/orgs/security-managers#remove-a-security-manager-team
    59  //
    60  //meta:operation DELETE /orgs/{org}/security-managers/teams/{team_slug}
    61  func (s *OrganizationsService) RemoveSecurityManagerTeam(ctx context.Context, org, team string) (*Response, error) {
    62  	u := fmt.Sprintf("orgs/%v/security-managers/teams/%v", org, team)
    63  	req, err := s.client.NewRequest("DELETE", u, nil)
    64  	if err != nil {
    65  		return nil, err
    66  	}
    67  
    68  	return s.client.Do(ctx, req, nil)
    69  }