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 }