From 3b1bb4a95d0b107f84e3a938a96a587e76e8620a Mon Sep 17 00:00:00 2001 From: Steven Date: Sat, 20 Aug 2022 21:22:36 +0800 Subject: [PATCH] chore: disable setting memo visibility when creating --- api/memo.go | 4 ++-- server/memo.go | 13 +++++++------ store/memo.go | 9 +++------ web/src/types/modules/memo.d.ts | 1 - 4 files changed, 12 insertions(+), 15 deletions(-) diff --git a/api/memo.go b/api/memo.go index d29334148..9f852ebd2 100644 --- a/api/memo.go +++ b/api/memo.go @@ -46,8 +46,8 @@ type MemoCreate struct { CreatedTs *int64 `json:"createdTs"` // Domain specific fields - Content string `json:"content"` - Visibility *Visibility `json:"visibility"` + Visibility Visibility + Content string `json:"content"` } type MemoPatch struct { diff --git a/server/memo.go b/server/memo.go index 9484ed6e3..825827029 100644 --- a/server/memo.go +++ b/server/memo.go @@ -22,11 +22,17 @@ func (s *Server) registerMemoRoutes(g *echo.Group) { } memoCreate := &api.MemoCreate{ CreatorID: userID, + // Private is the default memo visibility. + Visibility: api.Privite, } if err := json.NewDecoder(c.Request().Body).Decode(memoCreate); err != nil { return echo.NewHTTPError(http.StatusBadRequest, "Malformatted post memo request").SetInternal(err) } + if memoCreate.Content == "" { + return echo.NewHTTPError(http.StatusBadRequest, "Memo content shouldn't be empty") + } + userSettingMemoVisibilityKey := api.UserSettingMemoVisibilityKey userMemoVisibilitySetting, err := s.Store.FindUserSetting(ctx, &api.UserSettingFind{ UserID: userID, @@ -38,12 +44,7 @@ func (s *Server) registerMemoRoutes(g *echo.Group) { if userMemoVisibilitySetting != nil { memoVisibility := api.Privite json.Unmarshal([]byte(userMemoVisibilitySetting.Value), &memoVisibility) - memoCreate.Visibility = &memoVisibility - } - - if memoCreate.Visibility == nil || *memoCreate.Visibility == "" { - private := api.Privite - memoCreate.Visibility = &private + memoCreate.Visibility = memoVisibility } memo, err := s.Store.CreateMemo(ctx, memoCreate) diff --git a/store/memo.go b/store/memo.go index 25c0c8322..c601cf041 100644 --- a/store/memo.go +++ b/store/memo.go @@ -201,13 +201,10 @@ func (s *Store) DeleteMemo(ctx context.Context, delete *api.MemoDelete) error { } func createMemoRaw(ctx context.Context, tx *sql.Tx, create *api.MemoCreate) (*memoRaw, error) { - set := []string{"creator_id", "content"} - placeholder := []string{"?", "?"} - args := []interface{}{create.CreatorID, create.Content} + set := []string{"creator_id", "content", "visibility"} + placeholder := []string{"?", "?", "?"} + args := []interface{}{create.CreatorID, create.Content, create.Visibility} - if v := create.Visibility; v != nil { - set, placeholder, args = append(set, "visibility"), append(placeholder, "?"), append(args, *v) - } if v := create.CreatedTs; v != nil { set, placeholder, args = append(set, "created_ts"), append(placeholder, "?"), append(args, *v) } diff --git a/web/src/types/modules/memo.d.ts b/web/src/types/modules/memo.d.ts index 0056fad77..bcc0fb662 100644 --- a/web/src/types/modules/memo.d.ts +++ b/web/src/types/modules/memo.d.ts @@ -17,7 +17,6 @@ interface Memo { interface MemoCreate { content: string; - visibility?: Visibility; createdTs?: TimeStamp; }