From 15621f5324b4613d83efb94711c97eeaa83da2b3 Mon Sep 17 00:00:00 2001 From: tobi <31960611+tsmethurst@users.noreply.github.com> Date: Sat, 16 Oct 2021 13:27:43 +0200 Subject: Follow request improvements (#282) * tiny doc update * add rejectfollowrequest to db * add follow request reject to processor * add reject handler * tidy up follow request api * tidy up federation call * regenerate swagger docs * api endpoint tests * processor test * add reject federatingdb handler * start writing reject tests * test reject follow request * go fmt * increase sleep for slow test setups * more relaxed time.sleep --- internal/db/bundb/relationship.go | 25 +++++++++++++++++++++++++ 1 file changed, 25 insertions(+) (limited to 'internal/db/bundb/relationship.go') diff --git a/internal/db/bundb/relationship.go b/internal/db/bundb/relationship.go index 64d896527..4f15c7772 100644 --- a/internal/db/bundb/relationship.go +++ b/internal/db/bundb/relationship.go @@ -255,6 +255,31 @@ func (r *relationshipDB) AcceptFollowRequest(ctx context.Context, originAccountI return follow, nil } +func (r *relationshipDB) RejectFollowRequest(ctx context.Context, originAccountID string, targetAccountID string) (*gtsmodel.FollowRequest, db.Error) { + // first get the follow request out of the database + fr := >smodel.FollowRequest{} + if err := r.conn. + NewSelect(). + Model(fr). + Where("account_id = ?", originAccountID). + Where("target_account_id = ?", targetAccountID). + Scan(ctx); err != nil { + return nil, r.conn.ProcessError(err) + } + + // now delete it from the database by ID + if _, err := r.conn. + NewDelete(). + Model(>smodel.FollowRequest{ID: fr.ID}). + WherePK(). + Exec(ctx); err != nil { + return nil, r.conn.ProcessError(err) + } + + // return the deleted follow request + return fr, nil +} + func (r *relationshipDB) GetAccountFollowRequests(ctx context.Context, accountID string) ([]*gtsmodel.FollowRequest, db.Error) { followRequests := []*gtsmodel.FollowRequest{} -- cgit v1.2.3