mirror of
https://gitea.phreedom.club/localhost_frssoft/bloat.git
synced 2025-05-05 03:18:44 +00:00
Add account {hide,show}retweets
This commit is contained in:
parent
04af1b93dc
commit
91d87b0175
6 changed files with 34 additions and 11 deletions
|
@ -292,7 +292,7 @@ func (s *as) Vote(ctx context.Context, c *model.Client, id string,
|
|||
return s.Service.Vote(ctx, c, id, choices)
|
||||
}
|
||||
|
||||
func (s *as) Follow(ctx context.Context, c *model.Client, id string) (err error) {
|
||||
func (s *as) Follow(ctx context.Context, c *model.Client, id string, reblogs *bool) (err error) {
|
||||
err = s.authenticateClient(ctx, c)
|
||||
if err != nil {
|
||||
return
|
||||
|
@ -301,7 +301,7 @@ func (s *as) Follow(ctx context.Context, c *model.Client, id string) (err error)
|
|||
if err != nil {
|
||||
return
|
||||
}
|
||||
return s.Service.Follow(ctx, c, id)
|
||||
return s.Service.Follow(ctx, c, id, reblogs)
|
||||
}
|
||||
|
||||
func (s *as) UnFollow(ctx context.Context, c *model.Client, id string) (err error) {
|
||||
|
|
|
@ -221,12 +221,12 @@ func (s *ls) Vote(ctx context.Context, c *model.Client, id string, choices []str
|
|||
return s.Service.Vote(ctx, c, id, choices)
|
||||
}
|
||||
|
||||
func (s *ls) Follow(ctx context.Context, c *model.Client, id string) (err error) {
|
||||
func (s *ls) Follow(ctx context.Context, c *model.Client, id string, reblogs *bool) (err error) {
|
||||
defer func(begin time.Time) {
|
||||
s.logger.Printf("method=%v, id=%v, took=%v, err=%v\n",
|
||||
"Follow", id, time.Since(begin), err)
|
||||
}(time.Now())
|
||||
return s.Service.Follow(ctx, c, id)
|
||||
return s.Service.Follow(ctx, c, id, reblogs)
|
||||
}
|
||||
|
||||
func (s *ls) UnFollow(ctx context.Context, c *model.Client, id string) (err error) {
|
||||
|
|
|
@ -46,7 +46,7 @@ type Service interface {
|
|||
Retweet(ctx context.Context, c *model.Client, id string) (count int64, err error)
|
||||
UnRetweet(ctx context.Context, c *model.Client, id string) (count int64, err error)
|
||||
Vote(ctx context.Context, c *model.Client, id string, choices []string) (err error)
|
||||
Follow(ctx context.Context, c *model.Client, id string) (err error)
|
||||
Follow(ctx context.Context, c *model.Client, id string, reblogs *bool) (err error)
|
||||
UnFollow(ctx context.Context, c *model.Client, id string) (err error)
|
||||
Mute(ctx context.Context, c *model.Client, id string) (err error)
|
||||
UnMute(ctx context.Context, c *model.Client, id string) (err error)
|
||||
|
@ -811,8 +811,8 @@ func (svc *service) Vote(ctx context.Context, c *model.Client, id string,
|
|||
return
|
||||
}
|
||||
|
||||
func (svc *service) Follow(ctx context.Context, c *model.Client, id string) (err error) {
|
||||
_, err = c.AccountFollow(ctx, id)
|
||||
func (svc *service) Follow(ctx context.Context, c *model.Client, id string, reblogs *bool) (err error) {
|
||||
_, err = c.AccountFollow(ctx, id, reblogs)
|
||||
return
|
||||
}
|
||||
|
||||
|
|
|
@ -458,7 +458,14 @@ func NewHandler(s Service, staticDir string) http.Handler {
|
|||
ctx := newCtxWithSesionCSRF(req, req.FormValue("csrf_token"))
|
||||
id, _ := mux.Vars(req)["id"]
|
||||
|
||||
err := s.Follow(ctx, c, id)
|
||||
var reblogs *bool
|
||||
r, ok := req.URL.Query()["reblogs"]
|
||||
if ok && len(r) > 0 {
|
||||
reblogs = new(bool)
|
||||
*reblogs = r[0] == "true"
|
||||
}
|
||||
|
||||
err := s.Follow(ctx, c, id, reblogs)
|
||||
if err != nil {
|
||||
w.WriteHeader(http.StatusInternalServerError)
|
||||
s.ServeErrorPage(ctx, c, err)
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue