fix: return pinned status after edit (#1629)

* stash

* query pinned status after patch

* eslint

* refactor query

* eslint

* process specify case

* add test

* Update memo.go
This commit is contained in:
CorrectRoadH
2023-05-09 09:03:09 +08:00
committed by GitHub
parent 9b8d69b2dd
commit 700fe6b0e4
2 changed files with 67 additions and 0 deletions

View File

@@ -268,6 +268,32 @@ func patchMemoRaw(ctx context.Context, tx *sql.Tx, patch *api.MemoPatch) (*memoR
return nil, FormatError(err)
}
pinnedQuery := `
SELECT
pinned
FROM memo_organizer
WHERE memo_id = ? AND user_id = ?
`
row, err := tx.QueryContext(ctx, pinnedQuery, patch.ID, memoRaw.CreatorID)
if err != nil {
return nil, FormatError(err)
}
defer row.Close()
if !row.Next() {
memoRaw.Pinned = false
} else {
if err := row.Scan(
&memoRaw.Pinned,
); err != nil {
return nil, FormatError(err)
}
}
if err := row.Err(); err != nil {
return nil, err
}
return &memoRaw, nil
}