mirror of
https://github.com/usememos/memos.git
synced 2025-06-05 22:09:59 +02:00
chore: migrate user setting to api v1 package (#1855)
* chore: migrate to api v1 package * chore: update
This commit is contained in:
@@ -8,7 +8,7 @@ import (
|
||||
"github.com/golang-jwt/jwt/v4"
|
||||
"github.com/labstack/echo/v4"
|
||||
"github.com/pkg/errors"
|
||||
"github.com/usememos/memos/api"
|
||||
"github.com/usememos/memos/store"
|
||||
)
|
||||
|
||||
const (
|
||||
@@ -64,7 +64,7 @@ func GenerateRefreshToken(userName string, userID int, secret string) (string, e
|
||||
}
|
||||
|
||||
// GenerateTokensAndSetCookies generates jwt token and saves it to the http-only cookie.
|
||||
func GenerateTokensAndSetCookies(c echo.Context, user *api.User, secret string) error {
|
||||
func GenerateTokensAndSetCookies(c echo.Context, user *store.UserMessage, secret string) error {
|
||||
accessToken, err := GenerateAccessToken(user.Username, user.ID, secret)
|
||||
if err != nil {
|
||||
return errors.Wrap(err, "failed to generate access token")
|
||||
|
@@ -10,9 +10,9 @@ import (
|
||||
"github.com/golang-jwt/jwt/v4"
|
||||
"github.com/labstack/echo/v4"
|
||||
"github.com/pkg/errors"
|
||||
"github.com/usememos/memos/api"
|
||||
"github.com/usememos/memos/common"
|
||||
"github.com/usememos/memos/server/auth"
|
||||
"github.com/usememos/memos/store"
|
||||
)
|
||||
|
||||
const (
|
||||
@@ -136,7 +136,7 @@ func JWTMiddleware(server *Server, next echo.HandlerFunc, secret string) echo.Ha
|
||||
}
|
||||
|
||||
// Even if there is no error, we still need to make sure the user still exists.
|
||||
user, err := server.Store.FindUser(ctx, &api.UserFind{
|
||||
user, err := server.Store.GetUser(ctx, &store.FindUserMessage{
|
||||
ID: &userID,
|
||||
})
|
||||
if err != nil {
|
||||
|
@@ -11,6 +11,7 @@ import (
|
||||
|
||||
"github.com/pkg/errors"
|
||||
"github.com/usememos/memos/api"
|
||||
apiv1 "github.com/usememos/memos/api/v1"
|
||||
"github.com/usememos/memos/common"
|
||||
"github.com/usememos/memos/store"
|
||||
|
||||
@@ -37,9 +38,9 @@ func (s *Server) registerMemoRoutes(g *echo.Group) {
|
||||
}
|
||||
|
||||
if createMemoRequest.Visibility == "" {
|
||||
userMemoVisibilitySetting, err := s.Store.FindUserSetting(ctx, &api.UserSettingFind{
|
||||
userMemoVisibilitySetting, err := s.Store.GetUserSetting(ctx, &store.FindUserSettingMessage{
|
||||
UserID: &userID,
|
||||
Key: api.UserSettingMemoVisibilityKey,
|
||||
Key: apiv1.UserSettingMemoVisibilityKey.String(),
|
||||
})
|
||||
if err != nil {
|
||||
return echo.NewHTTPError(http.StatusInternalServerError, "Failed to find user setting").SetInternal(err)
|
||||
|
@@ -7,7 +7,9 @@ import (
|
||||
"path"
|
||||
"strconv"
|
||||
|
||||
"github.com/pkg/errors"
|
||||
"github.com/usememos/memos/api"
|
||||
apiv1 "github.com/usememos/memos/api/v1"
|
||||
"github.com/usememos/memos/common"
|
||||
"github.com/usememos/memos/plugin/telegram"
|
||||
"github.com/usememos/memos/store"
|
||||
@@ -37,14 +39,13 @@ func (t *telegramHandler) MessageHandle(ctx context.Context, bot *telegram.Bot,
|
||||
}
|
||||
|
||||
var creatorID int
|
||||
userSettingList, err := t.store.FindUserSettingList(ctx, &api.UserSettingFind{
|
||||
Key: api.UserSettingTelegramUserIDKey,
|
||||
userSettingMessageList, err := t.store.ListUserSettings(ctx, &store.FindUserSettingMessage{
|
||||
Key: apiv1.UserSettingTelegramUserIDKey.String(),
|
||||
})
|
||||
if err != nil {
|
||||
_, err := bot.EditMessage(ctx, message.Chat.ID, reply.MessageID, fmt.Sprintf("Fail to find memo user: %s", err), nil)
|
||||
return err
|
||||
return errors.Wrap(err, "Failed to find userSettingList")
|
||||
}
|
||||
for _, userSetting := range userSettingList {
|
||||
for _, userSetting := range userSettingMessageList {
|
||||
var value string
|
||||
if err := json.Unmarshal([]byte(userSetting.Value), &value); err != nil {
|
||||
continue
|
||||
|
@@ -9,7 +9,9 @@ import (
|
||||
|
||||
"github.com/pkg/errors"
|
||||
"github.com/usememos/memos/api"
|
||||
apiv1 "github.com/usememos/memos/api/v1"
|
||||
"github.com/usememos/memos/common"
|
||||
"github.com/usememos/memos/store"
|
||||
|
||||
"github.com/labstack/echo/v4"
|
||||
"golang.org/x/crypto/bcrypt"
|
||||
@@ -83,7 +85,7 @@ func (s *Server) registerUserRoutes(g *echo.Group) {
|
||||
return echo.NewHTTPError(http.StatusUnauthorized, "Missing auth session")
|
||||
}
|
||||
|
||||
userSettingUpsert := &api.UserSettingUpsert{}
|
||||
userSettingUpsert := &apiv1.UserSettingUpsert{}
|
||||
if err := json.NewDecoder(c.Request().Body).Decode(userSettingUpsert); err != nil {
|
||||
return echo.NewHTTPError(http.StatusBadRequest, "Malformatted post user setting upsert request").SetInternal(err)
|
||||
}
|
||||
@@ -92,10 +94,15 @@ func (s *Server) registerUserRoutes(g *echo.Group) {
|
||||
}
|
||||
|
||||
userSettingUpsert.UserID = userID
|
||||
userSetting, err := s.Store.UpsertUserSetting(ctx, userSettingUpsert)
|
||||
userSettingMessage, err := s.Store.UpsertUserSettingV1(ctx, &store.UserSettingMessage{
|
||||
UserID: userID,
|
||||
Key: userSettingUpsert.Key.String(),
|
||||
Value: userSettingUpsert.Value,
|
||||
})
|
||||
if err != nil {
|
||||
return echo.NewHTTPError(http.StatusInternalServerError, "Failed to upsert user setting").SetInternal(err)
|
||||
}
|
||||
userSetting := convertUserSettingFromStore(userSettingMessage)
|
||||
return c.JSON(http.StatusOK, composeResponse(userSetting))
|
||||
})
|
||||
|
||||
@@ -115,12 +122,21 @@ func (s *Server) registerUserRoutes(g *echo.Group) {
|
||||
return echo.NewHTTPError(http.StatusInternalServerError, "Failed to find user").SetInternal(err)
|
||||
}
|
||||
|
||||
userSettingList, err := s.Store.FindUserSettingList(ctx, &api.UserSettingFind{
|
||||
userSettingMessageList, err := s.Store.ListUserSettings(ctx, &store.FindUserSettingMessage{
|
||||
UserID: &userID,
|
||||
})
|
||||
if err != nil {
|
||||
return echo.NewHTTPError(http.StatusInternalServerError, "Failed to find userSettingList").SetInternal(err)
|
||||
}
|
||||
userSettingList := []*api.UserSetting{}
|
||||
for _, userSettingMessage := range userSettingMessageList {
|
||||
userSettingV1 := convertUserSettingFromStore(userSettingMessage)
|
||||
userSettingList = append(userSettingList, &api.UserSetting{
|
||||
UserID: userSettingV1.UserID,
|
||||
Key: api.UserSettingKey(userSettingV1.Key),
|
||||
Value: userSettingV1.Value,
|
||||
})
|
||||
}
|
||||
user.UserSettingList = userSettingList
|
||||
return c.JSON(http.StatusOK, composeResponse(user))
|
||||
})
|
||||
@@ -202,12 +218,21 @@ func (s *Server) registerUserRoutes(g *echo.Group) {
|
||||
return echo.NewHTTPError(http.StatusInternalServerError, "Failed to patch user").SetInternal(err)
|
||||
}
|
||||
|
||||
userSettingList, err := s.Store.FindUserSettingList(ctx, &api.UserSettingFind{
|
||||
userSettingMessageList, err := s.Store.ListUserSettings(ctx, &store.FindUserSettingMessage{
|
||||
UserID: &userID,
|
||||
})
|
||||
if err != nil {
|
||||
return echo.NewHTTPError(http.StatusInternalServerError, "Failed to find userSettingList").SetInternal(err)
|
||||
}
|
||||
userSettingList := []*api.UserSetting{}
|
||||
for _, userSettingMessage := range userSettingMessageList {
|
||||
userSettingV1 := convertUserSettingFromStore(userSettingMessage)
|
||||
userSettingList = append(userSettingList, &api.UserSetting{
|
||||
UserID: userSettingV1.UserID,
|
||||
Key: api.UserSettingKey(userSettingV1.Key),
|
||||
Value: userSettingV1.Value,
|
||||
})
|
||||
}
|
||||
user.UserSettingList = userSettingList
|
||||
return c.JSON(http.StatusOK, composeResponse(user))
|
||||
})
|
||||
@@ -271,3 +296,11 @@ func (s *Server) createUserCreateActivity(c echo.Context, user *api.User) error
|
||||
}
|
||||
return err
|
||||
}
|
||||
|
||||
func convertUserSettingFromStore(userSetting *store.UserSettingMessage) *apiv1.UserSetting {
|
||||
return &apiv1.UserSetting{
|
||||
UserID: userSetting.UserID,
|
||||
Key: apiv1.UserSettingKey(userSetting.Key),
|
||||
Value: userSetting.Value,
|
||||
}
|
||||
}
|
||||
|
Reference in New Issue
Block a user