Skip to content

Commit d72b392

Browse files
authored
Merge pull request #1307 from traPtitech/fix/openapi-editresponse_schema
PATCH /responses/{responseID}のrequest bodyから不要な情報を除く
2 parents 4fe979e + 7e2b60f commit d72b392

File tree

5 files changed

+98
-82
lines changed

5 files changed

+98
-82
lines changed

controller/response.go

Lines changed: 7 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -188,7 +188,13 @@ func (r *Response) EditResponse(ctx echo.Context, responseID openapi.ResponseIDI
188188
return echo.NewHTTPError(http.StatusInternalServerError, fmt.Errorf("failed to delete response: %w", err))
189189
}
190190

191-
questions, err := r.IQuestion.GetQuestions(ctx.Request().Context(), req.QuestionnaireId)
191+
respondentDetail, err := r.IRespondent.GetRespondentDetail(ctx.Request().Context(), responseID)
192+
if err != nil {
193+
ctx.Logger().Errorf("failed to get respondent detail: %+v", err)
194+
return echo.NewHTTPError(http.StatusInternalServerError, fmt.Errorf("failed to get respondent detail: %w", err))
195+
}
196+
197+
questions, err := r.IQuestion.GetQuestions(ctx.Request().Context(), respondentDetail.QuestionnaireID)
192198
if err != nil {
193199
ctx.Logger().Errorf("failed to get questions: %+v", err)
194200
return echo.NewHTTPError(http.StatusInternalServerError, fmt.Errorf("failed to get questions: %w", err))
@@ -315,12 +321,6 @@ func (r *Response) EditResponse(ctx echo.Context, responseID openapi.ResponseIDI
315321
}
316322
}
317323

318-
respondentDetail, err := r.IRespondent.GetRespondentDetail(ctx.Request().Context(), responseID)
319-
if err != nil {
320-
ctx.Logger().Errorf("failed to get respondent detail: %+v", err)
321-
return echo.NewHTTPError(http.StatusInternalServerError, fmt.Errorf("failed to get respondent detail: %w", err))
322-
}
323-
324324
err = r.ITransaction.Do(ctx.Request().Context(), nil, func(c context.Context) error {
325325
if !respondentDetail.SubmittedAt.Valid {
326326
if !req.IsDraft {

controller/response_test.go

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -972,9 +972,10 @@ func TestEditResponse(t *testing.T) {
972972
require.NoError(t, err)
973973
}
974974

975-
responseEditPost := response
975+
var responseEditPost openapi.EditResponseJSONRequestBody
976976
responseEditPost.Body = testCase.args.params.Body
977977
responseEditPost.IsDraft = testCase.args.params.IsDraft
978+
responseEditPost.ResponseId = &responseID
978979

979980
e = echo.New()
980981
body, err = json.Marshal(responseEditPost)

docs/swagger/swagger.yaml

Lines changed: 9 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -252,7 +252,7 @@ paths: # TODO 変数の命名を確認する
252252
content:
253253
application/json:
254254
schema:
255-
$ref: "#/components/schemas/Response"
255+
$ref: "#/components/schemas/EditResponse"
256256
responses:
257257
"200":
258258
description: 正常に回答を変更できました
@@ -847,6 +847,14 @@ components:
847847
- submitted_at
848848
- modified_at
849849
- $ref: "#/components/schemas/NewResponse"
850+
EditResponse:
851+
allOf:
852+
- type: object
853+
properties:
854+
response_id:
855+
type: integer
856+
example: 1
857+
- $ref: "#/components/schemas/NewResponse"
850858
Responses:
851859
type: array
852860
items:

openapi/spec.go

Lines changed: 72 additions & 72 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

openapi/types.go

Lines changed: 8 additions & 1 deletion
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

0 commit comments

Comments
 (0)