Skip to content

Commit

Permalink
fix lint & refactoring
Browse files Browse the repository at this point in the history
  • Loading branch information
IgorPolyakov committed Aug 31, 2024
1 parent 9cb6301 commit 40f6838
Show file tree
Hide file tree
Showing 20 changed files with 135 additions and 94 deletions.
6 changes: 3 additions & 3 deletions internal/handler/games.go
Original file line number Diff line number Diff line change
Expand Up @@ -38,7 +38,7 @@ func (h *Handler) CreateGame(w http.ResponseWriter, r *http.Request) {
api_helpers.RespondWithJSON(w, http.StatusInternalServerError, map[string]string{"error": "Failed to create game"})
return
}
api_helpers.RespondWithJSON(w, http.StatusOK, model.NewGameFromModel(newGame))
api_helpers.RespondWithJSON(w, http.StatusOK, newGame.ToResponse())
}

func (h *Handler) DeleteGame(w http.ResponseWriter, r *http.Request, id openapi_types.UUID) {
Expand All @@ -59,7 +59,7 @@ func (h *Handler) GetGameById(w http.ResponseWriter, r *http.Request, id openapi
api_helpers.RespondWithJSON(w, http.StatusInternalServerError, map[string]string{"error": "Failed to fetch game"})
return
}
api_helpers.RespondWithJSON(w, http.StatusOK, model.NewGameDetailsFromModel(game))
api_helpers.RespondWithJSON(w, http.StatusOK, game.ToResponseGameDetails())
}

func (h *Handler) ListGames(w http.ResponseWriter, r *http.Request) {
Expand All @@ -72,7 +72,7 @@ func (h *Handler) ListGames(w http.ResponseWriter, r *http.Request) {
}
gameResponses := make([]*server.GameResponse, 0, len(games))
for _, game := range games {
gameResponses = append(gameResponses, model.NewGameDetailsFromModel(game))
gameResponses = append(gameResponses, game.ToResponseGameDetails())
}

api_helpers.RespondWithJSON(w, http.StatusOK, gameResponses)
Expand Down
6 changes: 3 additions & 3 deletions internal/handler/results.go
Original file line number Diff line number Diff line change
Expand Up @@ -32,7 +32,7 @@ func (h *Handler) CreateResult(w http.ResponseWriter, r *http.Request, gameId op
api_helpers.RespondWithJSON(w, http.StatusInternalServerError, map[string]string{"error": "Failed to create result"})
return
}
api_helpers.RespondWithJSON(w, http.StatusOK, model.NewResultFromModel(newResult, 0))
api_helpers.RespondWithJSON(w, http.StatusOK, newResult.ToResponse(0))
}

func (h *Handler) GetResult(w http.ResponseWriter, r *http.Request, gameId openapi_types.UUID, resultId openapi_types.UUID) {
Expand All @@ -44,7 +44,7 @@ func (h *Handler) GetResult(w http.ResponseWriter, r *http.Request, gameId opena
api_helpers.RespondWithJSON(w, http.StatusBadRequest, map[string]string{"error": "Failed to fetch result"})
return
}
api_helpers.RespondWithJSON(w, http.StatusOK, model.NewResultFromModel(result, 0))
api_helpers.RespondWithJSON(w, http.StatusOK, result.ToResponse(0))
}

func (h *Handler) UpdateResult(w http.ResponseWriter, r *http.Request, gameId openapi_types.UUID, resultId openapi_types.UUID) {
Expand All @@ -69,7 +69,7 @@ func (h *Handler) UpdateResult(w http.ResponseWriter, r *http.Request, gameId op
return
}

api_helpers.RespondWithJSON(w, http.StatusOK, model.NewResultFromModel(result, 0))
api_helpers.RespondWithJSON(w, http.StatusOK, result.ToResponse(0))
}

// GetScoreboard retrieves the scoreboard for a given game ID
Expand Down
4 changes: 2 additions & 2 deletions internal/handler/services.go
Original file line number Diff line number Diff line change
Expand Up @@ -34,7 +34,7 @@ func (h *Handler) CreateService(w http.ResponseWriter, r *http.Request) {
api_helpers.RespondWithJSON(w, http.StatusInternalServerError, map[string]string{"error": "Failed to create service"})
return
}
api_helpers.RespondWithJSON(w, http.StatusOK, model.NewServiceFromModel(newService))
api_helpers.RespondWithJSON(w, http.StatusOK, newService.ToResponse())
}

func (h *Handler) DeleteService(w http.ResponseWriter, r *http.Request, id openapi_types.UUID) {
Expand All @@ -55,7 +55,7 @@ func (h *Handler) GetServiceById(w http.ResponseWriter, r *http.Request, id open
api_helpers.RespondWithJSON(w, http.StatusInternalServerError, map[string]string{"error": "Failed to fetch service"})
return
}
api_helpers.RespondWithJSON(w, http.StatusOK, model.NewServiceFromModel(service))
api_helpers.RespondWithJSON(w, http.StatusOK, service.ToResponse())
}

func (h *Handler) ListServices(w http.ResponseWriter, r *http.Request) {
Expand Down
4 changes: 2 additions & 2 deletions internal/handler/teams.go
Original file line number Diff line number Diff line change
Expand Up @@ -36,7 +36,7 @@ func (h *Handler) CreateTeam(w http.ResponseWriter, r *http.Request) {
api_helpers.RespondWithJSON(w, http.StatusInternalServerError, map[string]string{"error": "Failed to create team"})
return
}
api_helpers.RespondWithJSON(w, http.StatusOK, model.NewTeamFromModel(newTeam))
api_helpers.RespondWithJSON(w, http.StatusOK, newTeam.ToResponse())
}

func (h *Handler) DeleteTeam(w http.ResponseWriter, r *http.Request, id openapi_types.UUID) {
Expand All @@ -57,7 +57,7 @@ func (h *Handler) GetTeamById(w http.ResponseWriter, r *http.Request, id openapi
api_helpers.RespondWithJSON(w, http.StatusInternalServerError, map[string]string{"error": "Failed to fetch team"})
return
}
api_helpers.RespondWithJSON(w, http.StatusOK, model.NewTeamFromModel(team))
api_helpers.RespondWithJSON(w, http.StatusOK, team.ToResponse())
}

func (h *Handler) ListTeams(w http.ResponseWriter, r *http.Request) {
Expand Down
6 changes: 3 additions & 3 deletions internal/handler/users.go
Original file line number Diff line number Diff line change
Expand Up @@ -48,7 +48,7 @@ func (h *Handler) CreateUser(w http.ResponseWriter, r *http.Request) {
return
}
}
api_helpers.RespondWithJSON(w, http.StatusOK, model.NewUserFromModel(newUser))
api_helpers.RespondWithJSON(w, http.StatusOK, newUser.ToResponse())
}

func (h *Handler) DeleteUser(w http.ResponseWriter, r *http.Request, id openapi_types.UUID) {
Expand All @@ -69,7 +69,7 @@ func (h *Handler) GetUserById(w http.ResponseWriter, r *http.Request, id openapi
api_helpers.RespondWithJSON(w, http.StatusInternalServerError, map[string]string{"error": "Failed to fetch user"})
return
}
api_helpers.RespondWithJSON(w, http.StatusOK, model.NewUserFromModel(user))
api_helpers.RespondWithJSON(w, http.StatusOK, user.ToResponse())
}

func (h *Handler) GetProfileById(w http.ResponseWriter, r *http.Request, id openapi_types.UUID) {
Expand All @@ -80,7 +80,7 @@ func (h *Handler) GetProfileById(w http.ResponseWriter, r *http.Request, id open
api_helpers.RespondWithJSON(w, http.StatusNotFound, map[string]string{"data": "User have not profile"})
return
}
api_helpers.RespondWithJSON(w, http.StatusOK, model.NewProfileFromModel(userProfile))
api_helpers.RespondWithJSON(w, http.StatusOK, userProfile.ToResponse())
}

func (h *Handler) ListUsers(w http.ResponseWriter, r *http.Request) {
Expand Down
48 changes: 40 additions & 8 deletions internal/migrations/psql/update0020_update0020testdata.go
Original file line number Diff line number Diff line change
Expand Up @@ -29,7 +29,11 @@ func DatabaseUpdate_update0020_update0020testdata(db *sql.DB, getInfo bool) (str
// Очистка таблицы team_games
_, err = tx.Exec(`DELETE FROM team_games`)
if err != nil {
tx.Rollback()
err = tx.Rollback()
if err != nil {
slog.Error("Failed to rollback: " + err.Error())
return fromUpdateId, toUpdateId, description, err
}
slog.Error("Failed to clear team_games table: " + err.Error())
return fromUpdateId, toUpdateId, description, err
}
Expand All @@ -48,15 +52,23 @@ func DatabaseUpdate_update0020_update0020testdata(db *sql.DB, getInfo bool) (str

_, err = tx.Exec(query)
if err != nil {
tx.Rollback()
err = tx.Rollback()
if err != nil {
slog.Error("Failed to rollback: " + err.Error())
return fromUpdateId, toUpdateId, description, err
}
slog.Error("Problem with query execution, query: " + query + "\n error:" + err.Error())
return fromUpdateId, toUpdateId, description, err
}

// Получение существующих команд из базы данных
teamRows, err := tx.Query(`SELECT id, name FROM teams`)
if err != nil {
tx.Rollback()
err = tx.Rollback()
if err != nil {
slog.Error("Failed to rollback: " + err.Error())
return fromUpdateId, toUpdateId, description, err
}
slog.Error("Failed to fetch existing teams: " + err.Error())
return fromUpdateId, toUpdateId, description, err
}
Expand All @@ -70,7 +82,11 @@ func DatabaseUpdate_update0020_update0020testdata(db *sql.DB, getInfo bool) (str
for teamRows.Next() {
var id, name string
if err := teamRows.Scan(&id, &name); err != nil {
tx.Rollback()
err = tx.Rollback()
if err != nil {
slog.Error("Failed to rollback: " + err.Error())
return fromUpdateId, toUpdateId, description, err
}
slog.Error("Failed to scan team: " + err.Error())
return fromUpdateId, toUpdateId, description, err
}
Expand All @@ -83,7 +99,11 @@ func DatabaseUpdate_update0020_update0020testdata(db *sql.DB, getInfo bool) (str
// Получение существующих игр из базы данных
gameRows, err := tx.Query(`SELECT id, description FROM games`)
if err != nil {
tx.Rollback()
err = tx.Rollback()
if err != nil {
slog.Error("Failed to rollback: " + err.Error())
return fromUpdateId, toUpdateId, description, err
}
slog.Error("Failed to fetch existing games: " + err.Error())
return fromUpdateId, toUpdateId, description, err
}
Expand All @@ -97,7 +117,11 @@ func DatabaseUpdate_update0020_update0020testdata(db *sql.DB, getInfo bool) (str
for gameRows.Next() {
var id, description string
if err := gameRows.Scan(&id, &description); err != nil {
tx.Rollback()
err = tx.Rollback()
if err != nil {
slog.Error("Failed to rollback: " + err.Error())
return fromUpdateId, toUpdateId, description, err
}
slog.Error("Failed to scan game: " + err.Error())
return fromUpdateId, toUpdateId, description, err
}
Expand All @@ -113,7 +137,11 @@ func DatabaseUpdate_update0020_update0020testdata(db *sql.DB, getInfo bool) (str
_, err = tx.Exec(`INSERT INTO results (score, rank, id, team_id, game_id) VALUES ($1, $2, $3, $4, $5)`,
score, rank+1, uuid.New().String(), team.ID, game.ID)
if err != nil {
tx.Rollback()
err = tx.Rollback()
if err != nil {
slog.Error("Failed to rollback: " + err.Error())
return fromUpdateId, toUpdateId, description, err
}
slog.Error("Failed to insert result: " + err.Error())
return fromUpdateId, toUpdateId, description, err
}
Expand All @@ -122,7 +150,11 @@ func DatabaseUpdate_update0020_update0020testdata(db *sql.DB, getInfo bool) (str
_, err = tx.Exec(`INSERT INTO team_games (team_id, game_id) VALUES ($1, $2)`,
team.ID, game.ID)
if err != nil {
tx.Rollback()
err = tx.Rollback()
if err != nil {
slog.Error("Failed to rollback: " + err.Error())
return fromUpdateId, toUpdateId, description, err
}
slog.Error("Failed to insert team_game: " + err.Error())
return fromUpdateId, toUpdateId, description, err
}
Expand Down
6 changes: 3 additions & 3 deletions internal/model/game.go
Original file line number Diff line number Diff line change
Expand Up @@ -20,7 +20,7 @@ type GameDetails struct {
Teams []*Team
}

func NewGameFromModel(m *Game) *server.GameResponse {
func (m *Game) ToResponse() *server.GameResponse {
return &server.GameResponse{
Id: m.Id,
StartTime: m.StartTime,
Expand All @@ -29,7 +29,7 @@ func NewGameFromModel(m *Game) *server.GameResponse {
}
}

func NewGameDetailsFromModel(m *GameDetails) *server.GameResponse {
func (m *GameDetails) ToResponseGameDetails() *server.GameResponse {
teams := make([]server.TeamResponse, 0, len(m.Teams))
for _, t := range m.Teams {
teams = append(teams, server.TeamResponse{
Expand All @@ -51,7 +51,7 @@ func NewGameDetailsFromModel(m *GameDetails) *server.GameResponse {
func NewGamesFromModels(ms []*Game) []*server.GameResponse {
var games []*server.GameResponse
for _, m := range ms {
games = append(games, NewGameFromModel(m))
games = append(games, m.ToResponse())
}
return games
}
2 changes: 1 addition & 1 deletion internal/model/profile.go
Original file line number Diff line number Diff line change
Expand Up @@ -28,7 +28,7 @@ type ProfileWithHistory struct {
History []ProfileTeams
}

func NewProfileFromModel(p *ProfileWithHistory) *server.ProfileResponse {
func (p *ProfileWithHistory) ToResponse() *server.ProfileResponse {
return &server.ProfileResponse{
Id: p.Profile.Id,
CreatedAt: p.Profile.CreatedAt,
Expand Down
4 changes: 2 additions & 2 deletions internal/model/result.go
Original file line number Diff line number Diff line change
Expand Up @@ -13,7 +13,7 @@ type Result struct {
Score float64 `db:"score" json:"score"`
}

func NewResultFromModel(s *Result, rank int) *server.ResultResponse {
func (s *Result) ToResponse(rank int) *server.ResultResponse {
return &server.ResultResponse{
Id: s.Id,
GameId: s.GameId,
Expand All @@ -26,7 +26,7 @@ func NewResultFromModel(s *Result, rank int) *server.ResultResponse {
func NewScoreboardFromResults(ms []*Result) []*server.ResultResponse {
var results []*server.ResultResponse
for i, r := range ms {
results = append(results, NewResultFromModel(r, i+1))
results = append(results, r.ToResponse(i+1))
}
return results
}
4 changes: 2 additions & 2 deletions internal/model/service.go
Original file line number Diff line number Diff line change
Expand Up @@ -18,7 +18,7 @@ type Service struct {
IsPublic bool `db:"is_public" json:"is_public"`
}

func NewServiceFromModel(s *Service) *server.ServiceResponse {
func (s *Service) ToResponse() *server.ServiceResponse {
var logo string
if s.LogoUrl.Valid {
logo = s.LogoUrl.String
Expand All @@ -38,7 +38,7 @@ func NewServiceFromModel(s *Service) *server.ServiceResponse {
func NewServiceFromModels(ms []*Service) []*server.ServiceResponse {
var services []*server.ServiceResponse
for _, s := range ms {
services = append(services, NewServiceFromModel(s))
services = append(services, s.ToResponse())
}
return services
}
4 changes: 2 additions & 2 deletions internal/model/team.go
Original file line number Diff line number Diff line change
Expand Up @@ -19,7 +19,7 @@ type Team struct {
University *string
}

func NewTeamFromModel(t *Team) *server.TeamResponse {
func (t *Team) ToResponse() *server.TeamResponse {
var avatarUrl string
if t.AvatarUrl.Valid {
avatarUrl = t.AvatarUrl.String
Expand All @@ -39,7 +39,7 @@ func NewTeamFromModel(t *Team) *server.TeamResponse {
func NewTeamsFromModels(ts []*Team) []*server.TeamResponse {
var teams []*server.TeamResponse
for _, t := range ts {
teams = append(teams, NewTeamFromModel(t))
teams = append(teams, t.ToResponse())
}
return teams
}
8 changes: 4 additions & 4 deletions internal/model/university.go
Original file line number Diff line number Diff line change
Expand Up @@ -11,17 +11,17 @@ type University struct {
Name string `db:"name" json:"name"`
}

func NewUniversityFromModel(u *University) *server.UniversityResponse {
func (u *University) ToResponse() *server.UniversityResponse {
return &server.UniversityResponse{
Id: u.Id,
Name: u.Name,
}
}

func NewUniversitiesFromModels(ms []*University) []*server.UniversityResponse {
func NewUniversitiesFromModels(us []*University) []*server.UniversityResponse {
var universities []*server.UniversityResponse = []*server.UniversityResponse{}
for _, m := range ms {
universities = append(universities, NewUniversityFromModel(m))
for _, u := range us {
universities = append(universities, u.ToResponse())
}
return universities
}
8 changes: 4 additions & 4 deletions internal/model/user.go
Original file line number Diff line number Diff line change
Expand Up @@ -20,7 +20,7 @@ type User struct {
PasswordHash string `db:"password_hash" json:"password_hash"`
}

func NewUserFromModel(u *User) *server.UserResponse {
func (u *User) ToResponse() *server.UserResponse {
userRole := helpers.ConvertUserRequestRoleToUserResponseRole(u.Role)
var avatarUrl string
if u.AvatarUrl.Valid {
Expand All @@ -38,10 +38,10 @@ func NewUserFromModel(u *User) *server.UserResponse {
}
}

func NewUsersFromModels(ms []*User) []*server.UserResponse {
func NewUsersFromModels(us []*User) []*server.UserResponse {
var users []*server.UserResponse
for _, m := range ms {
users = append(users, NewUserFromModel(m))
for _, u := range us {
users = append(users, u.ToResponse())
}
return users
}
2 changes: 1 addition & 1 deletion internal/repository/game.go
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,7 @@ import (
"database/sql"
"time"

model "ctf01d/internal/model"
"ctf01d/internal/model"

"github.com/google/uuid"
openapi_types "github.com/oapi-codegen/runtime/types"
Expand Down
Loading

0 comments on commit 40f6838

Please sign in to comment.