e70047ca0f
Using fizzy.localhost causes CORS errors when using minio for Active Storage because the minio endpoint is at minio.fizzy.localhost — a sibling subdomain, not a subdomain of the app host. Switching to app.fizzy.localhost makes both hosts subdomains of fizzy.localhost, resolving the CORS issue. See #2814 for the related minio CORS fix. fizzy.localhost will continue to work if people want to use it, but all docs and scripts have been updated to point to app.fizzy.localhost.
125 lines
3.3 KiB
Markdown
125 lines
3.3 KiB
Markdown
# Comments
|
|
|
|
Comments are attached to cards and support rich text.
|
|
|
|
## `GET /:account_slug/cards/:card_number/comments`
|
|
|
|
Returns a paginated list of comments on a card, sorted chronologically (oldest first).
|
|
|
|
__Response:__
|
|
|
|
```json
|
|
[
|
|
{
|
|
"id": "03f5v9zo9qlcwwpyc0ascnikz",
|
|
"created_at": "2025-12-05T19:36:35.534Z",
|
|
"updated_at": "2025-12-05T19:36:35.534Z",
|
|
"body": {
|
|
"plain_text": "This looks great!",
|
|
"html": "<div class=\"action-text-content\">This looks great!</div>"
|
|
},
|
|
"creator": {
|
|
"id": "03f5v9zjw7pz8717a4no1h8a7",
|
|
"name": "David Heinemeier Hansson",
|
|
"role": "owner",
|
|
"active": true,
|
|
"email_address": "david@example.com",
|
|
"created_at": "2025-12-05T19:36:35.401Z",
|
|
"url": "http://app.fizzy.localhost:3006/897362094/users/03f5v9zjw7pz8717a4no1h8a7"
|
|
},
|
|
"card": {
|
|
"id": "03f5v9zo9qlcwwpyc0ascnikz",
|
|
"url": "http://app.fizzy.localhost:3006/897362094/cards/03f5v9zo9qlcwwpyc0ascnikz"
|
|
},
|
|
"reactions_url": "http://app.fizzy.localhost:3006/897362094/cards/3/comments/03f5v9zo9qlcwwpyc0ascnikz/reactions",
|
|
"url": "http://app.fizzy.localhost:3006/897362094/cards/3/comments/03f5v9zo9qlcwwpyc0ascnikz"
|
|
}
|
|
]
|
|
```
|
|
|
|
## `GET /:account_slug/cards/:card_number/comments/:comment_id`
|
|
|
|
Returns a specific comment.
|
|
|
|
__Response:__
|
|
|
|
```json
|
|
{
|
|
"id": "03f5v9zo9qlcwwpyc0ascnikz",
|
|
"created_at": "2025-12-05T19:36:35.534Z",
|
|
"updated_at": "2025-12-05T19:36:35.534Z",
|
|
"body": {
|
|
"plain_text": "This looks great!",
|
|
"html": "<div class=\"action-text-content\">This looks great!</div>"
|
|
},
|
|
"creator": {
|
|
"id": "03f5v9zjw7pz8717a4no1h8a7",
|
|
"name": "David Heinemeier Hansson",
|
|
"role": "owner",
|
|
"active": true,
|
|
"email_address": "david@example.com",
|
|
"created_at": "2025-12-05T19:36:35.401Z",
|
|
"url": "http://app.fizzy.localhost:3006/897362094/users/03f5v9zjw7pz8717a4no1h8a7"
|
|
},
|
|
"card": {
|
|
"id": "03f5v9zo9qlcwwpyc0ascnikz",
|
|
"url": "http://app.fizzy.localhost:3006/897362094/cards/03f5v9zo9qlcwwpyc0ascnikz"
|
|
},
|
|
"reactions_url": "http://app.fizzy.localhost:3006/897362094/cards/3/comments/03f5v9zo9qlcwwpyc0ascnikz/reactions",
|
|
"url": "http://app.fizzy.localhost:3006/897362094/cards/3/comments/03f5v9zo9qlcwwpyc0ascnikz"
|
|
}
|
|
```
|
|
|
|
## `POST /:account_slug/cards/:card_number/comments`
|
|
|
|
Creates a new comment on a card.
|
|
|
|
| Parameter | Type | Required | Description |
|
|
|-----------|------|----------|-------------|
|
|
| `body` | string | Yes | The comment body (supports rich text) |
|
|
| `created_at` | datetime | No | Override creation timestamp (ISO 8601 format) |
|
|
|
|
__Request:__
|
|
|
|
```json
|
|
{
|
|
"comment": {
|
|
"body": "This looks great!"
|
|
}
|
|
}
|
|
```
|
|
|
|
__Response:__
|
|
|
|
Returns `201 Created` with a `Location` header pointing to the new comment.
|
|
|
|
## `PUT /:account_slug/cards/:card_number/comments/:comment_id`
|
|
|
|
Updates a comment. Only the comment creator can update their comments.
|
|
|
|
| Parameter | Type | Required | Description |
|
|
|-----------|------|----------|-------------|
|
|
| `body` | string | Yes | The updated comment body |
|
|
|
|
__Request:__
|
|
|
|
```json
|
|
{
|
|
"comment": {
|
|
"body": "This looks even better now!"
|
|
}
|
|
}
|
|
```
|
|
|
|
__Response:__
|
|
|
|
Returns the updated comment.
|
|
|
|
## `DELETE /:account_slug/cards/:card_number/comments/:comment_id`
|
|
|
|
Deletes a comment. Only the comment creator can delete their comments.
|
|
|
|
__Response:__
|
|
|
|
Returns `204 No Content` on success.
|