Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

fix: ラベル操作用エンドポイントのパスを変更 #157

Merged
merged 1 commit into from
Aug 22, 2024
Merged
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
189 changes: 99 additions & 90 deletions src/endpoints/forms.tsp
Original file line number Diff line number Diff line change
Expand Up @@ -255,47 +255,40 @@ 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;
} | {
@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 deleteLabel(@path label_id: uint32): {
@summary("回答のコメントを削除する")
op delete(@path comment_id: uint32): {
@statusCode statusCode: 200;
} | {
@statusCode statusCode: 400 | 401 | 403 | 404 | 500;
@body body: Error;
};

@patch
@summary("フォームの回答につけられるラベルを更新する")
op updateLabel(
@summary("回答のコメントを更新する")
op update(
@body body: {
label_id: uint32;
name: string;
comment_id: uint32;
content: string;
},
): {
@statusCode statusCode: 200;
Expand All @@ -304,98 +297,114 @@ 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;
} | {
@statusCode statusCode: 400 | 401 | 403 | 404 | 500;
@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;
};
}
}
}
}