Skip to content

Commit 3d42240

Browse files
committed
細かい部分をきれいにした
1 parent c1b663d commit 3d42240

File tree

3 files changed

+10
-24
lines changed

3 files changed

+10
-24
lines changed

vmdb-api/controller.go

Lines changed: 6 additions & 16 deletions
Original file line numberDiff line numberDiff line change
@@ -93,8 +93,8 @@ func (c *Controller) getAnswerID(w http.ResponseWriter, r *http.Request) {
9393

9494
latestAnswer, err := c.repo.findLatestAnswerFor(
9595
ctx,
96-
problemEnvironment.ProblemID.String(),
97-
problemEnvironment.TeamID.String(),
96+
problemEnvironment.ProblemID,
97+
problemEnvironment.TeamID,
9898
)
9999
if err != nil {
100100
slog.ErrorContext(ctx, "failed to find latest Answer", "error", err)
@@ -118,9 +118,9 @@ func (c *Controller) getAnswerID(w http.ResponseWriter, r *http.Request) {
118118
}
119119
}
120120

121-
type listLatestUnconfirmedAnswersForLocalProblemResponse []answerResponse
121+
type listUnconfirmedAnswersForLocalProblemResponse []answerResponse
122122

123-
func (c *Controller) listLatestUnconfirmedAnswersForLocalProblem(w http.ResponseWriter, r *http.Request) {
123+
func (c *Controller) listUnscoredAnswersForLocalProblem(w http.ResponseWriter, r *http.Request) {
124124
ctx := r.Context()
125125

126126
config, err := c.repo.findConfigBy(ctx, "local_problem_codes")
@@ -137,7 +137,7 @@ func (c *Controller) listLatestUnconfirmedAnswersForLocalProblem(w http.Response
137137
return
138138
}
139139

140-
response := listLatestUnconfirmedAnswersForLocalProblemResponse{}
140+
response := listUnconfirmedAnswersForLocalProblemResponse{}
141141
for _, code := range strings.Split(value, ",") {
142142
code = strings.TrimSpace(code)
143143

@@ -147,24 +147,14 @@ func (c *Controller) listLatestUnconfirmedAnswersForLocalProblem(w http.Response
147147
continue
148148
}
149149

150-
answers, err := c.repo.listLatestUnscoredAnswersFor(ctx, problem.ID)
150+
answers, err := c.repo.listUnscoredAnswersFor(ctx, problem.ID)
151151
if err != nil {
152152
slog.ErrorContext(ctx, "failed to list latest unconfirmed Answers", "error", err)
153153
w.WriteHeader(http.StatusInternalServerError)
154154
return
155155
}
156156

157-
latestAnswers := map[uuid.UUID]Answer{}
158157
for _, answer := range answers {
159-
if _, ok := latestAnswers[answer.TeamID]; !ok {
160-
latestAnswers[answer.TeamID] = answer
161-
}
162-
if answer.CreatedAt.After(latestAnswers[answer.TeamID].CreatedAt) {
163-
latestAnswers[answer.TeamID] = answer
164-
}
165-
}
166-
167-
for _, answer := range latestAnswers {
168158
response = append(response, newAnswerResponseFrom(answer, *problem))
169159
}
170160
}

vmdb-api/main.go

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -80,7 +80,7 @@ func (c *Command) RunE(cmd *cobra.Command, _ []string) error {
8080
r.Get("/problem-environments", controller.listProblemEnvironments)
8181
r.Get("/answer-id", controller.getAnswerID)
8282

83-
r.Get("/local-problem-answers", controller.listLatestUnconfirmedAnswersForLocalProblem)
83+
r.Get("/local-problem-answers", controller.listUnscoredAnswersForLocalProblem)
8484
r.Get("/answers/{answerID}", controller.getAnswerInformation)
8585

8686
server := Server{

vmdb-api/repository.go

Lines changed: 3 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -9,9 +9,6 @@ import (
99
"github.com/uptrace/bun"
1010
)
1111

12-
// ignoredTeams is a list of teams that should be ignored by exporter.
13-
var ignoredTeams = []string{"staff", "team99", "audience"}
14-
1512
type Repository struct {
1613
db *bun.DB
1714
}
@@ -83,22 +80,21 @@ func (r *Repository) findAnswerBy(ctx context.Context, answerID uuid.UUID) (*Ans
8380
return &result, nil
8481
}
8582

86-
func (r *Repository) listLatestUnscoredAnswersFor(ctx context.Context, problemID uuid.UUID) ([]Answer, error) {
83+
func (r *Repository) listUnscoredAnswersFor(ctx context.Context, problemID uuid.UUID) ([]Answer, error) {
8784
var result []Answer
8885
err := r.db.NewSelect().ColumnExpr("answers.*").
8986
Table("answers").
9087
Join("INNER JOIN scores").JoinOn("answers.id = scores.answer_id").
91-
Where("point IS NULL").
9288
Where("problem_id = ?", problemID).
93-
Order("created_at DESC").
89+
Where("point IS NULL").
9490
Scan(ctx, &result)
9591
if err != nil {
9692
return nil, err
9793
}
9894
return result, nil
9995
}
10096

101-
func (r *Repository) findLatestAnswerFor(ctx context.Context, problemID, teamID string) (*Answer, error) {
97+
func (r *Repository) findLatestAnswerFor(ctx context.Context, problemID uuid.UUID, teamID uuid.UUID) (*Answer, error) {
10298
var result Answer
10399
err := r.db.NewSelect().Model(&result).
104100
Where("team_id = ?", teamID).

0 commit comments

Comments
 (0)