// Copyright 2014 The go-github AUTHORS. All rights reserved.//// Use of this source code is governed by a BSD-style// license that can be found in the LICENSE file.package githubimport ()// Subscription identifies a repository or thread subscription.typeSubscriptionstruct { Subscribed *bool`json:"subscribed,omitempty"` Ignored *bool`json:"ignored,omitempty"` Reason *string`json:"reason,omitempty"` CreatedAt *Timestamp`json:"created_at,omitempty"` URL *string`json:"url,omitempty"`// only populated for repository subscriptions RepositoryURL *string`json:"repository_url,omitempty"`// only populated for thread subscriptions ThreadURL *string`json:"thread_url,omitempty"`}// ListWatchers lists watchers of a particular repo.//// GitHub API docs: https://docs.github.com/rest/activity/watching#list-watchers////meta:operation GET /repos/{owner}/{repo}/subscribersfunc ( *ActivityService) ( context.Context, , string, *ListOptions) ([]*User, *Response, error) { := fmt.Sprintf("repos/%s/%s/subscribers", , ) , := addOptions(, )if != nil {returnnil, nil, } , := .client.NewRequest("GET", , nil)if != nil {returnnil, nil, }var []*User , := .client.Do(, , &)if != nil {returnnil, , }return , , nil}// ListWatched lists the repositories the specified user is watching. Passing// the empty string will fetch watched repos for the authenticated user.//// GitHub API docs: https://docs.github.com/rest/activity/watching#list-repositories-watched-by-a-user// GitHub API docs: https://docs.github.com/rest/activity/watching#list-repositories-watched-by-the-authenticated-user////meta:operation GET /user/subscriptions//meta:operation GET /users/{username}/subscriptionsfunc ( *ActivityService) ( context.Context, string, *ListOptions) ([]*Repository, *Response, error) {varstringif != "" { = fmt.Sprintf("users/%v/subscriptions", ) } else { = "user/subscriptions" } , := addOptions(, )if != nil {returnnil, nil, } , := .client.NewRequest("GET", , nil)if != nil {returnnil, nil, }var []*Repository , := .client.Do(, , &)if != nil {returnnil, , }return , , nil}// GetRepositorySubscription returns the subscription for the specified// repository for the authenticated user. If the authenticated user is not// watching the repository, a nil Subscription is returned.//// GitHub API docs: https://docs.github.com/rest/activity/watching#get-a-repository-subscription////meta:operation GET /repos/{owner}/{repo}/subscriptionfunc ( *ActivityService) ( context.Context, , string) (*Subscription, *Response, error) { := fmt.Sprintf("repos/%s/%s/subscription", , ) , := .client.NewRequest("GET", , nil)if != nil {returnnil, nil, } := new(Subscription) , := .client.Do(, , )if != nil {// if it's just a 404, don't return that as an error _, = parseBoolResponse()returnnil, , }return , , nil}// SetRepositorySubscription sets the subscription for the specified repository// for the authenticated user.//// To watch a repository, set subscription.Subscribed to true.// To ignore notifications made within a repository, set subscription.Ignored to true.// To stop watching a repository, use DeleteRepositorySubscription.//// GitHub API docs: https://docs.github.com/rest/activity/watching#set-a-repository-subscription////meta:operation PUT /repos/{owner}/{repo}/subscriptionfunc ( *ActivityService) ( context.Context, , string, *Subscription) (*Subscription, *Response, error) { := fmt.Sprintf("repos/%s/%s/subscription", , ) , := .client.NewRequest("PUT", , )if != nil {returnnil, nil, } := new(Subscription) , := .client.Do(, , )if != nil {returnnil, , }return , , nil}// DeleteRepositorySubscription deletes the subscription for the specified// repository for the authenticated user.//// This is used to stop watching a repository. To control whether or not to// receive notifications from a repository, use SetRepositorySubscription.//// GitHub API docs: https://docs.github.com/rest/activity/watching#delete-a-repository-subscription////meta:operation DELETE /repos/{owner}/{repo}/subscriptionfunc ( *ActivityService) ( context.Context, , string) (*Response, error) { := fmt.Sprintf("repos/%s/%s/subscription", , ) , := .client.NewRequest("DELETE", , nil)if != nil {returnnil, }return .client.Do(, , nil)}
The pages are generated with Goldsv0.8.2. (GOOS=linux GOARCH=amd64)
Golds is a Go 101 project developed by Tapir Liu.
PR and bug reports are welcome and can be submitted to the issue list.
Please follow @zigo_101 (reachable from the left QR code) to get the latest news of Golds.