# retoor <retoor@molodetz.nl>
from __future__ import annotations
from ..spec import Action
from ._shared import ATTACHMENTS, TARGET_TYPE, body, confirm, path
COMMENTS_ACTIONS: tuple[Action, ...] = (
Action(
name="create_comment",
method="POST",
path="/comments/create",
summary="Create a comment on a post or other target",
params=(
body("content", "Comment body.", required=True),
body("post_uid", "Uid of the post being commented on."),
body("target_uid", "Uid of the target when not a post."),
body("target_type", TARGET_TYPE),
body("parent_uid", "Parent comment uid for replies."),
body("attachment_uids", ATTACHMENTS),
),
),
Action(
name="edit_comment",
method="POST",
path="/comments/edit/{comment_uid}",
summary="Edit the body of one of your own comments",
params=(
path("comment_uid", "Uid of the comment."),
body("content", "New comment body, 3-125000 characters.", required=True),
),
),
Action(
name="delete_comment",
method="POST",
path="/comments/delete/{comment_uid}",
summary="Delete a comment (your own, or any comment when you are an administrator). Soft delete, confirmation required",
params=(path("comment_uid", "Uid of the comment."), confirm()),
),
)