Class: Api::V2::CommentResource

Inherits:
BaseResource
  • Object
show all
Defined in:
app/resources/api/v2/comment_resource.rb

Overview

Note:

Access this resource via the /api/v2/comments/ endpoint.

Provides a JSON:API representation of Comment, which represents user-generated comments on various entities.

For more information about JSON:API, see the JSON:API Specifications or look at the JSONAPI::Resources package for Sequencescape's implementation of the JSON:API standard.

Examples:

GET request for all Comment resources

GET /api/v2/comments/

GET request for a specific Comment by ID

GET /api/v2/comments/123/

POST request to create a new Comment

POST /api/v2/comments/

POST request body to create a new Comment

{
  "data": {
    "type": "comments",
    "attributes": {
      "title": "Feedback",
      "description": "This is a great feature!"
    },
    "relationships": {
      "user": {
        "data": { "type": "users", "id": 4 }
      },
      "commentable": {
        "data": { "type": "wells", "id": "1" }
      }
    }
  }
}

Instance Attribute Summary collapse

Method Summary

Methods inherited from BaseResource

apply_includes, creatable_fields, default_includes, #fetchable_fields, inclusions, resolve_relationship_names_to_relations, updatable_fields

Instance Attribute Details

#commentableApplicationResource

Note:

This relationship is required.

This is a polymorphic association, meaning it can be linked to multiple different models.

Returns:

  • (ApplicationResource)

    The entity (e.g., article, post) to which this comment belongs.



53
# File 'app/resources/api/v2/comment_resource.rb', line 53

has_one :commentable, polymorphic: true

#created_atDateTime (readonly)

Note:

This attribute is read-only.

Returns The timestamp when the comment was created.

Returns:

  • (DateTime)

    The timestamp when the comment was created.



74
# File 'app/resources/api/v2/comment_resource.rb', line 74

attribute :created_at, readonly: true

#descriptionString

Note:

This attribute is required.

Note:

This attribute is write_once; this attribute cannot be updated.

Returns The main content of the comment.

Returns:

  • (String)

    The main content of the comment.



69
# File 'app/resources/api/v2/comment_resource.rb', line 69

attribute :description, write_once: true

#titleString

Note:

This attribute is required.

Note:

This attribute is write_once; this attribute cannot be updated.

Returns The title of the comment.

Returns:

  • (String)

    The title of the comment.



63
# File 'app/resources/api/v2/comment_resource.rb', line 63

attribute :title, write_once: true

#updated_atDateTime (readonly)

Note:

This attribute is read-only.

Returns The timestamp when the comment was last updated.

Returns:

  • (DateTime)

    The timestamp when the comment was last updated.



79
# File 'app/resources/api/v2/comment_resource.rb', line 79

attribute :updated_at, readonly: true

#userUserResource

Returns The user who created the comment.

Returns:



47
# File 'app/resources/api/v2/comment_resource.rb', line 47

has_one :user