modified: main_dc/yalarba/api_tp/internal/handlers/auth.go

modified:   main_dc/yalarba/api_tp/internal/handlers/oauth.go
	modified:   main_dc/yalarba/api_tp/internal/handlers/oauth_yandex.go
	modified:   main_dc/yalarba/api_tp/internal/models/user.go
	modified:   main_dc/yalarba/api_tp/internal/repository/user_repository.go
	modified:   main_dc/yalarba/api_tp/internal/service/user_service.go
	modified:   main_dc/yalarba/api_tp/internal/utils/oauth_utils.go
	modified:   main_dc/yalarba/api_tp/pkg/database/postgres.go
change naming for user into api
This commit is contained in:
2025-11-17 21:06:40 +05:00
parent cbade7347d
commit 7335eb5aa8
8 changed files with 25 additions and 25 deletions
@@ -32,7 +32,7 @@ func (h *AuthHandler) Register(w http.ResponseWriter, r *http.Request) {
} }
// Проверяем, существует ли пользователь // Проверяем, существует ли пользователь
var existingUser models.User var existingUser models.UserT
if err := h.DB.Where("email = ?", req.Email).First(&existingUser).Error; err == nil { if err := h.DB.Where("email = ?", req.Email).First(&existingUser).Error; err == nil {
utils.WriteError(w, http.StatusConflict, "User already exists") utils.WriteError(w, http.StatusConflict, "User already exists")
return return
@@ -46,7 +46,7 @@ func (h *AuthHandler) Register(w http.ResponseWriter, r *http.Request) {
} }
// Создаем пользователя // Создаем пользователя
user := models.User{ user := models.UserT{
Email: req.Email, Email: req.Email,
Password: hashedPassword, Password: hashedPassword,
Name: req.Name, Name: req.Name,
@@ -78,7 +78,7 @@ func (h *AuthHandler) Login(w http.ResponseWriter, r *http.Request) {
} }
// Ищем пользователя // Ищем пользователя
var user models.User var user models.UserT
if err := h.DB.Where("email = ?", req.Email).First(&user).Error; err != nil { if err := h.DB.Where("email = ?", req.Email).First(&user).Error; err != nil {
utils.WriteError(w, http.StatusUnauthorized, "Invalid credentials") utils.WriteError(w, http.StatusUnauthorized, "Invalid credentials")
return return
@@ -73,7 +73,7 @@ func (h *OAuthHandler) GoogleCallback(w http.ResponseWriter, r *http.Request) {
// Аналогичные методы для Yandex и VK... // Аналогичные методы для Yandex и VK...
func (h *OAuthHandler) findOrCreateOAuthUser(provider, providerID, email, name string, token *oauth2.Token) (*models.User, error) { func (h *OAuthHandler) findOrCreateOAuthUser(provider, providerID, email, name string, token *oauth2.Token) (*models.UserT, error) {
var oauthProvider models.OAuthProvider var oauthProvider models.OAuthProvider
err := h.DB.Where("provider = ? AND provider_id = ?", provider, providerID). err := h.DB.Where("provider = ? AND provider_id = ?", provider, providerID).
@@ -89,7 +89,7 @@ func (h *OAuthHandler) findOrCreateOAuthUser(provider, providerID, email, name s
return nil, err return nil, err
} }
var user models.User var user models.UserT
if err := h.DB.First(&user, oauthProvider.UserID).Error; err != nil { if err := h.DB.First(&user, oauthProvider.UserID).Error; err != nil {
return nil, err return nil, err
} }
@@ -97,12 +97,12 @@ func (h *OAuthHandler) findOrCreateOAuthUser(provider, providerID, email, name s
} }
// Ищем пользователя по email // Ищем пользователя по email
var user models.User var user models.UserT
err = h.DB.Where("email = ?", email).First(&user).Error err = h.DB.Where("email = ?", email).First(&user).Error
if err != nil { if err != nil {
// Создаем нового пользователя // Создаем нового пользователя
user = models.User{ user = models.UserT{
Email: email, Email: email,
Name: name, Name: name,
Password: utils.GenerateRandomPassword(), Password: utils.GenerateRandomPassword(),
@@ -78,7 +78,7 @@ func (h *OAuthHandler) YandexCallback(w http.ResponseWriter, r *http.Request) {
h.handleOAuthSuccess(w, r, jwtToken, user) h.handleOAuthSuccess(w, r, jwtToken, user)
} }
func (h *OAuthHandler) handleOAuthSuccess(w http.ResponseWriter, r *http.Request, jwtToken string, user *models.User) { func (h *OAuthHandler) handleOAuthSuccess(w http.ResponseWriter, r *http.Request, jwtToken string, user *models.UserT) {
panic("unimplemented") panic("unimplemented")
} }
@@ -6,7 +6,7 @@ import (
"gorm.io/gorm" "gorm.io/gorm"
) )
type User struct { type UserT struct {
ID uint `json:"id" gorm:"primarykey"` ID uint `json:"id" gorm:"primarykey"`
CreatedAt time.Time `json:"created_at"` CreatedAt time.Time `json:"created_at"`
UpdatedAt time.Time `json:"updated_at"` UpdatedAt time.Time `json:"updated_at"`
@@ -14,32 +14,32 @@ func NewUserRepository(db *gorm.DB) *UserRepository {
return &UserRepository{db: db} return &UserRepository{db: db}
} }
func (r *UserRepository) Create(user *models.User) error { func (r *UserRepository) Create(user *models.UserT) error {
return r.db.Create(user).Error return r.db.Create(user).Error
} }
func (r *UserRepository) FindByID(id uint) (*models.User, error) { func (r *UserRepository) FindByID(id uint) (*models.UserT, error) {
var user models.User var user models.UserT
err := r.db.First(&user, id).Error err := r.db.First(&user, id).Error
return &user, err return &user, err
} }
func (r *UserRepository) FindByEmail(email string) (*models.User, error) { func (r *UserRepository) FindByEmail(email string) (*models.UserT, error) {
var user models.User var user models.UserT
err := r.db.Where("email = ?", email).First(&user).Error err := r.db.Where("email = ?", email).First(&user).Error
return &user, err return &user, err
} }
func (r *UserRepository) FindAll() ([]models.User, error) { func (r *UserRepository) FindAll() ([]models.UserT, error) {
var users []models.User var users []models.UserT
err := r.db.Find(&users).Error err := r.db.Find(&users).Error
return users, err return users, err
} }
func (r *UserRepository) Update(user *models.User) error { func (r *UserRepository) Update(user *models.UserT) error {
return r.db.Save(user).Error return r.db.Save(user).Error
} }
func (r *UserRepository) Delete(id uint) error { func (r *UserRepository) Delete(id uint) error {
return r.db.Delete(&models.User{}, id).Error return r.db.Delete(&models.UserT{}, id).Error
} }
@@ -30,7 +30,7 @@ func (s *UserService) CreateUser(req *models.CreateUserRequest) (*models.UserRes
return nil, err return nil, err
} }
user := &models.User{ user := &models.UserT{
Name: req.Name, Name: req.Name,
Email: req.Email, Email: req.Email,
Password: string(hashedPassword), Password: string(hashedPassword),
@@ -66,7 +66,7 @@ func (s *UserService) GetAllUsers() ([]models.UserResponse, error) {
return responses, nil return responses, nil
} }
func (s *UserService) toUserResponse(user *models.User) *models.UserResponse { func (s *UserService) toUserResponse(user *models.UserT) *models.UserResponse {
return &models.UserResponse{ return &models.UserResponse{
ID: user.ID, ID: user.ID,
CreatedAt: user.CreatedAt, CreatedAt: user.CreatedAt,
@@ -21,7 +21,7 @@ func GenerateState() string {
return fmt.Sprintf("%x", b) return fmt.Sprintf("%x", b)
} }
func (h *OAuthHandler) findOrCreateOAuthUser(provider, providerID, email, name string, token *oauth2.Token) (*models.User, error) { func (h *OAuthHandler) findOrCreateOAuthUser(provider, providerID, email, name string, token *oauth2.Token) (*models.UserT, error) {
var oauthProvider models.OAuthProvider var oauthProvider models.OAuthProvider
err := h.DB.Where("provider = ? AND provider_id = ?", provider, providerID). err := h.DB.Where("provider = ? AND provider_id = ?", provider, providerID).
@@ -37,7 +37,7 @@ func (h *OAuthHandler) findOrCreateOAuthUser(provider, providerID, email, name s
return nil, err return nil, err
} }
var user models.User var user models.UserT
if err := h.DB.First(&user, oauthProvider.UserID).Error; err != nil { if err := h.DB.First(&user, oauthProvider.UserID).Error; err != nil {
return nil, err return nil, err
} }
@@ -45,12 +45,12 @@ func (h *OAuthHandler) findOrCreateOAuthUser(provider, providerID, email, name s
} }
// Ищем пользователя по email // Ищем пользователя по email
var user models.User var user models.UserT
err = h.DB.Where("email = ?", email).First(&user).Error err = h.DB.Where("email = ?", email).First(&user).Error
if err != nil { if err != nil {
// Создаем нового пользователя // Создаем нового пользователя
user = models.User{ user = models.UserT{
Email: email, Email: email,
Name: name, Name: name,
Password: GenerateRandomPassword(), Password: GenerateRandomPassword(),
@@ -31,7 +31,7 @@ func NewPostgresConnection(cfg *config.Config) (*gorm.DB, error) {
func autoMigrate(db *gorm.DB) error { func autoMigrate(db *gorm.DB) error {
// автоматические миграции GORM // автоматические миграции GORM
return db.AutoMigrate( return db.AutoMigrate(
&models.User{}, &models.UserT{},
&models.OAuthProvider{}, &models.OAuthProvider{},
// другие модели... // другие модели...
) )