diff --git a/src/endpoints/forms.tsp b/src/endpoints/forms.tsp index e5f02b8..4a08d6e 100644 --- a/src/endpoints/forms.tsp +++ b/src/endpoints/forms.tsp @@ -255,15 +255,18 @@ namespace Forms { }; } - @route("/labels") - namespace Labels { + @route("/comment") + namespace Comment { @post - @summary("フォームの回答につけられるラベルを作成する") - op createLabel( + @summary("回答にコメントを追加する") + op create( @header contentType: "application/json", - @body body: Label, + @body body: { + answer_id: uint32; + content: string; + }, ): { @statusCode statusCode: 201; } | { @@ -271,19 +274,9 @@ namespace Forms { @body body: Error; }; - @get - @summary("フォームの回答につけられるラベル一覧を取得する") - op list(): { - @statusCode statusCode: 200; - @body body: Label[]; - } | { - @statusCode statusCode: 400 | 401 | 403 | 500; - @body body: Error; - }; - @delete - @summary("フォームの回答につけられるラベルを削除する") - op deleteLabel(@path label_id: uint32): { + @summary("回答のコメントを削除する") + op delete(@path comment_id: uint32): { @statusCode statusCode: 200; } | { @statusCode statusCode: 400 | 401 | 403 | 404 | 500; @@ -291,11 +284,11 @@ namespace Forms { }; @patch - @summary("フォームの回答につけられるラベルを更新する") - op updateLabel( + @summary("回答のコメントを更新する") + op update( @body body: { - label_id: uint32; - name: string; + comment_id: uint32; + content: string; }, ): { @statusCode statusCode: 200; @@ -304,19 +297,19 @@ namespace Forms { @body body: Error; }; } + } - @route("/comment") - namespace Comment { + @route("/labels") + namespace Labels { + @route("/answers") + namespace Answers { @post - @summary("回答にコメントを追加する") - op create( + @summary("フォームの回答につけられるラベルを作成する") + op createLabel( @header contentType: "application/json", - @body body: { - answer_id: uint32; - content: string; - }, + @body body: Label, ): { @statusCode statusCode: 201; } | { @@ -324,78 +317,94 @@ namespace Forms { @body body: Error; }; - @delete - @summary("回答のコメントを削除する") - op delete(@path comment_id: uint32): { + @get + @summary("フォームの回答につけられるラベル一覧を取得する") + op list(): { @statusCode statusCode: 200; + @body body: Label[]; } | { - @statusCode statusCode: 400 | 401 | 403 | 404 | 500; + @statusCode statusCode: 400 | 401 | 403 | 500; @body body: Error; }; - @patch - @summary("回答のコメントを更新する") - op update( - @body body: { - comment_id: uint32; - content: string; - }, + @route("/{label_id}") + namespace IndividualLabel { + @delete + @summary("フォームの回答につけられるラベルを削除する") + op deleteLabel(@path label_id: uint32): { + @statusCode statusCode: 200; + } | { + @statusCode statusCode: 400 | 401 | 403 | 404 | 500; + @body body: Error; + }; + + @patch + @summary("フォームの回答につけられるラベルを更新する") + op updateLabel( + @path label_id: uint32, + @body body: { + name: string; + }, + ): { + @statusCode statusCode: 200; + } | { + @statusCode statusCode: 400 | 401 | 403 | 404 | 500; + @body body: Error; + }; + } + } + + @route("/forms") + namespace Forms { + @post + @summary("フォームにつけられるラベルを作成する") + op create( + @header + contentType: "application/json", + + @body body: Label, ): { - @statusCode statusCode: 200; + @statusCode statusCode: 201; } | { @statusCode statusCode: 400 | 401 | 403 | 404 | 500; @body body: Error; }; - } - } - - @route("/labels") - namespace Labels { - @post - @summary("フォームにつけられるラベルを作成する") - op create( - @header - contentType: "application/json", - - @body body: Label, - ): { - @statusCode statusCode: 201; - } | { - @statusCode statusCode: 400 | 401 | 403 | 404 | 500; - @body body: Error; - }; - - @get - @summary("フォームにつけられるラベル一覧を取得する") - op list(): { - @statusCode statusCode: 200; - @body body: Label[]; - } | { - @statusCode statusCode: 400 | 401 | 403 | 500; - @body body: Error; - }; - @delete - @summary("フォームにつけられるラベルを削除する") - op delete(@path form_label_id: uint32): { - @statusCode statusCode: 200; - } | { - @statusCode statusCode: 400 | 401 | 403 | 404 | 500; - @body body: Error; - }; + @get + @summary("フォームにつけられるラベル一覧を取得する") + op list(): { + @statusCode statusCode: 200; + @body body: Label[]; + } | { + @statusCode statusCode: 400 | 401 | 403 | 500; + @body body: Error; + }; - @patch - @summary("フォームにつけられるラベルを更新する") - op update( - @body body: { - form_label_id: uint32; - name: string; - }, - ): { - @statusCode statusCode: 200; - } | { - @statusCode statusCode: 400 | 401 | 403 | 404 | 500; - @body body: Error; - }; + @route("/{form_label_id}") + namespace IndividualLabel { + @delete + @summary("フォームにつけられるラベルを削除する") + op delete(@path form_label_id: uint32): { + @statusCode statusCode: 200; + } | { + @statusCode statusCode: 400 | 401 | 403 | 404 | 500; + @body body: Error; + }; + + @patch + @summary("フォームにつけられるラベルを更新する") + op update( + @path form_label_id: uint32, + @body body: { + name: string; + }, + ): { + @statusCode statusCode: 200; + } | { + @statusCode statusCode: 400 | 401 | 403 | 404 | 500; + @body body: Error; + }; + } + } } }