123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869 |
- // Copyright 2015 The Gogs Authors. All rights reserved.
- // Use of this source code is governed by a MIT-style
- // license that can be found in the LICENSE file.
- package gogs
- import (
- "bytes"
- "encoding/json"
- "fmt"
- )
- type Organization struct {
- ID int64 `json:"id"`
- UserName string `json:"username"`
- FullName string `json:"full_name"`
- AvatarUrl string `json:"avatar_url"`
- Description string `json:"description"`
- Website string `json:"website"`
- Location string `json:"location"`
- }
- func (c *Client) ListMyOrgs() ([]*Organization, error) {
- orgs := make([]*Organization, 0, 5)
- return orgs, c.getParsedResponse("GET", "/user/orgs", nil, nil, &orgs)
- }
- func (c *Client) ListUserOrgs(user string) ([]*Organization, error) {
- orgs := make([]*Organization, 0, 5)
- return orgs, c.getParsedResponse("GET", fmt.Sprintf("/users/%s/orgs", user), nil, nil, &orgs)
- }
- func (c *Client) GetOrg(orgname string) (*Organization, error) {
- org := new(Organization)
- return org, c.getParsedResponse("GET", fmt.Sprintf("/orgs/%s", orgname), nil, nil, org)
- }
- type CreateOrgOption struct {
- UserName string `json:"username" binding:"Required"`
- FullName string `json:"full_name"`
- Description string `json:"description"`
- Website string `json:"website"`
- Location string `json:"location"`
- }
- type EditOrgOption struct {
- FullName string `json:"full_name"`
- Description string `json:"description"`
- Website string `json:"website"`
- Location string `json:"location"`
- }
- func (c *Client) CreateOrg(opt CreateOrgOption) (*Organization, error) {
- body, err := json.Marshal(&opt)
- if err != nil {
- return nil, err
- }
- org := new(Organization)
- return org, c.getParsedResponse("POST", "/user/orgs", jsonHeader, bytes.NewReader(body), org)
- }
- func (c *Client) EditOrg(orgname string, opt EditOrgOption) error {
- body, err := json.Marshal(&opt)
- if err != nil {
- return err
- }
- _, err = c.getResponse("PATCH", fmt.Sprintf("/orgs/%s", orgname), jsonHeader, bytes.NewReader(body))
- return err
- }
|