diff --git a/controller/questionnaire.go b/controller/questionnaire.go index 8d45d139..867f550d 100644 --- a/controller/questionnaire.go +++ b/controller/questionnaire.go @@ -296,12 +296,23 @@ func (q Questionnaire) GetQuestionnaire(ctx echo.Context, questionnaireID int) ( } func (q Questionnaire) EditQuestionnaire(c echo.Context, questionnaireID int, params openapi.EditQuestionnaireJSONRequestBody) error { + // unable to change the questionnaire from anoymous to non-anonymous + isAnonymous, err := q.GetResponseIsAnonymousByQuestionnaireID(c.Request().Context(), questionnaireID) + if err != nil { + c.Logger().Errorf("failed to get anonymous info: %+v", err) + return echo.NewHTTPError(http.StatusInternalServerError, "failed to get anonymous info") + } + if isAnonymous && !params.IsAnonymous { + c.Logger().Info("unable to change the questionnaire from anoymous to non-anonymous") + return echo.NewHTTPError(http.StatusMethodNotAllowed, "unable to change the questionnaire from anoymous to non-anonymous") + } + responseDueDateTime := null.Time{} if params.ResponseDueDateTime != nil { responseDueDateTime.Valid = true responseDueDateTime.Time = *params.ResponseDueDateTime } - err := q.ITransaction.Do(c.Request().Context(), nil, func(ctx context.Context) error { + err = q.ITransaction.Do(c.Request().Context(), nil, func(ctx context.Context) error { err := q.UpdateQuestionnaire(ctx, params.Title, params.Description, responseDueDateTime, string(params.ResponseViewableBy), questionnaireID, params.IsPublished, params.IsAnonymous) if err != nil && !errors.Is(err, model.ErrNoRecordUpdated) { c.Logger().Errorf("failed to update questionnaire: %+v", err) diff --git a/docs/swagger/swagger.yaml b/docs/swagger/swagger.yaml index 919406ed..650f48b2 100644 --- a/docs/swagger/swagger.yaml +++ b/docs/swagger/swagger.yaml @@ -91,7 +91,7 @@ paths: # TODO 変数の命名を確認する operationId: editQuestionnaire tags: - questionnaire - description: アンケートの情報を変更します。 + description: アンケートの情報を変更します。匿名のアンケートを非匿名アンケートに変更することができません。 parameters: - $ref: "#/components/parameters/questionnaireIDInPath" requestBody: @@ -105,6 +105,8 @@ paths: # TODO 変数の命名を確認する description: 正常にアンケートを変更できました。 "400": description: アンケートのIDが無効です + "405": + description: 匿名のアンケートを非匿名アンケートに変更することができません "500": description: 正常にアンケートを変更できませんでした delete: diff --git a/handler/questionnaire.go b/handler/questionnaire.go index 15f7bcf7..9f64f4c2 100644 --- a/handler/questionnaire.go +++ b/handler/questionnaire.go @@ -93,7 +93,7 @@ func (h Handler) EditQuestionnaire(ctx echo.Context, questionnaireID openapi.Que err := q.EditQuestionnaire(ctx, questionnaireID, params) if err != nil { ctx.Logger().Errorf("failed to edit questionnaire: %+v", err) - return echo.NewHTTPError(http.StatusInternalServerError, fmt.Errorf("failed to edit questionnaire: %w", err)) + return err } return ctx.NoContent(200) diff --git a/openapi/spec.go b/openapi/spec.go index a0e26554..0e31e47a 100644 --- a/openapi/spec.go +++ b/openapi/spec.go @@ -18,74 +18,75 @@ import ( // Base64 encoded, gzipped, json marshaled Swagger object var swaggerSpec = []string{ - "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", } // GetSwagger returns the content of the embedded swagger specification file