From 570d0e2bd253ecacf35503180cab2dec66b3dd5a Mon Sep 17 00:00:00 2001 From: Gisle Aune Date: Sun, 1 Nov 2020 02:19:17 +0100 Subject: [PATCH] allow tag/untag of open stories. --- services/auth.go | 5 +++++ services/stories.go | 4 ++-- 2 files changed, 7 insertions(+), 2 deletions(-) diff --git a/services/auth.go b/services/auth.go index a3fbe94..44a45a2 100644 --- a/services/auth.go +++ b/services/auth.go @@ -125,6 +125,11 @@ func (s *AuthService) CheckPermission(ctx context.Context, op string, obj interf case *models.Post: authorized = token.Permitted("post." + op) case *models.Story: + if op == "tag" && v.Open { + authorized = true + break + } + authorized = token.PermittedUser(v.Author, "member", "story."+op) case *models.User: authorized = token.Permitted("user." + op) diff --git a/services/stories.go b/services/stories.go index da343be..550eb75 100644 --- a/services/stories.go +++ b/services/stories.go @@ -232,7 +232,7 @@ func (s *StoryService) EditStory(ctx context.Context, story *models.Story, name } func (s *StoryService) AddStoryTag(ctx context.Context, story models.Story, tag models.Tag) (*models.Story, error) { - if err := s.authService.CheckPermission(ctx, "edit", &story); err != nil { + if err := s.authService.CheckPermission(ctx, "tag", &story); err != nil { return nil, err } @@ -249,7 +249,7 @@ func (s *StoryService) AddStoryTag(ctx context.Context, story models.Story, tag } func (s *StoryService) RemoveStoryTag(ctx context.Context, story models.Story, tag models.Tag) (*models.Story, error) { - if err := s.authService.CheckPermission(ctx, "edit", &story); err != nil { + if err := s.authService.CheckPermission(ctx, "tag", &story); err != nil { return nil, err }