diff -r c50e88700432 -r df7e9dff1b66 vendor/github.com/McKael/madon/v3/status.go --- a/vendor/github.com/McKael/madon/v3/status.go Sat Feb 04 13:18:01 2023 +0100 +++ b/vendor/github.com/McKael/madon/v3/status.go Sat Feb 04 13:26:06 2023 +0100 @@ -8,7 +8,6 @@ import ( "fmt" - "strconv" "github.com/pkg/errors" "github.com/sendgrid/rest" @@ -17,8 +16,8 @@ // PostStatusParams contains option fields for the PostStatus command type PostStatusParams struct { Text string - InReplyTo int64 - MediaIDs []int64 + InReplyTo ActivityID + MediaIDs []ActivityID Sensitive bool SpoilerText string Visibility string @@ -27,12 +26,12 @@ // updateStatusOptions contains option fields for POST and DELETE API calls type updateStatusOptions struct { // The ID is used for most commands - ID int64 + ID ActivityID // The following fields are used for posting a new status Status string - InReplyToID int64 - MediaIDs []int64 + InReplyToID ActivityID + MediaIDs []ActivityID Sensitive bool SpoilerText string Visibility string // "direct", "private", "unlisted" or "public" @@ -66,12 +65,12 @@ // The operation 'op' can be empty or "status" (the status itself), "context", // "card", "reblogged_by", "favourited_by". // The data argument will receive the object(s) returned by the API server. -func (mc *Client) queryStatusData(statusID int64, op string, data interface{}) error { - if statusID < 1 { +func (mc *Client) queryStatusData(statusID ActivityID, op string, data interface{}) error { + if statusID == "" { return ErrInvalidID } - endPoint := "statuses/" + strconv.FormatInt(statusID, 10) + endPoint := "statuses/" + statusID if op != "" && op != "status" { switch op { @@ -113,20 +112,20 @@ } case "delete": method = rest.Delete - if opts.ID < 1 { + if opts.ID == "" { return ErrInvalidID } - endPoint += "/" + strconv.FormatInt(opts.ID, 10) + endPoint += "/" + opts.ID case "reblog", "unreblog", "favourite", "unfavourite": - if opts.ID < 1 { + if opts.ID == "" { return ErrInvalidID } - endPoint += "/" + strconv.FormatInt(opts.ID, 10) + "/" + op + endPoint += "/" + opts.ID + "/" + op case "mute", "unmute", "pin", "unpin": - if opts.ID < 1 { + if opts.ID == "" { return ErrInvalidID } - endPoint += "/" + strconv.FormatInt(opts.ID, 10) + "/" + op + endPoint += "/" + opts.ID + "/" + op default: return ErrInvalidParameter } @@ -134,15 +133,15 @@ // Form items for a new toot if op == "status" { params["status"] = opts.Status - if opts.InReplyToID > 0 { - params["in_reply_to_id"] = strconv.FormatInt(opts.InReplyToID, 10) + if opts.InReplyToID != "" { + params["in_reply_to_id"] = opts.InReplyToID } for i, id := range opts.MediaIDs { - if id < 1 { + if id == "" { return ErrInvalidID } qID := fmt.Sprintf("[%d]media_ids", i) - params[qID] = strconv.FormatInt(id, 10) + params[qID] = id } if opts.Sensitive { params["sensitive"] = "true" @@ -161,20 +160,20 @@ // GetStatus returns a status // The returned status can be nil if there is an error or if the // requested ID does not exist. -func (mc *Client) GetStatus(statusID int64) (*Status, error) { +func (mc *Client) GetStatus(statusID ActivityID) (*Status, error) { var status Status if err := mc.queryStatusData(statusID, "status", &status); err != nil { return nil, err } - if status.ID == 0 { + if status.ID == "" { return nil, ErrEntityNotFound } return &status, nil } // GetStatusContext returns a status context -func (mc *Client) GetStatusContext(statusID int64) (*Context, error) { +func (mc *Client) GetStatusContext(statusID ActivityID) (*Context, error) { var context Context if err := mc.queryStatusData(statusID, "context", &context); err != nil { return nil, err @@ -183,7 +182,7 @@ } // GetStatusCard returns a status card -func (mc *Client) GetStatusCard(statusID int64) (*Card, error) { +func (mc *Client) GetStatusCard(statusID ActivityID) (*Card, error) { var card Card if err := mc.queryStatusData(statusID, "card", &card); err != nil { return nil, err @@ -192,13 +191,13 @@ } // GetStatusRebloggedBy returns a list of the accounts who reblogged a status -func (mc *Client) GetStatusRebloggedBy(statusID int64, lopt *LimitParams) ([]Account, error) { +func (mc *Client) GetStatusRebloggedBy(statusID ActivityID, lopt *LimitParams) ([]Account, error) { o := &getAccountsOptions{ID: statusID, Limit: lopt} return mc.getMultipleAccountsHelper("reblogged_by", o) } // GetStatusFavouritedBy returns a list of the accounts who favourited a status -func (mc *Client) GetStatusFavouritedBy(statusID int64, lopt *LimitParams) ([]Account, error) { +func (mc *Client) GetStatusFavouritedBy(statusID ActivityID, lopt *LimitParams) ([]Account, error) { o := &getAccountsOptions{ID: statusID, Limit: lopt} return mc.getMultipleAccountsHelper("favourited_by", o) } @@ -221,14 +220,14 @@ if err != nil { return nil, err } - if status.ID == 0 { + if status.ID == "" { return nil, ErrEntityNotFound // TODO Change error message } return &status, err } // DeleteStatus deletes a status -func (mc *Client) DeleteStatus(statusID int64) error { +func (mc *Client) DeleteStatus(statusID ActivityID) error { var status Status o := updateStatusOptions{ID: statusID} err := mc.updateStatusData("delete", o, &status) @@ -236,7 +235,7 @@ } // ReblogStatus reblogs a status -func (mc *Client) ReblogStatus(statusID int64) error { +func (mc *Client) ReblogStatus(statusID ActivityID) error { var status Status o := updateStatusOptions{ID: statusID} err := mc.updateStatusData("reblog", o, &status) @@ -244,7 +243,7 @@ } // UnreblogStatus unreblogs a status -func (mc *Client) UnreblogStatus(statusID int64) error { +func (mc *Client) UnreblogStatus(statusID ActivityID) error { var status Status o := updateStatusOptions{ID: statusID} err := mc.updateStatusData("unreblog", o, &status) @@ -252,7 +251,7 @@ } // FavouriteStatus favourites a status -func (mc *Client) FavouriteStatus(statusID int64) error { +func (mc *Client) FavouriteStatus(statusID ActivityID) error { var status Status o := updateStatusOptions{ID: statusID} err := mc.updateStatusData("favourite", o, &status) @@ -260,7 +259,7 @@ } // UnfavouriteStatus unfavourites a status -func (mc *Client) UnfavouriteStatus(statusID int64) error { +func (mc *Client) UnfavouriteStatus(statusID ActivityID) error { var status Status o := updateStatusOptions{ID: statusID} err := mc.updateStatusData("unfavourite", o, &status) @@ -268,7 +267,7 @@ } // PinStatus pins a status -func (mc *Client) PinStatus(statusID int64) error { +func (mc *Client) PinStatus(statusID ActivityID) error { var status Status o := updateStatusOptions{ID: statusID} err := mc.updateStatusData("pin", o, &status) @@ -276,7 +275,7 @@ } // UnpinStatus unpins a status -func (mc *Client) UnpinStatus(statusID int64) error { +func (mc *Client) UnpinStatus(statusID ActivityID) error { var status Status o := updateStatusOptions{ID: statusID} err := mc.updateStatusData("unpin", o, &status) @@ -284,7 +283,7 @@ } // MuteConversation mutes the conversation containing a status -func (mc *Client) MuteConversation(statusID int64) (*Status, error) { +func (mc *Client) MuteConversation(statusID ActivityID) (*Status, error) { var status Status o := updateStatusOptions{ID: statusID} err := mc.updateStatusData("mute", o, &status) @@ -292,7 +291,7 @@ } // UnmuteConversation unmutes the conversation containing a status -func (mc *Client) UnmuteConversation(statusID int64) (*Status, error) { +func (mc *Client) UnmuteConversation(statusID ActivityID) (*Status, error) { var status Status o := updateStatusOptions{ID: statusID} err := mc.updateStatusData("unmute", o, &status)