From ac39fb12dd8d266a4e608519811c43842043f607 Mon Sep 17 00:00:00 2001 From: gutmet Date: Sun, 20 Nov 2022 18:03:36 +0100 Subject: [PATCH] remove context.Context --- accounts.go | 85 +++++++++++++++++------------------ apps.go | 4 +- filters.go | 21 +++++---- instance.go | 13 +++--- lists.go | 37 ++++++++------- mastodon.go | 3 +- notification.go | 33 +++++++------- polls.go | 9 ++-- report.go | 9 ++-- status.go | 117 ++++++++++++++++++++++++------------------------ 10 files changed, 162 insertions(+), 169 deletions(-) diff --git a/accounts.go b/accounts.go index 0b43e4c..aaae57b 100644 --- a/accounts.go +++ b/accounts.go @@ -1,7 +1,6 @@ package mastodon import ( - "context" "fmt" "net/http" "net/url" @@ -51,9 +50,9 @@ type AccountSource struct { } // GetAccount return Account. -func (c *Client) GetAccount(ctx context.Context, id ID) (*Account, error) { +func (c *Client) GetAccount(id ID) (*Account, error) { var account Account - err := c.doAPI(ctx, http.MethodGet, fmt.Sprintf("/api/v1/accounts/%s", url.PathEscape(string(id))), nil, &account, nil) + err := c.doAPI(http.MethodGet, fmt.Sprintf("/api/v1/accounts/%s", url.PathEscape(string(id))), nil, &account, nil) if err != nil { return nil, err } @@ -61,9 +60,9 @@ func (c *Client) GetAccount(ctx context.Context, id ID) (*Account, error) { } // GetAccountCurrentUser returns the Account of current user. -func (c *Client) GetAccountCurrentUser(ctx context.Context) (*Account, error) { +func (c *Client) GetAccountCurrentUser() (*Account, error) { var account Account - err := c.doAPI(ctx, http.MethodGet, "/api/v1/accounts/verify_credentials", nil, &account, nil) + err := c.doAPI(http.MethodGet, "/api/v1/accounts/verify_credentials", nil, &account, nil) if err != nil { return nil, err } @@ -86,7 +85,7 @@ type Profile struct { } // AccountUpdate updates the information of the current user. -func (c *Client) AccountUpdate(ctx context.Context, profile *Profile) (*Account, error) { +func (c *Client) AccountUpdate(profile *Profile) (*Account, error) { params := url.Values{} if profile.DisplayName != nil { params.Set("display_name", *profile.DisplayName) @@ -122,7 +121,7 @@ func (c *Client) AccountUpdate(ctx context.Context, profile *Profile) (*Account, } var account Account - err := c.doAPI(ctx, http.MethodPatch, "/api/v1/accounts/update_credentials", params, &account, nil) + err := c.doAPI(http.MethodPatch, "/api/v1/accounts/update_credentials", params, &account, nil) if err != nil { return nil, err } @@ -130,9 +129,9 @@ func (c *Client) AccountUpdate(ctx context.Context, profile *Profile) (*Account, } // GetAccountStatuses return statuses by specified account. -func (c *Client) GetAccountStatuses(ctx context.Context, id ID, pg *Pagination) ([]*Status, error) { +func (c *Client) GetAccountStatuses(id ID, pg *Pagination) ([]*Status, error) { var statuses []*Status - err := c.doAPI(ctx, http.MethodGet, fmt.Sprintf("/api/v1/accounts/%s/statuses", url.PathEscape(string(id))), nil, &statuses, pg) + err := c.doAPI(http.MethodGet, fmt.Sprintf("/api/v1/accounts/%s/statuses", url.PathEscape(string(id))), nil, &statuses, pg) if err != nil { return nil, err } @@ -140,11 +139,11 @@ func (c *Client) GetAccountStatuses(ctx context.Context, id ID, pg *Pagination) } // GetAccountPinnedStatuses returns statuses pinned by specified accuont. -func (c *Client) GetAccountPinnedStatuses(ctx context.Context, id ID) ([]*Status, error) { +func (c *Client) GetAccountPinnedStatuses(id ID) ([]*Status, error) { var statuses []*Status params := url.Values{} params.Set("pinned", "true") - err := c.doAPI(ctx, http.MethodGet, fmt.Sprintf("/api/v1/accounts/%s/statuses", url.PathEscape(string(id))), params, &statuses, nil) + err := c.doAPI(http.MethodGet, fmt.Sprintf("/api/v1/accounts/%s/statuses", url.PathEscape(string(id))), params, &statuses, nil) if err != nil { return nil, err } @@ -152,9 +151,9 @@ func (c *Client) GetAccountPinnedStatuses(ctx context.Context, id ID) ([]*Status } // GetAccountFollowers returns followers list. -func (c *Client) GetAccountFollowers(ctx context.Context, id ID, pg *Pagination) ([]*Account, error) { +func (c *Client) GetAccountFollowers(id ID, pg *Pagination) ([]*Account, error) { var accounts []*Account - err := c.doAPI(ctx, http.MethodGet, fmt.Sprintf("/api/v1/accounts/%s/followers", url.PathEscape(string(id))), nil, &accounts, pg) + err := c.doAPI(http.MethodGet, fmt.Sprintf("/api/v1/accounts/%s/followers", url.PathEscape(string(id))), nil, &accounts, pg) if err != nil { return nil, err } @@ -162,9 +161,9 @@ func (c *Client) GetAccountFollowers(ctx context.Context, id ID, pg *Pagination) } // GetAccountFollowing returns following list. -func (c *Client) GetAccountFollowing(ctx context.Context, id ID, pg *Pagination) ([]*Account, error) { +func (c *Client) GetAccountFollowing(id ID, pg *Pagination) ([]*Account, error) { var accounts []*Account - err := c.doAPI(ctx, http.MethodGet, fmt.Sprintf("/api/v1/accounts/%s/following", url.PathEscape(string(id))), nil, &accounts, pg) + err := c.doAPI(http.MethodGet, fmt.Sprintf("/api/v1/accounts/%s/following", url.PathEscape(string(id))), nil, &accounts, pg) if err != nil { return nil, err } @@ -172,9 +171,9 @@ func (c *Client) GetAccountFollowing(ctx context.Context, id ID, pg *Pagination) } // GetBlocks returns block list. -func (c *Client) GetBlocks(ctx context.Context, pg *Pagination) ([]*Account, error) { +func (c *Client) GetBlocks(pg *Pagination) ([]*Account, error) { var accounts []*Account - err := c.doAPI(ctx, http.MethodGet, "/api/v1/blocks", nil, &accounts, pg) + err := c.doAPI(http.MethodGet, "/api/v1/blocks", nil, &accounts, pg) if err != nil { return nil, err } @@ -196,9 +195,9 @@ type Relationship struct { } // AccountFollow follows the account. -func (c *Client) AccountFollow(ctx context.Context, id ID) (*Relationship, error) { +func (c *Client) AccountFollow(id ID) (*Relationship, error) { var relationship Relationship - err := c.doAPI(ctx, http.MethodPost, fmt.Sprintf("/api/v1/accounts/%s/follow", url.PathEscape(string(id))), nil, &relationship, nil) + err := c.doAPI(http.MethodPost, fmt.Sprintf("/api/v1/accounts/%s/follow", url.PathEscape(string(id))), nil, &relationship, nil) if err != nil { return nil, err } @@ -206,9 +205,9 @@ func (c *Client) AccountFollow(ctx context.Context, id ID) (*Relationship, error } // AccountUnfollow unfollows the account. -func (c *Client) AccountUnfollow(ctx context.Context, id ID) (*Relationship, error) { +func (c *Client) AccountUnfollow(id ID) (*Relationship, error) { var relationship Relationship - err := c.doAPI(ctx, http.MethodPost, fmt.Sprintf("/api/v1/accounts/%s/unfollow", url.PathEscape(string(id))), nil, &relationship, nil) + err := c.doAPI(http.MethodPost, fmt.Sprintf("/api/v1/accounts/%s/unfollow", url.PathEscape(string(id))), nil, &relationship, nil) if err != nil { return nil, err } @@ -216,9 +215,9 @@ func (c *Client) AccountUnfollow(ctx context.Context, id ID) (*Relationship, err } // AccountBlock blocks the account. -func (c *Client) AccountBlock(ctx context.Context, id ID) (*Relationship, error) { +func (c *Client) AccountBlock(id ID) (*Relationship, error) { var relationship Relationship - err := c.doAPI(ctx, http.MethodPost, fmt.Sprintf("/api/v1/accounts/%s/block", url.PathEscape(string(id))), nil, &relationship, nil) + err := c.doAPI(http.MethodPost, fmt.Sprintf("/api/v1/accounts/%s/block", url.PathEscape(string(id))), nil, &relationship, nil) if err != nil { return nil, err } @@ -226,9 +225,9 @@ func (c *Client) AccountBlock(ctx context.Context, id ID) (*Relationship, error) } // AccountUnblock unblocks the account. -func (c *Client) AccountUnblock(ctx context.Context, id ID) (*Relationship, error) { +func (c *Client) AccountUnblock(id ID) (*Relationship, error) { var relationship Relationship - err := c.doAPI(ctx, http.MethodPost, fmt.Sprintf("/api/v1/accounts/%s/unblock", url.PathEscape(string(id))), nil, &relationship, nil) + err := c.doAPI(http.MethodPost, fmt.Sprintf("/api/v1/accounts/%s/unblock", url.PathEscape(string(id))), nil, &relationship, nil) if err != nil { return nil, err } @@ -236,9 +235,9 @@ func (c *Client) AccountUnblock(ctx context.Context, id ID) (*Relationship, erro } // AccountMute mutes the account. -func (c *Client) AccountMute(ctx context.Context, id ID) (*Relationship, error) { +func (c *Client) AccountMute(id ID) (*Relationship, error) { var relationship Relationship - err := c.doAPI(ctx, http.MethodPost, fmt.Sprintf("/api/v1/accounts/%s/mute", url.PathEscape(string(id))), nil, &relationship, nil) + err := c.doAPI(http.MethodPost, fmt.Sprintf("/api/v1/accounts/%s/mute", url.PathEscape(string(id))), nil, &relationship, nil) if err != nil { return nil, err } @@ -246,9 +245,9 @@ func (c *Client) AccountMute(ctx context.Context, id ID) (*Relationship, error) } // AccountUnmute unmutes the account. -func (c *Client) AccountUnmute(ctx context.Context, id ID) (*Relationship, error) { +func (c *Client) AccountUnmute(id ID) (*Relationship, error) { var relationship Relationship - err := c.doAPI(ctx, http.MethodPost, fmt.Sprintf("/api/v1/accounts/%s/unmute", url.PathEscape(string(id))), nil, &relationship, nil) + err := c.doAPI(http.MethodPost, fmt.Sprintf("/api/v1/accounts/%s/unmute", url.PathEscape(string(id))), nil, &relationship, nil) if err != nil { return nil, err } @@ -256,14 +255,14 @@ func (c *Client) AccountUnmute(ctx context.Context, id ID) (*Relationship, error } // GetAccountRelationships returns relationship for the account. -func (c *Client) GetAccountRelationships(ctx context.Context, ids []string) ([]*Relationship, error) { +func (c *Client) GetAccountRelationships(ids []string) ([]*Relationship, error) { params := url.Values{} for _, id := range ids { params.Add("id[]", id) } var relationships []*Relationship - err := c.doAPI(ctx, http.MethodGet, "/api/v1/accounts/relationships", params, &relationships, nil) + err := c.doAPI(http.MethodGet, "/api/v1/accounts/relationships", params, &relationships, nil) if err != nil { return nil, err } @@ -271,13 +270,13 @@ func (c *Client) GetAccountRelationships(ctx context.Context, ids []string) ([]* } // AccountsSearch searches accounts by query. -func (c *Client) AccountsSearch(ctx context.Context, q string, limit int64) ([]*Account, error) { +func (c *Client) AccountsSearch(q string, limit int64) ([]*Account, error) { params := url.Values{} params.Set("q", q) params.Set("limit", fmt.Sprint(limit)) var accounts []*Account - err := c.doAPI(ctx, http.MethodGet, "/api/v1/accounts/search", params, &accounts, nil) + err := c.doAPI(http.MethodGet, "/api/v1/accounts/search", params, &accounts, nil) if err != nil { return nil, err } @@ -285,12 +284,12 @@ func (c *Client) AccountsSearch(ctx context.Context, q string, limit int64) ([]* } // FollowRemoteUser sends follow-request. -func (c *Client) FollowRemoteUser(ctx context.Context, uri string) (*Account, error) { +func (c *Client) FollowRemoteUser(uri string) (*Account, error) { params := url.Values{} params.Set("uri", uri) var account Account - err := c.doAPI(ctx, http.MethodPost, "/api/v1/follows", params, &account, nil) + err := c.doAPI(http.MethodPost, "/api/v1/follows", params, &account, nil) if err != nil { return nil, err } @@ -298,9 +297,9 @@ func (c *Client) FollowRemoteUser(ctx context.Context, uri string) (*Account, er } // GetFollowRequests returns follow requests. -func (c *Client) GetFollowRequests(ctx context.Context, pg *Pagination) ([]*Account, error) { +func (c *Client) GetFollowRequests(pg *Pagination) ([]*Account, error) { var accounts []*Account - err := c.doAPI(ctx, http.MethodGet, "/api/v1/follow_requests", nil, &accounts, pg) + err := c.doAPI(http.MethodGet, "/api/v1/follow_requests", nil, &accounts, pg) if err != nil { return nil, err } @@ -308,19 +307,19 @@ func (c *Client) GetFollowRequests(ctx context.Context, pg *Pagination) ([]*Acco } // FollowRequestAuthorize authorizes the follow request of user with id. -func (c *Client) FollowRequestAuthorize(ctx context.Context, id ID) error { - return c.doAPI(ctx, http.MethodPost, fmt.Sprintf("/api/v1/follow_requests/%s/authorize", url.PathEscape(string(id))), nil, nil, nil) +func (c *Client) FollowRequestAuthorize(id ID) error { + return c.doAPI(http.MethodPost, fmt.Sprintf("/api/v1/follow_requests/%s/authorize", url.PathEscape(string(id))), nil, nil, nil) } // FollowRequestReject rejects the follow request of user with id. -func (c *Client) FollowRequestReject(ctx context.Context, id ID) error { - return c.doAPI(ctx, http.MethodPost, fmt.Sprintf("/api/v1/follow_requests/%s/reject", url.PathEscape(string(id))), nil, nil, nil) +func (c *Client) FollowRequestReject(id ID) error { + return c.doAPI(http.MethodPost, fmt.Sprintf("/api/v1/follow_requests/%s/reject", url.PathEscape(string(id))), nil, nil, nil) } // GetMutes returns the list of users muted by the current user. -func (c *Client) GetMutes(ctx context.Context, pg *Pagination) ([]*Account, error) { +func (c *Client) GetMutes(pg *Pagination) ([]*Account, error) { var accounts []*Account - err := c.doAPI(ctx, http.MethodGet, "/api/v1/mutes", nil, &accounts, pg) + err := c.doAPI(http.MethodGet, "/api/v1/mutes", nil, &accounts, pg) if err != nil { return nil, err } diff --git a/apps.go b/apps.go index c885ec9..48afb80 100644 --- a/apps.go +++ b/apps.go @@ -103,9 +103,9 @@ type ApplicationVerification struct { } // VerifyAppCredentials returns the mastodon application. -func (c *Client) VerifyAppCredentials(ctx context.Context) (*ApplicationVerification, error) { +func (c *Client) VerifyAppCredentials() (*ApplicationVerification, error) { var application ApplicationVerification - err := c.doAPI(ctx, http.MethodGet, "/api/v1/apps/verify_credentials", nil, &application, nil) + err := c.doAPI(http.MethodGet, "/api/v1/apps/verify_credentials", nil, &application, nil) if err != nil { return nil, err } diff --git a/filters.go b/filters.go index 56f1229..925cf89 100644 --- a/filters.go +++ b/filters.go @@ -1,7 +1,6 @@ package mastodon import ( - "context" "errors" "fmt" "net/http" @@ -20,9 +19,9 @@ type Filter struct { } // GetFilters returns all the filters on the current account. -func (c *Client) GetFilters(ctx context.Context) ([]*Filter, error) { +func (c *Client) GetFilters() ([]*Filter, error) { var filters []*Filter - err := c.doAPI(ctx, http.MethodGet, "/api/v1/filters", nil, &filters, nil) + err := c.doAPI(http.MethodGet, "/api/v1/filters", nil, &filters, nil) if err != nil { return nil, err } @@ -30,9 +29,9 @@ func (c *Client) GetFilters(ctx context.Context) ([]*Filter, error) { } // GetFilter retrieves a filter by ID. -func (c *Client) GetFilter(ctx context.Context, id ID) (*Filter, error) { +func (c *Client) GetFilter(id ID) (*Filter, error) { var filter Filter - err := c.doAPI(ctx, http.MethodGet, fmt.Sprintf("/api/v1/filters/%s", url.PathEscape(string(id))), nil, &filter, nil) + err := c.doAPI(http.MethodGet, fmt.Sprintf("/api/v1/filters/%s", url.PathEscape(string(id))), nil, &filter, nil) if err != nil { return nil, err } @@ -40,7 +39,7 @@ func (c *Client) GetFilter(ctx context.Context, id ID) (*Filter, error) { } // CreateFilter creates a new filter. -func (c *Client) CreateFilter(ctx context.Context, filter *Filter) (*Filter, error) { +func (c *Client) CreateFilter(filter *Filter) (*Filter, error) { if filter == nil { return nil, errors.New("filter can't be nil") } @@ -67,7 +66,7 @@ func (c *Client) CreateFilter(ctx context.Context, filter *Filter) (*Filter, err } var f Filter - err := c.doAPI(ctx, http.MethodPost, "/api/v1/filters", params, &f, nil) + err := c.doAPI(http.MethodPost, "/api/v1/filters", params, &f, nil) if err != nil { return nil, err } @@ -75,7 +74,7 @@ func (c *Client) CreateFilter(ctx context.Context, filter *Filter) (*Filter, err } // UpdateFilter updates a filter. -func (c *Client) UpdateFilter(ctx context.Context, id ID, filter *Filter) (*Filter, error) { +func (c *Client) UpdateFilter(id ID, filter *Filter) (*Filter, error) { if filter == nil { return nil, errors.New("filter can't be nil") } @@ -111,7 +110,7 @@ func (c *Client) UpdateFilter(ctx context.Context, id ID, filter *Filter) (*Filt } var f Filter - err := c.doAPI(ctx, http.MethodPut, fmt.Sprintf("/api/v1/filters/%s", url.PathEscape(string(id))), params, &f, nil) + err := c.doAPI(http.MethodPut, fmt.Sprintf("/api/v1/filters/%s", url.PathEscape(string(id))), params, &f, nil) if err != nil { return nil, err } @@ -119,6 +118,6 @@ func (c *Client) UpdateFilter(ctx context.Context, id ID, filter *Filter) (*Filt } // DeleteFilter removes a filter. -func (c *Client) DeleteFilter(ctx context.Context, id ID) error { - return c.doAPI(ctx, http.MethodDelete, fmt.Sprintf("/api/v1/filters/%s", url.PathEscape(string(id))), nil, nil, nil) +func (c *Client) DeleteFilter(id ID) error { + return c.doAPI(http.MethodDelete, fmt.Sprintf("/api/v1/filters/%s", url.PathEscape(string(id))), nil, nil, nil) } diff --git a/instance.go b/instance.go index 672120c..1447d0f 100644 --- a/instance.go +++ b/instance.go @@ -1,7 +1,6 @@ package mastodon import ( - "context" "net/http" ) @@ -27,9 +26,9 @@ type InstanceStats struct { } // GetInstance returns Instance. -func (c *Client) GetInstance(ctx context.Context) (*Instance, error) { +func (c *Client) GetInstance() (*Instance, error) { var instance Instance - err := c.doAPI(ctx, http.MethodGet, "/api/v1/instance", nil, &instance, nil) + err := c.doAPI(http.MethodGet, "/api/v1/instance", nil, &instance, nil) if err != nil { return nil, err } @@ -45,9 +44,9 @@ type WeeklyActivity struct { } // GetInstanceActivity returns instance activity. -func (c *Client) GetInstanceActivity(ctx context.Context) ([]*WeeklyActivity, error) { +func (c *Client) GetInstanceActivity() ([]*WeeklyActivity, error) { var activity []*WeeklyActivity - err := c.doAPI(ctx, http.MethodGet, "/api/v1/instance/activity", nil, &activity, nil) + err := c.doAPI(http.MethodGet, "/api/v1/instance/activity", nil, &activity, nil) if err != nil { return nil, err } @@ -55,9 +54,9 @@ func (c *Client) GetInstanceActivity(ctx context.Context) ([]*WeeklyActivity, er } // GetInstancePeers returns instance peers. -func (c *Client) GetInstancePeers(ctx context.Context) ([]string, error) { +func (c *Client) GetInstancePeers() ([]string, error) { var peers []string - err := c.doAPI(ctx, http.MethodGet, "/api/v1/instance/peers", nil, &peers, nil) + err := c.doAPI(http.MethodGet, "/api/v1/instance/peers", nil, &peers, nil) if err != nil { return nil, err } diff --git a/lists.go b/lists.go index 59610cc..77b5a68 100644 --- a/lists.go +++ b/lists.go @@ -1,7 +1,6 @@ package mastodon import ( - "context" "fmt" "net/http" "net/url" @@ -14,9 +13,9 @@ type List struct { } // GetLists returns all the lists on the current account. -func (c *Client) GetLists(ctx context.Context) ([]*List, error) { +func (c *Client) GetLists() ([]*List, error) { var lists []*List - err := c.doAPI(ctx, http.MethodGet, "/api/v1/lists", nil, &lists, nil) + err := c.doAPI(http.MethodGet, "/api/v1/lists", nil, &lists, nil) if err != nil { return nil, err } @@ -24,9 +23,9 @@ func (c *Client) GetLists(ctx context.Context) ([]*List, error) { } // GetAccountLists returns the lists containing a given account. -func (c *Client) GetAccountLists(ctx context.Context, id ID) ([]*List, error) { +func (c *Client) GetAccountLists(id ID) ([]*List, error) { var lists []*List - err := c.doAPI(ctx, http.MethodGet, fmt.Sprintf("/api/v1/accounts/%s/lists", url.PathEscape(string(id))), nil, &lists, nil) + err := c.doAPI(http.MethodGet, fmt.Sprintf("/api/v1/accounts/%s/lists", url.PathEscape(string(id))), nil, &lists, nil) if err != nil { return nil, err } @@ -34,9 +33,9 @@ func (c *Client) GetAccountLists(ctx context.Context, id ID) ([]*List, error) { } // GetListAccounts returns the accounts in a given list. -func (c *Client) GetListAccounts(ctx context.Context, id ID) ([]*Account, error) { +func (c *Client) GetListAccounts(id ID) ([]*Account, error) { var accounts []*Account - err := c.doAPI(ctx, http.MethodGet, fmt.Sprintf("/api/v1/lists/%s/accounts", url.PathEscape(string(id))), url.Values{"limit": {"0"}}, &accounts, nil) + err := c.doAPI(http.MethodGet, fmt.Sprintf("/api/v1/lists/%s/accounts", url.PathEscape(string(id))), url.Values{"limit": {"0"}}, &accounts, nil) if err != nil { return nil, err } @@ -44,9 +43,9 @@ func (c *Client) GetListAccounts(ctx context.Context, id ID) ([]*Account, error) } // GetList retrieves a list by ID. -func (c *Client) GetList(ctx context.Context, id ID) (*List, error) { +func (c *Client) GetList(id ID) (*List, error) { var list List - err := c.doAPI(ctx, http.MethodGet, fmt.Sprintf("/api/v1/lists/%s", url.PathEscape(string(id))), nil, &list, nil) + err := c.doAPI(http.MethodGet, fmt.Sprintf("/api/v1/lists/%s", url.PathEscape(string(id))), nil, &list, nil) if err != nil { return nil, err } @@ -54,12 +53,12 @@ func (c *Client) GetList(ctx context.Context, id ID) (*List, error) { } // CreateList creates a new list with a given title. -func (c *Client) CreateList(ctx context.Context, title string) (*List, error) { +func (c *Client) CreateList(title string) (*List, error) { params := url.Values{} params.Set("title", title) var list List - err := c.doAPI(ctx, http.MethodPost, "/api/v1/lists", params, &list, nil) + err := c.doAPI(http.MethodPost, "/api/v1/lists", params, &list, nil) if err != nil { return nil, err } @@ -67,12 +66,12 @@ func (c *Client) CreateList(ctx context.Context, title string) (*List, error) { } // RenameList assigns a new title to a list. -func (c *Client) RenameList(ctx context.Context, id ID, title string) (*List, error) { +func (c *Client) RenameList(id ID, title string) (*List, error) { params := url.Values{} params.Set("title", title) var list List - err := c.doAPI(ctx, http.MethodPut, fmt.Sprintf("/api/v1/lists/%s", url.PathEscape(string(id))), params, &list, nil) + err := c.doAPI(http.MethodPut, fmt.Sprintf("/api/v1/lists/%s", url.PathEscape(string(id))), params, &list, nil) if err != nil { return nil, err } @@ -80,28 +79,28 @@ func (c *Client) RenameList(ctx context.Context, id ID, title string) (*List, er } // DeleteList removes a list. -func (c *Client) DeleteList(ctx context.Context, id ID) error { - return c.doAPI(ctx, http.MethodDelete, fmt.Sprintf("/api/v1/lists/%s", url.PathEscape(string(id))), nil, nil, nil) +func (c *Client) DeleteList(id ID) error { + return c.doAPI(http.MethodDelete, fmt.Sprintf("/api/v1/lists/%s", url.PathEscape(string(id))), nil, nil, nil) } // AddToList adds accounts to a list. // // Only accounts already followed by the user can be added to a list. -func (c *Client) AddToList(ctx context.Context, list ID, accounts ...ID) error { +func (c *Client) AddToList(list ID, accounts ...ID) error { params := url.Values{} for _, acct := range accounts { params.Add("account_ids", string(acct)) } - return c.doAPI(ctx, http.MethodPost, fmt.Sprintf("/api/v1/lists/%s/accounts", url.PathEscape(string(list))), params, nil, nil) + return c.doAPI(http.MethodPost, fmt.Sprintf("/api/v1/lists/%s/accounts", url.PathEscape(string(list))), params, nil, nil) } // RemoveFromList removes accounts from a list. -func (c *Client) RemoveFromList(ctx context.Context, list ID, accounts ...ID) error { +func (c *Client) RemoveFromList(list ID, accounts ...ID) error { params := url.Values{} for _, acct := range accounts { params.Add("account_ids", string(acct)) } - return c.doAPI(ctx, http.MethodDelete, fmt.Sprintf("/api/v1/lists/%s/accounts", url.PathEscape(string(list))), params, nil, nil) + return c.doAPI(http.MethodDelete, fmt.Sprintf("/api/v1/lists/%s/accounts", url.PathEscape(string(list))), params, nil, nil) } diff --git a/mastodon.go b/mastodon.go index 96fa129..d69c04d 100644 --- a/mastodon.go +++ b/mastodon.go @@ -29,7 +29,8 @@ type Client struct { UserAgent string } -func (c *Client) doAPI(ctx context.Context, method string, uri string, params interface{}, res interface{}, pg *Pagination) error { +func (c *Client) doAPI(method string, uri string, params interface{}, res interface{}, pg *Pagination) error { + ctx := context.Background() u, err := url.Parse(c.Config.Server) if err != nil { return err diff --git a/notification.go b/notification.go index fa0cab9..718f49d 100644 --- a/notification.go +++ b/notification.go @@ -1,7 +1,6 @@ package mastodon import ( - "context" "crypto/ecdsa" "crypto/elliptic" "encoding/base64" @@ -36,9 +35,9 @@ type PushAlerts struct { } // GetNotifications returns notifications. -func (c *Client) GetNotifications(ctx context.Context, pg *Pagination) ([]*Notification, error) { +func (c *Client) GetNotifications(pg *Pagination) ([]*Notification, error) { var notifications []*Notification - err := c.doAPI(ctx, http.MethodGet, "/api/v1/notifications", nil, ¬ifications, pg) + err := c.doAPI(http.MethodGet, "/api/v1/notifications", nil, ¬ifications, pg) if err != nil { return nil, err } @@ -46,9 +45,9 @@ func (c *Client) GetNotifications(ctx context.Context, pg *Pagination) ([]*Notif } // GetNotification returns notification. -func (c *Client) GetNotification(ctx context.Context, id ID) (*Notification, error) { +func (c *Client) GetNotification(id ID) (*Notification, error) { var notification Notification - err := c.doAPI(ctx, http.MethodGet, fmt.Sprintf("/api/v1/notifications/%v", id), nil, ¬ification, nil) + err := c.doAPI(http.MethodGet, fmt.Sprintf("/api/v1/notifications/%v", id), nil, ¬ification, nil) if err != nil { return nil, err } @@ -56,17 +55,17 @@ func (c *Client) GetNotification(ctx context.Context, id ID) (*Notification, err } // DismissNotification deletes a single notification. -func (c *Client) DismissNotification(ctx context.Context, id ID) error { - return c.doAPI(ctx, http.MethodPost, fmt.Sprintf("/api/v1/notifications/%v/dismiss", id), nil, nil, nil) +func (c *Client) DismissNotification(id ID) error { + return c.doAPI(http.MethodPost, fmt.Sprintf("/api/v1/notifications/%v/dismiss", id), nil, nil, nil) } // ClearNotifications clears notifications. -func (c *Client) ClearNotifications(ctx context.Context) error { - return c.doAPI(ctx, http.MethodPost, "/api/v1/notifications/clear", nil, nil, nil) +func (c *Client) ClearNotifications() error { + return c.doAPI(http.MethodPost, "/api/v1/notifications/clear", nil, nil, nil) } // AddPushSubscription adds a new push subscription. -func (c *Client) AddPushSubscription(ctx context.Context, endpoint string, public ecdsa.PublicKey, shared []byte, alerts PushAlerts) (*PushSubscription, error) { +func (c *Client) AddPushSubscription(endpoint string, public ecdsa.PublicKey, shared []byte, alerts PushAlerts) (*PushSubscription, error) { var subscription PushSubscription pk := elliptic.Marshal(public.Curve, public.X, public.Y) params := url.Values{} @@ -85,7 +84,7 @@ func (c *Client) AddPushSubscription(ctx context.Context, endpoint string, publi if alerts.Mention != nil { params.Add("data[alerts][mention]", strconv.FormatBool(bool(*alerts.Mention))) } - err := c.doAPI(ctx, http.MethodPost, "/api/v1/push/subscription", params, &subscription, nil) + err := c.doAPI(http.MethodPost, "/api/v1/push/subscription", params, &subscription, nil) if err != nil { return nil, err } @@ -93,7 +92,7 @@ func (c *Client) AddPushSubscription(ctx context.Context, endpoint string, publi } // UpdatePushSubscription updates which type of notifications are sent for the active push subscription. -func (c *Client) UpdatePushSubscription(ctx context.Context, alerts *PushAlerts) (*PushSubscription, error) { +func (c *Client) UpdatePushSubscription(alerts *PushAlerts) (*PushSubscription, error) { var subscription PushSubscription params := url.Values{} if alerts.Follow != nil { @@ -108,7 +107,7 @@ func (c *Client) UpdatePushSubscription(ctx context.Context, alerts *PushAlerts) if alerts.Mention != nil { params.Add("data[alerts][mention]", strconv.FormatBool(bool(*alerts.Mention))) } - err := c.doAPI(ctx, http.MethodPut, "/api/v1/push/subscription", params, &subscription, nil) + err := c.doAPI(http.MethodPut, "/api/v1/push/subscription", params, &subscription, nil) if err != nil { return nil, err } @@ -116,14 +115,14 @@ func (c *Client) UpdatePushSubscription(ctx context.Context, alerts *PushAlerts) } // RemovePushSubscription deletes the active push subscription. -func (c *Client) RemovePushSubscription(ctx context.Context) error { - return c.doAPI(ctx, http.MethodDelete, "/api/v1/push/subscription", nil, nil, nil) +func (c *Client) RemovePushSubscription() error { + return c.doAPI(http.MethodDelete, "/api/v1/push/subscription", nil, nil, nil) } // GetPushSubscription retrieves information about the active push subscription. -func (c *Client) GetPushSubscription(ctx context.Context) (*PushSubscription, error) { +func (c *Client) GetPushSubscription() (*PushSubscription, error) { var subscription PushSubscription - err := c.doAPI(ctx, http.MethodGet, "/api/v1/push/subscription", nil, &subscription, nil) + err := c.doAPI(http.MethodGet, "/api/v1/push/subscription", nil, &subscription, nil) if err != nil { return nil, err } diff --git a/polls.go b/polls.go index 16be421..e6124a9 100644 --- a/polls.go +++ b/polls.go @@ -1,7 +1,6 @@ package mastodon import ( - "context" "fmt" "net/http" "net/url" @@ -29,9 +28,9 @@ type PollOption struct { } // GetPoll returns poll specified by id. -func (c *Client) GetPoll(ctx context.Context, id ID) (*Poll, error) { +func (c *Client) GetPoll(id ID) (*Poll, error) { var poll Poll - err := c.doAPI(ctx, http.MethodGet, fmt.Sprintf("/api/v1/polls/%s", id), nil, &poll, nil) + err := c.doAPI(http.MethodGet, fmt.Sprintf("/api/v1/polls/%s", id), nil, &poll, nil) if err != nil { return nil, err } @@ -39,14 +38,14 @@ func (c *Client) GetPoll(ctx context.Context, id ID) (*Poll, error) { } // PollVote votes on a poll specified by id, choices is the Poll.Options index to vote on -func (c *Client) PollVote(ctx context.Context, id ID, choices ...int) (*Poll, error) { +func (c *Client) PollVote(id ID, choices ...int) (*Poll, error) { params := url.Values{} for _, c := range choices { params.Add("choices[]", fmt.Sprintf("%d", c)) } var poll Poll - err := c.doAPI(ctx, http.MethodPost, fmt.Sprintf("/api/v1/polls/%s/votes", url.PathEscape(string(id))), params, &poll, nil) + err := c.doAPI(http.MethodPost, fmt.Sprintf("/api/v1/polls/%s/votes", url.PathEscape(string(id))), params, &poll, nil) if err != nil { return nil, err } diff --git a/report.go b/report.go index 662c16a..bdb6f59 100644 --- a/report.go +++ b/report.go @@ -1,7 +1,6 @@ package mastodon import ( - "context" "net/http" "net/url" ) @@ -13,9 +12,9 @@ type Report struct { } // GetReports returns report of the current user. -func (c *Client) GetReports(ctx context.Context) ([]*Report, error) { +func (c *Client) GetReports() ([]*Report, error) { var reports []*Report - err := c.doAPI(ctx, http.MethodGet, "/api/v1/reports", nil, &reports, nil) + err := c.doAPI(http.MethodGet, "/api/v1/reports", nil, &reports, nil) if err != nil { return nil, err } @@ -23,7 +22,7 @@ func (c *Client) GetReports(ctx context.Context) ([]*Report, error) { } // Report reports the report -func (c *Client) Report(ctx context.Context, accountID ID, ids []ID, comment string) (*Report, error) { +func (c *Client) Report(accountID ID, ids []ID, comment string) (*Report, error) { params := url.Values{} params.Set("account_id", string(accountID)) for _, id := range ids { @@ -31,7 +30,7 @@ func (c *Client) Report(ctx context.Context, accountID ID, ids []ID, comment str } params.Set("comment", comment) var report Report - err := c.doAPI(ctx, http.MethodPost, "/api/v1/reports", params, &report, nil) + err := c.doAPI(http.MethodPost, "/api/v1/reports", params, &report, nil) if err != nil { return nil, err } diff --git a/status.go b/status.go index f5cc451..32955ab 100644 --- a/status.go +++ b/status.go @@ -2,7 +2,6 @@ package mastodon import ( "bytes" - "context" "fmt" "io" "mime/multipart" @@ -141,9 +140,9 @@ func (m *Media) bodyAndContentType() (io.Reader, string, error) { } // GetFavourites returns the favorite list of the current user. -func (c *Client) GetFavourites(ctx context.Context, pg *Pagination) ([]*Status, error) { +func (c *Client) GetFavourites(pg *Pagination) ([]*Status, error) { var statuses []*Status - err := c.doAPI(ctx, http.MethodGet, "/api/v1/favourites", nil, &statuses, pg) + err := c.doAPI(http.MethodGet, "/api/v1/favourites", nil, &statuses, pg) if err != nil { return nil, err } @@ -151,9 +150,9 @@ func (c *Client) GetFavourites(ctx context.Context, pg *Pagination) ([]*Status, } // GetBookmarks returns the bookmark list of the current user. -func (c *Client) GetBookmarks(ctx context.Context, pg *Pagination) ([]*Status, error) { +func (c *Client) GetBookmarks(pg *Pagination) ([]*Status, error) { var statuses []*Status - err := c.doAPI(ctx, http.MethodGet, "/api/v1/bookmarks", nil, &statuses, pg) + err := c.doAPI(http.MethodGet, "/api/v1/bookmarks", nil, &statuses, pg) if err != nil { return nil, err } @@ -161,9 +160,9 @@ func (c *Client) GetBookmarks(ctx context.Context, pg *Pagination) ([]*Status, e } // GetStatus returns status specified by id. -func (c *Client) GetStatus(ctx context.Context, id ID) (*Status, error) { +func (c *Client) GetStatus(id ID) (*Status, error) { var status Status - err := c.doAPI(ctx, http.MethodGet, fmt.Sprintf("/api/v1/statuses/%s", id), nil, &status, nil) + err := c.doAPI(http.MethodGet, fmt.Sprintf("/api/v1/statuses/%s", id), nil, &status, nil) if err != nil { return nil, err } @@ -171,9 +170,9 @@ func (c *Client) GetStatus(ctx context.Context, id ID) (*Status, error) { } // GetStatusContext returns status specified by id. -func (c *Client) GetStatusContext(ctx context.Context, id ID) (*Context, error) { +func (c *Client) GetStatusContext(id ID) (*Context, error) { var context Context - err := c.doAPI(ctx, http.MethodGet, fmt.Sprintf("/api/v1/statuses/%s/context", id), nil, &context, nil) + err := c.doAPI(http.MethodGet, fmt.Sprintf("/api/v1/statuses/%s/context", id), nil, &context, nil) if err != nil { return nil, err } @@ -181,9 +180,9 @@ func (c *Client) GetStatusContext(ctx context.Context, id ID) (*Context, error) } // GetStatusCard returns status specified by id. -func (c *Client) GetStatusCard(ctx context.Context, id ID) (*Card, error) { +func (c *Client) GetStatusCard(id ID) (*Card, error) { var card Card - err := c.doAPI(ctx, http.MethodGet, fmt.Sprintf("/api/v1/statuses/%s/card", id), nil, &card, nil) + err := c.doAPI(http.MethodGet, fmt.Sprintf("/api/v1/statuses/%s/card", id), nil, &card, nil) if err != nil { return nil, err } @@ -191,9 +190,9 @@ func (c *Client) GetStatusCard(ctx context.Context, id ID) (*Card, error) { } // GetRebloggedBy returns the account list of the user who reblogged the toot of id. -func (c *Client) GetRebloggedBy(ctx context.Context, id ID, pg *Pagination) ([]*Account, error) { +func (c *Client) GetRebloggedBy(id ID, pg *Pagination) ([]*Account, error) { var accounts []*Account - err := c.doAPI(ctx, http.MethodGet, fmt.Sprintf("/api/v1/statuses/%s/reblogged_by", id), nil, &accounts, pg) + err := c.doAPI(http.MethodGet, fmt.Sprintf("/api/v1/statuses/%s/reblogged_by", id), nil, &accounts, pg) if err != nil { return nil, err } @@ -201,9 +200,9 @@ func (c *Client) GetRebloggedBy(ctx context.Context, id ID, pg *Pagination) ([]* } // GetFavouritedBy returns the account list of the user who liked the toot of id. -func (c *Client) GetFavouritedBy(ctx context.Context, id ID, pg *Pagination) ([]*Account, error) { +func (c *Client) GetFavouritedBy(id ID, pg *Pagination) ([]*Account, error) { var accounts []*Account - err := c.doAPI(ctx, http.MethodGet, fmt.Sprintf("/api/v1/statuses/%s/favourited_by", id), nil, &accounts, pg) + err := c.doAPI(http.MethodGet, fmt.Sprintf("/api/v1/statuses/%s/favourited_by", id), nil, &accounts, pg) if err != nil { return nil, err } @@ -211,9 +210,9 @@ func (c *Client) GetFavouritedBy(ctx context.Context, id ID, pg *Pagination) ([] } // Reblog reblogs the toot of id and returns status of reblog. -func (c *Client) Reblog(ctx context.Context, id ID) (*Status, error) { +func (c *Client) Reblog(id ID) (*Status, error) { var status Status - err := c.doAPI(ctx, http.MethodPost, fmt.Sprintf("/api/v1/statuses/%s/reblog", id), nil, &status, nil) + err := c.doAPI(http.MethodPost, fmt.Sprintf("/api/v1/statuses/%s/reblog", id), nil, &status, nil) if err != nil { return nil, err } @@ -221,9 +220,9 @@ func (c *Client) Reblog(ctx context.Context, id ID) (*Status, error) { } // Unreblog unreblogs the toot of id and returns status of the original toot. -func (c *Client) Unreblog(ctx context.Context, id ID) (*Status, error) { +func (c *Client) Unreblog(id ID) (*Status, error) { var status Status - err := c.doAPI(ctx, http.MethodPost, fmt.Sprintf("/api/v1/statuses/%s/unreblog", id), nil, &status, nil) + err := c.doAPI(http.MethodPost, fmt.Sprintf("/api/v1/statuses/%s/unreblog", id), nil, &status, nil) if err != nil { return nil, err } @@ -231,9 +230,9 @@ func (c *Client) Unreblog(ctx context.Context, id ID) (*Status, error) { } // Favourite favourites the toot of id and returns status of the favourite toot. -func (c *Client) Favourite(ctx context.Context, id ID) (*Status, error) { +func (c *Client) Favourite(id ID) (*Status, error) { var status Status - err := c.doAPI(ctx, http.MethodPost, fmt.Sprintf("/api/v1/statuses/%s/favourite", id), nil, &status, nil) + err := c.doAPI(http.MethodPost, fmt.Sprintf("/api/v1/statuses/%s/favourite", id), nil, &status, nil) if err != nil { return nil, err } @@ -241,9 +240,9 @@ func (c *Client) Favourite(ctx context.Context, id ID) (*Status, error) { } // Unfavourite unfavourites the toot of id and returns status of the unfavourite toot. -func (c *Client) Unfavourite(ctx context.Context, id ID) (*Status, error) { +func (c *Client) Unfavourite(id ID) (*Status, error) { var status Status - err := c.doAPI(ctx, http.MethodPost, fmt.Sprintf("/api/v1/statuses/%s/unfavourite", id), nil, &status, nil) + err := c.doAPI(http.MethodPost, fmt.Sprintf("/api/v1/statuses/%s/unfavourite", id), nil, &status, nil) if err != nil { return nil, err } @@ -251,9 +250,9 @@ func (c *Client) Unfavourite(ctx context.Context, id ID) (*Status, error) { } // Bookmark bookmarks the toot of id and returns status of the bookmark toot. -func (c *Client) Bookmark(ctx context.Context, id ID) (*Status, error) { +func (c *Client) Bookmark(id ID) (*Status, error) { var status Status - err := c.doAPI(ctx, http.MethodPost, fmt.Sprintf("/api/v1/statuses/%s/bookmark", id), nil, &status, nil) + err := c.doAPI(http.MethodPost, fmt.Sprintf("/api/v1/statuses/%s/bookmark", id), nil, &status, nil) if err != nil { return nil, err } @@ -261,9 +260,9 @@ func (c *Client) Bookmark(ctx context.Context, id ID) (*Status, error) { } // Unbookmark is unbookmark the toot of id and return status of the unbookmark toot. -func (c *Client) Unbookmark(ctx context.Context, id ID) (*Status, error) { +func (c *Client) Unbookmark(id ID) (*Status, error) { var status Status - err := c.doAPI(ctx, http.MethodPost, fmt.Sprintf("/api/v1/statuses/%s/unbookmark", id), nil, &status, nil) + err := c.doAPI(http.MethodPost, fmt.Sprintf("/api/v1/statuses/%s/unbookmark", id), nil, &status, nil) if err != nil { return nil, err } @@ -271,9 +270,9 @@ func (c *Client) Unbookmark(ctx context.Context, id ID) (*Status, error) { } // GetTimelineHome return statuses from home timeline. -func (c *Client) GetTimelineHome(ctx context.Context, pg *Pagination) ([]*Status, error) { +func (c *Client) GetTimelineHome(pg *Pagination) ([]*Status, error) { var statuses []*Status - err := c.doAPI(ctx, http.MethodGet, "/api/v1/timelines/home", nil, &statuses, pg) + err := c.doAPI(http.MethodGet, "/api/v1/timelines/home", nil, &statuses, pg) if err != nil { return nil, err } @@ -281,14 +280,14 @@ func (c *Client) GetTimelineHome(ctx context.Context, pg *Pagination) ([]*Status } // GetTimelinePublic return statuses from public timeline. -func (c *Client) GetTimelinePublic(ctx context.Context, isLocal bool, pg *Pagination) ([]*Status, error) { +func (c *Client) GetTimelinePublic(isLocal bool, pg *Pagination) ([]*Status, error) { params := url.Values{} if isLocal { params.Set("local", "t") } var statuses []*Status - err := c.doAPI(ctx, http.MethodGet, "/api/v1/timelines/public", params, &statuses, pg) + err := c.doAPI(http.MethodGet, "/api/v1/timelines/public", params, &statuses, pg) if err != nil { return nil, err } @@ -296,14 +295,14 @@ func (c *Client) GetTimelinePublic(ctx context.Context, isLocal bool, pg *Pagina } // GetTimelineHashtag return statuses from tagged timeline. -func (c *Client) GetTimelineHashtag(ctx context.Context, tag string, isLocal bool, pg *Pagination) ([]*Status, error) { +func (c *Client) GetTimelineHashtag(tag string, isLocal bool, pg *Pagination) ([]*Status, error) { params := url.Values{} if isLocal { params.Set("local", "t") } var statuses []*Status - err := c.doAPI(ctx, http.MethodGet, fmt.Sprintf("/api/v1/timelines/tag/%s", url.PathEscape(tag)), params, &statuses, pg) + err := c.doAPI(http.MethodGet, fmt.Sprintf("/api/v1/timelines/tag/%s", url.PathEscape(tag)), params, &statuses, pg) if err != nil { return nil, err } @@ -311,9 +310,9 @@ func (c *Client) GetTimelineHashtag(ctx context.Context, tag string, isLocal boo } // GetTimelineList return statuses from a list timeline. -func (c *Client) GetTimelineList(ctx context.Context, id ID, pg *Pagination) ([]*Status, error) { +func (c *Client) GetTimelineList(id ID, pg *Pagination) ([]*Status, error) { var statuses []*Status - err := c.doAPI(ctx, http.MethodGet, fmt.Sprintf("/api/v1/timelines/list/%s", url.PathEscape(string(id))), nil, &statuses, pg) + err := c.doAPI(http.MethodGet, fmt.Sprintf("/api/v1/timelines/list/%s", url.PathEscape(string(id))), nil, &statuses, pg) if err != nil { return nil, err } @@ -322,7 +321,7 @@ func (c *Client) GetTimelineList(ctx context.Context, id ID, pg *Pagination) ([] // GetTimelineMedia return statuses from media timeline. // NOTE: This is an experimental feature of pawoo.net. -func (c *Client) GetTimelineMedia(ctx context.Context, isLocal bool, pg *Pagination) ([]*Status, error) { +func (c *Client) GetTimelineMedia(isLocal bool, pg *Pagination) ([]*Status, error) { params := url.Values{} params.Set("media", "t") if isLocal { @@ -330,7 +329,7 @@ func (c *Client) GetTimelineMedia(ctx context.Context, isLocal bool, pg *Paginat } var statuses []*Status - err := c.doAPI(ctx, http.MethodGet, "/api/v1/timelines/public", params, &statuses, pg) + err := c.doAPI(http.MethodGet, "/api/v1/timelines/public", params, &statuses, pg) if err != nil { return nil, err } @@ -338,7 +337,7 @@ func (c *Client) GetTimelineMedia(ctx context.Context, isLocal bool, pg *Paginat } // PostStatus post the toot. -func (c *Client) PostStatus(ctx context.Context, toot *Toot) (*Status, error) { +func (c *Client) PostStatus(toot *Toot) (*Status, error) { params := url.Values{} params.Set("status", toot.Status) if toot.InReplyToID != "" { @@ -376,7 +375,7 @@ func (c *Client) PostStatus(ctx context.Context, toot *Toot) (*Status, error) { } var status Status - err := c.doAPI(ctx, http.MethodPost, "/api/v1/statuses", params, &status, nil) + err := c.doAPI(http.MethodPost, "/api/v1/statuses", params, &status, nil) if err != nil { return nil, err } @@ -384,17 +383,17 @@ func (c *Client) PostStatus(ctx context.Context, toot *Toot) (*Status, error) { } // DeleteStatus delete the toot. -func (c *Client) DeleteStatus(ctx context.Context, id ID) error { - return c.doAPI(ctx, http.MethodDelete, fmt.Sprintf("/api/v1/statuses/%s", id), nil, nil, nil) +func (c *Client) DeleteStatus(id ID) error { + return c.doAPI(http.MethodDelete, fmt.Sprintf("/api/v1/statuses/%s", id), nil, nil, nil) } // Search search content with query. -func (c *Client) Search(ctx context.Context, q string, resolve bool) (*Results, error) { +func (c *Client) Search(q string, resolve bool) (*Results, error) { params := url.Values{} params.Set("q", q) params.Set("resolve", fmt.Sprint(resolve)) var results Results - err := c.doAPI(ctx, http.MethodGet, "/api/v2/search", params, &results, nil) + err := c.doAPI(http.MethodGet, "/api/v2/search", params, &results, nil) if err != nil { return nil, err } @@ -402,41 +401,41 @@ func (c *Client) Search(ctx context.Context, q string, resolve bool) (*Results, } // UploadMedia upload a media attachment from a file. -func (c *Client) UploadMedia(ctx context.Context, file string) (*Attachment, error) { +func (c *Client) UploadMedia(file string) (*Attachment, error) { f, err := os.Open(file) if err != nil { return nil, err } defer f.Close() - return c.UploadMediaFromMedia(ctx, &Media{File: f}) + return c.UploadMediaFromMedia(&Media{File: f}) } // UploadMediaFromBytes uploads a media attachment from a byte slice. -func (c *Client) UploadMediaFromBytes(ctx context.Context, b []byte) (*Attachment, error) { - return c.UploadMediaFromReader(ctx, bytes.NewReader(b)) +func (c *Client) UploadMediaFromBytes(b []byte) (*Attachment, error) { + return c.UploadMediaFromReader(bytes.NewReader(b)) } // UploadMediaFromReader uploads a media attachment from an io.Reader. -func (c *Client) UploadMediaFromReader(ctx context.Context, reader io.Reader) (*Attachment, error) { - return c.UploadMediaFromMedia(ctx, &Media{File: reader}) +func (c *Client) UploadMediaFromReader(reader io.Reader) (*Attachment, error) { + return c.UploadMediaFromMedia(&Media{File: reader}) } // UploadMediaFromMedia uploads a media attachment from a Media struct. -func (c *Client) UploadMediaFromMedia(ctx context.Context, media *Media) (*Attachment, error) { +func (c *Client) UploadMediaFromMedia(media *Media) (*Attachment, error) { var attachment Attachment - if err := c.doAPI(ctx, http.MethodPost, "/api/v1/media", media, &attachment, nil); err != nil { + if err := c.doAPI(http.MethodPost, "/api/v1/media", media, &attachment, nil); err != nil { return nil, err } return &attachment, nil } // GetTimelineDirect return statuses from direct timeline. -func (c *Client) GetTimelineDirect(ctx context.Context, pg *Pagination) ([]*Status, error) { +func (c *Client) GetTimelineDirect(pg *Pagination) ([]*Status, error) { params := url.Values{} var conversations []*Conversation - err := c.doAPI(ctx, http.MethodGet, "/api/v1/conversations", params, &conversations, pg) + err := c.doAPI(http.MethodGet, "/api/v1/conversations", params, &conversations, pg) if err != nil { return nil, err } @@ -452,11 +451,11 @@ func (c *Client) GetTimelineDirect(ctx context.Context, pg *Pagination) ([]*Stat } // GetConversations return direct conversations. -func (c *Client) GetConversations(ctx context.Context, pg *Pagination) ([]*Conversation, error) { +func (c *Client) GetConversations(pg *Pagination) ([]*Conversation, error) { params := url.Values{} var conversations []*Conversation - err := c.doAPI(ctx, http.MethodGet, "/api/v1/conversations", params, &conversations, pg) + err := c.doAPI(http.MethodGet, "/api/v1/conversations", params, &conversations, pg) if err != nil { return nil, err } @@ -464,11 +463,11 @@ func (c *Client) GetConversations(ctx context.Context, pg *Pagination) ([]*Conve } // DeleteConversation delete the conversation specified by id. -func (c *Client) DeleteConversation(ctx context.Context, id ID) error { - return c.doAPI(ctx, http.MethodDelete, fmt.Sprintf("/api/v1/conversations/%s", id), nil, nil, nil) +func (c *Client) DeleteConversation(id ID) error { + return c.doAPI(http.MethodDelete, fmt.Sprintf("/api/v1/conversations/%s", id), nil, nil, nil) } // MarkConversationAsRead mark the conversation as read. -func (c *Client) MarkConversationAsRead(ctx context.Context, id ID) error { - return c.doAPI(ctx, http.MethodPost, fmt.Sprintf("/api/v1/conversations/%s/read", id), nil, nil, nil) +func (c *Client) MarkConversationAsRead(id ID) error { + return c.doAPI(http.MethodPost, fmt.Sprintf("/api/v1/conversations/%s/read", id), nil, nil, nil) }