diff --git a/main_dc/yalarba/api_tp/internal/handlers/auth.go b/main_dc/yalarba/api_tp/internal/handlers/auth.go index bb8bc03..47b4610 100644 --- a/main_dc/yalarba/api_tp/internal/handlers/auth.go +++ b/main_dc/yalarba/api_tp/internal/handlers/auth.go @@ -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 { utils.WriteError(w, http.StatusConflict, "User already exists") return @@ -46,7 +46,7 @@ func (h *AuthHandler) Register(w http.ResponseWriter, r *http.Request) { } // Создаем пользователя - user := models.User{ + user := models.UserT{ Email: req.Email, Password: hashedPassword, 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 { utils.WriteError(w, http.StatusUnauthorized, "Invalid credentials") return diff --git a/main_dc/yalarba/api_tp/internal/handlers/oauth.go b/main_dc/yalarba/api_tp/internal/handlers/oauth.go index 2a17b23..ade44be 100644 --- a/main_dc/yalarba/api_tp/internal/handlers/oauth.go +++ b/main_dc/yalarba/api_tp/internal/handlers/oauth.go @@ -73,7 +73,7 @@ func (h *OAuthHandler) GoogleCallback(w http.ResponseWriter, r *http.Request) { // Аналогичные методы для 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 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 } - var user models.User + var user models.UserT if err := h.DB.First(&user, oauthProvider.UserID).Error; err != nil { return nil, err } @@ -97,12 +97,12 @@ func (h *OAuthHandler) findOrCreateOAuthUser(provider, providerID, email, name s } // Ищем пользователя по email - var user models.User + var user models.UserT err = h.DB.Where("email = ?", email).First(&user).Error if err != nil { // Создаем нового пользователя - user = models.User{ + user = models.UserT{ Email: email, Name: name, Password: utils.GenerateRandomPassword(), diff --git a/main_dc/yalarba/api_tp/internal/handlers/oauth_yandex.go b/main_dc/yalarba/api_tp/internal/handlers/oauth_yandex.go index 367b5bb..3a2ddc9 100644 --- a/main_dc/yalarba/api_tp/internal/handlers/oauth_yandex.go +++ b/main_dc/yalarba/api_tp/internal/handlers/oauth_yandex.go @@ -78,7 +78,7 @@ func (h *OAuthHandler) YandexCallback(w http.ResponseWriter, r *http.Request) { 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") } diff --git a/main_dc/yalarba/api_tp/internal/models/user.go b/main_dc/yalarba/api_tp/internal/models/user.go index 624bf41..4d050c0 100644 --- a/main_dc/yalarba/api_tp/internal/models/user.go +++ b/main_dc/yalarba/api_tp/internal/models/user.go @@ -6,7 +6,7 @@ import ( "gorm.io/gorm" ) -type User struct { +type UserT struct { ID uint `json:"id" gorm:"primarykey"` CreatedAt time.Time `json:"created_at"` UpdatedAt time.Time `json:"updated_at"` diff --git a/main_dc/yalarba/api_tp/internal/repository/user_repository.go b/main_dc/yalarba/api_tp/internal/repository/user_repository.go index 6bb379f..9167d86 100644 --- a/main_dc/yalarba/api_tp/internal/repository/user_repository.go +++ b/main_dc/yalarba/api_tp/internal/repository/user_repository.go @@ -14,32 +14,32 @@ func NewUserRepository(db *gorm.DB) *UserRepository { 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 } -func (r *UserRepository) FindByID(id uint) (*models.User, error) { - var user models.User +func (r *UserRepository) FindByID(id uint) (*models.UserT, error) { + var user models.UserT err := r.db.First(&user, id).Error return &user, err } -func (r *UserRepository) FindByEmail(email string) (*models.User, error) { - var user models.User +func (r *UserRepository) FindByEmail(email string) (*models.UserT, error) { + var user models.UserT err := r.db.Where("email = ?", email).First(&user).Error return &user, err } -func (r *UserRepository) FindAll() ([]models.User, error) { - var users []models.User +func (r *UserRepository) FindAll() ([]models.UserT, error) { + var users []models.UserT err := r.db.Find(&users).Error 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 } func (r *UserRepository) Delete(id uint) error { - return r.db.Delete(&models.User{}, id).Error + return r.db.Delete(&models.UserT{}, id).Error } \ No newline at end of file diff --git a/main_dc/yalarba/api_tp/internal/service/user_service.go b/main_dc/yalarba/api_tp/internal/service/user_service.go index 367baa2..732b0d8 100644 --- a/main_dc/yalarba/api_tp/internal/service/user_service.go +++ b/main_dc/yalarba/api_tp/internal/service/user_service.go @@ -30,7 +30,7 @@ func (s *UserService) CreateUser(req *models.CreateUserRequest) (*models.UserRes return nil, err } - user := &models.User{ + user := &models.UserT{ Name: req.Name, Email: req.Email, Password: string(hashedPassword), @@ -66,7 +66,7 @@ func (s *UserService) GetAllUsers() ([]models.UserResponse, error) { return responses, nil } -func (s *UserService) toUserResponse(user *models.User) *models.UserResponse { +func (s *UserService) toUserResponse(user *models.UserT) *models.UserResponse { return &models.UserResponse{ ID: user.ID, CreatedAt: user.CreatedAt, diff --git a/main_dc/yalarba/api_tp/internal/utils/oauth_utils.go b/main_dc/yalarba/api_tp/internal/utils/oauth_utils.go index aa41676..a0648ac 100644 --- a/main_dc/yalarba/api_tp/internal/utils/oauth_utils.go +++ b/main_dc/yalarba/api_tp/internal/utils/oauth_utils.go @@ -21,7 +21,7 @@ func GenerateState() string { 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 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 } - var user models.User + var user models.UserT if err := h.DB.First(&user, oauthProvider.UserID).Error; err != nil { return nil, err } @@ -45,12 +45,12 @@ func (h *OAuthHandler) findOrCreateOAuthUser(provider, providerID, email, name s } // Ищем пользователя по email - var user models.User + var user models.UserT err = h.DB.Where("email = ?", email).First(&user).Error if err != nil { // Создаем нового пользователя - user = models.User{ + user = models.UserT{ Email: email, Name: name, Password: GenerateRandomPassword(), diff --git a/main_dc/yalarba/api_tp/pkg/database/postgres.go b/main_dc/yalarba/api_tp/pkg/database/postgres.go index bba69f4..8c26fe6 100644 --- a/main_dc/yalarba/api_tp/pkg/database/postgres.go +++ b/main_dc/yalarba/api_tp/pkg/database/postgres.go @@ -31,7 +31,7 @@ func NewPostgresConnection(cfg *config.Config) (*gorm.DB, error) { func autoMigrate(db *gorm.DB) error { // автоматические миграции GORM return db.AutoMigrate( - &models.User{}, + &models.UserT{}, &models.OAuthProvider{}, // другие модели... )