aboutsummaryrefslogtreecommitdiff
path: root/service/transport.go
diff options
context:
space:
mode:
authorr <r@freesoftwareextremist.com>2021-01-16 09:10:02 +0000
committerr <r@freesoftwareextremist.com>2021-01-16 09:49:15 +0000
commit91f68ccfb391ee53bfc36f4877ca8d8f63c8faf2 (patch)
tree1e1511a2d80840a68e81ad0a666bd8c2a7e105e4 /service/transport.go
parent384179e518c8d01a126e716a3f80a9543683e593 (diff)
downloadbloat-91f68ccfb391ee53bfc36f4877ca8d8f63c8faf2.tar.gz
bloat-91f68ccfb391ee53bfc36f4877ca8d8f63c8faf2.zip
Add follow request support
Diffstat (limited to 'service/transport.go')
-rw-r--r--service/transport.go22
1 files changed, 22 insertions, 0 deletions
diff --git a/service/transport.go b/service/transport.go
index 80ad7f1..7ba52a4 100644
--- a/service/transport.go
+++ b/service/transport.go
@@ -403,6 +403,26 @@ func NewHandler(s *service, logger *log.Logger, staticDir string) http.Handler {
return nil
}, CSRF, HTML)
+ accept := handle(func(c *client) error {
+ id, _ := mux.Vars(c.Req)["id"]
+ err := s.Accept(c, id)
+ if err != nil {
+ return err
+ }
+ redirect(c, c.Req.Header.Get("Referer"))
+ return nil
+ }, CSRF, HTML)
+
+ reject := handle(func(c *client) error {
+ id, _ := mux.Vars(c.Req)["id"]
+ err := s.Reject(c, id)
+ if err != nil {
+ return err
+ }
+ redirect(c, c.Req.Header.Get("Referer"))
+ return nil
+ }, CSRF, HTML)
+
mute := handle(func(c *client) error {
id, _ := mux.Vars(c.Req)["id"]
err := s.Mute(c, id)
@@ -634,6 +654,8 @@ func NewHandler(s *service, logger *log.Logger, staticDir string) http.Handler {
r.HandleFunc("/vote/{id}", vote).Methods(http.MethodPost)
r.HandleFunc("/follow/{id}", follow).Methods(http.MethodPost)
r.HandleFunc("/unfollow/{id}", unfollow).Methods(http.MethodPost)
+ r.HandleFunc("/accept/{id}", accept).Methods(http.MethodPost)
+ r.HandleFunc("/reject/{id}", reject).Methods(http.MethodPost)
r.HandleFunc("/mute/{id}", mute).Methods(http.MethodPost)
r.HandleFunc("/unmute/{id}", unMute).Methods(http.MethodPost)
r.HandleFunc("/block/{id}", block).Methods(http.MethodPost)