mirror of
https://github.com/superseriousbusiness/gotosocial.git
synced 2025-10-28 11:12:25 -05:00
[bugfix] Fix db error checking for int req: sql: no rows in result set (#4478)
Fixes `sql: no rows in result set` when trying to append approvedByURI to a reply that was sent impolitely and approved impolitely. Reviewed-on: https://codeberg.org/superseriousbusiness/gotosocial/pulls/4478 Co-authored-by: tobi <tobi.smethurst@protonmail.com> Co-committed-by: tobi <tobi.smethurst@protonmail.com>
This commit is contained in:
parent
03fc6eaf39
commit
c6044d0142
1 changed files with 21 additions and 4 deletions
|
|
@ -2438,8 +2438,8 @@ func (c *Converter) InteractionReqToASAuthorization(
|
|||
}
|
||||
|
||||
// appendASInteractionAuthorization is a utility function
|
||||
// that sets `approvedBy`, and `likeAuthorization`,
|
||||
// `replyAuthorization`, or `announceAuthorization`.
|
||||
// that sets `approvedBy`, and (if possible) `likeAuthorization`,
|
||||
// `replyAuthorization`, and/or `announceAuthorization`.
|
||||
func (c *Converter) appendASInteractionAuthorization(
|
||||
ctx context.Context,
|
||||
approvedByURIStr string,
|
||||
|
|
@ -2458,11 +2458,28 @@ func (c *Converter) appendASInteractionAuthorization(
|
|||
gtscontext.SetBarebones(ctx),
|
||||
approvedByURIStr,
|
||||
)
|
||||
if err != nil {
|
||||
if err != nil && !errors.Is(err, db.ErrNoEntries) {
|
||||
return gtserror.Newf("db error checking for int req: %w", err)
|
||||
}
|
||||
|
||||
// Make sure it's actually accepted.
|
||||
// If the interaction request is nil,
|
||||
// that means we originally sent out
|
||||
// the interaction request impolitely,
|
||||
// and it was accepted impolitely.
|
||||
// Ie., behavior from <= v0.20.0.
|
||||
//
|
||||
// If this is so, just set `approvedBy`
|
||||
// to given approvedByURIStr and bail,
|
||||
// as there's nothing else we can do.
|
||||
if intReq == nil {
|
||||
if wap, ok := t.(ap.WithApprovedBy); ok {
|
||||
ap.SetApprovedBy(wap, approvedByURI)
|
||||
}
|
||||
return nil
|
||||
}
|
||||
|
||||
// Make sure interaction request
|
||||
// has actually been accepted.
|
||||
if !intReq.IsAccepted() {
|
||||
return gtserror.Newf(
|
||||
"approvedByURIStr %s corresponded to not-accepted interaction request %s",
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue