github.com/daeMOn63/bitclient@v0.0.0-20190425080230-bfee94efac35/projects.go (about)

     1  package bitclient
     2  
     3  import (
     4  	"fmt"
     5  )
     6  
     7  type GetProjectsResponse struct {
     8  	PagedResponse
     9  	Values []Project
    10  }
    11  
    12  func (bc *BitClient) GetProjects(params PagedRequest) (GetProjectsResponse, error) {
    13  
    14  	response := GetProjectsResponse{}
    15  
    16  	_, err := bc.DoGet(
    17  		"/projects",
    18  		params,
    19  		&response,
    20  	)
    21  
    22  	return response, err
    23  }
    24  
    25  type GetRepositoriesResponse struct {
    26  	PagedResponse
    27  	Values []Repository
    28  }
    29  
    30  func (bc *BitClient) GetRepositories(projectKey string, params PagedRequest) (GetRepositoriesResponse, error) {
    31  
    32  	response := GetRepositoriesResponse{}
    33  
    34  	_, err := bc.DoGet(
    35  		fmt.Sprintf("/projects/%s/repos", projectKey),
    36  		params,
    37  		&response,
    38  	)
    39  
    40  	return response, err
    41  }
    42  
    43  type CreateRepositoryRequest struct {
    44  	Name     string `json:"name"`
    45  	ScmId    string `json:"scmId"`
    46  	Forkable bool   `json:"forkable"`
    47  }
    48  
    49  func (bc *BitClient) CreateRepository(projectKey string, params CreateRepositoryRequest) (Repository, error) {
    50  
    51  	response := Repository{}
    52  
    53  	_, err := bc.DoPost(
    54  		fmt.Sprintf("/projects/%s/repos", projectKey),
    55  		params,
    56  		&response,
    57  	)
    58  
    59  	return response, err
    60  }