ок, go way? (просто видел, что иногда возникают споры, что в контекст ложить)
Отрывок кода из метода регистрации:
// if user already exists, it means that's a guest, so we need to check which fields are missing.
if userID, ok := ctx.Value("UserID").(string); ok {
foundUser, err := uc.UserUsecase.GetUserByID(ctx, userID)
if err != nil {
return entity.User{}, err
}
// user can't register two times.
if foundUser.IsGuest == false {
return entity.User{}, ErrNotAllowed
}
*дальше много действий над полями пользователя*
}
Хочу заменить на это:
// if user already exists, it means that's a guest, so we need to check which fields are missing.
if user, ok := ctx.Value("User").(entity.User); ok {
// user can't register two times.
if user.IsGuest == false {
return entity.User{}, ErrNotAllowed
}
}
Передавать важные данные через контекст в целом ужасно)
Это делает логику приложения более непонятной
я передаю. мне ок
Обсуждают сегодня